Seqanswers Leaderboard Ad

Collapse

Announcement

Collapse
No announcement yet.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • edgeR - glm: finding DEG ignoring platform bias

    Hello,

    I would like to use glm to ignore the bias from two different protocols and obtain the real DEG.

    I have three conditions, say C1, C2 and C3.
    Protocol 1 was used to obtain three replicates of C1 and three of C2.
    Protocol 2 was used to obtain three replicates of C2 and C3.

    I am interested in finding the DEG between C1 and C3 by taking into consideration C2 (from both protocols) in order to eliminate the protocol bias. See table below.

    _________|__C1___|___C2___|___C3___|
    Protocol 1 |___X___|___X____|_________|
    Protocol 2 |_______|___X____|____X____|


    The next are my two vectors for the matrix.design:
    Protocol = p1 p1 p1 p1 p2 p1 p2 p1 p2 p2 p2 p2
    Conditions= c1 c1 c1 c2 c2 c2 c2 c2 c2 c3 c3 c3
    In R code we have:
    Protocol = factor( c( rep('p1',3), rep(c("p1","p2"),3),rep('p2',3)) )
    Conditions = factor(c(rep('c1',3),rep("c2",6),rep('c3',3)))

    data.frame(Protocol,Conditions)
    Protocol Conditions
    1 p1 c1
    2 p1 c1
    3 p1 c1
    4 p1 c2
    5 p2 c2
    6 p1 c2
    7 p2 c2
    8 p1 c2
    9 p2 c2
    10 p2 c3
    11 p2 c3
    12 p2 c3

    design <- model.matrix(~Protocol+Conditions)
    design

    (Intercept) Protocolp2 Conditionsc2 Conditionsc3
    1 1 0 0 0
    2 1 0 0 0
    3 1 0 0 0
    4 1 0 1 0
    5 1 1 1 0
    6 1 0 1 0
    7 1 1 1 0
    8 1 0 1 0
    9 1 1 1 0
    10 1 1 0 1
    11 1 1 0 1
    12 1 1 0 1
    attr(,"assign")
    [1] 0 1 2 2
    attr(,"contrasts")
    attr(,"contrasts")$Protocol
    [1] "contr.treatment"

    attr(,"contrasts")$Conditions
    [1] "contr.treatment"


    After estimating dispersion, glmFit and glmLRT I have:
    ...
    lrt <- glmLRT(fit)
    topTags(lrt)
    Coefficient: ConditionC3
    ...results here...

    My questions are:
    1 - is my design correct by using "model.matrix(~Protocol+Conditions)"? Where did ConditionsC1 go in design table?

    2 - is the coefficient "ConditionsC3" correct for this analysis? How should the contrast be in glmLRT function?

    Any comments, tips or help is greatly appreciated.

    Thank you very much,

  • #2
    1. Yes, the design is correct, ConditionsC1 is the intercept (well, ConditionsC1 and ProtocolP1 are, but since there's no ConditionC1 in another Protocol that's the same).
    2. Yes, ConditionC3 will give you changes in C3 vs. C1 while controlling for Protocol. You don't need a contrast, the ConditionC3 coefficient directly answers your question.

    Comment


    • #3
      Thank you very much for your answer drpyan. Your answer helped me to understand many things.

      Another question. If I was to do a "naive" analysis to find DEG by just comparing three replicates of C1 from protocol1 and three replicates from C3 from protocol2.
      _________|__C1___|___C2___|___C3___|
      Protocol 1 |___X___|________|_________|
      Protocol 2 |_______|________|____X____|

      My design matrix would be:
      condition=factor(c("C1","C1","C1","C3","C3","C3"))
      design <- model.matrix(~0+condition)

      conditionC1 conditionC3
      protocol1 1 0
      protocol1 1 0
      protocol1 1 0
      protocol2 0 1
      protocol2 0 1
      protocol2 0 1

      after estimation of GLM parameters...
      lrt <- glmLRT(fit,contrast = c(-1,1))

      The contrast in this case need to be specified as above right?

      Thank you again,

      Comment


      • #4
        If you explicitly remove the intercept then yes you'd need a contrast. Alternatively, "design <- model.matrix(~condition)" would do the same thing and not need a contrast.

        Comment


        • #5
          Thank you very much drpyan. Your answers are really clear and helpful!

          Comment

          Latest Articles

          Collapse

          • seqadmin
            The Impact of AI in Genomic Medicine
            by seqadmin



            Artificial intelligence (AI) has evolved from a futuristic vision to a mainstream technology, highlighted by the introduction of tools like OpenAI's ChatGPT and Google's Gemini. In recent years, AI has become increasingly integrated into the field of genomics. This integration has enabled new scientific discoveries while simultaneously raising important ethical questions1. Interviews with two researchers at the center of this intersection provide insightful perspectives into...
            Yesterday, 02:07 PM
          • seqadmin
            Multiomics Techniques Advancing Disease Research
            by seqadmin


            New and advanced multiomics tools and technologies have opened new avenues of research and markedly enhanced various disciplines such as disease research and precision medicine1. The practice of merging diverse data from various ‘omes increasingly provides a more holistic understanding of biological systems. As Maddison Masaeli, Co-Founder and CEO at Deepcell, aptly noted, “You can't explain biology in its complex form with one modality.”

            A major leap in the field has
            ...
            02-08-2024, 06:33 AM

          ad_right_rmr

          Collapse

          News

          Collapse

          Topics Statistics Last Post
          Started by seqadmin, 02-23-2024, 04:11 PM
          0 responses
          40 views
          0 likes
          Last Post seqadmin  
          Started by seqadmin, 02-21-2024, 08:52 AM
          0 responses
          57 views
          0 likes
          Last Post seqadmin  
          Started by seqadmin, 02-20-2024, 08:57 AM
          0 responses
          45 views
          0 likes
          Last Post seqadmin  
          Started by seqadmin, 02-14-2024, 09:19 AM
          0 responses
          65 views
          0 likes
          Last Post seqadmin  
          Working...
          X