-
Notifications
You must be signed in to change notification settings - Fork 161
Error in array(x, c(length(x), 1L), if (!is.null(names(x))) list(names(x), : 'data' must be of a vector type, was 'NULL' #113
Description
I am attempting to "Analyzing Branches in Single-Cell Trajectories" using a Seurat 3 object imported into monocle 2. I have made it through the entire tutorial successfully until I try to analyze the branches in single cell trajectories using the code below. When I try to do the command plot_genes_branched_heatmap I get the following error. How do I fix this?
Error in array(x, c(length(x), 1L), if (!is.null(names(x))) list(names(x), :
'data' must be of a vector type, was 'NULL'
data <- as(as.matrix(res@assays$RNA@data), 'sparseMatrix')
pd <- new('AnnotatedDataFrame', data = res@meta.data)
fData <- data.frame(gene_short_name = row.names(data), row.names = row.names(data))
fd <- new('AnnotatedDataFrame', data = fData)
cds <- newCellDataSet(data, phenoData = pd, featureData = fd, lowerDetectionLimit = 0.5, expressionFamily = negbinomial.size())
cds <- estimateSizeFactors(cds)
cds <- estimateDispersions(cds)
Removing 410 outliers
There were 50 or more warnings (use warnings() to see the first 50)
cds <- detectGenes(cds, min_expr = 0.1)
print(head(fData(cds)))
gene_short_name use_for_ordering num_cells_expressed
Mrpl15 Mrpl15 FALSE 149
Lypla1 Lypla1 FALSE 41
Tcea1 Tcea1 FALSE 119
Atp6v1h Atp6v1h FALSE 84
Rb1cc1 Rb1cc1 FALSE 65
4732440D04Rik 4732440D04Rik FALSE 33
expressed_genes <- row.names(subset(fData(cds), num_cells_expressed >= 10))
disp_table <- dispersionTable(cds)
unsup_clustering_genes <- subset(disp_table, mean_expression >= 0.1)
cds <- setOrderingFilter(cds, unsup_clustering_genes$gene_id)
plot_ordering_genes(cds)
Warning messages:
1: Transformation introduced infinite values in continuous y-axis
2: Transformation introduced infinite values in continuous y-axis
cds <- reduceDimension(cds, max_components = 2, num_dim = 6, reduction_method = 'tSNE', verbose = T)
Remove noise by PCA ...
Reduce dimension by tSNE ...
marker_genes <- row.names(subset(fData(cds),
-
gene_short_name %in% c("Cd63", "C1qa", "Ccr2", -
"Apoe", "Sepp1","Pf4", -
"Napsa", "Clec12a", "Fos", -
"Junb", "Dusp1")))
diff_test_res <- differentialGeneTest(cds[marker_genes,])
sig_genes <- subset(diff_test_res, qval < 0.1)
sig_genes[,c("gene_short_name", "pval", "qval")]
gene_short_name pval qval
C1qa C1qa 1.013719e-12 3.716969e-12
Pf4 Pf4 5.704000e-05 6.971555e-05
Clec12a Clec12a 9.993933e-12 2.748332e-11
Apoe Apoe 2.208108e-29 2.428918e-28
Napsa Napsa 1.403176e-06 2.204990e-06
Cd63 Cd63 2.004831e-04 2.004831e-04
Junb Junb 1.131497e-05 1.555808e-05
Ccr2 Ccr2 3.641001e-07 6.675169e-07
Fos Fos 4.840100e-15 2.662055e-14
Sepp1 Sepp1 4.030497e-09 8.867094e-09
Dusp1 Dusp1 7.190949e-05 7.910044e-05
MYOG_ID1 <- cds[row.names(subset(fData(cds), gene_short_name %in% c("C1qa", "Apoe"))),]
plot_genes_jitter(MYOG_ID1, grouping = "seurat_clusters", ncol= 2)
to_be_tested <- row.names(subset(fData(cds), gene_short_name %in% c("Apoe", "Fos", "C1qa")))
cds_subset <- cds[to_be_tested,]
diff_test_res <- differentialGeneTest(cds_subset)
diff_test_res[,c("gene_short_name", "pval", "qval")]
gene_short_name pval qval
C1qa C1qa 1.013719e-12 1.013719e-12
Apoe Apoe 2.208108e-29 6.624323e-29
Fos Fos 4.840100e-15 7.260150e-15
plot_genes_jitter(cds_subset,
-
grouping = "seurat_clusters", -
color_by = "seurat_clusters", -
nrow= 1, -
ncol = NULL, -
plot_trend = TRUE)
Warning messages:
1: Computation failed in stat_summary():
Hmisc package required for this function
2: Computation failed in stat_summary():
Hmisc package required for this function
3: Computation failed in stat_summary():
Hmisc package required for this function
4: Computation failed in stat_summary():
Hmisc package required for this function
5: Computation failed in stat_summary():
Hmisc package required for this function
6: Computation failed in stat_summary():
Hmisc package required for this function
to_be_tested <- row.names(subset(fData(cds), gene_short_name %in% c("Apoe", "C1qa", "Fos")))
cds_subset <- cds[to_be_tested,]
diff_test_res <- differentialGeneTest(cds_subset, fullModelFormulaStr = "~sm.ns(Pseudotime)")
diff_test_res[,c("gene_short_name", "pval", "qval")]
gene_short_name pval qval
C1qa C1qa 2.145791e-08 2.145791e-08
Apoe Apoe 5.811938e-23 1.743581e-22
Fos Fos 2.683403e-16 4.025104e-16
plot_genes_in_pseudotime(cds_subset, color_by = "seurat_clusters")
diff_test_res <- differentialGeneTest(cds[marker_genes,], fullModelFormulaStr = "~sm.ns(Pseudotime)")
sig_gene_names <- row.names(subset(diff_test_res, qval < 0.1))
plot_pseudotime_heatmap(cds[sig_gene_names,],
-
num_clusters = 3, -
cores = 1, -
show_rownames = T)
plot_cell_trajectory(cds, color_by = "Pseudotime")
plot_cell_trajectory(cds, color_by = "seurat_clusters")
BEAM_res <- BEAM(cds, branch_point = 2, cores = 1)
Warning messages:
1: In if (progenitor_method == "duplicate") { :
the condition has length > 1 and only the first element will be used
2: In if (progenitor_method == "sequential_split") { :
the condition has length > 1 and only the first element will be used
BEAM_res <- BEAM_res[order(BEAM_res$qval),]
BEAM_res <- BEAM_res[,c("gene_short_name", "pval", "qval")]
plot_genes_branched_heatmap(cds[row.names(subset(BEAM_res,
-
qval < 1e-4)),], -
branch_point = 2, -
num_clusters = 4, -
cores = 1, -
use_gene_short_name = T, -
show_rownames = T)
Error in array(x, c(length(x), 1L), if (!is.null(names(x))) list(names(x), :
'data' must be of a vector type, was 'NULL'