Source file: notebooks/low_quality_cells/validation_mouse_pc.Rmd
Last updated: 2018-05-29
Code version: f478d2e
library(cowplot)
library(ggplot2)
library(ggpubr)
library(ggrastr)
library(dplyr)
library(Matrix)
library(parallel)
library(reshape2)
library(Seurat)
library(dropestr)
library(dropEstAnalysis)
theme_set(theme_base)
set.seed(42)
kDataPath <- '../../data/dropest/allon_new/'
kOutputFolder <- '../../output/'
kCsvLink <- 'ftp://ftp.ncbi.nlm.nih.gov/geo/samples/GSM2230nnn/GSM2230762/suppl/GSM2230762%5Fmouse2%5Fumifm%5Fcounts%2Ecsv%2Egz'
kRescuedScoreThreshold <- 0.9
kFilteredScoreThreshold <- 0.1
LibrariesUnion <- function(libs, names.func=names, set.names.func=setNames, union.func=unlist) {
return(lapply(1:length(libs), function(i)
set.names.func(libs[[i]], paste0(names.func(libs[[i]]), '-', i))) %>% union.func())
}
d_folders <- c('SRR3879617/est_11_22/', 'SRR3879618/est_11_22/', 'SRR3879619/est_11_29/')
rds_paths <- paste0(kDataPath, d_folders, 'cell.counts.rds')
holders <- mclapply(rds_paths, readRDS, mc.cores=3)
cms <- lapply(holders, `[[`, 'cm')
common_genes <- Reduce(intersect, lapply(cms, rownames))
cms <- lapply(cms, function(x) x[common_genes,])
cm_union <- LibrariesUnion(cms, colnames, `colnames<-`, function(x) Reduce(cbind, x))
scores <- mclapply(holders, ScorePipelineCells, mit.chromosome.name='chrM',
mc.cores=length(holders)) %>% LibrariesUnion()
mit_fracs <- lapply(holders, `[[`, 'reads_per_chr_per_cells') %>% lapply(`[[`, 'Exon') %>%
lapply(GetChromosomeFraction, 'chrM') %>% LibrariesUnion()
umis_per_cb <- sort(Matrix::colSums(cm_union), decreasing=T)
published_csv <- url(kCsvLink) %>% gzcon() %>% readLines() %>% paste0(collapse='\n') %>%
data.table::fread(data.table=F)
published_csv <- published_csv[, 1:3] %>%
mutate(LibId = substr(V1, 11, 11) %>% as.integer(),
Barcode = gsub("-", "", barcode) %>% paste0('-', LibId),
Cluster = gsub("_", " ", assigned_cluster)) %>%
dplyr::select(-V1, -barcode, -LibId, -assigned_cluster)
cluster_by_barcodes <- setNames(published_csv$Cluster, published_csv$Barcode)
dim(published_csv)
[1] 1064 2
r_cm <- cm_union[, order(Matrix::colSums(cm_union), decreasing=T)]
cell_mask <- setNames(rep(FALSE, ncol(r_cm)), colnames(r_cm))
cell_mask[names(scores)[scores > kRescuedScoreThreshold]] <- TRUE
cell_mask[intersect(names(cluster_by_barcodes), names(cell_mask))] <- TRUE
r_cm <- r_cm[, cell_mask]
r_cm <- r_cm[Matrix::rowSums(r_cm) > 20, ]
cluster_by_barcodes <- cluster_by_barcodes[names(cluster_by_barcodes) %>%
intersect(colnames(r_cm))]
r <- GetPagoda(r_cm, n.cores=10)
1167 cells, 14393 genes; normalizing ... using plain model winsorizing ... log scale ... done.
calculating variance fit ... using gam 333 overdispersed genes ... 333 persisting ... done.
running PCA using 1000 OD genes .... done
calculating distance ... pearson ...running tSNE using 10 cores:
PlotPagodaEmbeding(r, colors=mit_fracs, show.legend=T, title='Mitochondrial fraction',
alpha=0.9, size=0.5, font.size=4.5) +
scale_color_continuous(name='Fraction') +
theme_pdf(legend.pos=c(1, 1))
umi_counts_union_full <- sort(colSums(cm_union), decreasing=T)
umi_counts_union <- umi_counts_union_full[1:5000]
gg1 <- PlotCellsNumberHist(umi_counts_union_full, breaks=80, estimate.cells.number=T) +
scale_x_continuous(name='#UMI in cell', labels=round(10^(2:4)), breaks=2:4) +
theme_pdf()
gg2 <- PlotCellsNumberLine(umi_counts_union_full, breaks=80, estimate.cells.number=T) +
theme_pdf() + theme(legend.position="none")
gg3 <- PlotCellsNumberLogLog(umi_counts_union_full, estimate.cells.number=T) +
theme_pdf() + theme(legend.position="none")
gg_cell_num <- cowplot::plot_grid(gg1, gg2, gg3, ncol=1, nrow=3, labels="AUTO")
ggsave(paste0(kOutputFolder, 'figures/supp_cell_num_srr3.pdf'), gg_cell_num,
width=5, height=7)
gg_cell_num
filtered_cbs <- intersect(names(cluster_by_barcodes),
names(scores)[scores <= kFilteredScoreThreshold])
rescued_cbs <- setdiff(names(scores)[scores > kRescuedScoreThreshold],
names(cluster_by_barcodes))
intersect_cbs <- intersect(names(r$clusters$PCA$infomap), names(cluster_by_barcodes))
notannotated_cells <- setdiff(colnames(r_cm), names(cluster_by_barcodes))
clusters_annotated_resc <- AnnotateClustersByGraph(r$graphs$PCA, cluster_by_barcodes,
notannotated_cells,
max.iter=100, mc.cores=10)
rescued_clusters <- clusters_annotated_resc[rescued_cbs]
plot_clusters <- cluster_by_barcodes[names(scores)[scores > kFilteredScoreThreshold]]
plot_rescued_clusters <- rescued_clusters
for (type in c("immune other", "activated stellate", "quiescent stellate")) {
plot_clusters[plot_clusters == type] <- gsub(" ", "\n", type)
plot_rescued_clusters[plot_rescued_clusters == type] <- gsub(" ", "\n", type)
}
gg_tsne <- PlotFiltrationResults(r, clusters=plot_clusters,
rescued.clusters=plot_rescued_clusters,
filtered.cbs=filtered_cbs,
unchanged.alpha=1, rescued.alpha=1, lineheight=0.7,
raster.width=7 / 1.75, raster.height=6 / 1.3) +
theme_pdf(legend.pos=c(0, 1), show.ticks=F)
gg_tsne
rescued_table <- TableOfRescuedCells(clusters_annotated_resc[c(intersect_cbs, rescued_cbs)],
rescued_cbs)
write.csv(rescued_table, paste0(kOutputFolder, "tables/rescued_cbc_srr3.csv"), row.names=F)
rescued_table
Cell type | Total num. of cells | Num. of rescued | Fraction of rescued, % |
---|---|---|---|
activated stellate | 10 | 0 | 0.00 |
alpha | 200 | 19 | 9.50 |
B cell | 8 | 0 | 0.00 |
beta | 622 | 74 | 11.90 |
delta | 137 | 6 | 4.38 |
ductal | 41 | 2 | 4.88 |
endothelial | 68 | 1 | 1.47 |
gamma | 29 | 2 | 6.90 |
immune other | 4 | 0 | 0.00 |
macrophage | 24 | 5 | 20.83 |
quiescent stellate | 18 | 1 | 5.56 |
schwann | 3 | 0 | 0.00 |
T cell | 3 | 0 | 0.00 |
srt <- CreateSeuratObject(raw.data=r_cm, min.cells=10, min.genes=0, display.progress=F)
srt <- NormalizeData(object = srt, normalization.method = "LogNormalize",
scale.factor = 10000, display.progress=F)
srt <- FindVariableGenes(object=srt, mean.function=ExpMean, dispersion.function=LogVMR,
x.low.cutoff = 0.0125, x.high.cutoff = 3, y.cutoff = 1,
do.plot=F, display.progress=F)
srt <- ScaleData(object = srt, vars.to.regress = "nUMI", display.progress=F)
srt@ident <- as.factor(clusters_annotated_resc[colnames(srt@raw.data)])
names(srt@ident) <- colnames(srt@raw.data)
compared_clusters <- c('beta', 'delta', 'alpha', 'gamma')
cluster_markers <- mclapply(compared_clusters, function(i)
mclapply(setdiff(compared_clusters, i), FindClusterMarkers, i, srt, mc.cores=3),
mc.cores=4)
overexpressed_genes <- GetOverexpressedGenes(srt, compared_clusters, cluster_markers,
genes.from.cluster=50,
expression.threshold=0.3)
length(overexpressed_genes)
[1] 174
clusts_after_filt <- cluster_by_barcodes[setdiff(names(cluster_by_barcodes), filtered_cbs)]
real_clusts <- c(clusts_after_filt, rescued_clusters)
selected_clusters <- compared_clusters
tested_clusts <- sort(real_clusts[real_clusts %in% selected_clusters])
separation <- c(setNames(rep('rescued', length(rescued_cbs)), rescued_cbs),
setNames(rep('real', length(clusts_after_filt)), names(clusts_after_filt)))
umis_per_cb_subset <- log10(Matrix::colSums(r_cm[, names(tested_clusts)]))
tested_clusts <- tested_clusts[order(tested_clusts, -umis_per_cb_subset)]
de_genes <- intersect(overexpressed_genes, colnames(r$counts))
plot_df <- ExpressionMatrixToDataFrame(r$counts[names(tested_clusts), de_genes],
umis_per_cb_subset, tested_clusts, rescued_cbs)
# plot_df <- plot_df %>% filter(UmisPerCb < 3.5)
plot_dfs <- split(plot_df, plot_df$IsRescued) %>% setNames(c('real', 'rescued'))
ggs <- lapply(plot_dfs, HeatmapAnnotGG) %>%
lapply(lapply, `+`, theme(plot.margin=margin()))
legend_guides <- list(HeatmapLegendGuide('Expression'),
HeatmapLegendGuide('Cell type', guide=guide_legend, nrow=4),
HeatmapLegendGuide('log10(#molecules)'))
gg_legends <- mapply(`+`, ggs$real, legend_guides, SIMPLIFY=F) %>%
lapply(`+`, theme(legend.margin=margin(l=4, r=4, unit='pt'))) %>% lapply(get_legend)
ggs$real$heatmap <- ggs$real$heatmap + rremove('xlab') + ylab('Cells')
ggs$rescued$heatmap <- ggs$rescued$heatmap + labs(x = 'Genes', y = 'Cells')
ggs_annot <- lapply(ggs, function(gg) plot_grid(plotlist=lapply(gg, `+`, rremove('legend')),
nrow=1, rel_widths=c(1.5, 0.12, 0.12),
align='h'))
gg_legends_plot <- plot_grid(plotlist=gg_legends[c(1, 3)], nrow=2, align='v') %>%
plot_grid(gg_legends[[2]], ncol=2, rel_widths=c(2, 1))
gg_left <- plot_grid(ggs_annot$real, ggs_annot$rescued, nrow=2, labels='AUTO')
gg_right <- plot_grid(gg_tsne + theme(plot.margin=margin(l=0.1, unit='in')), gg_legends_plot,
nrow=2, rel_heights=c(1, 0.3), align='v', labels=c('C'))
gg_fig <- plot_grid(gg_left, gg_right, rel_widths=c(0.8, 1)) +
theme(plot.margin=margin(1, 1, 1, 1))
gg_fig
ggsave(paste0(kOutputFolder, 'figures/supp_lq_srr3.pdf'), gg_fig, width=7, height=6)
value | |
---|---|
version | R version 3.4.1 (2017-06-30) |
os | Ubuntu 14.04.5 LTS |
system | x86_64, linux-gnu |
ui | X11 |
language | (EN) |
collate | en_US.UTF-8 |
tz | America/New_York |
date | 2018-05-29 |
package | loadedversion | date | source | |
---|---|---|---|---|
1 | acepack | 1.4.1 | 2016-10-29 | CRAN (R 3.4.1) |
2 | AnnotationDbi | 1.32.3 | 2016-01-28 | Bioconductor |
3 | ape | 5.0 | 2017-10-30 | CRAN (R 3.4.1) |
4 | assertthat | 0.2.0 | 2017-04-11 | CRAN (R 3.4.1) |
5 | backports | 1.1.2 | 2017-12-13 | CRAN (R 3.4.1) |
7 | base64enc | 0.1-3 | 2015-07-28 | cran (@0.1-3) |
8 | bindr | 0.1 | 2016-11-13 | CRAN (R 3.4.1) |
9 | bindrcpp | 0.2 | 2017-06-17 | CRAN (R 3.4.1) |
10 | Biobase | 2.30.0 | 2016-01-28 | Bioconductor |
11 | BiocGenerics | 0.16.1 | 2016-01-28 | Bioconductor |
12 | bit | 1.1-12 | 2014-04-09 | CRAN (R 3.4.1) |
13 | bit64 | 0.9-7 | 2017-05-08 | CRAN (R 3.4.1) |
14 | bitops | 1.0-6 | 2013-08-17 | CRAN (R 3.4.1) |
15 | blob | 1.1.0 | 2017-06-17 | CRAN (R 3.4.1) |
16 | brew | 1.0-6 | 2011-04-13 | CRAN (R 3.4.1) |
17 | broom | 0.4.3 | 2017-11-20 | CRAN (R 3.4.1) |
18 | Cairo | 1.5-9 | 2015-09-26 | CRAN (R 3.4.1) |
19 | caret | 6.0-78 | 2017-12-10 | CRAN (R 3.4.1) |
20 | caTools | 1.17.1 | 2014-09-10 | CRAN (R 3.4.1) |
21 | checkmate | 1.8.5 | 2017-10-24 | CRAN (R 3.4.1) |
22 | class | 7.3-14 | 2015-08-30 | CRAN (R 3.4.0) |
23 | clisymbols | 1.2.0 | 2017-05-21 | CRAN (R 3.4.1) |
24 | cluster | 2.0.6 | 2017-03-16 | CRAN (R 3.4.0) |
25 | codetools | 0.2-15 | 2016-10-05 | CRAN (R 3.4.1) |
26 | colorspace | 1.3-2 | 2016-12-14 | CRAN (R 3.4.1) |
28 | cowplot | 0.9.2 | 2017-12-17 | CRAN (R 3.4.1) |
29 | CVST | 0.2-1 | 2013-12-10 | CRAN (R 3.4.1) |
30 | data.table | 1.10.4-3 | 2017-10-27 | CRAN (R 3.4.1) |
32 | DBI | 1.0.0 | 2018-05-02 | CRAN (R 3.4.1) |
33 | ddalpha | 1.3.1 | 2017-09-27 | CRAN (R 3.4.1) |
34 | dendsort | 0.3.3 | 2015-12-14 | cran (@0.3.3) |
35 | DEoptimR | 1.0-8 | 2016-11-19 | CRAN (R 3.4.1) |
36 | diffusionMap | 1.1-0 | 2014-02-20 | CRAN (R 3.4.1) |
37 | digest | 0.6.15 | 2018-01-28 | cran (@0.6.15) |
38 | dimRed | 0.1.0 | 2017-05-04 | CRAN (R 3.4.1) |
39 | diptest | 0.75-7 | 2016-12-05 | CRAN (R 3.4.1) |
40 | doParallel | 1.0.11 | 2017-09-28 | CRAN (R 3.4.1) |
41 | dplyr | 0.7.4 | 2017-09-28 | CRAN (R 3.4.1) |
42 | dropEstAnalysis | 0.6.0 | 2018-05-16 | local (VPetukhov/dropEstAnalysis@NA) |
43 | dropestr | 0.7.7 | 2018-03-17 | local (@0.7.7) |
44 | DRR | 0.0.2 | 2016-09-15 | CRAN (R 3.4.1) |
45 | dtw | 1.18-1 | 2015-09-01 | CRAN (R 3.4.1) |
46 | evaluate | 0.10.1 | 2017-06-24 | CRAN (R 3.4.1) |
47 | flexmix | 2.3-14 | 2017-04-28 | CRAN (R 3.4.1) |
48 | FNN | 1.1 | 2013-07-31 | CRAN (R 3.4.1) |
49 | foreach | 1.4.4 | 2017-12-12 | CRAN (R 3.4.1) |
50 | foreign | 0.8-69 | 2017-06-21 | CRAN (R 3.4.0) |
51 | Formula | 1.2-2 | 2017-07-10 | CRAN (R 3.4.1) |
52 | fpc | 2.1-10 | 2015-08-14 | CRAN (R 3.4.1) |
53 | gdata | 2.18.0 | 2017-06-06 | CRAN (R 3.4.1) |
54 | ggjoy | 0.4.0 | 2017-09-15 | CRAN (R 3.4.1) |
55 | ggplot2 | 2.2.1 | 2016-12-30 | CRAN (R 3.4.1) |
56 | ggpubr | 0.1.6 | 2017-11-14 | CRAN (R 3.4.1) |
57 | ggrastr | 0.1.5 | 2017-12-28 | Github (VPetukhov/ggrastr@cc56b45) |
58 | ggrepel | 0.7.0 | 2017-09-29 | CRAN (R 3.4.1) |
59 | ggridges | 0.4.1 | 2017-09-15 | CRAN (R 3.4.1) |
60 | git2r | 0.21.0 | 2018-01-04 | cran (@0.21.0) |
61 | glue | 1.2.0 | 2017-10-29 | CRAN (R 3.4.1) |
62 | GO.db | 3.2.2 | 2017-11-12 | Bioconductor |
63 | gower | 0.1.2 | 2017-02-23 | CRAN (R 3.4.1) |
64 | gplots | 3.0.1 | 2016-03-30 | CRAN (R 3.4.1) |
68 | gridBase | 0.4-7 | 2014-02-24 | CRAN (R 3.4.1) |
69 | gridExtra | 2.3 | 2017-09-09 | CRAN (R 3.4.1) |
70 | gtable | 0.2.0 | 2016-02-26 | CRAN (R 3.4.1) |
71 | gtools | 3.5.0 | 2015-05-29 | CRAN (R 3.4.1) |
72 | highr | 0.6 | 2016-05-09 | CRAN (R 3.4.1) |
73 | Hmisc | 4.0-3 | 2017-05-02 | CRAN (R 3.4.1) |
74 | htmlTable | 1.11.0 | 2017-12-01 | CRAN (R 3.4.1) |
75 | htmltools | 0.3.6 | 2017-04-28 | CRAN (R 3.4.1) |
76 | htmlwidgets | 1.0 | 2018-01-20 | cran (@1.0) |
77 | ica | 1.0-1 | 2015-08-25 | CRAN (R 3.4.1) |
78 | igraph | 1.2.1 | 2018-03-10 | cran (@1.2.1) |
79 | ipred | 0.9-6 | 2017-03-01 | CRAN (R 3.4.1) |
80 | IRanges | 2.4.8 | 2016-09-15 | Bioconductor |
81 | irlba | 2.3.2 | 2018-01-11 | cran (@2.3.2) |
82 | iterators | 1.0.9 | 2017-12-12 | CRAN (R 3.4.1) |
83 | kernlab | 0.9-25 | 2016-10-03 | CRAN (R 3.4.1) |
84 | KernSmooth | 2.23-15 | 2015-06-29 | CRAN (R 3.4.0) |
85 | knitr | 1.20 | 2018-02-20 | cran (@1.20) |
86 | labeling | 0.3 | 2014-08-23 | CRAN (R 3.4.1) |
87 | lars | 1.2 | 2013-04-24 | CRAN (R 3.4.1) |
88 | lattice | 0.20-35 | 2017-03-25 | CRAN (R 3.4.1) |
89 | latticeExtra | 0.6-28 | 2016-02-09 | CRAN (R 3.4.1) |
90 | lava | 1.5.1 | 2017-09-27 | CRAN (R 3.4.1) |
91 | lazyeval | 0.2.1 | 2017-10-29 | CRAN (R 3.4.1) |
92 | lubridate | 1.7.1 | 2017-11-03 | CRAN (R 3.4.1) |
93 | magrittr | 1.5 | 2014-11-22 | CRAN (R 3.4.1) |
94 | MASS | 7.3-47 | 2017-04-21 | CRAN (R 3.4.0) |
95 | Matrix | 1.2-12 | 2017-11-16 | CRAN (R 3.4.1) |
96 | mclust | 5.4 | 2017-11-22 | CRAN (R 3.4.1) |
97 | memoise | 1.1.0 | 2017-04-21 | CRAN (R 3.4.1) |
99 | mgcv | 1.8-22 | 2017-09-19 | CRAN (R 3.4.1) |
100 | mixtools | 1.1.0 | 2017-03-10 | CRAN (R 3.4.1) |
101 | mnormt | 1.5-5 | 2016-10-15 | CRAN (R 3.4.1) |
102 | ModelMetrics | 1.1.0 | 2016-08-26 | CRAN (R 3.4.1) |
103 | modeltools | 0.2-21 | 2013-09-02 | CRAN (R 3.4.1) |
104 | munsell | 0.4.3 | 2016-02-13 | CRAN (R 3.4.1) |
105 | mvtnorm | 1.0-7 | 2018-01-26 | cran (@1.0-7) |
106 | nlme | 3.1-131 | 2017-02-06 | CRAN (R 3.4.0) |
107 | NMF | 0.20.6 | 2015-05-26 | CRAN (R 3.4.1) |
108 | nnet | 7.3-12 | 2016-02-02 | CRAN (R 3.4.0) |
109 | numDeriv | 2016.8-1 | 2016-08-27 | CRAN (R 3.4.1) |
110 | pagoda2 | 0.0.0.9002 | 2018-04-08 | local (hms-dbmi/pagoda2@NA) |
112 | pbapply | 1.3-3 | 2017-07-04 | CRAN (R 3.4.1) |
113 | pcaMethods | 1.60.0 | 2017-11-12 | Bioconductor |
114 | pkgconfig | 2.0.1 | 2017-03-21 | CRAN (R 3.4.1) |
115 | pkgmaker | 0.22 | 2014-05-14 | CRAN (R 3.4.1) |
116 | plyr | 1.8.4 | 2016-06-08 | CRAN (R 3.4.1) |
117 | prabclus | 2.2-6 | 2015-01-14 | CRAN (R 3.4.1) |
118 | prodlim | 1.6.1 | 2017-03-06 | CRAN (R 3.4.1) |
119 | proxy | 0.4-20 | 2017-12-12 | CRAN (R 3.4.1) |
120 | psych | 1.7.8 | 2017-09-09 | CRAN (R 3.4.1) |
121 | purrr | 0.2.4 | 2017-10-18 | CRAN (R 3.4.1) |
122 | R.methodsS3 | 1.7.1 | 2016-02-16 | CRAN (R 3.4.1) |
123 | R.oo | 1.21.0 | 2016-11-01 | CRAN (R 3.4.1) |
124 | R.utils | 2.6.0 | 2017-11-05 | CRAN (R 3.4.1) |
125 | R6 | 2.2.2 | 2017-06-17 | CRAN (R 3.4.1) |
126 | ranger | 0.8.0 | 2017-06-20 | CRAN (R 3.4.1) |
127 | RColorBrewer | 1.1-2 | 2014-12-07 | CRAN (R 3.4.1) |
128 | Rcpp | 0.12.17 | 2018-05-18 | cran (@0.12.17) |
129 | RcppRoll | 0.2.2 | 2015-04-05 | CRAN (R 3.4.1) |
130 | recipes | 0.1.1 | 2017-11-20 | CRAN (R 3.4.1) |
131 | registry | 0.5 | 2017-12-03 | CRAN (R 3.4.1) |
132 | reshape2 | 1.4.3 | 2017-12-11 | CRAN (R 3.4.1) |
133 | rjson | 0.2.19 | 2018-05-18 | cran (@0.2.19) |
134 | rlang | 0.1.4 | 2017-11-05 | CRAN (R 3.4.1) |
135 | rmarkdown | 1.9 | 2018-03-01 | CRAN (R 3.4.1) |
136 | rngtools | 1.2.4 | 2014-03-06 | CRAN (R 3.4.1) |
137 | robustbase | 0.92-8 | 2017-11-01 | CRAN (R 3.4.1) |
138 | ROCR | 1.0-7 | 2015-03-26 | CRAN (R 3.4.1) |
139 | Rook | 1.1-1 | 2014-10-20 | CRAN (R 3.4.1) |
140 | rpart | 4.1-11 | 2017-04-21 | CRAN (R 3.4.0) |
141 | rprojroot | 1.3-2 | 2018-01-03 | cran (@1.3-2) |
142 | RSQLite | 2.0 | 2017-06-19 | CRAN (R 3.4.1) |
143 | rstudioapi | 0.7 | 2017-09-07 | CRAN (R 3.4.1) |
144 | Rtsne | 0.14 | 2017-11-12 | Github (jkrijthe/Rtsne@1d0f926) |
145 | S4Vectors | 0.8.11 | 2016-01-30 | Bioconductor |
146 | scales | 0.5.0 | 2017-08-24 | CRAN (R 3.4.1) |
147 | scatterplot3d | 0.3-40 | 2017-04-22 | CRAN (R 3.4.1) |
148 | SDMTools | 1.1-221 | 2014-08-05 | CRAN (R 3.4.1) |
149 | segmented | 0.5-3.0 | 2017-11-30 | CRAN (R 3.4.1) |
150 | sessioninfo | 1.0.0 | 2017-06-21 | CRAN (R 3.4.1) |
151 | Seurat | 2.1.0 | 2017-10-12 | CRAN (R 3.4.1) |
152 | sfsmisc | 1.1-1 | 2017-06-08 | CRAN (R 3.4.1) |
153 | sn | 1.5-1 | 2017-11-23 | CRAN (R 3.4.1) |
157 | stringi | 1.1.7 | 2018-03-12 | cran (@1.1.7) |
158 | stringr | 1.3.0 | 2018-02-19 | cran (@1.3.0) |
159 | survival | 2.41-3 | 2017-04-04 | CRAN (R 3.4.0) |
160 | tclust | 1.3-1 | 2017-08-24 | CRAN (R 3.4.1) |
161 | tibble | 1.3.4 | 2017-08-22 | CRAN (R 3.4.1) |
162 | tidyr | 0.7.2 | 2017-10-16 | CRAN (R 3.4.1) |
163 | tidyselect | 0.2.3 | 2017-11-06 | CRAN (R 3.4.1) |
164 | timeDate | 3042.101 | 2017-11-16 | CRAN (R 3.4.1) |
166 | triebeard | 0.3.0 | 2016-08-04 | cran (@0.3.0) |
167 | trimcluster | 0.1-2 | 2012-10-29 | CRAN (R 3.4.1) |
168 | tsne | 0.1-3 | 2016-07-15 | CRAN (R 3.4.1) |
169 | urltools | 1.7.0 | 2018-01-20 | cran (@1.7.0) |
171 | VGAM | 1.0-4 | 2017-07-25 | CRAN (R 3.4.1) |
172 | withr | 2.1.2 | 2018-03-15 | cran (@2.1.2) |
173 | xtable | 1.8-2 | 2016-02-05 | CRAN (R 3.4.1) |
174 | yaml | 2.1.18 | 2018-03-08 | cran (@2.1.18) |
This R Markdown site was created with workflowr