How to make contrast in limma

Hi,
I am new to limma package what I used to identify differently expressed genes (DEGs). My design is complex. The samples were treated with three factors including variety(categorical: MH63, or HH1), stage (categorical: BS, or AH), and time(categorical: 2008, 2009, 2016, 2017, 2018, 2020, or 2021). I built a linear mixed-effect modeling of gene counts as of Count ~ Variety + Stage + Time + 1|ID. Then, the model was used to identify DEGs. I want to know which genes were difference between MH63 and HH1 in each time point, and all time points. The other compairsions were listed below. Do anyone konw those comparesions were correct? Here is my codes.

library(limma)
library(tidyverse)
raw_metadata  <- read.delim('https://raw.githubusercontent.com/williamshell/mydata/main/myfolder/metadata20220801.xls', sep="\t", header=T, row.names= NULL, check.names = T, encoding = "UTF-8") %>% 
  as_tibble() %>% 
  mutate_all(as.factor)

targets  <- raw_metadata %>% select(Variety, Stage, Year, Position)
Variety  <- targets$Variety
Stage    <- targets$Stage
Year     <- targets$Year
Position <- targets$Position

targets <- paste(Variety, Stage, Year, Position, sep = "_")
design  <- model.matrix(~ 0 + targets)
colnames(design) <- gsub("targets", "", colnames(design))
rownames(design) <- raw_metadata$SampleID
cont.matrix <- makeContrasts(HH1vsMH63_AH_2008     = HH1_AH_2008_Mix  - MH63_AH_2008_Mix, 
                             HH1vsMH63_AH_2009     = HH1_AH_2009_Mix  - MH63_AH_2009_Mix,
                             HH1vsMH63_AH_2016     = HH1_AH_2016_Mix  - MH63_AH_2016_Mix,
                             HH1vsMH63_BS_2017     = HH1_BS_2017_Mix  - MH63_BS_2017_Mix,
                             HH1vsMH63_AH_2017     = HH1_AH_2017_Mix  - MH63_AH_2017_Mix,
                             HH1vsMH63_2017        = (HH1_BS_2017_Mix + HH1_AH_2017_Mix)/2 - (MH63_BS_2017_Mix + MH63_AH_2017_Mix)/2, 
                             HH1vsMH63_BS_2018     = HH1_BS_2018_Mix  - MH63_BS_2018_Mix,
                             HH1vsMH63_AH_2018     = HH1_AH_2018_Mix  - MH63_AH_2018_Mix,
                             HH1vsMH63_2018        = (HH1_BS_2018_Mix + HH1_AH_2018_Mix)/2 - (MH63_BS_2018_Mix + MH63_AH_2018_Mix)/2, 
                             HH1vsMH63_BS_2020     = HH1_BS_2020_Mix  - MH63_BS_2020_Mix,
                             HH1vsMH63_AH_2020     = HH1_AH_2020_Mix  - MH63_AH_2020_Mix,
                             HH1vsMH63_2020        = (HH1_BS_2020_Mix + HH1_AH_2020_Mix)/2 - (MH63_BS_2020_Mix + MH63_AH_2020_Mix)/2, 
                             HH1vsMH63_BS_2021     = HH1_BS_2021_Mix  - MH63_BS_2021_Mix,
                             HH1vsMH63_AH_2021_Low = HH1_AH_2021_Low  - MH63_AH_2021_Low,
                             HH1vsMH63_AH_2021_Mid = HH1_AH_2021_Mid  - MH63_AH_2021_Mid,
                             HH1vsMH63_AH_2021_Top = HH1_AH_2021_Top  - MH63_AH_2021_Top,
                             HH1vsMH63_AH_2021     = (HH1_AH_2021_Low + HH1_AH_2021_Mid + HH1_AH_2021_Top)/3 - (MH63_AH_2021_Low + MH63_AH_2021_Mid + MH63_AH_2021_Top)/3, 
                             HH1vsMH63_2021        = (HH1_BS_2021_Mix + HH1_AH_2021_Low + HH1_AH_2021_Mid + HH1_AH_2021_Top)/4 - (MH63_BS_2021_Mix + MH63_AH_2021_Low + MH63_AH_2021_Mid + MH63_AH_2021_Top)/4, 
                             HH1vsMH63             = (HH1_AH_2008_Mix + HH1_AH_2009_Mix + HH1_AH_2016_Mix + HH1_BS_2017_Mix + HH1_AH_2017_Mix + HH1_BS_2018_Mix + HH1_AH_2018_Mix + HH1_BS_2020_Mix + HH1_AH_2020_Mix + HH1_AH_2021_Low + HH1_AH_2021_Mid + HH1_AH_2021_Top + HH1_BS_2021_Mix)/13  - (MH63_AH_2008_Mix + MH63_AH_2009_Mix + MH63_AH_2016_Mix + MH63_BS_2017_Mix + MH63_AH_2017_Mix + MH63_BS_2018_Mix + MH63_AH_2018_Mix + MH63_BS_2020_Mix + MH63_AH_2020_Mix + MH63_AH_2021_Low + MH63_AH_2021_Mid + MH63_AH_2021_Top + MH63_BS_2021_Mix)/13,
                             HH1_200912vs200812    = HH1_AH_2009_Mix  - HH1_AH_2008_Mix, 
                             HH1_201612vs200812    = HH1_AH_2016_Mix  - HH1_AH_2008_Mix, 
                             HH1_201706vs200812    = HH1_BS_2017_Mix  - HH1_AH_2008_Mix, 
                             HH1_201712vs200812    = HH1_AH_2017_Mix  - HH1_AH_2008_Mix, 
                             HH1_2017vs2008        = (HH1_AH_2017_Mix + HH1_BS_2017_Mix)/2 - HH1_AH_2008_Mix, 
                             HH1_201806vs200812    = HH1_BS_2018_Mix  - HH1_AH_2008_Mix, 
                             HH1_201812vs200812    = HH1_AH_2018_Mix  - HH1_AH_2008_Mix, 
                             HH1_2018vs2008        = (HH1_AH_2018_Mix + HH1_BS_2018_Mix)/2 - HH1_AH_2008_Mix, 
                             HH1_202006vs200812    = HH1_BS_2020_Mix  - HH1_AH_2008_Mix, 
                             HH1_202012vs200812    = HH1_AH_2020_Mix  - HH1_AH_2008_Mix, 
                             HH1_2020vs2008        = (HH1_AH_2020_Mix + HH1_BS_2020_Mix)/2 - HH1_AH_2008_Mix,
                             HH1_202106vs200812    = HH1_BS_2021_Mix  - HH1_AH_2008_Mix, 
                             HH1_202112vs200812    = (HH1_AH_2021_Low + HH1_AH_2021_Mid + HH1_AH_2021_Top)/3  - HH1_AH_2008_Mix, 
                             HH1_2021vs2008        = (HH1_AH_2021_Low + HH1_AH_2021_Mid + HH1_AH_2021_Top +HH1_BS_2021_Mix)/4 - HH1_AH_2008_Mix,
                             MH63_200912vs200812   = MH63_AH_2009_Mix - MH63_AH_2008_Mix, 
                             MH63_201612vs200812   = MH63_AH_2016_Mix - MH63_AH_2008_Mix, 
                             MH63_201706vs200812   = MH63_BS_2017_Mix  - MH63_AH_2008_Mix, 
                             MH63_201712vs200812   = MH63_AH_2017_Mix - MH63_AH_2008_Mix, 
                             MH63_2017vs2008       = (MH63_AH_2017_Mix + MH63_BS_2017_Mix)/2 - MH63_AH_2008_Mix, 
                             MH63_201806vs200812   = MH63_BS_2018_Mix  - MH63_AH_2008_Mix, 
                             MH63_201812vs200812   = MH63_AH_2018_Mix  - MH63_AH_2008_Mix, 
                             MH63_2018vs2008       = (MH63_AH_2018_Mix + MH63_BS_2018_Mix)/2 - MH63_AH_2008_Mix, 
                             MH63_202006vs200812   = MH63_BS_2020_Mix  - MH63_AH_2008_Mix, 
                             MH63_202012vs200812   = MH63_AH_2020_Mix  - MH63_AH_2008_Mix, 
                             MH63_2020vs2008       = (MH63_AH_2020_Mix + MH63_BS_2020_Mix)/2 - MH63_AH_2008_Mix, 
                             MH63_202106vs200812   = MH63_BS_2021_Mix  - MH63_AH_2008_Mix, 
                             MH63_202112vs200812   = (MH63_AH_2021_Low + MH63_AH_2021_Mid + MH63_AH_2021_Top)/3  - MH63_AH_2008_Mix, 
                             MH63_2021vs2008       = (MH63_AH_2021_Low + MH63_AH_2021_Mid + MH63_AH_2021_Top + MH63_BS_2021_Mix)/4 - MH63_AH_2008_Mix, 
                             HH1_201712vs06        = HH1_AH_2017_Mix   - HH1_BS_2017_Mix, 
                             HH1_201812vs06        = HH1_AH_2018_Mix   - HH1_BS_2018_Mix, 
                             HH1_202012vs06        = HH1_AH_2020_Mix   - HH1_BS_2020_Mix,
                             MH63_201712vs06       = MH63_AH_2017_Mix  - MH63_BS_2017_Mix, 
                             MH63_201812vs06       = MH63_AH_2018_Mix  - MH63_BS_2018_Mix, 
                             MH63_202012vs06       = MH63_AH_2020_Mix  - MH63_BS_2020_Mix,
                             levels = colnames(design))

Created on 2022-09-27 by the reprex package (v2.0.1)

This topic was automatically closed 42 days after the last reply. New replies are no longer allowed.

If you have a query related to it or one of the replies, start a new topic and refer back with a link.