DESeq2 - DESeqDatasetFromMatrix
1
0
Entering edit mode
csijst • 0
@csijst-15102
Last seen 5.2 years ago
Singapore/National University of Singap…

Hi,

I have some RNAseq data from a peer. She only has three conditions - control, shRNA1 and shRNA2; shRNA1 or 2 means two independent experiments to introduce the shRNA to cells, and test for knockdown of genes. Unfortunately, she did not conduct a replicate. I.e., I only have three datasets for DESeq comparison.

I am able to run the Rsubread and categorize in the data.frame:

design_shrna=data.frame(batch=c("Ctrl", "shRNA1", "shRNA2"), treatment=c("untr", "tr", "tr"))

but I'm not able to run the DESeq, regardless of Walt or LRT tests:

dLRT <- DESeqDataSetFromMatrix(countData = counts, colData = design_shrna, design = ~ batch + treatment )

They will state this error:

Error in checkFullRank(modelMatrix) :  the model matrix is not full rank, so the model cannot be fit as specified.
  One or more variables or interaction terms in the design formula are linear
  combinations of the others and must be removed.

  Please read the vignette section 'Model matrix not full rank':

  vignette('DESeq2')

I read in the DESeq2 manual that DESeq works on duplicates. My questions are:

1) Is there any case where I can use DESeq2 without duplicates? How am I to go about doing it?

2) I tried the option ignoreRank = TRUE, but it still didn't work. Is this necessary in the first place?

Thank you.

deseq2 • 3.2k views
ADD COMMENT
0
Entering edit mode
@mikelove
Last seen 8 hours ago
United States

(Users shouldn't use ignoreRank=TRUE, it's only for the DEXSeq package developer.)

You can't use DESeq2 to meaningfully analyze no replicate data. You can compare treated (shRNA 1 and 2) to untreated (control), but you can't include batch here, as there are no replicates for performing differential expression with respect to your batch variable.

ADD COMMENT
0
Entering edit mode

Hi,

Thank you for your time. I don't fully understand what you mean by being able to "compare treated (shRNA 1 and 2) to untreated (control)". As in, I'm not exactly sure how to go about doing it. Do you mean:

design_shrna=data.frame(treatment=c("untr", "tr", "tr"))

dds <- DESeqDataSetFromMatrix(countData = counts, colData = design_shrna, design = ~ treatment)

dseq <- DESeq(dds)

results(contrast=c("treatment", "tr", "untr"), alpha=.05, altHypothesis = "greaterAbs")

But wouldn't this be considering shRNA1 and 2 to be the same?

On another note, does this mean that I am not able to use LRT for analysis?

Last question, I read in the manual that I could analyze the data by interactions. I.e., Collecting all of the samples under one group and analyze by contrast. The coding (that I thought should work) was this:

design_shrna=data.frame(batch=c("Ctrl", "shRNA1", "shRNA2"), treatment=c("untr", "tr", "tr"))
dds <- DESeqDataSetFromMatrix(countData = counts, colData = design_shrna, design = ~ batch + treatment + batch:treatment, ignoreRank = TRUE)
dds$group <- factor(paste0(dds$batch, dds$treatment))
design(dds) <- ~ group
dds <- DESeq(dds)
resultsNames(dds)
dWalt<-results(dds, contrast=c("group", "shRNA2tr", "Ctrluntr"), alpha=.05, altHypothesis = "greaterAbs")
dWalt$log2FoldChange[is.na(dWalt$log2FoldChange)]=0
dWalt$padj[is.na(dWalt$padj)]=1
dWalt[(abs(dWalt$log2FoldChange)>1 & dWalt$padj<0.05),]

I was able to run the coding smoothly, but with one exception - I used ignoreRank, which you mentioned that I shouldn't be. Unfortunately, that was the only thing ( I know so far) that make my current coding work. Is there something I am missing from the DESeqDataSetFromMatrix?

Thank you once again.

ADD REPLY
0
Entering edit mode

wouldn't this be considering shRNA1 and 2 to be the same?”

yes I should have said more specifically you cannot analyze your data with DESeq2, which requires replicates

ADD REPLY
0
Entering edit mode

Thank you. Do you happen to know whether there is any software that is able to conduct analysis for the said situation? I know it may not be statistically sound, but this analysis is not going to be used for publishing, rather, merely for information of any potential genes so that we can carry on with downstream experiments.

ADD REPLY

Login before adding your answer.

Traffic: 707 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6