Question: Error DESeq2 plotCounts invalid class DESeqDataSet object undefined class for slot rowRanges GenomicRangesORGRangesList
0
gravatar for I.Castanho
13 months ago by
I.Castanho50
I.Castanho50 wrote:

Hi,

I am getting a new error with DESeq2 and I have no idea why as these are commands I have run a million times. I really can't understand why it's not working anymore and I can't find any post of someone reporting this error before.

I have this object:

I am getting a new error with DESeq2 and I have no idea why! These are commands I have run a million times! I really can't understand why it's not working.
I have this object:

> dge
class: DESeqDataSet
dim: 19861 59
metadata(1): version
assays(1): counts
rownames(19861): Xkr4 Rp1 ... Uty Erdr1
rowData names(0):
colnames(59): K17 K18 ... T23 T24
colData names(1): group

And I want to plot the gene expression like this:

This is what I did before:

# Pld1
data <- plotCounts(dge, gene="Pld1", intgroup="group", xlab=NA, returnData=TRUE)
png(filename="genes/Pld1.png")
ggplot(data, aes(x=as.numeric(as.character(coldata$Age_months)), y=count, colour=coldata$Genotype)) +
    scale_colour_manual(values = c("#262626","#73B5BF")) +
    labs(title="Pld1", x="Age in months", y="Normalised counts", color="Genotypes") +
    theme(plot.title = element_text(hjust = 0.5)) +
    geom_point(position=position_jitter(width=.1,height=0), size=5) +
    geom_smooth(method="lm", fullrange=TRUE) # Add linear regression lines; se=TRUE (default) shows shaded confidence region; fullrange=TRUE to extend regression lines
dev.off()


And this is what I am trying to do now:

# Pld4
data <- plotCounts(dge, gene="Pld4", intgroup="group", xlab=NA, returnData=TRUE)
png(filename="genes/Pld4.png")
ggplot(data, aes(x=as.numeric(as.character(coldata$Age_months)), y=count, colour=coldata$Genotype)) +
    scale_colour_manual(values = c("#262626","#73B5BF")) +
    labs(title="Pld4", x="Age in months", y="Normalised counts", color="Genotypes") +
    theme(plot.title = element_text(hjust = 0.5)) +
    geom_point(position=position_jitter(width=.1,height=0), size=5) +
    geom_smooth(method="lm", fullrange=TRUE) # Add linear regression lines; se=TRUE (default) shows shaded confidence region; fullrange=TRUE to extend regression lines
dev.off()

In both cases (and all the other genes I did to date) this is what I get now:

> data <- plotCounts(dge, gene="Pld4", intgroup="group", xlab=NA, returnData=TRUE)
Error in validObject(object) :
  invalid class "DESeqDataSet" object: undefined class for slot "rowRanges" ("GenomicRangesORGRangesList")

In the most recent manual (August 2018) from DESeq2 at some point it says:
"arguments provided to SummarizedExperiment including rowRanges and metadata.
Note that for Bioconductor 3.1, rowRanges must be a GRanges or GRangesList,
with potential metadata columns as a DataFrame accessed and stored with
mcols. If a user wants to store metadata columns about the rows of the countData,
but does not have GRanges or GRangesList information, first construct the
DESeqDataSet without rowRanges and then add the DataFrame with mcols(dds)."

But I have absolutely no idea what this actually mean. Can someone please help me understand this error and how I can solve it?

Thank you.

deseq2 plotcounts rowranges • 398 views
ADD COMMENTlink modified 13 months ago by Michael Love25k • written 13 months ago by I.Castanho50
Answer: Error DESeq2 plotCounts invalid class DESeqDataSet object undefined class for sl
0
gravatar for Michael Love
13 months ago by
Michael Love25k
United States
Michael Love25k wrote:

Critical to what's going on is that you likely switched versions of software between object creation and the latest time you tried to run the code. This could be because you are working on a cluster and R/Bioconductor were updated, or you did this on your own machine. As with all support site posts, can you include your sessionInfo()? Do you remember what version was used when you created the object originally?

Sometimes, when there is an error like this, it can be resolved with code such as:

dds <- updateObject(dds)
ADD COMMENTlink written 13 months ago by Michael Love25k

Hi Michael,

 

Thank you  for replying so promptly. I was actually wondering if it had anything to do with possible system updates. I forgot to save the version of bioconductor from when I previously ran DESeq2, but DESeq2 version is the same. Details for the current sessionInfo() below.

 

R version 3.4.3 (2017-11-30)
Platform: x86_64-redhat-linux-gnu (64-bit)
Running under: CentOS Linux 7 (Core)

Matrix products: default
BLAS/LAPACK: /usr/lib64/R/lib/libRblas.so

locale:
 [1] LC_CTYPE=en_GB.UTF-8       LC_NUMERIC=C
 [3] LC_TIME=en_GB.UTF-8        LC_COLLATE=en_GB.UTF-8
 [5] LC_MONETARY=en_GB.UTF-8    LC_MESSAGES=en_GB.UTF-8
 [7] LC_PAPER=en_GB.UTF-8       LC_NAME=C
 [9] LC_ADDRESS=C               LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C

attached base packages:
[1] parallel  stats4    stats     graphics  grDevices utils     datasets
[8] methods   base

other attached packages:
 [1] RColorBrewer_1.1-2         pheatmap_1.0.10
 [3] ggplot2_3.0.0              dplyr_0.7.6
 [5] genefilter_1.58.1          RUVSeq_1.10.0
 [7] edgeR_3.18.1               limma_3.32.10
 [9] EDASeq_2.10.0              ShortRead_1.34.2
[11] GenomicAlignments_1.12.2   Rsamtools_1.28.0
[13] Biostrings_2.44.2          XVector_0.16.0
[15] BiocParallel_1.10.1        DESeq2_1.16.1
[17] SummarizedExperiment_1.8.1 DelayedArray_0.4.1
[19] matrixStats_0.54.0         Biobase_2.36.2
[21] GenomicRanges_1.30.3       GenomeInfoDb_1.14.0
[23] IRanges_2.12.0             S4Vectors_0.16.0
[25] BiocGenerics_0.24.0        BiocInstaller_1.28.0

ADD REPLYlink modified 13 months ago • written 13 months ago by I.Castanho50

Is there any way I could solve this now, without having to run everything again?

> dds <- updateObject(dds)
Error in validObject(result) :
  invalid class “DESeqDataSet” object: undefined class for slot "rowRanges" ("GenomicRangesORGRangesList")

 

ADD REPLYlink modified 13 months ago • written 13 months ago by I.Castanho50

I also tried updating DESeq2 and running everything again, but the errors persist.

ADD REPLYlink written 13 months ago by I.Castanho50

This is the problem then. The update object methods for a SummerizedExperiment isn’t working. This is outside the scope of what I can fix in DESeq2. But to help you fix things, can you rebuild the object from counts and sample table?

ADD REPLYlink written 13 months ago by Michael Love25k
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 16.09
Traffic: 197 users visited in the last hour