Unconfigured Ad

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • chervil157
    Junior Member
    • Feb 2014
    • 6

    Normalization to control conditions for DESeq

    Hi! I am still learning my RNA-Seq analysis and would greatly appreciate some help here.

    Our study is to investigate the pathways associated to interferon-gamma (IFNg)-induced control of infection with bacteriaX. There are four experimental groups (done as 3 biological replicates):

    1) Uninfected without IFNg
    2) Uninfected with IFNg
    3) BacteriaX infected without IFNg
    4) BacteriaX infected with IFNg

    I aligned the data to the hg19 reference genome using TopHat2 followed by HTSeq Count. My question is on the DESeq2 part: what we are really interested is the transcriptional changes associated to both infection and the presence of IFNg.

    Is it possible to normalize condition 3 to condition 1 and condition 4 to condition 2, before performing DESeq2?

    Or are there more approporiate ways to analyze the data?

    Any suggestions will be greatly appreciated! Many thanks in advance!
  • dpryan
    Devon Ryan
    • Jul 2011
    • 3478

    #2
    You don't need any sort of normlization outside of that already provided by DESeq2. Since you're new to things, please have a look through section 1.6 of the DESeq2 vignette. The example they use is essentially identical to yours (in your case, you would use "Infected" and "IFNg" instead of "condition" and "type"). Your design would then be "~Infected*IFNg" and you would be interested in the interaction term, which would tell you the additional effect seen with both the infection and IFNg.

    This method takes care of all of the normalization in a single step and is the statistically preferred method, so your reviewers will be happy

    Edit: See section 3.3 in the vignette too, they explicitly cover interaction terms there. That's exactly what you want.

    Comment

    • chervil157
      Junior Member
      • Feb 2014
      • 6

      #3
      Thank you very much dpryan! I will go through the vignette and see how it goes!

      Last edited by chervil157; 01-31-2016, 03:49 AM.

      Comment

      • chervil157
        Junior Member
        • Feb 2014
        • 6

        #4
        Followed the vignette and hopefully I have done it correctly:

        > mappedcount <- read.table("CountTable.txt", header=TRUE, row.names=1)
        > coldata <- read.table("Coldata.txt", header=TRUE, row.names=1)
        > Condition = coldata$Infection
        > Stimulation = coldata$Stimulation
        > cds <- DESeqDataSetFromMatrix(countData = mappedcount, colData = coldata, design = ~ Condition + Stimulation)
        > cdsMF <- DESeq(cds)
        > resMF <- results(cdsMF)
        > write.csv(resMF, file="DEG.txt")
        Last edited by chervil157; 02-01-2016, 02:53 AM.

        Comment

        • dpryan
          Devon Ryan
          • Jul 2011
          • 3478

          #5
          I thought you were interested in the interaction between "Condition" and "Stimulation", in which case the design would need to be "~Condition + Stimulation + Condition:Stimulation" (or "~Condition*Stimulation", which is just the short-hand version). Please double check section 3.3 in the vignette.

          Comment

          • chervil157
            Junior Member
            • Feb 2014
            • 6

            #6
            Thanks again dpryan! You've been most helpful and really appreciated your comments!

            I went back to read the vignette and now noted the difference between "~Condition + Stimulation" and "~Condition*Stimulation", but when I ran DESeq2 again the result is identical...

            Comment

            • dpryan
              Devon Ryan
              • Jul 2011
              • 3478

              #7
              Double check what "results()" is giving you the results for. If it's is indeed giving you the interaction term then you're good to go (you might manually specify the appropriate "name=" coefficient).

              Comment

              • chervil157
                Junior Member
                • Feb 2014
                • 6

                #8
                Think I must have done something wrong somehwere because this is what I got:

                > results()
                Error in "results" %in% mcols(mcols(object))$type :
                error in evaluating the argument 'table' in selecting a method for function '%in%': Error in mcols(mcols(object)) :
                error in evaluating the argument 'x' in selecting a method for function 'mcols': Error in mcols(object) :
                error in evaluating the argument 'x' in selecting a method for function 'mcols': Error: argument "object" is missing, with no default

                Comment

                • dpryan
                  Devon Ryan
                  • Jul 2011
                  • 3478

                  #9
                  Err, don't literally type "results()", check it's manual and ensure that it's returning what it's expecting...likely by manually specifying the coefficient (i.e., the "name=something" parameter).

                  Comment

                  • chervil157
                    Junior Member
                    • Feb 2014
                    • 6

                    #10
                    Oops! I see what you mean now! Feel so embarassed with my lack of understanding!

                    Yes just checked and it's all correct - thank you so much!!!!

                    Comment

                    Latest Articles

                    Collapse

                    ad_right_rmr

                    Collapse

                    News

                    Collapse

                    Topics Statistics Last Post
                    Started by SEQadmin2, Today, 11:58 AM
                    0 responses
                    9 views
                    0 reactions
                    Last Post SEQadmin2  
                    Started by SEQadmin2, 06-05-2026, 10:09 AM
                    0 responses
                    25 views
                    0 reactions
                    Last Post SEQadmin2  
                    Started by SEQadmin2, 06-04-2026, 08:59 AM
                    0 responses
                    34 views
                    0 reactions
                    Last Post SEQadmin2  
                    Started by SEQadmin2, 06-02-2026, 12:03 PM
                    0 responses
                    56 views
                    0 reactions
                    Last Post SEQadmin2  
                    Working...