Unconfigured Ad

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • Golsheed
    Member
    • Oct 2014
    • 49

    RNA-seq normalization

    Hello,

    I have a raw count data matrix (with genes in rows and samples in columns) that needs to be normalized. I can't use DESeq2 or Limma directly for this, since the design matrix is not fixed for my data. Specifically, one of the columns of the design matrix changes from gene to gene. So I need to do the normalization myself. Since I'm new to this, I'm not sure if I'm on the right track, so any help, comment, or reference would be much appreciated. Here's what I have in mind to do:

    Suppose that the raw counts matrix is called "reads". Then using edgeR, I can do the following:

    dge <- DGEList(counts=reads)
    dge <- calcNormFactors(dge)

    I have a couple of questions on this:
    (1) is there a function in edgeR that directly outputs the matrix of normalized counts?
    (2) If not, can I calculate the normalized count for each gene-sample combination with
    dge$counts/(dge$samples$lib.size*dge$samples$norm.factors)?

    I'd appreciate your help,
    Golsheed
  • illinu
    Member
    • Jul 2013
    • 55

    #2
    How did you get your count data matrix? I use the trinity pipeline for this analysis because it does all, align the reads to the transcriptome, calculate abundance, normalize and output the matrix with FPKM values, it also does DGE

    Comment

    • Gordon Smyth
      Member
      • Apr 2011
      • 91

      #3
      You can't output normalized counts from edgeR, because the normalization factors are applied to the fitted model, not to the counts themselves. Of course you can output FPKM or counts-per-million, but this isn't the same thing.

      The edgeR authors have long argued that "normalized count" is not a meaningful concept, because any standardization of the counts would cause them to be no longer counts.

      Anway, you don't need normalized counts to fit models with gene-specific design matrices. This is done for example in the spliceVariants() function in edgeR and also in the DEXSeq package. In both cases, they work with the raw counts.
      Last edited by Gordon Smyth; 03-16-2015, 08:22 PM.

      Comment

      • bastianwur
        Member
        • Feb 2014
        • 98

        #4
        oeh...but there's the dge$pseudo.counts matrix, which I thought were the normalized counts.

        Comment

        • Gordon Smyth
          Member
          • Apr 2011
          • 91

          #5
          Originally posted by bastianwur View Post
          oeh...but there's the dge$pseudo.counts matrix, which I thought were the normalized counts.
          Read the section on normalization in the edgeR User's Guide. Amongst other things, it explains why the pseudo counts should not be used as normalized counts.

          Comment

          • bastianwur
            Member
            • Feb 2014
            • 98

            #6
            Guess I should've taken a look at your name ^^ -> sorry *ffttt*.

            Comment

            Latest Articles

            Collapse

            ad_right_rmr

            Collapse

            News

            Collapse

            Topics Statistics Last Post
            Started by SEQadmin2, Today, 10:09 AM
            0 responses
            8 views
            0 reactions
            Last Post SEQadmin2  
            Started by SEQadmin2, Yesterday, 08:59 AM
            0 responses
            14 views
            0 reactions
            Last Post SEQadmin2  
            Started by SEQadmin2, 06-02-2026, 12:03 PM
            0 responses
            22 views
            0 reactions
            Last Post SEQadmin2  
            Started by SEQadmin2, 06-02-2026, 11:40 AM
            0 responses
            19 views
            0 reactions
            Last Post SEQadmin2  
            Working...