Hi,
I am new to RNAseq and shortly I will receive the raw files of my experiment. So far I found very helpful this forum where I found lots of helpfull information but now I have "rare" question.
I'm trying to make plots by precticing with two BAM files from a set of a large experiment.. My question is, if I want to compare this two samples, and I want to see what genes are differentially expressed without using any replicate, is that possible?
Here is the command line used with Rstudio and the error that I gets
library("DESeq2")
countdata <- as.matrix(read.table("DESeq2_STAR/counts.table", header=TRUE, row.names = 1))
condition <- factor(c(rep("CUTLL1", 1), rep("KOPTK1", 1)))
coldata <- data.frame(row.names=colnames(countdata), condition)
dds <- DESeqDataSetFromMatrix(countdata, coldata, design=~condition)
dds$condition <- relevel(dds$condition, ref="CUTLL1")
dds <- DESeq(dds)
**estimating size factors
estimating dispersions
Error in checkForExperimentalReplicates(object, modelMatrix) :
The design matrix has the same number of samples and coefficients to fit,
so estimation of dispersion is not possible. Treating samples
as replicates was deprecated in v1.20 and no longer supported since v1.22.**
Thank you for help :)
0 answers
No answers yet.
Log in to answer this question.
This is not a rare question. Please google for DESeq without replicates. This has been asked many times before. The short answer is: your results will not be statistically meaningful and unreliable.
as ATpoint says results will not be statistically meaningful and unreliable. However, if you still want to go at it, edgeR and clcbio, technically, allow analysis without replicates.
Thank you for you answers,
Here the script that I'm using for this work
# Counts-Matrix countdata <- as.matrix(read.table("counts.table", header=TRUE, row.names = 1)) head(countdata) condition <- c("CUTLL1", "KOPTK1" )
# Remove all gene which has 0 value in all sample all <- apply(countdata, 1, function(x) all(x==0) ) newdata <- countdata[!all,] write.csv(newdata, file = "count_0_filter.csv") head (newdata)
# remove uninformative genes keep only genes that are expressed in at least 200 count in 2 samples dat <- newdata[rowSums(newdata > 2) >= 1,] write.csv(dat, file = "rpkm.csv_0_filter_atleat_200_count.csv") head (dat) final_count <- read.csv("rpkm.csv_0_filter_atleat_200_count.csv", header=TRUE, row.names=1)
library(DESeq2)
# Convert to matrix countdata <- as.matrix(final_count) head(countdata) (condition <- factor(c("CUTLL1", "KOPK1")))
# Create a coldata frame and instantiate the DESeqDataSet. See ?DESeqDataSetFromMatrix (coldata <- data.frame(row.names=colnames(countdata), condition))
I think that I have reduce the dataset to two colomns but it's not clear to me how to do that, it should be this command line but where and when to apply it in the script?
condition <- c("CUTLL1", "KOPTK1" )
how to avoid to consider the estimateDispersions function?
Thank you
Your analysis simply cannot be performed with DESeq. There are other algorithms that appear to process the data, but the outputs will not be meaningful.
If you have a large set of samples from a bigger experiment, why only use two of them?
The reason why I have only two files is because this experiment was done in my previous lab in Canada and before leaving I brought this with me since that I knew at some point I had to learn how to analyse RNAseq. Now I'm in Italy in a different lab and I can not take all the dataset of those experiment nor ask somebody for send it to me because they are too larges and I'm using what I have for practicing
Is there a minimum of samples (without replicates) to run with DESeq?
Thanks
You cannot run DESeq without replicates.
Looking on DESeq2 manual I think we can although the result is not reliable
https://bioconductor.riken.jp/packages/3.2/bioc/vignettes/DESeq/inst/doc/DESeq.pdf
My problem is how to apply this example on my case, but probably at this point I will just wait to have data of a complete experiment
thanks
if you do not believe me, see this threat on BioC, searching for the word
regretin the post from one of the developers. I am also going to close this thread and respectfully ask you to use google and the search function on how to deal with unreplicated RNA-seq data.Ok, ATpoint I'll follow your advice ;) of course I believe you, google also have tons of informations which at this point of my learning might adds confusion in my mind.
If you want to learn how to use DESeq2 and do not yet have your full data, I recommend practising on a publically available dataset that has replication, rather than trying to force DESeq to run on your own incomplete data. .
Hello Morris_Chair!
We believe that this post does not fit the main topic of this site.
See my latest comment and then use the search function and google on unreplicated RNA-seq data.
For this reason we have closed your question. This allows us to keep the site focused on the topics that the community can help with.
If you disagree please tell us why in a reply below, we'll be happy to talk about it.
Cheers!