Unconfigured Ad

Collapse
X
 
  • Time
  • Show
Clear All
new posts

  • Michael Love
    replied
    re: changing the gene model from e75 to e78: Although it might seem at first that having the same read count for a given gene should mean that the results are identical, consider that all the parameter estimation steps involve looking at all the genes: including the library size normalization, the dispersion estimation, the posterior log fold changes, and the p-value adjustment (as Devon points out). If you want less dependence between genes, you could try using the setting betaPrior=FALSE with the DESeq() function, and then the inference is on maximum likelihood estimates of log fold change. This is a choice for the investigator, if they prefer slightly noisier LFC estimates, but an analysis such that individual genes will have less effect on each other's fold changes. But there will still be dependence between genes on dispersion estimation and p-value adjustment, so you shouldn't expect the p-values to be identical after changing gene models. The inference is nearly identical in terms of hypothesis testing, although genes on the margin of a significance boundary can have p-values move slightly one way or the other.

    Leave a comment:


  • dpryan
    replied
    I wonder if the additional genes in the analysis are skewing the prior in either the fits or the p-value adjustment (just adding a background uniform p-value distribution in that case). That'd be the other likely possibility. What happens if you simply exclude the added genes from the analysis?

    Leave a comment:


  • Neuromancer
    replied
    Originally posted by dpryan View Post
    Presumably e78 added a bunch of overlapping genes that are resulting in heavily altered counts for those genes.
    Well, at least the raw counts are very(!) similar, not to say: almost exactly the same for most genes.
    Also, with more/better genome information, I think, the DEG estimations should be getting better, not worse, right? We confirmed a couple of genes by qPCR and in many cases they are showing surprisingly accurate matches of the RNAseq results, but then again, we do find some genes where this nice match is completely lost using e78...

    Leave a comment:


  • dpryan
    replied
    Presumably e78 added a bunch of overlapping genes that are resulting in heavily altered counts for those genes.

    Leave a comment:


  • Neuromancer
    replied
    Can an updated ENSEMBL database release have an effect on DESeq2 results?

    Well, obviously it can, but the changes in the output I see are rather dramatic.

    Here's in brief my situtation:

    Data from an RNAseq experiment (mouse) was
    mapped to GRCm38p2 in Feb. 2014, using STAR,
    counted with HTSeq (latest version),
    DEG estimations done with DESeq2 (latest version at that time)
    and Ensemble release e75 GTF file.
    Results were interesting and made sense, biologically.

    Now we remapped everything to GRCm38p3
    using Ensemble release e78 GTF and latest versions of those programms (which have not changed much).
    Results are radically different, with some important changes gone, (which we validated by qPCR!)
    (example: a gene with log2FC=-0,63, padj=0.0688 in the first mapping, and log2FC=-0.21, padj=0.22 in the second) - however, the counts for each sample and on average (baseMean) are very very similar, so I guess it's not the mapping that makes the difference.

    Notably the number of annotated genes found in e78 is much higher compared to e75 so I expect this has an influence on the adjusted p-value - but how can it affect the log2FC!? Could it be that the number of genes tested affects the gene models / dispersions that DESeq2 estimates?

    I would be happy about any comments.

    Thanks.

    Leave a comment:


  • zhuya5607
    replied
    Originally posted by Michael Love View Post
    I don't see why the problem should exist if you have updated BiocGenerics, DESeq, DESeq2 and DEXSeq to the same version of Bioconductor.

    I recommend users stay with the current release of Bioconductor, which would be one version ahead of the one you have, by using the current release of R.

    But if you don't have time to upgrade, or are in the middle of an analysis and need to save the state, a workaround is to use double colon to specify the library:
    Code:
    DESeq2::plotDispEsts
    OK, I updated R this time, install DESeq, DESeq2 and DEXSeq again using biocLite().
    R version 3.1.2 (2014-10-31)
    Platform: x86_64-apple-darwin13.4.0 (64-bit)

    locale:
    [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

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

    other attached packages:
    [1] DESeq2_1.4.5 RcppArmadillo_0.4.600.0 Rcpp_0.11.3 GenomicRanges_1.16.4 GenomeInfoDb_1.0.2
    [6] IRanges_1.22.10 BiocGenerics_0.10.0 BiocInstaller_1.14.3

    loaded via a namespace (and not attached):
    [1] annotate_1.42.1 AnnotationDbi_1.26.1 Biobase_2.24.0 DBI_0.3.1 DESeq_1.16.0 genefilter_1.46.1
    [7] geneplotter_1.42.0 grid_3.1.2 lattice_0.20-29 locfit_1.5-9.1 RColorBrewer_1.1-2 RSQLite_1.0.0
    [13] splines_3.1.2 stats4_3.1.2 survival_2.37-7 tools_3.1.2 XML_3.98-1.1 xtable_1.7-4
    [19] XVector_0.4.0


    However, i noticed a warning message when i load DESeq2

    > library(DESeq2)
    Loading required package: GenomicRanges
    Loading required package: BiocGenerics
    Loading required package: parallel

    Attaching package: ‘BiocGenerics’

    The following object is masked _by_ ‘.GlobalEnv’:

    plotDispEsts


    The following objects are masked from ‘package parallel’:

    clusterApply, clusterApplyLB, clusterCall, clusterEvalQ, clusterExport, clusterMap, parApply, parCapply,
    parLapply, parLapplyLB, parRapply, parSapply, parSapplyLB

    The following object is masked from ‘package:stats’:

    xtabs

    The following objects are masked from ‘package:base’:

    anyDuplicated, append, as.data.frame, as.vector, cbind, colnames, do.call, duplicated, eval, evalq, Filter, Find,
    get, intersect, is.unsorted, lapply, Map, mapply, match, mget, order, paste, pmax, pmax.int, pmin, pmin.int,
    Position, rank, rbind, Reduce, rep.int, rownames, sapply, setdiff, sort, table, tapply, union, unique, unlist

    Loading required package: IRanges
    Loading required package: GenomeInfoDb
    Loading required package: Rcpp
    Loading required package: RcppArmadillo


    OK, even I tried
    Code:
    DESeq2::plotDispEsts
    , still not working
    standardGeneric for "plotDispEsts" defined from package "BiocGenerics"

    function (object, ...)
    standardGeneric("plotDispEsts")
    <environment: 0x7fa45c1e1148>
    Methods may be defined for arguments: object
    Use showMethods("plotDispEsts") for currently available ones.

    > showMethods("plotDispEsts")
    Function: plotDispEsts (package BiocGenerics)
    object="DESeqDataSet"


    ########Problem solved now###
    Because i was loading DESeq2 in the folder where old DESeq and DEXseq were installed, the old plotDispEsts always mask the new plotDispEsts object.
    I just changed a new working directory and reload DESeq2, then problem solved. Thanks for you help, Michael!
    Last edited by zhuya5607; 01-13-2015, 08:11 AM. Reason: Problem solved!

    Leave a comment:


  • Michael Love
    replied
    I don't see why the problem should exist if you have updated BiocGenerics, DESeq, DESeq2 and DEXSeq to the same version of Bioconductor.

    I recommend users stay with the current release of Bioconductor, which would be one version ahead of the one you have, by using the current release of R.

    But if you don't have time to upgrade, or are in the middle of an analysis and need to save the state, a workaround is to use double colon to specify the library:
    Code:
    DESeq2::plotDispEsts

    Leave a comment:


  • zhuya5607
    replied
    Originally posted by Michael Love View Post
    You have an older version of the older package "DESeq" masking the DESeq2 version.

    We fixed the dispatch of plotDispEsts for DESeq/DESeq2/DEXSeq a year ago by creating a generic, so that all these functions can work with all libraries loaded, but if you have an outdated version of DESeq, you still experience the problem.

    biocLite()

    and update all. You might need to update your version of R as well. What's your

    sessionInfo()
    Thanks for your reply! You are probably right about this, I did have a old version of DESeq installed before. However, i used biocLite("DESeq") to update,
    the same problem is still there. Is my R version too old?

    Here is my sessionInfo()
    R version 3.1.0 (2014-04-10)
    Platform: x86_64-apple-darwin13.1.0 (64-bit)

    locale:
    [1] C

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

    other attached packages:
    [1] DESeq2_1.4.5 RcppArmadillo_0.4.600.0 Rcpp_0.11.3 GenomicRanges_1.16.4 GenomeInfoDb_1.0.2
    [6] IRanges_1.22.10 BiocGenerics_0.10.0

    loaded via a namespace (and not attached):
    [1] AnnotationDbi_1.26.1 Biobase_2.24.0 DBI_0.3.1 DESeq_1.16.0 RColorBrewer_1.1-2 RSQLite_1.0.0
    [7] XML_3.98-1.1 XVector_0.4.0 annotate_1.42.1 genefilter_1.46.1 geneplotter_1.42.0 grid_3.1.0
    [13] lattice_0.20-29 locfit_1.5-9.1 splines_3.1.0 stats4_3.1.0 survival_2.37-7 tools_3.1.0
    [19] xtable_1.7-4

    Leave a comment:


  • Michael Love
    replied
    You have an older version of the older package "DESeq" masking the DESeq2 version.

    We fixed the dispatch of plotDispEsts for DESeq/DESeq2/DEXSeq a year ago by creating a generic, so that all these functions can work with all libraries loaded, but if you have an outdated version of DESeq, you still experience the problem.

    biocLite()

    and update all. You might need to update your version of R as well. What's your

    sessionInfo()

    Leave a comment:


  • zhuya5607
    replied
    plotDispEsts() doesn't work



    I can successfully follow all the commands in DESeq2 manual (updated version on December 16, 2014) except plotDispEsts(dds).

    plotDispEsts(dds) gives the error message:
    no slot of name "fitInfo" for this object of class "DESeqDataSet"

    the following were the basic steps i ran

    countData <- read.table("count_table_123vs789.txt",header=TRUE,row.names=1)
    countData <- as.matrix(countData)
    condition <- factor(c(rep("mirA",3),rep("mirB",3)))

    coldata <- data.frame(row.names=colnames(countData),condition)
    dds <- DESeqDataSetFromMatrix(countData=countData, colData=coldata, design=~condition)
    dds <- DESeq(dds)
    res <- results(dds)
    plotDispEsts(dds)

    Everything ran smoothly but the last step plotDispEsts(dds).
    Can anyone please help me?

    Leave a comment:


  • Simon Anders
    replied
    Is it picked by an optimization algorithm so that the number of genes with adjusted P-values < 0.1 is maximum?
    Yes, exactly so.

    Leave a comment:


  • harlequin
    replied
    Hi,

    Can someone briefly explain how the "filterThreshold" attribute -which as far as I can tell is a threshold for the mean of normalized counts- of the results object is calculated in DESEq2? I've read the function manual but it's not entirely clear to me. Is it picked by an optimization algorithm so that the number of genes with adjusted P-values < 0.1 is maximum? Thanks!

    Leave a comment:


  • Michael Love
    replied
    hi Raphael,

    In version 1.4, DESeq() replaces outliers for certain sample sizes as described in the help file ?DESeq, and that we therefore don't recommend using the replaceOutliers function manually anymore. Also see ?DESeq for description of how the original and replacement counts are stored. If you have further questions, maybe best to start a new thread, and post the code you are using. Also, you might as well update to the current Bioconductor release 3.0 / DESeq2 version 1.6.

    Leave a comment:


  • TomHarrop
    replied
    Originally posted by Michael Love View Post
    The estimator for the amount of shrinkage changed (this and all changes are noted in NEWS). Note that rlog is just one of the possible transformations, which we have found useful in many situations, but certainly it can shrink too much or too little given the diversity of datasets.

    I'd try out the varianceStabilizingTranformation, or even log2(counts(dds, normalized=TRUE) + pc) for varying pseudocount.
    Hi Michael,

    Forgot to thank you for your suggestions. Simple log-transformation with pseudocount reveals the differences in distribution of expression values in the degraded libraries.

    Cheers,

    Tom

    Leave a comment:


  • raphael123
    replied
    Hi !

    I update my DEseq2 package to 1.4.5. Now my replaceOutliersWithTrimmedMean function is not replacing anything ! I have a very clear outlier that was remove previously and now any way I call replaceOutliersWithTrimmedMean, my counts(ddsClean)["LINC00624",] and my counts(dds)["LINC00624",] are axactly the same (with a basemean around 8 and an outlier around 240 ...

    I didn t change the way I call the cooks outlier replacement funciton ... Any idea ?

    Leave a comment:

Latest Articles

Collapse

  • SEQadmin2
    Multiomic Liquid Biopsy: What DNA/RNA Panels Reveal That DNA Alone Can’t
    by SEQadmin2



    Tumors contain complex mixtures of cell populations that evolve in response to treatment and host-specific factors. Tissue biopsies provide only static snapshots of a tumor’s state. But what if we could follow that evolution over time using a minimally invasive technique?

    Liquid biopsies can detect tumor-derived material circulating in the bloodstream, providing a way to study treatment response, detect emerging resistance, and discover new biomarkers. Circulating
    ...
    10-14-2026, 09:55 AM
  • SEQadmin2
    New Genomics Technologies Take Aim at Long-Standing Limits
    by SEQadmin2


    Researchers using sequencing and genomics tools often have to make trade-offs. They can choose between speed or scale, short reads or long-range information, or targeted panels or a view of the whole transcriptome. New technologies that have been released this year are built to address those tough choices.

    We asked six companies the same four questions to learn about their latest products. The new technologies bring a lot to the table, including rethinking sequencing
    ...
    09-28-2026, 10:25 AM

ad_right_rmr

Collapse

News

Collapse

Topics Statistics Last Post
Started by SEQadmin2, 10-22-2026, 11:13 AM
0 responses
40 views
0 reactions
Last Post SEQadmin2  
Started by SEQadmin2, 10-22-2026, 10:48 AM
0 responses
29 views
0 reactions
Last Post SEQadmin2  
Started by SEQadmin2, 10-15-2026, 10:52 AM
0 responses
41 views
0 reactions
Last Post SEQadmin2  
Started by SEQadmin2, 10-14-2026, 05:39 AM
0 responses
45 views
0 reactions
Last Post SEQadmin2  
Working...