Skip to content
This repository has been archived by the owner on Sep 27, 2023. It is now read-only.

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

Open
zimmermk1986 opened this issue Mar 30, 2020 · 1 comment

Comments

@zimmermk1986
Copy link

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'

@jehp96
Copy link

jehp96 commented Apr 13, 2022

hello , can you solve the problem ? i need help with that, please

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants