Hot answers tagged

6

Transcript abundance quantification is a tricky topic since a read often could belong to several transcripts, so any "count" is a best guess as to which transcript it actually originates from. That being said, there are tools that can help you here: salmon (as you mentioned) to quanitfy. Run it with --numGibbsSamples 50 (or higher if your computer ...


3

It's safer to import everything. You'll want all the data for normalization and dispersion estimates.


3

condition_t_vs_control gives the effect of condition, conditiont.time is the interaction of condition and time. If you wanted to test the effect of time, use name="time".


2

If we look at documentation of DESEQ2 and search "adjusted p-value", we find the section "Multiple test correction". In this section they discuss Benjamini-Hochberg ("BH") false discovery rate (FDR) correction procedures: FDR/Benjamini-Hochberg: Benjamini and Hochberg (1995) defined the concept of FDR and created an algorithm ...


2

You do not have any significantly differential genes after FDR correction according to padj, simple as that, which means that either there are none or your sample size is too small (underpowered) given the observed variability of your data. As the MA-plot shows some logFCs that could qualify as large enough to be called DEG it probably comes down to a too ...


2

The simplest thing to do is to trim the 150 bp fasts so that they are 100 long. I don't think there is an easy way to correct for the fact that the 150 bp long reads will have a higher unambiguous rate of alignment and gene assignment than the 100 bp long reads. If you have a mix of all the experimental conditions across all the lengths, you can include ...


2

I could write a long story about this but actually I will just link this excellent resource from HBCtraining which dissects the individual steps DESeq2 does, starting from normalization over dispersion estimation (this is where the baseMean comes into play) over model fitting and testing. I think it will clarify the role of the baseMean in DESeq2.


2

Gene selection is entirely on you and on the question you ask. Most expressed genes would be selected by rowMeans or rowMedians or even rowSums but this is not very informative as digital expression levels (=counts) is influenced by many technical factors and there is (to my knowledge) no direct link to biological relevance. Alternatively, you can select by ...


2

DESeq2 works for that. Unless you literally have only two samples. There is no statistically sound way of analyzing DE genes with literally only two samples. This is a bad experimental design, suitable for only the roughest of exploratory purposes. Only the most obvious differences (that you probably knew already) are likely to be borne out in a ...


1

The DESeq2 function collapseReplicates sums the counts for the technical replicates. Here is the code reference: github.com/mikelove/DESeq2/blob/master/R/helper.R#L186 OPs actual confusion was with the DESeq2 function plotCounts which by default normalizes count data and adds a pseudocount of 0.5 for plotting on log2 scale.


1

sample is a character vector, so levels(dds$sample) is returning null. Presumably you mean to use dds$sample[1] here instead, which will likely solve the problem.


1

There is nothing wrong with your colData. It is encoded as character rather than factor, and DESeq2 is turning it into factors, that is all that the warning (warning != error) tells. I never needed to convert my matrix to load featureCounts output into DESeq2. Just load the output with the header, use rownames() to move the gene column to rownames, remove ...


1

If you have an existing understanding of a fold change that you would consider to be biologically relevant, it will be better to use the lfcThreshold for comparisons. Working out that fold change is the hard bit. When using the Wald test, the p-value is associated specifically with that threshold, rather than the difference from zero. This is explained in ...


1

Something like this book chapter might help on understanding FDR. The packages or functions you call differ in their estimation of pi0 or the proportion of null hypothesis. Basically, the p.adjust(..method = "BH") is a more conservative method with Benjamini-Hochberg, you are assuming the proportion of null features to be 1. When you use fdrtool, ...


1

To compare a subset of samples to another subset of samples, make one column of column data which will distinguish them all the way you want (so probably join cell line, treatment, timepoint), and make that column your design, and then when you call results, you specify the pair you want to contrast, one pair at a time.


1

You can read in the normalized count table and don't normalize the data, but my advice here is not to do that. The rounding of the normalized matrix introduces some noise, but I think the larger issue is how sure are you that the table you are working with, is exactly a count table of normalized counts from DESeq2 ? It really doesn't take much time to align ...


1

If reads were independently sampled from a population with given, fixed fractions of genes, the read counts would follow a multinomial distribution, which can be approximated by the Poisson distribution. However, the Poisson distribution assumes the mean equals the variance, which is usually not satisfied by the data. And for the RNA sequencing data, the ...


Only top voted, non community-wiki answers of a minimum length are eligible