[BioC] DESeq2 error: inv(): matrix appears to be singular
Hugo Varet
hugo.varet at pasteur.fr
Wed Mar 12 09:29:31 CET 2014
Hi Mike,
thank you for having fixed the error so quickly ! I've just tried
version 1.3.48, it works without any error on my data set.
Best regards,
Hugo
Hugo Varet
Plate-Forme Transcriptome et Epigénome
Institut Pasteur
Mél. : hugo.varet at pasteur.fr
Tél. : 01-40-61-35-13
Le 11/03/2014 23:02, Michael Love a écrit :
> hi Hugo,
>
> I've commited DESeq2 version 1.3.48, which fixes the error when I run your dds.
>
> Mike
>
> On Tue, Mar 11, 2014 at 1:02 PM, Michael Love
> <michaelisaiahlove at gmail.com> wrote:
>> Hi Hugo,
>>
>> Thanks for the reproducible example. This also occurs in devel. I'll
>> email when I've come up with a fix.
>>
>> Meanwhile, i think the following line should resolve the error, which
>> centers and scales the continuous variable. If you want the log2 fold
>> change back on the original scale by afterwards dividing out
>> attr(colData(dds)$conti, "scaled:scale").
>>
>>> colData(dds)$conti <- scale(colData(dds)$conti)
>>> DESeq(dds)
>> using pre-existing size factors
>> estimating dispersions
>> gene-wise dispersion estimates
>> mean-dispersion relationship
>> final dispersion estimates
>> fitting model and testing
>> class: DESeqDataSet
>> dim: 14499 16
>> exptData(0):
>> assays(3): counts mu cooks
>> rownames(14499): feature1 feature2 ... feature14498 feature14499
>> rowData metadata column names(29): baseMean baseVar ... deviance
>> maxCooks
>> colnames(16): sample1 sample2 ... sample15 sample16
>> colData names(4): sample dicho conti sizeFactor
>>
>>
>>
>> Mike
>>
>> On Tue, Mar 11, 2014 at 11:12 AM, Michael Love
>> <michaelisaiahlove at gmail.com> wrote:
>>> Hi Hugo,
>>>
>>> Thanks.
>>>
>>> Could you possibly send me a small reproducible example (dds object which
>>> throws this error)? I've worked on the dispersion estimation in the
>>> development version, and this might clear up the error.
>>>
>>> Mike
>>>
>>> On Mar 11, 2014 10:55 AM, "Hugo Varet" <hugo.varet at pasteur.fr> wrote:
>>>> Sure, here it is :
>>>>
>>>> R version 3.0.2 (2013-09-25)
>>>> Platform: x86_64-w64-mingw32/x64 (64-bit)
>>>>
>>>> locale:
>>>> [1] LC_COLLATE=French_France.1252 LC_CTYPE=French_France.1252
>>>> LC_MONETARY=French_France.1252 LC_NUMERIC=C
>>>> [5] LC_TIME=French_France.1252
>>>>
>>>> attached base packages:
>>>> [1] parallel stats graphics grDevices utils datasets methods
>>>> base
>>>>
>>>> other attached packages:
>>>> [1] DESeq2_1.2.10 RcppArmadillo_0.4.100.2.1 Rcpp_0.11.0
>>>> GenomicRanges_1.14.4 XVector_0.2.0
>>>> [6] IRanges_1.20.7 BiocGenerics_0.8.0
>>>>
>>>> loaded via a namespace (and not attached):
>>>> [1] annotate_1.40.1 AnnotationDbi_1.24.0 Biobase_2.22.0
>>>> DBI_0.2-7 genefilter_1.44.0 grid_3.0.2
>>>> lattice_0.20-27
>>>> [8] locfit_1.5-9.1 RColorBrewer_1.0-5 RSQLite_0.11.4
>>>> splines_3.0.2 stats4_3.0.2 survival_2.37-7 XML_3.98-1.1
>>>> [15] xtable_1.7-3
>>>>
>>>> Hugo
>>>>
>>>> Hugo Varet
>>>> Plate-Forme Transcriptome et Epigénome
>>>> Institut Pasteur
>>>> Mél. : hugo.varet at pasteur.fr
>>>> Tél. : 01-40-61-35-13
>>>>
>>>> Le 11/03/2014 15:50, Michael Love a écrit :
>>>>
>>>> Hi Hugo,
>>>>
>>>> Can you provide the ouput of sessionInfo()
>>>>
>>>> Mike
>>>>
>>>> On Mar 11, 2014 10:38 AM, "Hugo Varet" <hugo.varet at pasteur.fr> wrote:
>>>>> Dear Mike Love and list members,
>>>>>
>>>>> I'm running DESeq2 with a design containing two covariates: the first is
>>>>> dichotomous while the second is continuous. Here is the data.frame I put in
>>>>> colData(dds):
>>>>> sample dicho conti
>>>>> 1 0 4.577032
>>>>> 2 0 4.462997
>>>>> 3 1 5.024896
>>>>> 4 1 4.543696
>>>>> 5 1 5.542576
>>>>> 6 1 5.356217
>>>>> 7 1 4.593729
>>>>> 8 1 4.243286
>>>>> 9 1 5.164055
>>>>> 10 0 4.565966
>>>>> 11 0 4.565966
>>>>> 12 0 4.760724
>>>>> 13 1 5.428459
>>>>> 14 1 4.515874
>>>>> 15 1 4.412964
>>>>> 16 1 4.426836
>>>>>
>>>>> I chose to study the design (~ dicho + conti) and to test the effect of
>>>>> the continuous covariate on the counts (about 15,000 features). I can
>>>>> compute the size factors, but when estimating the dispersions, I get the
>>>>> following error:
>>>>>> dds <- estimateDispersions(dds)
>>>>> gene-wise dispersion estimates
>>>>> error: inv(): matrix appears to be singular
>>>>> Erreur : inv(): matrix appears to be singular
>>>>>
>>>>> I think the error does not come from the design which is of full rank and
>>>>> which works if I use a subset of the features. Moreover, with a design as (~
>>>>> dicho + conti + dicho:conti), I do not meet the error ! Do you have any idea
>>>>> of the origin of the problem ?
>>>>>
>>>>> Best regards,
>>>>>
>>>>> Hugo
>>>>>
>>>>> --
>>>>> Hugo Varet
>>>>> Plate-Forme Transcriptome et Epigénome
>>>>> Institut Pasteur
>>>>> Mél. : hugo.varet at pasteur.fr
>>>>> Tél. : 01-40-61-35-13
>>>>>
>>>>> _______________________________________________
>>>>> Bioconductor mailing list
>>>>> Bioconductor at r-project.org
>>>>> https://stat.ethz.ch/mailman/listinfo/bioconductor
>>>>> Search the archives:
>>>>> http://news.gmane.org/gmane.science.biology.informatics.conductor
>>>>
More information about the Bioconductor
mailing list