Ink has a set of CSS classes that allow you to change several aspects of your user interface depending on the breakpoint. This allows for precise control and can help you do more than just change the width of layout blocks.
| Class name | Description |
|---|---|
align-left |
Sets text-align css property to 'left'. |
align-center |
Sets text-align css property to 'center'. |
align-right |
Sets text-align css property to 'right'. |
push-left |
Sets float css property to 'left'. |
push-center |
Sets float css property to 'none', and margin to '0 auto'. |
push-right |
Sets float css property to 'right'. |
top-space |
Sets margin-top to a full gutter space. |
right-space |
Sets margin-right to a full gutter space. |
bottom-space |
Sets margin-bottom to a full gutter space. |
left-space |
Sets margin-left to a full gutter space. |
vertical-space |
Sets margin-top and margin-bottom to a full gutter space. |
horizontal-space |
Sets margin-left and margin-right to a full gutter space. |
hide |
Sets display css property to 'none'. |
show |
Sets display css property to its default visible state. |
large-class-name
.half-class-name
.push-left
push-center
push-right
Lets take two buttons and align them to the sides of their container:
Demo
Since by default items are aligned to the left we only have to align the 'confirm' button to the right:
Code
{% highlight html %} {% endhighlight %}We can do the same but for a specific breakpoint, large
in this example:
Demo
Code
{% highlight html %} {% endhighlight %} Beware that centering elements with push-center
uses the margin: 0 auto
method and will only work with elements that have a width other than auto, like grid columns.
Demo
align-left
align-center
align-right
If you need to align content within your blocks, you can use the align-left
, align-center
or align-right
classes.
Demo
This is some right aligned text, using the align-right
class.
Code
{% highlight html %}This is some right aligned text, using the align-right class.
{% endhighlight %}space
top-space
right-space
bottom-space
left-space
Sometimes extra space is essential and so Ink ships with a few simple spacer classes. Add one of the above classes to any block level element to obtain the desired space.
show-all
hide-all
show
hide
With the .show
and hide
classes you can force an element to be shown or hidden.
Note that these classes use !important
to avoid any conflicts.
The bar below will display different values and colors depending on the size of the screen it's being viewed on.
Demo
Screen size:
Code
{% highlight html %}Screen size:


E3SM Diags
Contents:
E3SM Diagnostics Package v2
Input Data Requirement
Quick Guides
Examples
Installation
Configuration and Running
Defining Parameters
Available Parameters
Colormaps
How to Add New Diagnostics Runs
Developer Guide
Project Standards
Testing E3SM Diagnostics
How to Add Diagnostic Sets to E3SM Diagnostics
How to Prepare a Release
Contributing to E3SM Diags
E3SM Diags
»
Developer Guide
View page source
Developer Guide
¶
Project Standards
Development Environment
Version Control
Code Quality Assurance
Continuous Integration / Continuous Delivery (CI/CD)
Style Guide
API Documentation
Testing E3SM Diagnostics
Unit tests
Automated tests
Complete run test
How to Add Diagnostic Sets to E3SM Diagnostics
Introduction
The Example Diagnostics Set
Adding In The Parameters
Adding In The Driver
Adding In The Config File For The Default Diagnostics
Adding In The Plotting
Adding The Viewer
Putting It All Together And Running On Cori At NERSC
How to Prepare a Release
Preparing The Code For Release
Creating A Release On GitHub
Updating The sha256
Releasing The Software On Anaconda
Creating a New Version of the Documentation
How To Build and Release The Docker Image


| DOSE: |
repeated |
smoked |
5-MeO-DMT |
(powder / crystals) |
I experience almost exactly the same thing every time I smoke 5-MeO-DMT, so this is not the description of one specific experience, but rather a recomposed puzzle of remembrances from various experiences.
I smoke it in a regular pipe with some ash under and over it. I inhale as much as I can to be sure to get everything in, although it usually feels that everything's already vaporized after only 5-6 seconds. I lost some time trying the light bulb method which turned out much less efficient and easy on the throat than a regular pipe.
I was quite anxious and slowly upped the dose over a long period to avoid bad surprises.
The sub-breakthrough doses were quite unpleasant and at some point I thought I would give up on it.

