Hello,
I was trying RNAseq pipeline following this link.
I had no problem with the sample data hammer, but not with my own. This is the error message:
se <- SummarizedExperiment(exprs(barley.eset)) Error in if (is.null(nms) && 0L != ncol(assays[[1]])) stop("'SummarizedExperiment' assay colnames must not be NULL") : missing value where TRUE/FALSE needed
It seems to me my pData, fData are fine for my eSet data as:
> barley.eset ExpressionSet (storageMode: lockedEnvironment) assayData: 47748 features, 15 samples element names: exprs protocolData: none phenoData sampleNames: S68_2 S68_3 ... SBow5 (15 total) varLabels: sample.id num.tech.reps group varMetadata: labelDescription featureData featureNames: XLOC_000001 XLOC_000002 ... XLOC_047748 (47748 total) fvarLabels: gene fvarMetadata: labelDescription experimentData: use 'experimentData(object)' Annotation: > pData An object of class 'AnnotatedDataFrame' rowNames: S68_2 S68_3 ... SBow5 (15 total) varLabels: sample.id num.tech.reps group varMetadata: labelDescription > fData An object of class 'AnnotatedDataFrame' rowNames: XLOC_000001 XLOC_000002 ... XLOC_047748 (47748 total) varLabels: gene varMetadata: labelDescription > DataFrame(fData(barley.eset)) DataFrame with 47748 rows and 1 column gene <factor> XLOC_000001 XLOC_000001 XLOC_000002 XLOC_000002 XLOC_000003 XLOC_000003 XLOC_000004 XLOC_000004 XLOC_000005 XLOC_000005 ... ... XLOC_047744 XLOC_047744 XLOC_047745 XLOC_047745 XLOC_047746 XLOC_047746 XLOC_047747 XLOC_047747 XLOC_047748 XLOC_047748 >
Does anyone have a clue? Any help would be greatly appreciated!
EDIT:
Thanks Martin!
Here is the two pcs info you mentioned:
> sessionInfo() R version 3.2.3 (2015-12-10) Platform: x86_64-pc-linux-gnu (64-bit) Running under: Ubuntu 14.04.4 LTS locale: [1] LC_CTYPE=en_CA.UTF-8 LC_NUMERIC=C LC_TIME=en_CA.UTF-8 LC_COLLATE=en_CA.UTF-8 LC_MONETARY=en_CA.UTF-8 LC_MESSAGES=en_CA.UTF-8 LC_PAPER=en_CA.UTF-8 LC_NAME=C [9] LC_ADDRESS=C LC_TELEPHONE=C LC_MEASUREMENT=en_CA.UTF-8 LC_IDENTIFICATION=C attached base packages: [1] stats4 parallel stats graphics grDevices utils datasets methods base other attached packages: [1] ALL_1.12.0 DESeq2_1.10.1 RcppArmadillo_0.6.600.4.0 Rcpp_0.12.4 SummarizedExperiment_1.0.2 Biobase_2.30.0 GenomicRanges_1.22.4 GenomeInfoDb_1.6.3 [9] IRanges_2.4.8 S4Vectors_0.8.11 BiocGenerics_0.16.1 loaded via a namespace (and not attached): [1] RColorBrewer_1.1-2 futile.logger_1.4.1 plyr_1.8.3 XVector_0.10.0 tools_3.2.3 futile.options_1.0.0 zlibbioc_1.16.0 rpart_4.1-10 RSQLite_1.0.0 annotate_1.48.0 gtable_0.2.0 [12] lattice_0.20-33 DBI_0.3.1 gridExtra_2.2.1 genefilter_1.52.1 cluster_2.0.3 locfit_1.5-9.1 grid_3.2.3 nnet_7.3-12 AnnotationDbi_1.32.3 XML_3.98-1.4 survival_2.38-3 [23] BiocParallel_1.4.3 foreign_0.8-66 latticeExtra_0.6-28 Formula_1.2-1 geneplotter_1.48.0 ggplot2_2.1.0 lambda.r_1.1.7 Hmisc_3.17-3 scales_0.4.0 splines_3.2.3 colorspace_1.2-6 [34] xtable_1.8-2 acepack_1.3-3.3 munsell_0.4.3
What I am trying to do is to create ExpressionSet object, or eSet for next analysis, but got stuck at this step.
Yifangt
And this is the two pieces of info with the debug part according to your instruction:
> colnames(exprs(barley.eset)) [1] "S68_2" "S68_3" "S68_4" "S69_4" "S69_5" "S69_p" "S70_4" "S70_5" "S70_p" "S95_2" "S95_3" "S95_4" "SBow1" "SBow3" "SBow5" > ncol(exprs(barley.eset)) [1] 15 > head(exprs(barley.eset)) S68_2 S68_3 S68_4 S69_4 S69_5 S69_p S70_4 S70_5 S70_p S95_2 S95_3 S95_4 SBow1 SBow3 SBow5 XLOC_000001 241 72 59 94 101 332 117 71 314 124 178 107 172 117 98 XLOC_000002 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 XLOC_000003 17 8 8 5 8 70 4 0 44 5 6 14 7 10 22 XLOC_000004 1900 562 2738 3655 2697 1976 4190 2330 1936 3345 4187 5722 2209 3895 1440 XLOC_000005 211 71 0 159 164 126 177 49 122 179 185 158 176 38 120 XLOC_000006 1 1 0 7 2 0 5 0 0 1 4 5 0 1 3 > class(exprs(barley.eset)) [1] "data.frame" > is.null(colnames(exprs(barley.eset))) && ncol(exprs(barley.eset)) [1] FALSE > options(error=recover) > se <- SummarizedExperiment(exprs(barley.eset)) Error in if (is.null(nms) && 0L != ncol(assays[[1]])) stop("'SummarizedExperiment' assay colnames must not be NULL") : missing value where TRUE/FALSE needed Enter a frame number, or 0 to exit 1: SummarizedExperiment(exprs(barley.eset)) 2: SummarizedExperiment(exprs(barley.eset)) 3: SummarizedExperiment(do.call(SimpleList, assays), ...) 4: SummarizedExperiment(do.call(SimpleList, assays), ...) 5: .local(assays, ...) Selection: 5 Called from: (function () { if (.isMethodsDispatchOn()) { tState <- tracingState(FALSE) on.exit(tracingState(tState)) } calls <- sys.calls() from <- 0L n <- length(calls) if (identical(sys.function(n), recover)) n <- n - 1L for (i in rev(seq_len(n))) { calli <- calls[[i]] fname <- calli[[1L]] if (!is.na(match(deparse(fname)[1L], c("methods::.doTrace", ".doTrace")))) { from <- i - 1L break } } if (from == 0L) for (i in rev(seq_len(n))) { calli <- calls[[i]] fname <- calli[[1L]] if (!is.name(fname) || is.na(match(as.character(fname), c("recover", "stop", "Stop")))) { from <- i break } } if (from > 0L) { if (!interactive()) { try(dump.frames()) cat(gettext("recover called non-interactively; frames dumped, use debugger() to view\n")) return(NULL) } else if (identical(getOption("show.error.messages"), FALSE)) return(NULL) calls <- limitedLabels(calls[1L:from]) repeat { which <- menu(calls, title = "\nEnter a frame number, or 0 to exit ") if (which) eval(substitute(browser(skipCalls = skip), list(skip = 7 - which)), envir = sys.frame(which)) else break } } else cat(gettext("No suitable frames for recover()\n")) })() Browse[1]> nms NULL Browse[1]> assays[1] List of length 1 names(1): S68_2 Browse[1]> assays List of length 15 names(15): S68_2 S68_3 S68_4 S69_4 S69_5 S69_p S70_4 S70_5 S70_p S95_2 S95_3 S95_4 SBow1 SBow3 SBow5 Browse[1]>
Any more clue? Thanks again!!
Are you using a current version of R / Bioconductor? Please update your question to include the output of
sessionInfo()
. Also, what doescolnames(exprs(barley.eset))
say, or addhead(exprs(barley.eset))
to your question. The error message is weird, implying either is.null(nms) is NA (but I think base is.null never returns NA) or 0L == ncol(assays[[1]]) is NA, but I don't know how base ncol() would generate an NA. The would translate into is.null(colnames(exprs(barley.eset))) && ncol(exprs(barley.eset)); what are these valuesPlease EDIT your original question rather than adding an 'answer'. I don't see the output of
head(exprs(barley.eset))
. Maybe alsoclass(exprs(barley.eset))
. You could also tryYou'll get output like
Enter 5 as the selection, then print out
nms
,assays[[1]]
, andassays
.