And this time and every time after, I've only had extremely positive experiences.
The few times I've had a sub-breakthrough doses after my first breakthrough have all been neutral to pleasing. So the easy and obvious conclusion is that the bad feeling of my first tries was only due to the anxiety I was creating myself, and not to the 5-MeO-DMT itself.
As soon as I put the pipe down, the effects start. For around 3 seconds, I feel the effects of a half dose and wonder if maybe I didn't smoke it all and I won't breakthrough this time. But before I can wonder about it any longer, I'm there. I don't feel it come, it's instantaneous. One instant I'm in my room, the next instant I'm somewhere else. I don't feel the transition.
If the experience builds up to a climax, I don't feel or remember it. I just feel I've been dropped at its pinnacle. I'm not aware of where I am or what just happened anymore, I'm just aware of the experience I'm undergoing.
It sounds as ego death, but I have the sentiment that it's not being stripped of my ego as on Ketamine as much as being just too overwhelmed by the sensation to have the slightest thought going on in my head. I have the feeling that my ego is still here somewhere, but that I'm too overpowered to make any sense of anything, to think anything, or even remember I can think. The 5-MeO-DMT may not strip me of my ego, but it sure strips me of any capacity to use it or recognize it.
The most beautiful fractals replace everything in my vision. They're always the same, with morphing shapes of blue, grey, black and green; and hints of other colours, but it's hard to understand which. Anyway, the experience is so overwhelming that I don't even notice the visuals. I just realize they're here when I start to come down. By themselves they could be one of the most worthy experiences. But compared to the other aspects of the experience, they become insignificant.
The experience is uniform : total and utter bliss.
On Ayahuasca, I've felt I had reached the state of utter bliss. On 5-MeO-DMT, I become it. I am not 'in a state', I am this state.
The sensation is not physical, it's emotional.
The only thing that hints at a physical sensation is a feeling of unbelievable freshness; as if a wind was blowing through every atom of my body, and between every particle of those atoms. So actually, it doesn't feel as if my physical body was feeling this freshness, but as if I was feeling with my soul instead of my body.
And my soul is in a state of ecstasy that no one can imagine without living it.
The experience is simply impossible to describe because it doesn't compare to anything in our world. I'd like to say that it's the most overwhelming experience imaginable, but the word overwhelming pales pathetically compared to the reality of the experience... which is not imaginable anyway. This sensation doesn't exist in our world or in our wildest dreams and there are no words to start describing it. It's not any more possible to imagine it than it is possible for a blind person to imagine what sight is like. We could call it bliss, but we would then be mistakenly tempted to compare it what we call bliss in this world.
And it just doesn't belong to the same scale. If the scale of sensations in this world goes from –10 (absolute pain) to +10 (bliss as we can experience it), then 5-MeO-DMT brings me to +100.
It's impossible to think while undergoing the experience, but somehow, it feels as reaching 'the goal'.
This is it. I didn't even know there was such a goal, but now I am experiencing it. This is IT. What? impossible to explain. We're shown something too far out from our range of understanding to fathom what it means, but it leaves a feeling that it was IT. The goal, the answer, the solution. Absolutely unusable. As if being shown the book containing the explanation of everything... but in a language I don't understand. Yet it was just here, and I've seen it.
I don't believe in God, but I can't compare it to anything short of having had my soul embrace god and blend with its essence. And spiral with it.
After this phase, that only lasts around 5 minutes, the effects lessen suddenly to a lower stage where I'm again very well aware of my surroundings and of having smoked 5-MeO-DMT.
My first confused thoughts are very often the same. I often think that the whole town is aware of what happened. What happened was so strong for me that imagine the neighbours have seen an explosion of visuals coming out of my room, that people on the other side of town have felt that something extraordinary was happening in this house.
And during those confused instants, I just think 'well, they have to know anyway. Everyone has to know that such a thing exists. Actually, they must have understood already'.
Actually, I know that I make pretty crazy sounds; very high pitched moans. So maybe some of my neighbours indeed have heard them one time.
I also often imagine that my parents, 5h away from here, have felt it. That my mom woke up knowing what was happening to me. And I think that I have to call them, tell them to cancel what they had to do and come here to see it by themselves.
And then afterwards, every time I realize it's a bit ridiculous, that they wouldn't understand what I'm experiencing as I imagine just seeing me could show them. But still, every time my first thoughts are again that I want my parents to come immediately and see it, as if I was rediscovering the experience for the first time.
The effects then fade away over 5 more minutes with tides of visuals still embracing my visions every now and then.
And because during the pic I was unable to think, I often feel that I've let the experience escape me, as when the summer ends and I think 'dammit, I should have enjoyed it more'. That's why, even if I may find it the most worthwhile experience, I hesitate to consider it the most valuable of psychedelics.
The experience in itself has no more a price than the life of a person. To use the same image again, it's like allowing a blind person to see for just 5 minutes.
But, although the afterglow is extremely positive for the moral, it's hard to come back with concrete insight from this wild trip. the roller-coaster ride may be faster and crazier, but I don't learn as much as when looking around from the big wheel (Ayahuasca in my case).
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Last updated: 2021-05-28
Checks: 7 0
Knit directory: MINTIE-paper-analysis/
This reproducible R Markdown analysis was created with workflowr (version 1.6.2). The Checks tab describes the reproducibility checks that were applied when the results were created. The Past versions tab lists the development history.
Great! Since the R Markdown file has been committed to the Git repository, you know the exact version of the code that produced these results.
Great job! The global environment was empty. Objects defined in the global environment can affect the analysis in your R Markdown file in unknown ways. For reproduciblity it’s best to always run the code in an empty environment.
The command set.seed(20200415)
was run prior to running the code in the R Markdown file. Setting a seed ensures that any results that rely on randomness, e.g. subsampling or permutations, are reproducible.
Great job! Recording the operating system, R version, and package versions is critical for reproducibility.
Nice! There were no cached chunks for this analysis, so you can be confident that you successfully produced the results during this run.
Great job! Using relative paths to the files within your workflowr project makes it easier to run your code on other machines.
Great! You are using Git for version control. Tracking code development and connecting the code version to the results is critical for reproducibility.
The results in this page were generated with repository version ed3d2b6. See the Past versions tab to see a history of the changes made to the R Markdown and HTML files.
Note that you need to be careful to ensure that all relevant files for the analysis have been committed to Git prior to generating the results (you can use wflow_publish
or wflow_git_commit
). workflowr only checks the R Markdown file, but you know if there are other scripts or data files that it depends on. Below is the status of the Git repository when the results were generated:
Ignored files:
Ignored: .DS_Store
Ignored: .Rhistory
Ignored: .Rproj.user/
Ignored: analysis/cache/
Ignored: data/.DS_Store
Ignored: data/RCH_B-ALL/
Ignored: data/leucegene/.DS_Store
Ignored: data/leucegene/KMT2A-PTD_results/.DS_Store
Ignored: data/leucegene/normals_ncontrols_test_results/.DS_Store
Ignored: data/leucegene/normals_ncontrols_test_results/ncon0/.DS_Store
Ignored: data/leucegene/normals_ncontrols_test_results/ncon1/.DS_Store
Ignored: data/leucegene/salmon_out/
Ignored: data/leucegene/sample_info/KMT2A-PTD_8-2.fa.xls
Ignored: data/leucegene/validation_results/.DS_Store
Ignored: data/simu/.DS_Store
Ignored: data/simu/results/.DS_Store
Ignored: data/simu/results/MINTIE/.DS_Store
Ignored: data/simu/results/MINTIE/varying_dispersion/.DS_Store
Ignored: output/Leucegene_gene_counts.tsv
Ignored: packrat/lib-R/
Ignored: packrat/lib-ext/
Ignored: packrat/lib/
Untracked files:
Untracked: data/leucegene/validation_results/TAP/
Unstaged changes:
Modified: .Rprofile
Note that any generated files, e.g. HTML, png, CSS, etc., are not included in this status report because it is ok for generated content to have uncommitted changes.
These are the previous versions of the repository in which changes were made to the R Markdown (analysis/Simulation_Benchmarking.Rmd
) and HTML (docs/Simulation_Benchmarking.html
) files. If you’ve configured a remote Git repository (see ?wflow_git_remote
), click on the hyperlinks in the table below to view the files as they were in that past version.
| File | Version | Author | Date | Message |
|---|---|---|---|---|
| Rmd | ed3d2b6 | Marek Cmero | 2021-05-28 | Figures tweaks and reordering. |
| html | 29ba564 | Marek Cmero | 2021-05-12 | Build site. |
| Rmd | 3aa429f | Marek Cmero | 2021-05-12 | wflow_publish(files = “analysis/Simulation_Benchmarking.Rmd”, |
| Rmd | 0d9b220 | Marek Cmero | 2021-05-12 | Added MINTIE classification accuracy of simulations figure |
| html | 4206f12 | Marek Cmero | 2021-04-30 | Build site. |
| Rmd | 9595530 | Marek Cmero | 2021-04-30 | Updated analyses |
| html | 4b8113e | Marek Cmero | 2020-07-03 | Build site. |
| Rmd | 42ce21b | Marek Cmero | 2020-07-03 | Added CICERO results |
| html | 42ce21b | Marek Cmero | 2020-07-03 | Added CICERO results |
| html | 9141a03 | Marek Cmero | 2020-06-25 | Build site. |
| html | e9e4917 | Marek Cmero | 2020-06-24 | Build site. |
| html | 0b21347 | Marek Cmero | 2020-06-11 | Build site. |
| html | eb3203f | Marek Cmero | 2020-05-27 | Build site. |
| html | 3702862 | Marek Cmero | 2020-05-18 | Removed MLM samples from final B-ALL results |
| Rmd | 36880a4 | Marek Cmero | 2020-05-12 | Fixed capitalisation for file paths. Added B-ALLs link to site. |
| html | a166ab8 | Marek Cmero | 2020-05-08 | Build site. |
| html | a600688 | Marek Cmero | 2020-05-07 | Build site. |
| html | 5c045b5 | Marek Cmero | 2020-05-07 | Build site. |
| html | 90c7fd9 | Marek Cmero | 2020-05-06 | Build site. |
| html | 358aa53 | Marek Cmero | 2020-05-04 | Build site. |
| Rmd | 453d754 | Marek Cmero | 2020-05-04 | Added controls comparison in normals analysis. Added variant class collation function. Added variant summary for |
| html | 4a5d6ae | Marek Cmero | 2020-05-01 | Build site. |
| html | 3c9c389 | Marek Cmero | 2020-04-30 | Added missing files from workflowr build |
| html | 784838b | Marek Cmero | 2020-04-30 | Build site. |
| Rmd | c4c3844 | Marek Cmero | 2020-04-30 | Added leucegene gene expression notebook |
| html | 14a7a7b | Marek Cmero | 2020-04-27 | Update index |
| html | 535d418 | Marek Cmero | 2020-04-27 | Added missing figures |
| html | 6a17444 | Marek Cmero | 2020-04-27 | Build site. |
| Rmd | 3fa0082 | Marek Cmero | 2020-04-27 | Fixed subject/query bugs in get_hits functions. Fixed background gene numbers. Added hg19 coords to truth file. |
| html | 3fa0082 | Marek Cmero | 2020-04-27 | Fixed subject/query bugs in get_hits functions. Fixed background gene numbers. Added hg19 coords to truth file. |
| html | 663689c | Marek Cmero | 2020-04-23 | Build site. |
| Rmd | e57763b | Marek Cmero | 2020-04-23 | Initial commit |
| html | e57763b | Marek Cmero | 2020-04-23 | Initial commit |
# util
library(data.table)
library(dplyr)
library(stringr)
library(here)
library(reshape2)
# plotting
library(ggplot2)
library(RColorBrewer)
library(gridExtra)
# bioinformatics helpers
library(GenomicRanges)
library(Rsamtools)
source(here("code/simu_helper.R"))
source(here("code/leucegene_helper.R"))
source(here("code/plot.R"))
options(stringsAsFactors = FALSE)
Here we analyse the results on a simulated data set of 1,500 variants containing fusions, transcribed structural variants and novel splice variants, across 8 methods: MINTIE, TAP, Barnacle, SQUID, JAFFA, Arriba, StringTie and KisSplice.
The plots show the number of variants detected from each category and the number of false positives. The number of background genes detected in the false positives in displayed as printed output.
fus_truth <- read.delim(here("data/simu/truth/allvars_fusions_simulated.tsv"))
tsv_nsv_truth <- read.delim(here("data/simu/truth/allvars_tsvs_splice_simulated.tsv"))
all_gene_locs <- read.delim(gzfile(here("data/ref/all_gene_locs.tsv.gz")))
bg_gene_ref <- read.delim(here("data/simu/truth/bg_gene_ref.tsv"))
# extract truth and background gene names
var_genes_truth <- unique(c(fus_truth$gene1, fus_truth$gene2, tsv_nsv_truth$gene))
var_genes_truth <- var_genes_truth[var_genes_truth != ""]
bg_genes <- bg_gene_ref$gene
# make Genomic Ranges objects from data
fus_grx <- get_granges(fus_truth)
tsv_nsv_grx <- get_granges(tsv_nsv_truth)
bgenes_grx <- get_granges(bg_gene_ref, convert_chrom = TRUE, add_chr = FALSE)
all_gene_grx <- get_granges(all_gene_locs, convert_chrom = TRUE, add_chr = FALSE)
# create results object
nsv_names <- c("Extended exon",
"Novel exon",
"Retained intron",
"Truncated exon",
"Unknown splice")
tsv_names <- c("Deletion",
"Insertion",
"Internal tandem duplication",
"Partial tandem duplication",
"Inversion")
fus_names <- c("Fusion (canonical)",
"Fusion (EE)",
"Fusion (NE)",
"Fusion (insertion)",
"Fusion (unpartnered)")
vartypes <- c("False positive", nsv_names, tsv_names, fus_names)
classes <- c("False positive",
"Novel splice variant",
"Transcribed structural variant",
"Fusion")
results <- data.frame(vartype = factor(vartypes, levels = vartypes),
class = factor(c(classes[1], rep(classes[2:4], each=5)),
levels = classes[4:1]),
row.names = c("FP", "EE", "NE", "RI", "NEJ", "US",
"DEL", "INS", "ITD", "PTD", "INV",
"canonical_fusion", "EE_fusion",
"NE_fusion", "INS_fusion", "unpartnered_fusion"))
cols <- c("#87649aff", "#bdd888ff", "#e7d992ff", "#636363")
names(cols) <- c("Fusion", "Transcribed structural variant", "Novel splice variant", "False positive")
# load data
mintie_results <- read.delim(here("data/simu/results/MINTIE/allvars-case_results.tsv.gz"))
mintie_results <- mintie_results[mintie_results$logFC > 5,]
# extract genes
mintie_vargenes <- sapply(mintie_results$overlapping_genes, function(x){strsplit(x, "\\||:")[[1]]})
mvg <- unlist(mintie_vargenes)
mvg <- mvg[mvg != ""]
# count found fusions, TSVs and NSVs
found_fus <- table(fus_truth$fusion_type[fus_truth$gene1 %in% mvg | fus_truth$gene2 %in% mvg])
found_tsv <- table(tsv_nsv_truth$vartype[tsv_nsv_truth$gene %in% mvg])
# count false positives genes
fp <- sapply(mintie_vargenes, function(x){!any(x %in% var_genes_truth)})
fp_genes <- unlist(sapply(mintie_results$overlapping_genes[fp], function(x){strsplit(x, "\\||:")}))
fp_genes <- fp_genes[fp_genes != ""]
n_fp <- length(unique(fp_genes))
results <- base_results <- append_results(results, "MINTIE", found_fus, found_tsv, n_fp)
print(paste("Background genes in FPs:", sum(unique(fp_genes) %in% bg_genes)))
[1] "Background genes in FPs: 0"
plot_simu_benchmarking(results, "MINTIE")
| Version | Author | Date |
|---|---|---|
| 4206f12 | Marek Cmero | 2021-04-30 |
| 9141a03 | Marek Cmero | 2020-06-25 |
| 0b21347 | Marek Cmero | 2020-06-11 |
| eb3203f | Marek Cmero | 2020-05-27 |
| 3702862 | Marek Cmero | 2020-05-18 |
| db62be7 | Marek Cmero | 2020-05-01 |
| 4a5d6ae | Marek Cmero | 2020-05-01 |
| 3c9c389 | Marek Cmero | 2020-04-30 |
| 784838b | Marek Cmero | 2020-04-30 |
| 535d418 | Marek Cmero | 2020-04-27 |
| 6a17444 | Marek Cmero | 2020-04-27 |
| 1096df5 | Marek Cmero | 2020-04-24 |
# load result data
tap_svs <- read.delim(here("data/simu/results/TAP/sv.bedpe"), sep = "\t", skip = 2)
tap_nsv <- read.delim(here("data/simu/results/TAP/novel_splicing.bedpe"), sep = "\t", skip = 2)
# extract variant genes
tap_vargenes <- Reduce(union, list(tap_svs$gene1, tap_svs$gene2, tap_nsv$gene))
tap_vargenes <- tap_vargenes[tap_vargenes != ""]
# count found fusions, TSVs and NSVs
found_fus <- table(fus_truth$fusion_type[fus_truth$gene1 %in% tap_vargenes | fus_truth$gene2 %in% tap_vargenes])
found_tsv <- table(tsv_nsv_truth$vartype[tsv_nsv_truth$gene %in% tap_vargenes])
# count false positives genes
fp_svs <- tap_svs[!tap_svs$gene1 %in% var_genes_truth & !tap_svs$gene2 %in% var_genes_truth,]
fp_nsv <- tap_nsv[!tap_nsv$gene1 %in% var_genes_truth & !tap_nsv$gene2 %in% var_genes_truth,]
fp_genes <- unique(c(fp_svs$gene1, fp_svs$gene2, fp_nsv$gene1, fp_nsv$gene2))
n_fp <- length(fp_genes)
results <- append_results(results, "TAP", found_fus, found_tsv, n_fp)
print(paste("Background genes in FPs:", sum(fp_genes %in% bg_genes)))
[1] "Background genes in FPs: 2"
plot_simu_benchmarking(results, "TAP")
| Version | Author | Date |
|---|---|---|
| 4206f12 | Marek Cmero | 2021-04-30 |
| 0b21347 | Marek Cmero | 2020-06-11 |
| eb3203f | Marek Cmero | 2020-05-27 |
| 3702862 | Marek Cmero | 2020-05-18 |
| db62be7 | Marek Cmero | 2020-05-01 |
| 4a5d6ae | Marek Cmero | 2020-05-01 |
| 3c9c389 | Marek Cmero | 2020-04-30 |
| 784838b | Marek Cmero | 2020-04-30 |
| 535d418 | Marek Cmero | 2020-04-27 |
| 6a17444 | Marek Cmero | 2020-04-27 |
| 3fa0082 | Marek Cmero | 2020-04-27 |
| 1096df5 | Marek Cmero | 2020-04-24 |
# build hg19 version of truth data
# fusions
hg19_fus_truth <- fus_truth
hg19_fus_truth$loc1 <- hg19_fus_truth$hg19_loc1
hg19_fus_truth$loc2 <- hg19_fus_truth$hg19_loc2
hg19_fus_truth$loc1[hg19_fus_truth$loc1 == ""] <- "chrZ:1-2" #dummy record for blanks
hg19_fus_truth$loc2[hg19_fus_truth$loc2 == ""] <- "chrZ:1-2"
# TSVs/NSVs
hg19_tsv_nsv_truth <- tsv_nsv_truth
hg19_tsv_nsv_truth$loc <- hg19_tsv_nsv_truth$hg19_loc
hg19_tsv_nsv_truth$loc[hg19_tsv_nsv_truth$loc == ""] <- "chrZ:1-2"
# make Genomic Ranges objects
hg19_fus_grx <- get_granges(hg19_fus_truth, convert_chrom = FALSE)
hg19_tsv_nsv_grx <- get_granges(hg19_tsv_nsv_truth, convert_chrom = FALSE)
hg19_bg_gene_ref <- read.delim(here("data/simu/truth/hg19_bg_gene_ref.tsv"))
hg19_bgenes_grx <- get_granges(bg_gene_ref, convert_chrom = FALSE)
# load barnacle results and make Genomic Ranges objects
barnacle_results <- read.delim(here("data/simu/results/Barnacle/allvars-case.barnacle.data"), header=FALSE)$V1
barnacle_results <- barnacle_results[grep("OVERLAPPING", barnacle_results)]
barnacle_grx_a <- get_barnacle_grx(barnacle_results)
barnacle_grx_b <- get_barnacle_grx(barnacle_results, side_A = FALSE)
# extract hits
hits <- get_hits(barnacle_grx_a, barnacle_grx_b,
hg19_fus_grx[[1]], hg19_fus_grx[[2]],
hg19_tsv_nsv_grx, hg19_bgenes_grx)
found_fus <- table(hg19_fus_truth[hits$fus_truth_hits,]$fusion_type)
found_tsv <- table(hg19_tsv_nsv_truth[hits$tsv_nsv_truth_hits,]$vartype)
fps <- !1:length(barnacle_grx_a) %in% unique(hits$caller_hits)
n_fp <- sum(fps)
results <- append_results(results, "Barnacle", found_fus, found_tsv, n_fp)
print(paste("Background genes in FPs:", sum(hits$bg_hits %in% which(fps))))
[1] "Background genes in FPs: 3"
plot_simu_benchmarking(results, "Barnacle")
| Version | Author | Date |
|---|---|---|
| 4206f12 | Marek Cmero | 2021-04-30 |
| 0b21347 | Marek Cmero | 2020-06-11 |
| eb3203f | Marek Cmero | 2020-05-27 |
| 3702862 | Marek Cmero | 2020-05-18 |
| db62be7 | Marek Cmero | 2020-05-01 |
| 4a5d6ae | Marek Cmero | 2020-05-01 |
| 3c9c389 | Marek Cmero | 2020-04-30 |
| 784838b | Marek Cmero | 2020-04-30 |
| 535d418 | Marek Cmero | 2020-04-27 |
| 6a17444 | Marek Cmero | 2020-04-27 |
| 3fa0082 | Marek Cmero | 2020-04-27 |
| 1096df5 | Marek Cmero | 2020-04-24 |
# load data
squid_results <- read.delim(here("data/simu/results/SQUID/results_sv.txt"))
# make GRanges objects
chr1 <- sapply(squid_results$X..chrom1, convert_chrom, add_chr=FALSE)
loc1_grx <- GRanges(seqnames = chr1,
ranges = IRanges(start = squid_results$start1, end = squid_results$end1))
chr2 <- sapply(squid_results$chrom2, convert_chrom, add_chr=FALSE)
loc2_grx <- GRanges(seqnames = chr2,
ranges = IRanges(start = squid_results$start2, end = squid_results$end2))
# get hits
hits <- get_hits(loc1_grx, loc2_grx, fus_grx[[1]], fus_grx[[2]], tsv_nsv_grx, bgenes_grx)
found_fus <- table(fus_truth[hits$fus_truth_hits,]$fusion_type)
found_tsv <- table(tsv_nsv_truth[hits$tsv_nsv_truth_hits,]$vartype)
# get false positives
fps <- squid_results[!1:nrow(squid_results) %in% hits$caller_hits,]
fps <- fps[!(fps$X..chrom1 %like% "alt" | fps$chrom2 %like% "alt"),]
n_fp <- nrow(fps)
results <- append_results(results, "SQUID", found_fus, found_tsv, n_fp)
print(paste("Background genes in FPs:", sum(hits$bg_hits %in% as.numeric(rownames(fps)))))
[1] "Background genes in FPs: 0"
plot_simu_benchmarking(results, "SQUID")
| Version | Author | Date |
|---|---|---|
| 4206f12 | Marek Cmero | 2021-04-30 |
| 0b21347 | Marek Cmero | 2020-06-11 |
| eb3203f | Marek Cmero | 2020-05-27 |
| 3702862 | Marek Cmero | 2020-05-18 |
| db62be7 | Marek Cmero | 2020-05-01 |
| 4a5d6ae | Marek Cmero | 2020-05-01 |
| 3c9c389 | Marek Cmero | 2020-04-30 |
| 784838b | Marek Cmero | 2020-04-30 |
| 535d418 | Marek Cmero | 2020-04-27 |
| 6a17444 | Marek Cmero | 2020-04-27 |
| 3fa0082 | Marek Cmero | 2020-04-27 |
| 1096df5 | Marek Cmero | 2020-04-24 |
# load data
jaffa_results <- read.delim(here("data/simu/results/JAFFA/jaffa_results.csv"), sep = ",")
# make GRanges objects
chr1 <- sapply(jaffa_results$chrom1, convert_chrom, add_chr=FALSE)
loc1_grx <- GRanges(seqnames = chr1,
ranges = IRanges(start = jaffa_results$base1, end = jaffa_results$base1))
chr2 <- sapply(jaffa_results$chrom1, convert_chrom, add_chr=FALSE)
loc2_grx <- GRanges(seqnames = chr2,
ranges = IRanges(start = jaffa_results$base2, end = jaffa_results$base2))
# get hits
hits <- get_hits(loc1_grx, loc2_grx, fus_grx[[1]], fus_grx[[2]], tsv_nsv_grx, bgenes_grx)
found_fus <- table(fus_truth[hits$fus_truth_hits,]$fusion_type)
found_tsv <- table(tsv_nsv_truth[hits$tsv_nsv_truth_hits,]$vartype)
# get false positives
fps <- jaffa_results[!rownames(jaffa_results) %in% hits$caller_hits,]
fps <- fps[!(fps$chrom1 %like% "alt" | fps$chrom2 %like% "alt"),]
fp_genes <- unlist(sapply(fps$fusion.genes, strsplit, split=":"))
n_fp <- length(unique(fp_genes))
results <- append_results(results, "JAFFA", found_fus, found_tsv, n_fp)
print(paste("Background genes in FPs:", sum(hits$bg_hits %in% as.numeric(rownames(fps)))))
[1] "Background genes in FPs: 0"
plot_simu_benchmarking(results, "JAFFA")
| Version | Author | Date |
|---|---|---|
| 4206f12 | Marek Cmero | 2021-04-30 |
| 0b21347 | Marek Cmero | 2020-06-11 |
| eb3203f | Marek Cmero | 2020-05-27 |
| 3702862 | Marek Cmero | 2020-05-18 |
| db62be7 | Marek Cmero | 2020-05-01 |
| 4a5d6ae | Marek Cmero | 2020-05-01 |
| 3c9c389 | Marek Cmero | 2020-04-30 |
| 784838b | Marek Cmero | 2020-04-30 |
| 535d418 | Marek Cmero | 2020-04-27 |
| 6a17444 | Marek Cmero | 2020-04-27 |
| 3fa0082 | Marek Cmero | 2020-04-27 |
| 1096df5 | Marek Cmero | 2020-04-24 |
# load data
arriba_results <- read.delim(here("data/simu/results/Arriba/fusions.tsv"))
# extract variasnt genes
arriba_vargenes1 <- sapply(arriba_results$X.gene1, get_arriba_genes)
arriba_vargenes2 <- sapply(arriba_results$gene2, get_arriba_genes)
avg <- unlist(list(arriba_vargenes1, arriba_vargenes2))
avg <- avg[avg != ""]
# tally results
found_tsv <- table(tsv_nsv_truth[tsv_nsv_truth$gene %in% avg,]$vartype)
found_fus <- table(fus_truth[fus_truth$gene1 %in% avg | fus_truth$gene2 %in% avg,]$fusion_type)
# get false positives
fp1 <- sapply(arriba_vargenes1, function(x){!any(x %in% var_genes_truth)})
fp2 <- sapply(arriba_vargenes2, function(x){!any(x %in% var_genes_truth)})
fp_genes1 <- arriba_vargenes1[fp1 & fp2]
fp_genes2 <- arriba_vargenes2[fp1 & fp2]
fp_genes <- unique(union(fp_genes1, fp_genes2))
n_fp <- length(fp_genes)
results <- append_results(results, "Arriba", found_fus, found_tsv, n_fp)
print(paste("Background genes in FPs:", sum(fp_genes%in% bgenes_grx$genes)))
[1] "Background genes in FPs: 0"
plot_simu_benchmarking(results, "Arriba")
| Version | Author | Date |
|---|---|---|
| 4206f12 | Marek Cmero | 2021-04-30 |
| 0b21347 | Marek Cmero | 2020-06-11 |
| eb3203f | Marek Cmero | 2020-05-27 |
| 3702862 | Marek Cmero | 2020-05-18 |
| db62be7 | Marek Cmero | 2020-05-01 |
| 4a5d6ae | Marek Cmero | 2020-05-01 |
| 3c9c389 | Marek Cmero | 2020-04-30 |
| 784838b | Marek Cmero | 2020-04-30 |
| 535d418 | Marek Cmero | 2020-04-27 |
| 6a17444 | Marek Cmero | 2020-04-27 |
| 1096df5 | Marek Cmero | 2020-04-24 |
# load data and extract transcripts marked as novel
stringtie_results <- read.delim(here("data/simu/results/StringTie/fullsimu.gtf"), comment="#", header=F)
stringtie_results <- stringtie_results[!stringtie_results$V9 %like% "ref_gene_id",]
stringtie_results <- stringtie_results[stringtie_results$V3 == "transcript",]
chrom <- sapply(stringtie_results$V1, convert_chrom, add_chr = FALSE)
stringtie_grx <- GRanges(seqnames = chrom,
ranges = IRanges(start = stringtie_results$V4,
end = stringtie_results$V5))
hits <- get_hits_oneloc(stringtie_grx, fus_grx[[1]], fus_grx[[2]], tsv_nsv_grx, bgenes_grx)
found_fus <- table(fus_truth[hits$fus_truth_hits,]$fusion_type)
found_tsv <- table(tsv_nsv_truth[hits$tsv_nsv_truth_hits,]$vartype)
# get false positives
fp_grx <- stringtie_grx[!1:length(hits$caller_hits) %in% hits$caller_hits]
fp_gene_hits <- all_gene_grx[subjectHits(findOverlaps(fp_grx, all_gene_grx))]
n_fp <- length(unique(fp_gene_hits$genes))
results <- append_results(results, "StringTie", found_fus, found_tsv, n_fp)
print(paste("Background genes in FPs:", sum(unique(fp_gene_hits$genes) %in% bgenes_grx$genes)))
[1] "Background genes in FPs: 1"
plot_simu_benchmarking(results, "StringTie")
| Version | Author | Date |
|---|---|---|
| 4206f12 | Marek Cmero | 2021-04-30 |
| 0b21347 | Marek Cmero | 2020-06-11 |
| eb3203f | Marek Cmero | 2020-05-27 |
| 3702862 | Marek Cmero | 2020-05-18 |
| db62be7 | Marek Cmero | 2020-05-01 |
| 4a5d6ae | Marek Cmero | 2020-05-01 |
| 3c9c389 | Marek Cmero | 2020-04-30 |
| 784838b | Marek Cmero | 2020-04-30 |
| 535d418 | Marek Cmero | 2020-04-27 |
| 6a17444 | Marek Cmero | 2020-04-27 |
| 3fa0082 | Marek Cmero | 2020-04-27 |
| 1096df5 | Marek Cmero | 2020-04-24 |
# regenerate gene ranges objects "chr" prefix
# (this is required as KisSplice"s bam was aligned
# to a genome with chr prefixes)
fus_grx <- get_granges(fus_truth, convert_chrom = TRUE)
tsv_nsv_grx <- get_granges(tsv_nsv_truth, convert_chrom = TRUE)
bgenes_grx <- get_granges(bg_gene_ref, convert_chrom = FALSE)
# extract hits im fusion and TSV/NSV gene regions
bam <- here("data/simu/results/KisSplice/results.bam")
fus1_hits <- get_kissplice_hits(bam, fus_grx[[1]])
fus2_hits <- get_kissplice_hits(bam, fus_grx[[2]])
tsv_nsv_hits <- get_kissplice_hits(bam, tsv_nsv_grx)
# remame row names to match locations from results
rownames(fus_truth) <- sapply(fus_truth$loc1, convert_chrom)
rownames(tsv_nsv_truth) <- sapply(tsv_nsv_truth$loc, convert_chrom)
# tally results
found_fus <- table(fus_truth[names(fus1_hits)[fus1_hits | fus2_hits],]$fusion_type)
found_tsv <- table(tsv_nsv_truth[names(tsv_nsv_hits[tsv_nsv_hits]),]$vartype)
# count number of FP hits in background genes
# first, get all reads that we counted as "hits"
param <- ScanBamParam(which = c(fus_grx[[1]], fus_grx[[2]], tsv_nsv_grx),
what = c("pos"))
all_hits <- scanBam(bam, param = param)
all_hits <- unique(unlist(all_hits))
# now get all reads in the results and count all
# reads that were not counted as hits
param <- ScanBamParam(what = "pos")
all_results <- unique(scanBam(bam, param = param)[[1]]$pos)
fps <- all_results[!all_results %in% all_hits]
n_fp <- length(fps)
# count the numner of FPs in background genes
param <- ScanBamParam(which = bgenes_grx, what = c("pos"))
bg_hits <- scanBam(bam, param = param)
bg_hits <- bg_hits[as.numeric(bg_hits) %in% fps]
results <- append_results(results, "KisSplice", found_fus, found_tsv, n_fp)
print(paste("Background genes in FPs:", length(bg_hits)))
[1] "Background genes in FPs: 0"
plot_simu_benchmarking(results, "KisSplice")
| Version | Author | Date |
|---|---|---|
| 4206f12 | Marek Cmero | 2021-04-30 |
| 0b21347 | Marek Cmero | 2020-06-11 |
| eb3203f | Marek Cmero | 2020-05-27 |
| 3702862 | Marek Cmero | 2020-05-18 |
| db62be7 | Marek Cmero | 2020-05-01 |
| 4a5d6ae | Marek Cmero | 2020-05-01 |
| 3c9c389 | Marek Cmero | 2020-04-30 |
| 784838b | Marek Cmero | 2020-04-30 |
| 535d418 | Marek Cmero | 2020-04-27 |
| 6a17444 | Marek Cmero | 2020-04-27 |
| 1096df5 | Marek Cmero | 2020-04-24 |
# load CICERO results and make Genomic Ranges objects
cicero_results <- read.delim(here("data/simu/results/CICERO/allvars-case.final_fusions.txt"))
# make GRanges objects
loc1_grx <- GRanges(seqnames = cicero_results$chrA,
ranges = IRanges(start = cicero_results$posA, end = cicero_results$posA))
loc2_grx <- GRanges(seqnames = cicero_results$chrB,
ranges = IRanges(start = cicero_results$posB, end = cicero_results$posB))
# extract hits
hits <- get_hits(loc1_grx, loc2_grx,
hg19_fus_grx[[1]], hg19_fus_grx[[2]],
hg19_tsv_nsv_grx, hg19_bgenes_grx)
found_fus <- table(hg19_fus_truth[hits$fus_truth_hits,]$fusion_type)
found_tsv <- table(hg19_tsv_nsv_truth[hits$tsv_nsv_truth_hits,]$vartype)
fps <- !1:length(loc1_grx) %in% unique(hits$caller_hits)
n_fp <- sum(fps)
results <- append_results(results, "CICERO", found_fus, found_tsv, n_fp)
print(paste("Background genes in FPs:", sum(hits$bg_hits %in% which(fps))))
[1] "Background genes in FPs: 1"
plot_simu_benchmarking(results, "CICERO")
Unfiltered CICERO results (Supplementary Figure 3).
# load CICERO unfiltered results and make Genomic Ranges objects
cicero_int <- read.delim(here("data/simu/results/CICERO/unfiltered.internal.txt"), header = FALSE)
cicero_fus <- read.delim(here("data/simu/results/CICERO/unfiltered.fusion.txt"), header = FALSE)
# make GRanges objects
loc_grx <- GRanges(seqnames = c(cicero_int$V9, cicero_int$V20),
ranges = IRanges(start = c(cicero_int$V10, cicero_int$V21),
end = c(cicero_int$V11, cicero_int$V22)))
loc1_grx <- GRanges(seqnames = cicero_fus$V9,
ranges = IRanges(start = cicero_fus$V10, end = cicero_fus$V11))
loc2_grx <- GRanges(seqnames = cicero_fus$V20,
ranges = IRanges(start = cicero_fus$V21, end = cicero_fus$V22))
# get hits for both internal and fus variants
hits_int <- get_hits_oneloc(loc_grx, fus_grx[[1]], fus_grx[[2]],
hg19_tsv_nsv_grx, bgenes_grx)
hits_fus <- get_hits(loc1_grx, loc2_grx,
hg19_fus_grx[[1]], hg19_fus_grx[[2]],
hg19_tsv_nsv_grx, bgenes_grx)
fps_int <- !1:length(loc_grx) %in% hits_int$caller_hits
fps_fus <- !1:length(loc1_grx) %in% hits_fus$caller_hits
n_fp <- sum(fps_int) + sum(fps_fus)
# count hits
fus_truth_hits <- union(hits_int$fus_truth_hits, hits_fus$fus_truth_hits)
tsv_truth_hits <- union(hits_int$tsv_nsv_truth_hits, hits_fus$tsv_nsv_truth_hits)
found_fus <- table(hg19_fus_truth[fus_truth_hits,]$fusion_type)
found_tsv <- table(hg19_tsv_nsv_truth[tsv_truth_hits,]$vartype)
cicero_results <- append_results(results[, 1:2], "CICERO", found_fus, found_tsv, n_fp)
plot_simu_benchmarking(cicero_results[!rownames(results) %in% "FP",], "CICERO") +
ylim(0, 100) + ggtitle("CICERO unfiltered")
print(paste("False positives:", n_fp))
[1] "False positives: 596"
MINTIE paper Figure 3A containing results from all benchmarked methods.
mr <- reshape2::melt(results, id.vars = c("vartype", "class"), variable.name = "method")
mr$method <- factor(mr$method,
levels=c("MINTIE", "TAP", "Barnacle",
"SQUID", "JAFFA", "Arriba",
"CICERO", "KisSplice", "StringTie"))
plot_all_simu_benchmarks(mr)
| Version | Author | Date |
|---|---|---|
| 4206f12 | Marek Cmero | 2021-04-30 |
| 42ce21b | Marek Cmero | 2020-07-03 |
| 9141a03 | Marek Cmero | 2020-06-25 |
| 0b21347 | Marek Cmero | 2020-06-11 |
| eb3203f | Marek Cmero | 2020-05-27 |
| 3702862 | Marek Cmero | 2020-05-18 |
| db62be7 | Marek Cmero | 2020-05-01 |
| 4a5d6ae | Marek Cmero | 2020-05-01 |
| 3c9c389 | Marek Cmero | 2020-04-30 |
| 784838b | Marek Cmero | 2020-04-30 |
| 535d418 | Marek Cmero | 2020-04-27 |
| 6a17444 | Marek Cmero | 2020-04-27 |
| 3fa0082 | Marek Cmero | 2020-04-27 |
| 1096df5 | Marek Cmero | 2020-04-24 |
MINTIE Supplementary Figure 1 showing effect of coverage and dispersion on results.
cresults <- base_results
colnames(cresults)[3] <- "50x" # original results are 50x variant coverage
coverage_dir <- here("data/simu/results/MINTIE/varying_coverage/")
cresults <- get_experiment_results(cresults, coverage_dir)
# melt data and plot
experiments <- c("5x", "10x", "20x", "50x")
ccols <- brewer.pal(5, "PuBu")[2:5]
names(ccols) <- experiments
tcov <- reshape2::melt(data.table(cresults),
id.vars = c("vartype", "class"),
variable.name = "variant coverage")
tcov$`variant coverage` <- factor(tcov$`variant coverage`, levels=experiments)
pcov <- ggplot(tcov, aes(vartype, value, group = `variant coverage`, fill = `variant coverage`)) +
geom_bar(stat="identity", position="dodge") +
theme_bw() +
theme(axis.text.x = element_text()) +
ylab("variants found") +
xlab("") +
coord_flip() +
theme(legend.position = "right", legend.title = element_blank()) +
scale_fill_manual(values = ccols) +
ggtitle("Varying coverage")
dresults <- base_results
colnames(dresults)[3] <- "disp0.1" # original results are 50x variant coverage
coverage_dir <- here("data/simu/results/MINTIE/varying_dispersion/")
dresults <- get_experiment_results(dresults, coverage_dir)
# melt data and plot
experiments <- c("disp0.7", "disp0.6", "disp0.5", "disp0.3", "disp0.1", "nocontrols")
dcols <- rev(brewer.pal(10, "RdBu")[c(3, 6:10)])
names(dcols) <- experiments
ddis <- reshape2::melt(data.table(dresults),
id.vars = c("vartype", "class"),
variable.name = "dispersion")
ddis$dispersion <- factor(ddis$dispersion, levels=experiments)
pdis <- ggplot(ddis, aes(vartype, value, group = dispersion, fill = dispersion)) +
geom_bar(stat="identity", position="dodge") +
theme_bw() +
theme(axis.text.x = element_text()) +
ylab("variants found") +
xlab("") +
coord_flip() +
theme(legend.position = "right", legend.title = element_blank()) +
scale_fill_manual(values = dcols) +
ggtitle("Varying dispersion")
grid.arrange(pcov, pdis, ncol=1)
| Version | Author | Date |
|---|---|---|
| 4206f12 | Marek Cmero | 2021-04-30 |
MINTIE Supplementary Figure 2 showing detection rates at variant sizes 1-9 for small variants (insertions, deletions and ITDs).
# load experimental data
dlim_dir <- here("data/simu/results/MINTIE/detection_limits/")
dlim_truth <- read.delim(here("data/simu/truth/limvars1_tsvs_splice_simulated.tsv.gz"))
# (note, we use the same truth set for all simulations, this is because they vary by varsize only)
plausible_vartype <- c("IGR", "INS", "DEL", "NEJ", "UN")
dlim_results <- list.files(dlim_dir, pattern = "*results.tsv.gz", full.names = TRUE) %>%
lapply(., read.delim) %>%
rbindlist() %>%
get_results_by_gene() %>%
filter(variant_type %in% plausible_vartype)
# check whether variant was detected in each run
for(i in seq(1, 9)) {
sample_name <- paste0("limvars", i, "-case")
lvg <- dlim_results$gene[dlim_results$sample %in% sample_name] %>% unique()
dlim_truth$detected <- dlim_truth$gene %in% lvg
colnames(dlim_truth)[ncol(dlim_truth)] <- i
}
# melt data and plot
lm <- dlim_truth[, !colnames(dlim_truth) %like% "tx|gene|size|exon"] %>%
melt(id.vars = c("loc", "vartype"), variable.name = "size", value.name = "detected")
ggplot(lm, aes(size, fill = detected)) +
geom_bar(stat = "count") +
theme_bw() + facet_grid(~vartype)
| Version | Author | Date |
|---|---|---|
| 4206f12 | Marek Cmero | 2021-04-30 |
Figure 3B, shows whether MINTIE’s classifications match the simulated categories.
longform_categories <- c("AS" = "alternative splice",
"DEL" = "deletion",
"EE" = "extended exon",
"FUS" = "fusion",
"IGR" = "intra-gene rearrangement",
"INS" = "insertion",
"NE" = "novel exon",
"NEJ" = "novel exon junction",
"PNJ" = "partial novel junction",
"RI" = "retained intron",
"UN" = "unknown")
mclass <- get_results_by_gene(mintie_results)
mclass$truth_vartype <- sapply(mclass$gene, get_vartype_from_gene, fus_truth, tsv_nsv_truth)
mclass$truth_vartype_full <- results[mclass$truth_vartype,]$vartype
mclass <- distinct(mclass[,c("chr1", "pos1", "strand1",
"chr2", "pos2", "strand2",
"variant_type", "truth_vartype",
"truth_vartype_full")])
mclass$correct_classification <- apply(mclass, 1, is_classification_correct)
mclass$MINTIE_classification <- mclass$variant_type
mclass$truth_vartype_full <- as.factor(mclass$truth_vartype_full)
g1 <- ggplot(mclass, aes(truth_vartype_full, fill = MINTIE_classification)) +
geom_bar() +
coord_flip() +
theme_bw() +
ylab("Variant count") +
xlab("Simulation truth") +
scale_fill_brewer(palette = "Paired",
labels = as.character(longform_categories))
g2 <- ggplot(mclass[mclass$truth_vartype != "FP",],
aes(truth_vartype_full, fill = correct_classification)) +
geom_bar() +
coord_flip() +
ylab("Variant count") +
xlab("Simulation truth") +
theme_bw() +
scale_x_discrete(drop=FALSE)
grid.arrange(g1, g2, nrow = 2)
| Version | Author | Date |
|---|---|---|
| 29ba564 | Marek Cmero | 2021-05-12 |
sessionInfo()
R version 4.0.3 (2020-10-10)
Platform: x86_64-apple-darwin17.0 (64-bit)
Running under: macOS Catalina 10.15.7
Matrix products: default
BLAS: /Library/Frameworks/R.framework/Versions/4.0/Resources/lib/libRblas.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/4.0/Resources/lib/libRlapack.dylib
locale:
[1] en_AU.UTF-8/en_AU.UTF-8/en_AU.UTF-8/C/en_AU.UTF-8/en_AU.UTF-8
attached base packages:
[1] parallel stats4 stats graphics grDevices utils datasets
[8] methods base
other attached packages:
[1] Rsamtools_2.6.0 Biostrings_2.58.0 XVector_0.30.0
[4] GenomicRanges_1.42.0 GenomeInfoDb_1.26.2 IRanges_2.24.1
[7] S4Vectors_0.28.1 BiocGenerics_0.36.0 gridExtra_2.3
[10] RColorBrewer_1.1-2 ggplot2_3.3.3 reshape2_1.4.4
[13] here_1.0.1 stringr_1.4.0 dplyr_1.0.4
[16] data.table_1.13.6 workflowr_1.6.2
loaded via a namespace (and not attached):
[1] tidyselect_1.1.0 xfun_0.21 purrr_0.3.4
[4] colorspace_2.0-0 vctrs_0.3.6 generics_0.1.0
[7] htmltools_<IP_ADDRESS> yaml_2.2.1 rlang_0.4.10
[10] later_<IP_ADDRESS> pillar_1.4.7 glue_1.4.2
[13] withr_2.4.1 DBI_1.1.1 BiocParallel_1.24.1
[16] GenomeInfoDbData_1.2.4 lifecycle_1.0.0 plyr_1.8.6
[19] zlibbioc_1.36.0 munsell_0.5.0 gtable_0.3.0
[22] evaluate_0.14 labeling_0.4.2 knitr_1.31
[25] httpuv_1.5.5 highr_0.8 Rcpp_1.0.6
[28] promises_<IP_ADDRESS> scales_1.1.1 farver_2.0.3
[31] fs_1.5.0 digest_0.6.27 stringi_1.5.3
[34] rprojroot_2.0.2 grid_4.0.3 tools_4.0.3
[37] bitops_1.0-6 magrittr_2.0.1 RCurl_1.98-1.2
[40] tibble_3.0.6 crayon_1.4.1 whisker_0.4
[43] pkgconfig_2.0.3 ellipsis_0.3.1 assertthat_0.2.1
[46] rmarkdown_2.6 R6_2.5.0 git2r_0.28.0
[49] compiler_4.0.3


Galvanize as a Resident / Instructor
The mind for this does not exist.
Slow and Steady.
Feature by Feature.
Incremental Progress.

Really work on the fundamentals,
but don't stop there.
Be okay with saying "I don't know."
It never hurts to ask.
Always ask for what you need.
Expect to be uncomfortable.
Don't Panic.
Read Error Messages.
Start with why.
End with why.
Check in on why in the middle.
Thank you!
<EMAIL_ADDRESS>@elana on gAlumni and Denver Devs Slack


ABOUT
I am at my best in a job where I can work with other people, but also have the chance to concentrate in privacy, and have some level of both independence and collaboration in decision-making. I also am confident and succeed in performing complex tasks and processes within a tight schedule, and occasional work stress does not bother me. Tasks where I have an opportunity to solve problems bring the best out of me.


{% extends 'events/base.html' %} {% block title %} Upcoming events | Semester Manager {% endblock %} {% block content %} {% load tz %}
{{ event.name }} {{ event.begin_time | localtime | time:"G:i"}} - {{ event.end_time | localtime | time:"G:i"}}
Hooray! No more classes today. Good job keeping up!
{% endif %}


--- title: "谢谢有你" layout: "post" permalink: "/2014/01/blog-post_18.html" uuid: "1446075816653968690" guid: "tag:blogger.com,1999:blog-5396845717692802313.post-1446075816653968690" date: "2014-01-19 05:12:00" updated: "2014-01-19 05:12:59" description: blogger: siteid: "5396845717692802313" postid: "1446075816653968690" comments: "0" categories: author: name: "Zhujun Yao" url: "https://plus.google.com/107886982505645319479?rel=author" image: "//lh5.googleusercontent.com/-sv9wVMH_yJA/AAAAAAAAAAI/AAAAAAAAABY/RoZM-GWMhyI/s512-c/photo.jpg" ---


Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.
For the best experience please use the latest Chrome, Safari or Firefox browser.
Graphical Notebooks
Life beyond the computational essay
Alex Morley
Mozilla Fellow - Neuroscientist
Let's create our own adventure
Did anyone do any create your own adventure books as a kid? Or maybe you watched bandersnatch on Netflix at the start of the year.
Whatever, we're gonna do a democratic one right now.
It's a sunny day in Portland, Oregon. You've just left home, and are walking to give a presentation about some work you are super excited about. The sidewalk you are walking on is tiled. Do you:
As you carry on walking some dude looking at his phone almost walks into, luckily you sidestep and avoid having his coffee poured all over you. The coffee smells pretty good though, and Upper Left Roasters is just round the corner. Do you:
You pick up the pace and walk briskly to the coffee shop. It's been a while since you got a coffee from here and the coffee at work just doesn't cut it. As you walk in to the shop you see a friend from high-school.
"Grace! How are you?!"
It turns out Grace is sad because she's just about to move back to Chicago and the home she found for her cat Tommy can't take her anymore as they've found out their kid has allergies.
You adopt a cat!
You carry on walking in the sun. The air is fresh but the sun keeps you warm even without a sweater. You get to the room where you'll be presenting 20 minutes early but there's someone already waiting here for you. Shit it's Michelle Obama.
"Hey Jane, I don't have time to stay for your talk but I just had a meeting next door and saw the advertisement for the talk. It sounds super interesting, would you be interesting in collaborating to build an organisation around this?"
Fuck!
You didn't notice the dude looking at his phone who walks into and spills his coffee on your shirt. There's no way you can give your talk looking like this. Do you:
You pick up the pace and walk quickly to "Hats 'n Cats", your favourite clothes store. Lucky it's open! You have a quick look around and then stop: no way! they have the perfect shirt and it goes perfectly with this jacket.
You run home. It feels good to get rid of some of this nervous energy even if it's a little warm. You sidestep and dart to keep your feet on the centre of the sidewalk tiles, even when running.  Lucky you came back anyway.
Essay or choose-your-own-adventure?
Sometimes we just want to tell a nice story.
Sometimes we want to share the whole process.
Jupyter notebooks are really great at doing the first. But sometimes they can be a little unweildy.
But there are a whole bunch of anti-patterns, or workaround behaviours that I've observed that stem from the disconnect between natural process of data-analysis, and the format in which we express that analysis on the page.
I'm going to pick a few of these, and then present some potential design solutions.
Explore multiple overlapping avenues for analysing a dataset
Controlled sharing of state!
...
Mutliple kernels
Object "workspace" serialization
Process state capture
Observations:
Difficulty onboarding new users to a processing pipeline
Debugging/Reporting stages mixed in with actual processing
Complex static diagrams approximating the code
Explanation:
No visual/familiar way to edit pipeline
Implementation: Pipeline Kernels
Make
Common Workflow Language
Apache Kafka
### Story
It's a sunny day in Portland, Oregon. You've just left home, and are walking to give a presentation about some work you are super excited about. The sidewalk you are walking on is tiled.  The coffee smells pretty good though, and Upper Left Roasters is just round the corner.  It's been a while since you got a coffee from here and the coffee at work just doesn't cut it. As you walk in to the shop you see a friend from high-school.
"Grace! How are you?!"
It turns out Grace is sad because she's just about to move back to Chicago and the home she found for her cat Tommy can't take her anymore as they've found out their kid has allergies.
You adopt a cat!


--- layout: page title: About header-img: "img/about-bg.png" ---
Mechanical engineer hoping to become a web developer.


Democrat Edwards wins reelection in conservative Louisiana
by Associated PressBATON ROUGE, La. (AP) — Louisiana’s voters have reelected Democratic Gov. John Bel Edwards to a second term, deep in the heart of the conservative South. Saturday’s election outcome shocked Republicans who hoped to reclaim the seat on the strength of President Donald Trump’s popularity.
The moderate Edwards cobbled together enough cross-party support with his focus on bipartisan, state-specific issues to defeat Republican businessman Eddie Rispone. Edwards received about 51% of the vote.
Trump made three trips to Louisiana to rally against Edwards.
But the president’s interest in the race not only motivated conservative Republicans, but also powered a surge in anti-Trump and black voter turnout that helped boost Edwards.
Coming after a defeat in the Kentucky governor’s race, the Louisiana result seems certain to rattle Republicans as they head into the 2020 presidential election.
___
Follow Melinda Deslatte on Twitter at http://twitter.com/melindadeslatte


This game was created as part of my masters course.
In this module we were challenged to create a game based on one of the UN sustainable development goals. My team decided to tackle clean energy. In this game the player is challenged to power a town based on a real world location using only clean, sustainable power sources. The game features a map based on Sprakenbull in Germany and Vik in Iceland. The player can build many sustainable sources but also unsustainable ones. We want the player to understand why sometimes unsustainable ones are needed but how we can move away from them.
For this project I was the main progammer and focused on systems design and development. I created a tool for the team to use that allowed them to create maps in the Unity Editor. This tool would generate a level based on parameters the designer set. The designer could then edit this map to bring it closer to the real world.As this project was created with a team I am not at liberty to distribute the source code but a build is avaliable here.


Django_tex documentation¶
Core¶
-
django_tex.core.
compile_template_to_pdf
(template_name, context)¶ Compile the source with
render_template_with_context()
andrun_tex()
.
-
django_tex.core.
render_template_with_context
(template_name, context)¶ Render the template
-
django_tex.core.
run_tex
(source)¶ Copy the source to temp dict and run latex.
Exceptions¶
-
django_tex.exceptions.
prettify_message
(message)¶ Helper methods that removes consecutive whitespaces and newline characters
-
django_tex.exceptions.
tokenizer
(code)¶
Models¶
-
class
django_tex.models.
TeXTemplateFile
(*args, **kwargs)¶ -
-
name
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
title
¶ A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.
-
-
django_tex.models.
validate_template_path
(name)¶


Cost: Healthcare Hurdle
Description: Costs and poor economic situations were seen by the participants as a major obstacle to quality healthcare.
Comments:
- 'Poor economic situation is the biggest challenge faced by families.'
- 'Cost is a major obstacle to receiving excellent service in the private sector.'
- 'Poor financial conditions are a major obstacle to receiving better service and securing treatment.'
- 'It was mentioned that lack of money is the biggest obstacle to receiving good services.'
- 'All of the interviewees have the same problem, but in different ways. They cannot find treatment, and there is no one who can cover the expenses of their treatment. No organization can afford to fully cover the cost of their treatment. All of the interviewees are forced to pay a lot of money to receive health care services.'
- 'If there is an organization that helps us by providing health care services, we ask ourselves: Is there a full insurance?'
- 'Some had to sell their furniture to fund the treatment, some borrowed money, and some of them admit the patient under false information in order to save his/her life.'
Full Data link


AMERICAN BEAUTY (1999) reviewed by George Wu
Rating: *** (out of 4)
Lester Burnham (Kevin Spacey) is in a loveless marriage, has a daughter who hates him, and is on the verge of being fired from his job. His id is reawakened however when he encounters and obsesses over Angela Hayes (Mena Suvari), a pretty blond who is also his daughter's good friend. In the mean time, his daughter, Jane (Thora Birch), meets and fall in love with the new next door neighbor, Ricky Fitts (Wes Bentley), a drug dealer who videotapes everything around him. This is the setup of the much buzzed-about American Beauty, a film similar to The Ice Storm in subject but not in theme. While both sport dysfunctional families, The Ice Storm was essentially about the inability to communicate. American Beauty is about joie de vivre counteracted by the illusions with which people live.
 This plot device works thematically to get us to see this character in a different light -- one who may or may not make the most of his life in the time he has left. But giving this knowledge to the viewer also has a destructive side effect. The end of the film makes us focus on how Lester is going to die, which really has little to do with the rest of the movie. The filmmakers encourage this by supplying multiple alternatives (though not all are equally plausible). This sudden transition to thriller temporarily ejects the film's thematic concerns out the window.
All the characters see something that is not really the case, except for Ricky, the all-compassionate drug dealer aesthete. Ricky is not the disciplined hard worker his Neo-Nazi father, Colonel Fitts (Chris Cooper) thinks he is. A later plot twist further warps the Colonel's misinterpretation of his son. Ricky is also not the psychopath Angela thinks he is. Angela is not the perfect embodiment of fantasy that Lester thinks she is, and Angela is not the worldly teenager Jane thinks she is. Jane does not care for her mother as her mother Carolyn (Annette Bening) thinks she does. All of this of course leads to tragedy.
Unfortunately, the characters are so caricatured, it takes a good portion of the film for the all-around great cast to transcend their exaggerated natures and humanize them. Writer Alan Ball doesn't help matters by outfitting each character with heavy symbolic weight. Lester is the Anarchist, Carolyn is the Ayn Rand Capitalist, Thora is the Lost Soul, Ricky is the Artist, Angela is the Temptress, Colonel Fitts is Evil Incarnate. This is ultimately the kind of heavy-handedness that drags the movie down.
In one scene, Ricky tells Jane that what he is about to show her is the most beautiful thing he has ever filmed. A Tarkovsky would have just shown it (though not as blandly as done here). Director Sam Mendes saddles his image with the weight of the world and makes it feel trite. This most beautiful thing could have been just a na´ve teenager's romanticism, but Mendes returns to it later, indicating it is what Ricky intends. Mendes is an accomplished theater director, but this is his debut film, so he might be forgiven for not following one of the most basic rules of narrative filmmaking -- show, don't tell. Mendes certainly does his share of showing, but then the characters always tell us afterwards about the significance of what we've just seen -- irrational homophobia! Materialism run rampant! This does not only place a mistrust in the viewer, but makes the film feel too self-important. The most erring instance of this "just in case you didn't get it" is the film's ending montage. It is overstated, sentimental, and wrongheaded.
American Beauty is a powerful film, but it owes its debt more to an extraordinary cast than to its flawed writing and direction.
http://pages.prodigy.net/zvelf/index.htm
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Search
Preparing search index...
The search index is not available
@picturepark/sdk-v1-angular API
Options
All
Public
Public/Protected
All
Inherited
Externals
Only exported
Menu
Globals
CropGravity
Enumeration CropGravity
Index
Enumeration members
Center
East
North
North
East
North
West
South
South
East
South
West
West
Enumeration members
Center
Center
:
= "Center"
East
East
:
= "East"
North
North
:
= "North"
North
East
North
East
:
= "NorthEast"
North
West
North
West
:
= "NorthWest"
South
South
:
= "South"
South
East
South
East
:
= "SouthEast"
South
West
South
West
:
= "SouthWest"
West
West
:
= "West"
Globals
Crop
Gravity
Center
East
North
North
East
North
West
South
South
East
South
West
West
Generated using
TypeDoc


|
KlusterKite
0.0.0
A framework to create scalable and redundant services based on awesome Akka.Net project.
|
Classes | |
| class | CollectionRequest |
| Collection of objects request More... | |
| class | CollectionResponse |
| The standard response to the CollectionRequest message More... | |
| class | CrudActionMessage |
| Request to process some data action More... | |
| class | CrudActionResponse |
Standard response from the
request More... | |
| interface | ICrudActionMessage |
| Request to process some data action More... | |
Enumerations | |
| enum | EnActionType { EnActionType.Get = 1, EnActionType.Create = 2, EnActionType.Update = 3, EnActionType.Delete = 4 } |
| Types of object actions More... | |
Types of object actions
| Enumerator | |
|---|---|
| Get | Get an object from data source |
| Create | Creates an object in data source |
| Update | Creates or updates an object in data source |
| Delete | Removes an object from data source |
Definition at line 18 of file EnActionType.cs.


public enum MaterialType
Created by Shynixn 2018.
public static MaterialType AIR
public static MaterialType STONE
public static MaterialType GRASS
public static MaterialType DIRT
public static MaterialType COBBLESTONE
public static MaterialType WOOD
public static MaterialType SAPLING
public static MaterialType BEDROCK
public static MaterialType WATER
public static MaterialType STATIONARY_WATER
public static MaterialType LAVA
public static MaterialType STATIONARY_LAVA
public static MaterialType SAND
public static MaterialType GRAVEL
public static MaterialType GOLD_ORE
public static MaterialType IRON_ORE
public static MaterialType COAL_ORE
public static MaterialType LOG
public static MaterialType LEAVES
public static MaterialType SPONGE
public static MaterialType GLASS
public static MaterialType LAPIS_ORE
public static MaterialType LAPIS_BLOCK
public static MaterialType DISPENSER
public static MaterialType SANDSTONE
public static MaterialType NOTE_BLOCK
public static MaterialType BED_BLOCK
public static MaterialType POWERED_RAIL
public static MaterialType DETECTOR_RAIL
public static MaterialType PISTON_STICKY_BASE
public static MaterialType WEB
public static MaterialType LONG_GRASS
public static MaterialType DEAD_BUSH
public static MaterialType PISTON_BASE
public static MaterialType PISTON_EXTENSION
public static MaterialType WOOL
public static MaterialType YELLOW_FLOWER
public static MaterialType RED_ROSE
public static MaterialType BROWN_MUSHROOM
public static MaterialType RED_MUSHROOM
public static MaterialType GOLD_BLOCK
public static MaterialType IRON_BLOCK
public static MaterialType DOUBLE_STEP
public static MaterialType STEP
public static MaterialType BRICK
public static MaterialType TNT
public static MaterialType BOOKSHELF
public static MaterialType MOSSY_COBBLESTONE
public static MaterialType OBSIDIAN
public static MaterialType TORCH
public static MaterialType FIRE
public static MaterialType MOB_SPAWNER
public static MaterialType WOOD_STAIRS
public static MaterialType CHEST
public static MaterialType REDSTONE_WIRE
public static MaterialType DIAMOND_ORE
public static MaterialType DIAMOND_BLOCK
public static MaterialType WORKBENCH
public static MaterialType CROPS
public static MaterialType SOIL
public static MaterialType FURNACE
public static MaterialType BURNING_FURNACE
public static MaterialType SIGN_POST
public static MaterialType WOODEN_DOOR
public static MaterialType LADDER
public static MaterialType RAILS
public static MaterialType COBBLESTONE_STAIRS
public static MaterialType WALL_SIGN
public static MaterialType LEVER
public static MaterialType STONE_PLATE
public static MaterialType IRON_DOOR_BLOCK
public static MaterialType WOOD_PLATE
public static MaterialType REDSTONE_ORE
public static MaterialType GLOWING_REDSTONE_ORE
public static MaterialType REDSTONE_TORCH_OFF
public static MaterialType REDSTONE_TORCH_ON
public static MaterialType STONE_BUTTON
public static MaterialType SNOW
public static MaterialType ICE
public static MaterialType SNOW_BLOCK
public static MaterialType CACTUS
public static MaterialType CLAY
public static MaterialType SUGAR_CANE_BLOCK
public static MaterialType JUKEBOX
public static MaterialType FENCE
public static MaterialType PUMPKIN
public static MaterialType NETHERRACK
public static MaterialType SOUL_SAND
public static MaterialType GLOWSTONE
public static MaterialType PORTAL
public static MaterialType JACK_O_LANTERN
public static MaterialType CAKE_BLOCK
public static MaterialType DIODE_BLOCK_OFF
public static MaterialType DIODE_BLOCK_ON
public static MaterialType STAINED_GLASS
public static MaterialType TRAP_DOOR
public static MaterialType MONSTER_EGGS
public static MaterialType SMOOTH_BRICK
public static MaterialType HUGE_MUSHROOM_1
public static MaterialType HUGE_MUSHROOM_2
public static MaterialType IRON_FENCE
public static MaterialType THIN_GLASS
public static MaterialType MELON_BLOCK
public static MaterialType PUMPKIN_STEM
public static MaterialType MELON_STEM
public static MaterialType VINE
public static MaterialType FENCE_GATE
public static MaterialType BRICK_STAIRS
public static MaterialType SMOOTH_STAIRS
public static MaterialType MYCEL
public static MaterialType WATER_LILY
public static MaterialType NETHER_BRICK
public static MaterialType NETHER_FENCE
public static MaterialType NETHER_BRICK_STAIRS
public static MaterialType NETHER_WARTS
public static MaterialType ENCHANTMENT_TABLE
public static MaterialType BREWING_STAND
public static MaterialType CAULDRON
public static MaterialType ENDER_PORTAL
public static MaterialType ENDER_PORTAL_FRAME
public static MaterialType ENDER_STONE
public static MaterialType DRAGON_EGG
public static MaterialType REDSTONE_LAMP_OFF
public static MaterialType REDSTONE_LAMP_ON
public static MaterialType WOOD_DOUBLE_STEP
public static MaterialType WOOD_STEP
public static MaterialType COCOA
public static MaterialType SANDSTONE_STAIRS
public static MaterialType EMERALD_ORE
public static MaterialType ENDER_CHEST
public static MaterialType TRIPWIRE_HOOK
public static MaterialType TRIPWIRE
public static MaterialType EMERALD_BLOCK
public static MaterialType SPRUCE_WOOD_STAIRS
public static MaterialType BIRCH_WOOD_STAIRS
public static MaterialType JUNGLE_WOOD_STAIRS
public static MaterialType COMMAND
public static MaterialType BEACON
public static MaterialType COBBLE_WALL
public static MaterialType FLOWER_POT
public static MaterialType CARROT
public static MaterialType POTATO
public static MaterialType WOOD_BUTTON
public static MaterialType SKULL
public static MaterialType ANVIL
public static MaterialType TRAPPED_CHEST
public static MaterialType GOLD_PLATE
public static MaterialType IRON_PLATE
public static MaterialType REDSTONE_COMPARATOR_OFF
public static MaterialType REDSTONE_COMPARATOR_ON
public static MaterialType DAYLIGHT_DETECTOR
public static MaterialType REDSTONE_BLOCK
public static MaterialType QUARTZ_ORE
public static MaterialType HOPPER
public static MaterialType QUARTZ_BLOCK
public static MaterialType QUARTZ_STAIRS
public static MaterialType ACTIVATOR_RAIL
public static MaterialType DROPPER
public static MaterialType STAINED_CLAY
public static MaterialType STAINED_GLASS_PANE
public static MaterialType LEAVES_2
public static MaterialType LOG_2
public static MaterialType ACACIA_STAIRS
public static MaterialType DARK_OAK_STAIRS
public static MaterialType SLIME_BLOCK
public static MaterialType BARRIER
public static MaterialType IRON_TRAPDOOR
public static MaterialType PRISMARINE
public static MaterialType SEA_LANTERN
public static MaterialType HAY_BLOCK
public static MaterialType CARPET
public static MaterialType HARD_CLAY
public static MaterialType COAL_BLOCK
public static MaterialType PACKED_ICE
public static MaterialType DOUBLE_PLANT
public static MaterialType STANDING_BANNER
public static MaterialType WALL_BANNER
public static MaterialType DAYLIGHT_DETECTOR_INVERTED
public static MaterialType RED_SANDSTONE
public static MaterialType RED_SANDSTONE_STAIRS
public static MaterialType DOUBLE_STONE_SLAB2
public static MaterialType STONE_SLAB2
public static MaterialType SPRUCE_FENCE_GATE
public static MaterialType BIRCH_FENCE_GATE
public static MaterialType JUNGLE_FENCE_GATE
public static MaterialType DARK_OAK_FENCE_GATE
public static MaterialType ACACIA_FENCE_GATE
public static MaterialType SPRUCE_FENCE
public static MaterialType BIRCH_FENCE
public static MaterialType JUNGLE_FENCE
public static MaterialType DARK_OAK_FENCE
public static MaterialType ACACIA_FENCE
public static MaterialType SPRUCE_DOOR
public static MaterialType BIRCH_DOOR
public static MaterialType JUNGLE_DOOR
public static MaterialType ACACIA_DOOR
public static MaterialType DARK_OAK_DOOR
public static MaterialType END_ROD
public static MaterialType CHORUS_PLANT
public static MaterialType CHORUS_FLOWER
public static MaterialType PURPUR_BLOCK
public static MaterialType PURPUR_PILLAR
public static MaterialType PURPUR_STAIRS
public static MaterialType PURPUR_DOUBLE_SLAB
public static MaterialType PURPUR_SLAB
public static MaterialType END_BRICKS
public static MaterialType BEETROOT_BLOCK
public static MaterialType GRASS_PATH
public static MaterialType END_GATEWAY
public static MaterialType COMMAND_REPEATING
public static MaterialType COMMAND_CHAIN
public static MaterialType FROSTED_ICE
public static MaterialType MAGMA
public static MaterialType NETHER_WART_BLOCK
public static MaterialType RED_NETHER_BRICK
public static MaterialType BONE_BLOCK
public static MaterialType STRUCTURE_VOID
public static MaterialType OBSERVER
public static MaterialType WHITE_SHULKER_BOX
public static MaterialType ORANGE_SHULKER_BOX
public static MaterialType MAGENTA_SHULKER_BOX
public static MaterialType LIGHT_BLUE_SHULKER_BOX
public static MaterialType YELLOW_SHULKER_BOX
public static MaterialType LIME_SHULKER_BOX
public static MaterialType PINK_SHULKER_BOX
public static MaterialType GRAY_SHULKER_BOX
public static MaterialType SILVER_SHULKER_BOX
public static MaterialType CYAN_SHULKER_BOX
public static MaterialType PURPLE_SHULKER_BOX
public static MaterialType BLUE_SHULKER_BOX
public static MaterialType BROWN_SHULKER_BOX
public static MaterialType GREEN_SHULKER_BOX
public static MaterialType RED_SHULKER_BOX
public static MaterialType BLACK_SHULKER_BOX
public static MaterialType WHITE_GLAZED_TERRACOTTA
public static MaterialType ORANGE_GLAZED_TERRACOTTA
public static MaterialType MAGENTA_GLAZED_TERRACOTTA
public static MaterialType LIGHT_BLUE_GLAZED_TERRACOTTA
public static MaterialType YELLOW_GLAZED_TERRACOTTA
public static MaterialType LIME_GLAZED_TERRACOTTA
public static MaterialType PINK_GLAZED_TERRACOTTA
public static MaterialType GRAY_GLAZED_TERRACOTTA
public static MaterialType SILVER_GLAZED_TERRACOTTA
public static MaterialType CYAN_GLAZED_TERRACOTTA
public static MaterialType PURPLE_GLAZED_TERRACOTTA
public static MaterialType BLUE_GLAZED_TERRACOTTA
public static MaterialType BROWN_GLAZED_TERRACOTTA
public static MaterialType GREEN_GLAZED_TERRACOTTA
public static MaterialType RED_GLAZED_TERRACOTTA
public static MaterialType BLACK_GLAZED_TERRACOTTA
public static MaterialType CONCRETE
public static MaterialType CONCRETE_POWDER
public static MaterialType STRUCTURE_BLOCK
public static MaterialType IRON_SPADE
public static MaterialType IRON_PICKAXE
public static MaterialType IRON_AXE
public static MaterialType FLINT_AND_STEEL
public static MaterialType APPLE
public static MaterialType BOW
public static MaterialType ARROW
public static MaterialType COAL
public static MaterialType DIAMOND
public static MaterialType IRON_INGOT
public static MaterialType GOLD_INGOT
public static MaterialType IRON_SWORD
public static MaterialType WOOD_SWORD
public static MaterialType WOOD_SPADE
public static MaterialType WOOD_PICKAXE
public static MaterialType WOOD_AXE
public static MaterialType STONE_SWORD
public static MaterialType STONE_SPADE
public static MaterialType STONE_PICKAXE
public static MaterialType STONE_AXE
public static MaterialType DIAMOND_SWORD
public static MaterialType DIAMOND_SPADE
public static MaterialType DIAMOND_PICKAXE
public static MaterialType DIAMOND_AXE
public static MaterialType STICK
public static MaterialType BOWL
public static MaterialType MUSHROOM_SOUP
public static MaterialType GOLD_SWORD
public static MaterialType GOLD_SPADE
public static MaterialType GOLD_PICKAXE
public static MaterialType GOLD_AXE
public static MaterialType STRING
public static MaterialType FEATHER
public static MaterialType SULPHUR
public static MaterialType WOOD_HOE
public static MaterialType STONE_HOE
public static MaterialType IRON_HOE
public static MaterialType DIAMOND_HOE
public static MaterialType GOLD_HOE
public static MaterialType SEEDS
public static MaterialType WHEAT
public static MaterialType BREAD
public static MaterialType LEATHER_HELMET
public static MaterialType LEATHER_CHESTPLATE
public static MaterialType LEATHER_LEGGINGS
public static MaterialType LEATHER_BOOTS
public static MaterialType CHAINMAIL_HELMET
public static MaterialType CHAINMAIL_CHESTPLATE
public static MaterialType CHAINMAIL_LEGGINGS
public static MaterialType CHAINMAIL_BOOTS
public static MaterialType IRON_HELMET
public static MaterialType IRON_CHESTPLATE
public static MaterialType IRON_LEGGINGS
public static MaterialType IRON_BOOTS
public static MaterialType DIAMOND_HELMET
public static MaterialType DIAMOND_CHESTPLATE
public static MaterialType DIAMOND_LEGGINGS
public static MaterialType DIAMOND_BOOTS
public static MaterialType GOLD_HELMET
public static MaterialType GOLD_CHESTPLATE
public static MaterialType GOLD_LEGGINGS
public static MaterialType GOLD_BOOTS
public static MaterialType FLINT
public static MaterialType PORK
public static MaterialType GRILLED_PORK
public static MaterialType PAINTING
public static MaterialType GOLDEN_APPLE
public static MaterialType SIGN
public static MaterialType WOOD_DOOR
public static MaterialType BUCKET
public static MaterialType WATER_BUCKET
public static MaterialType LAVA_BUCKET
public static MaterialType MINECART
public static MaterialType SADDLE
public static MaterialType IRON_DOOR
public static MaterialType REDSTONE
public static MaterialType SNOW_BALL
public static MaterialType BOAT
public static MaterialType LEATHER
public static MaterialType MILK_BUCKET
public static MaterialType CLAY_BRICK
public static MaterialType CLAY_BALL
public static MaterialType SUGAR_CANE
public static MaterialType PAPER
public static MaterialType BOOK
public static MaterialType SLIME_BALL
public static MaterialType STORAGE_MINECART
public static MaterialType POWERED_MINECART
public static MaterialType EGG
public static MaterialType COMPASS
public static MaterialType FISHING_ROD
public static MaterialType WATCH
public static MaterialType GLOWSTONE_DUST
public static MaterialType RAW_FISH
public static MaterialType COOKED_FISH
public static MaterialType INK_SACK
public static MaterialType BONE
public static MaterialType SUGAR
public static MaterialType CAKE
public static MaterialType BED
public static MaterialType DIODE
public static MaterialType COOKIE
public static MaterialType MAP
public static MaterialType SHEARS
public static MaterialType MELON
public static MaterialType PUMPKIN_SEEDS
public static MaterialType MELON_SEEDS
public static MaterialType RAW_BEEF
public static MaterialType COOKED_BEEF
public static MaterialType RAW_CHICKEN
public static MaterialType COOKED_CHICKEN
public static MaterialType ROTTEN_FLESH
public static MaterialType ENDER_PEARL
public static MaterialType BLAZE_ROD
public static MaterialType GHAST_TEAR
public static MaterialType GOLD_NUGGET
public static MaterialType NETHER_STALK
public static MaterialType POTION
public static MaterialType GLASS_BOTTLE
public static MaterialType SPIDER_EYE
public static MaterialType FERMENTED_SPIDER_EYE
public static MaterialType BLAZE_POWDER
public static MaterialType MAGMA_CREAM
public static MaterialType BREWING_STAND_ITEM
public static MaterialType CAULDRON_ITEM
public static MaterialType EYE_OF_ENDER
public static MaterialType SPECKLED_MELON
public static MaterialType EXP_BOTTLE
public static MaterialType FIREBALL
public static MaterialType BOOK_AND_QUILL
public static MaterialType WRITTEN_BOOK
public static MaterialType EMERALD
public static MaterialType ITEM_FRAME
public static MaterialType FLOWER_POT_ITEM
public static MaterialType CARROT_ITEM
public static MaterialType POTATO_ITEM
public static MaterialType BAKED_POTATO
public static MaterialType POISONOUS_POTATO
public static MaterialType EMPTY_MAP
public static MaterialType GOLDEN_CARROT
public static MaterialType SKULL_ITEM
public static MaterialType CARROT_STICK
public static MaterialType NETHER_STAR
public static MaterialType PUMPKIN_PIE
public static MaterialType FIREWORK
public static MaterialType FIREWORK_CHARGE
public static MaterialType ENCHANTED_BOOK
public static MaterialType REDSTONE_COMPARATOR
public static MaterialType NETHER_BRICK_ITEM
public static MaterialType QUARTZ
public static MaterialType EXPLOSIVE_MINECART
public static MaterialType HOPPER_MINECART
public static MaterialType PRISMARINE_SHARD
public static MaterialType PRISMARINE_CRYSTALS
public static MaterialType RABBIT
public static MaterialType COOKED_RABBIT
public static MaterialType RABBIT_STEW
public static MaterialType RABBIT_FOOT
public static MaterialType RABBIT_HIDE
public static MaterialType ARMOR_STAND
public static MaterialType IRON_BARDING
public static MaterialType GOLD_BARDING
public static MaterialType DIAMOND_BARDING
public static MaterialType LEASH
public static MaterialType NAME_TAG
public static MaterialType COMMAND_MINECART
public static MaterialType MUTTON
public static MaterialType COOKED_MUTTON
public static MaterialType BANNER
public static MaterialType SPRUCE_DOOR_ITEM
public static MaterialType BIRCH_DOOR_ITEM
public static MaterialType JUNGLE_DOOR_ITEM
public static MaterialType ACACIA_DOOR_ITEM
public static MaterialType DARK_OAK_DOOR_ITEM
public static MaterialType CHORUS_FRUIT
public static MaterialType CHORUS_FRUIT_POPPED
public static MaterialType BEETROOT
public static MaterialType BEETROOT_SEEDS
public static MaterialType BEETROOT_SOUP
public static MaterialType DRAGONS_BREATH
public static MaterialType SPLASH_POTION
public static MaterialType SPECTRAL_ARROW
public static MaterialType TIPPED_ARROW
public static MaterialType LINGERING_POTION
public static MaterialType SHIELD
public static MaterialType ELYTRA
public static MaterialType BOAT_SPRUCE
public static MaterialType BOAT_BIRCH
public static MaterialType BOAT_JUNGLE
public static MaterialType BOAT_ACACIA
public static MaterialType BOAT_DARK_OAK
public static MaterialType TOTEM
public static MaterialType SHULKER_SHELL
public static MaterialType IRON_NUGGET
public static MaterialType GOLD_RECORD
public static MaterialType GREEN_RECORD
public static MaterialType RECORD_3
public static MaterialType RECORD_4
public static MaterialType RECORD_5
public static MaterialType RECORD_6
public static MaterialType RECORD_7
public static MaterialType RECORD_8
public static MaterialType RECORD_9
public static MaterialType RECORD_10
public static MaterialType RECORD_11
public static MaterialType RECORD_12


--- layout: post title: "Battlestar Simpsons" --- The wife and I got hooked on BSG (we caught up by watching every single episode over the last 6 weeks), so I got a kick out of seeing this. I love the baby with the power cord.


ocamldumpobj - disassembler for OCaml executable and .cmo object files
ocamldumpobj
Disassembler for executable and .cmo object files compiled by OCaml.
ocamlc (1), ocamlopt (1), ocamlobjinfo (1).
This manual page was written by Samuel Mimram<EMAIL_ADDRESS>for the Debian GNU/Linux system (but may be used by others).


5-6 hours
Sorting is important in programming for the same reason it is important in everyday life. It is easier and faster to locate items in a sorted list than unsorted. Sorting algorithms can be used in a program to sort an array for later searching or writing out to an ordered file or report.(by Siddharth Khuntwal)
For example bubble sort, quick sort, and selection sort all take the same input and produce the same output but at different speeds. This is a nice way to show how different approaches can yield more efficient algorithms using approaches such as divide and conquer. On top of that, sorting algorithms don’t require advanced data structures knowledge to understand. If you can understand arrays you can understand sorting algorithm examples.(by cma)
Participants will be able to:
Remember how we can sort cards lots of different ways? Let’s talk about all the ways computers sort Lists.
Let’s start with a Bad Way To Sort:
Say we want to sort a deck of cards:
Let’s talk about the Complexity of BogoSort. Here’s the pseudocode:
The best case?
O(n) where n is the length of the list, because we have to check that the list is sorted.
The worst case?
O(????) because this could NEVER END if we get really unlucky.
Hopefully you can see why we never want to use this algorithm again.
How does it work?
Demonstration video: Watch this Video (useful in slo-mo)
Let’s watch a folk dance interpretation of Bubble Sort: Watch this video, It is also available in the materials section
Let’s break into groups again and try out the sorting algorithm on our own decks of cards!
What’s the Complexity of Bubble Sort?
function bubble_sort(a) {
let swap;
let n = a.length - 1;
let x = a;
do {
swap = false;
for (let i = 0; i < n; i++) {
if (x[i] < x[i + 1]) {
let temp = x[i];
x[i] = x[i + 1];
x[i + 1] = temp;
swap = true;
}
}
n--;
} while (swap);
return x;
}
We have nested loops: the while-loop and the for-loop! The outer loop passes until there are no more swaps. Thus the runtime is O(n^2).
Group question: what state would the list be in for Bubble Sort to have the worst possible performance?
How does it work?
First step:
Next step:
At the i’th step, the first i elements of the list are guaranteed to be sorted.
Demonstration video: Watch this video
What’s the Complexity of Selection Sort?
function selection_sort(a) {
for (let i = 0; i < a.length; i++) {
let small = i;
for (let j = i + 1; j < a.length; j++) {
if (a[j] < a[small]) {
small = j;
}
}
if (i !== small) {
let temp = a[i];
a[i] = a[small];
a[small] = temp;
}
}
return a;
}
Again, there’s a nested loop, so worst-case runtime is O(n^2)!
Merge Sort is a divide and conquer algorithm. A divide and conquer algorithm works by recursively breaking down a problem into two or more sub-problems of the same or related type, until these become simple enough to be solved directly. The solutions to the sub-problems are then combined to give a solution to the original problem.
What are we dividing and what are we conquering here?
Well, we divide the list into lots of sublists. In fact, we divide them into lists that are of size 1! At that point, we know a list of size 1 is sorted! This isn’t intuitive, right? Let’s dig in…
Merge sorted sublists.
Let’s review this video: Watch this video, it is also available in the materials section
This will be tough, but let’s try implementing it ourselves!
Let’s try just the merge (a, left, right, middle) function first.
function merge(a, left, right, middle) {
n1 = middle - left + 1;
n2 = right - middle;
let L = [];
let R = [];
for (let i = 0; i < n1; i++) {
L[i] = a[left + i];
}
for (let j = 0; j < n2; j++) {
R[j] = a[middle + j + 1];
}
i = 0;
j = 0;
let k = left;
while (i < n1 && j < n2) {
if (L[i] <= R[j])
a[k] = L[i++];
else
a[k] = R[j++];
k++;
}
while (i < n1) {
a[k] = L[i];
i++;
k++;
}
while (j < n2) {
a[k] = R[j];
j++;
k++;
}
}
Can we merge this with sample input? What if left = [1, 3] and right = [2, 4]?
After an hour, let’s complete the merge_sort function!
function merge_sort(a, left, right) {
if (left < right) {
let middle = Math.floor((left + right) / 2);
merge_sort(a, left, middle);
merge_sort(a, middle + 1, right);
merge(a, left, right, middle);
}
}
Let’s test it with this list: testList = [1, 3, 5, 7, 2, 6, 25, 18, 13]
Spend 3 hours writing steps for yourself on how to go about writing each algorithm: Bubble, Selection, Merge. For example:
Name of Algorithm
If you’re curious to read more there are lots of good resources out there!
MIT Intro to CS Slides on Sorting
Harvey Mudd Lesson Plan on Sorting
https://www.toptal.com/developers/sorting-algorithms/
http://sorting.at/
Thanks to the MIT OpenCourseWare site for Sorting Algorithm Code Examples! https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/lecture-slides-code/lec12_sorting.py


Optus New Plans 25 Nov: No More Phone Subsidies, Pay off Devices over 12/24/36 Months, 5G Enabled
by Neerav BhattFirst it was Vodafone, than a few months ago Telstra. Now Optus has also decided to ditch lock-in mobile phone service contracts and radically simplify it’s plan offerings to just a handful of choices.
Five New Optus postpaid plans including $39/10GB, $79/120GB and $119 Optus One “luxury” will be available on 25th November and offer these features:
- Month to month
- Build your own plan
- 5G ready
- Can buy your device: outright or over 12, 24, or 36 months
Interestingly Optus is targeting high-end mobile spenders who feel that Telstra’s recent new plans don’t offer them enough value and international data.
The new Optus One option $119/month will include:
- Network priority
- Dedicated customer service (like an account manager)
- Premium perks yet to be detailed but will include Optus Sport
According to the SMH frequent international traveller Optus mobile customers will get to:
“Pick how much data they want including for roaming, and change this on a monthly basis”
What do you think of these new Optus plans? Let us know in the comments if you would be willing to switch to them.


Kanye West Buys Another $14 Million Mansion In Wyoming
by AllHipHop StaffChicago rapper Kanye West is planning to call Wyoming home, after he bought another massive ranch.
(AllHipHop News) Kanye West has been spending his $850 million fortune lavishly as of late, and his spending spree continues.
According to reports, Ye just plunked down another $14 million to buy a second ranch in his new hometown of Wyoming.
TMZ reports that Kanye is the new owner of a huge property called Bighorn Mountain Ranch.
The rap star's new piece of real estate sits on 6,713-acres is comparable to Monster Lake Ranch, the 9,000-acre property Kanye bought for $14 million in September.
Bighorn Mountain Ranch comes complete with lodges, cabins, two heated helicopter pads and sweeping views of the surrounding mountains.
Earlier this week, Kanye revealed he is building a 70,684-square-foot amphitheater called the “West Meditation Space Large Impact Structure" which will be an open-air facility.


The news you need, from sources you trust.
We are a news app based out of Philadelphia, PA, that seeks to distribute hard-hitting and honest journalism to our users from newspapers such as The New York Times, The Philadelphia Inquirer, and The Boston Globe. We also provide news on a variety of other topics, such as entertainment and sports. We even offer original NextNews conent from writers based in the U.S. and all over the world. There are different plans available, and signing up is fast and easy. The app is free to download.
PLEASE NOTE: Free users are limited to ten articles per month. No re-subscription is necessary unless a paid plan is desired.
Consult our Frequently Asked Questions here.
Price: $0.00
Features
Price: $10.00/mo
Features
Price: $24.99/mo
Features
Price: $45.99
Features


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object fr.umlv.escapeirandroid.entity.Entity fr.umlv.escapeirandroid.entity.AbstractShip fr.umlv.escapeirandroid.entity.HeroShip
public class HeroShip
The Class HeroShip defines the specifications of the ship used by the player
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class fr.umlv.escapeirandroid.entity.Entity |
|---|
Entity.entityCategory, Entity.EntityState |
| Field Summary |
|---|
| Fields inherited from class fr.umlv.escapeirandroid.entity.Entity |
|---|
EXPLOSING_LIMIT |
| Constructor Summary | |
|---|---|
HeroShip(org.jbox2d.dynamics.Body body,
int healthPoint)
Instantiates a new hero ship providing a body in the physic world and his health points |
| Method Summary | |
|---|---|
void |
applyLooping(org.jbox2d.common.Vec2 vector)
Applies a gesture to heroship, providing a direction, a strength and telling if it is a looping or not. |
boolean |
canSelectWeapon(java.lang.String weapon)
Tries to select a given weapon for the heroship. |
void |
draw(android.graphics.Canvas graphics)
Draws the heroship according to its different status related to looping |
void |
fire()
Definies the sequence to fire a weapon for the heroship. |
int |
getWeaponMunition(java.lang.String weapon)
Gets the weapon munition providing a weapon name |
boolean |
isLoadAsked()
Checks if is load of a weapon has been asked. |
void |
loadWeapon()
Begin the loading sequence of the selected weapon. |
void |
setLoadAsked(boolean isLoadAsked)
Sets the load asked. |
void |
setTarget(float x,
float y)
Sets the target. |
| Methods inherited from class fr.umlv.escapeirandroid.entity.AbstractShip |
|---|
addMunitions, getMunitions, isWeaponLoaded, move |
| Methods inherited from class fr.umlv.escapeirandroid.entity.Entity |
|---|
drawExplosing, getBody, getCategoryBit, getExplosingTime, getHealthPoint, getUserData, setHealthPoint |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public HeroShip(org.jbox2d.dynamics.Body body, int healthPoint)
body
- the bodyhealthPoint
- the health point| Method Detail |
|---|
public boolean isLoadAsked()
public void setLoadAsked(boolean isLoadAsked)
isLoadAsked
- the new load asked valuepublic void draw(android.graphics.Canvas graphics)
draw
in interface Displayable
draw
in class AbstractShip
graphics
- the graphics2D to draw withpublic void applyLooping(org.jbox2d.common.Vec2 vector)
vec
- the direction of the gesturelength
- the strength of the gesturepublic void setTarget(float x, float y)
x
- the xy
- the ypublic boolean canSelectWeapon(java.lang.String weapon)
weapon
- the name of the weapon to load
public void fire()
fire
in interface Fireable
fire
in class AbstractShip
public void loadWeapon()
public int getWeaponMunition(java.lang.String weapon)
weapon
- the weapon name
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


CPCallApplicationDelegate
Objective-C
@protocol CPCallApplicationDelegate <NSObject>
Swift
protocol CPCallApplicationDelegate : NSObjectProtocol
Represents events of Call This protocol must be conformed by classes which uses CPCallService
Since
1.0.0-
This method is invoked when there is an IncomingCall Used for informing the application about new call.
Since
1.0.0Declaration
Objective-C
- (void)incomingCall:(nonnull id<CPIncomingCallDelegate>)call;
Parameters
call
reference of incoming call
-
This is the call back method for any call state change on the CallDelegate.
Since
1.0.0Declaration
Objective-C
- (void)callStatusChanged:(nonnull id<CPCallDelegate>)call withState:(nonnull CPCallState *)callState;
Parameters
call
which of state changed
callState
the new state of the related call
-
This method is invoked when a detailed call information is available that can be used on statistics
Since
1.0.0Declaration
Objective-C
- (void)callAdditionalInfoChanged:(nonnull id<CPCallDelegate>)call withDictionary:(nonnull NSDictionary *)detailedInfo;
Parameters
call
related call
detailedInfo
additional info dictionary
-
This is the call back method for any call’s media attributes change on the CallDelegate.
Since
1.0.0Declaration
Objective-C
- (void)mediaAttributesChanged:(nonnull id<CPCallDelegate>)call withMediaAttributes:(nonnull CPMediaAttributes *)mediaAttributes;
Parameters
call
which of media attributes changed
mediaAttributes
the new media attributes of the related call
-
This method is invoked when establishCall has succeeded.
See
[CPOutgoingCallDelegate establishCall:]Since
1.0.0Declaration
Objective-C
- (void)establishCallSucceeded:(nonnull id<CPOutgoingCallDelegate>)call;
Parameters
call
performed establishment successfully
-
This method is invoked when establishCall has failed.
See
[CPOutgoingCallDelegate establishCall:]Since
1.0.0Declaration
Objective-C
- (void)establishCallFailed:(nonnull id<CPOutgoingCallDelegate>)call withError:(nonnull CPError *)error;
Parameters
call
couldn’t made outgoing call establisment
error
definition of failure
-
Method invoked when attempt to accept an incoming call has succeeded.
See
[CPIncomingCallDelegate acceptCall:]Since
1.0.0Declaration
Objective-C
- (void)acceptCallSucceed:(nonnull id<CPIncomingCallDelegate>)call;
Parameters
call
performed accepting successfully
-
Method invoked when attempt to accept an incoming call has failed.
See
[CPIncomingCallDelegate acceptCall:]Since
1.0.0Declaration
Objective-C
- (void)acceptCallFailed:(nonnull id<CPIncomingCallDelegate>)call withError:(nonnull CPError *)error;
Parameters
call
couldn’t be accepted
error
definition of failure
-
Method invoked when attempt to reject an incoming call has succeeded.
See
[CPIncomingCallDelegate rejectCall]Since
1.0.0Declaration
Objective-C
- (void)rejectCallSuccedded:(nonnull id<CPIncomingCallDelegate>)call;
Parameters
call
performed reject successfully
-
Method invoked when attempt to reject an incoming call has failed.
See
[CPIncomingCallDelegate rejectCall]Since
1.0.0Declaration
Objective-C
- (void)rejectCallFailed:(nonnull id<CPIncomingCallDelegate>)call withError:(nonnull CPError *)error;
Parameters
call
that couldn’t be rejected
error
definition of failure
-
Method invoked when attempt to ignore a call has succeeded.
See
[CPIncomingCallDelegate ignoreCall]Since
1.0.0Declaration
Objective-C
- (void)ignoreSucceed:(nonnull id<CPCallDelegate>)call;
Parameters
call
performed ignore successfully
-
Method invoked when attempt to ignore a call has failed.
See
[CPIncomingCallDelegate ignoreCall]Since
1.0.0Declaration
Objective-C
- (void)ignoreFailed:(nonnull id<CPCallDelegate>)call withError:(nonnull CPError *)error;
Parameters
call
couldn’t be ignored
error
definition of failure
-
Method invoked when attempt to sendRingingFeedback an incoming call has succeeded.
See
[IncomingCallDelegate sendRingingFeedback] @since 2.15.0Declaration
Objective-C
- (void)sendRingingFeedbackSucceed:(nonnull id<CPIncomingCallDelegate>)call;
Parameters
call
performed sendRingingFeedback successfully
-
Method invoked when attempt to sendRingingFeedback an incoming call has failed.
See
[IncomingCallDelegate sendRingingFeedback] @since 2.15.0Declaration
Objective-C
- (void)sendRingingFeedbackFailed:(nonnull id<CPIncomingCallDelegate>)call withError:(nonnull CPError *)error;
Parameters
call
that coludn’t send ringing feedback
error
definition of failure
-
This method is invoked when endCall has succeeded. This is the call back method for the endCall request
See
[CPCallDelegate endCall]Since
1.0.0Declaration
Objective-C
- (void)endCallSucceeded:(nonnull id<CPCallDelegate>)call;
Parameters
call
performed end successfully
-
This method is invoked when endCall has failed. This is the call back method for the endCall request
See
[CPCallDelegate endCall]Since
1.0.0Declaration
Objective-C
- (void)endCallFailed:(nonnull id<CPCallDelegate>)call withError:(nonnull CPError *)error;
Parameters
call
coudn’t be ended
error
definition of failure
-
Method invoked when attempt to mute a call has succeeded.
See
[CPCallDelegate mute]Since
1.0.0Declaration
Objective-C
- (void)muteCallSucceed:(nonnull id<CPCallDelegate>)call;
Parameters
call
performed mute successfully
-
Method invoked when attempt to mute a call has failed.
See
[CPCallDelegate mute]Since
1.0.0Declaration
Objective-C
- (void)muteCallFailed:(nonnull id<CPCallDelegate>)call withError:(nonnull CPError *)error;
Parameters
call
coudn’t be muted
error
definition of failure
-
Method invoked when attempt to unmute a call has succeeded.
See
[CPCallDelegate unMute]Since
1.0.0Declaration
Objective-C
- (void)unMuteCallSucceed:(nonnull id<CPCallDelegate>)call;
Parameters
call
performed unmute successfully
-
Method invoked when attempt to unmute a call has failed.
See
[CPCallDelegate unMute]Since
1.0.0Declaration
Objective-C
- (void)unMuteCallFailed:(nonnull id<CPCallDelegate>)call withError:(nonnull CPError *)error;
Parameters
call
couldn’t be unmuted
error
definition of failure
-
Method invoked when attempt to start video on a call has succeeded.
See
[CPCallDelegate videoStart]Since
1.0.0Declaration
Objective-C
- (void)videoStartSucceed:(nonnull id<CPCallDelegate>)call;
Parameters
call
performed video start successfully
-
Method invoked when attempt to start video on a call has failed.
See
[CPCallDelegate videoStart]Since
1.0.0Declaration
Objective-C
- (void)videoStartFailed:(nonnull id<CPCallDelegate>)call withError:(nonnull CPError *)error;
Parameters
call
coudn’t start video
error
definition of failure
-
Method invoked when attempt to stop video on a call has succeeded.
See
[CPCallDelegate videoStop]Since
1.0.0Declaration
Objective-C
- (void)videoStopSucceed:(nonnull id<CPCallDelegate>)call;
Parameters
call
performed stop video successfully
-
Method invoked when attempt to stop video on a call has failed.
See
[CPCallDelegate videoStop]Since
1.0.0Declaration
Objective-C
- (void)videoStopFailed:(nonnull id<CPCallDelegate>)call withError:(nonnull CPError *)error;
Parameters
call
coudn’t stop video
error
definition of failure
-
Method invoked when attempt to hold a call has succeeded.
See
[CPCallDelegate holdCall]Since
1.0.0Declaration
Objective-C
- (void)holdCallSucceed:(nonnull id<CPCallDelegate>)call;
Parameters
call
performed hold successfully
-
Method invoked when attempt to hold a call has failed.
See
[CPCallDelegate holdCall]Since
1.0.0Declaration
Objective-C
- (void)holdCallFailed:(nonnull id<CPCallDelegate>)call withError:(nonnull CPError *)error;
Parameters
call
couldn’t be holded
error
definition of failure
-
Method invoked when attempt to unHold a call has succeded.
See
[CPCallDelegate unHoldCall]Since
1.0.0Declaration
Objective-C
- (void)unHoldCallSucceed:(nonnull id<CPCallDelegate>)call;
Parameters
call
performed unhold successfully
-
Method invoked when attempt to unHold a call has failed.
See
[CPCallDelegate unHoldCall]Since
1.0.0Declaration
Objective-C
- (void)unHoldCallFailed:(nonnull id<CPCallDelegate>)call withError:(nonnull CPError *)error;
Parameters
call
couldn’t be unholded
error
definition of failure
-
Method invoked when attempt to transfer a call has succeeded.
See
[CallDelegate transferCall:] @since 1.7.0Declaration
Objective-C
- (void)transferCallSucceed:(nonnull id<CPCallDelegate>)call;
Parameters
call
performed transfer call successfully
-
Method invoked when attempt to transfer a call has failed.
See
[CallDelegate transferCall:] @since 1.7.0Declaration
Objective-C
- (void)transferCallFailed:(nonnull id<CPCallDelegate>)call withError:(nonnull CPError *)error;
Parameters
call
couldn’t made transferring
error
reason of the failure
-
Method invoked when attempt to forward a call has succeeded.
See
[CallDelegate transferCall:] @since 2.2.0Declaration
Objective-C
- (void)forwardCallSucceed:(nonnull id<CPCallDelegate>)call;
Parameters
call
performed forward call successfully
-
Method invoked when attempt to forward a call has failed.
See
[CallDelegate forwardCall:] @since 2.2.0Declaration
Objective-C
- (void)forwardCallFailed:(nonnull id<CPCallDelegate>)call withError:(nonnull CPError *)error;
Parameters
call
couldn’t succeed forward operation
error
reason of the failure


How's The Sky Brah?
Enter Destination Below
City
Search
Pipeline, Oahu, Hawaii
Supertubes, Jeffreys Bay, South Africa
Teahupo'o, Tahiti, French Polynesia
Uluwatu and Kuta, Bali, Indonesia
Day 1
Day 2
Day 3
Day 4
Day 5