Unconfigured Ad

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • gugpuccio
    Junior Member
    • Aug 2020
    • 1

    #1

    Deseq2 asymmetric time-course

    Hi everyone, i have an asymmetrical time-course experiment. Timepoints are not equal for each "treatment" or "condition". In fact the T0 samples are common for all the conditions (AFT0R2, AFT0R3, AP_T0R1) and timepoints then varies for each condition. AP has two timepoints (T1 and T2), AF has three timepoints (T1, T2, T3) and UF has only one (T1). The coldata looks like this:

    Code:
    Sample Condition Time Replicate
    AF_T0R2 CP 0 2
    AF_T0R3 CP 0 3
    AP_T0R1 CP 0 1
    AF_T1R1 AF 1 1
    AF_T1R2 AF 1 2
    AF_T1R3 AF 1 3
    AF_T2R1 AF 2 1
    AF_T2R2 AF 2 2
    AF_T2R3 AF 2 3
    AF_T3R1 AF 3 1
    AF_T3R2 AF 3 2
    AF_T3R3 AF 3 3
    AP_T1R1 AP 1 1
    AP_T1R2 AP 1 2
    AP_T1R3 AP 1 3
    AP_T2R1 AP 2 1
    AP_T2R2 AP 2 2
    AP_T2R3 AP 2 3
    UF_T1R1 UF 1 1
    UF_T1R2 UF 1 2
    UF_T1R3 UF 1 3
    What i've done until now is subsetting the dataset to obtain symmetrical timepoints to perform a time-course analysis using this coldata:

    Code:
    Sample Condition Time Replicate
    AF_T0R2_2 AF 0 2
    AF_T0R3_2 AF 0 3
    AP_T0R1_2 AF 0 1
    AF_T1R1 AF 1 1
    AF_T1R2 AF 1 2
    AF_T1R3 AF 1 3
    AF_T3R1 AF 2 1
    AF_T3R2 AF 2 2
    AF_T3R3 AF 2 3
    AF_T0R2 AP 0 2
    AF_T0R3 AP 0 3
    AP_T0R1 AP 0 1
    AP_T1R1 AP 1 1
    AP_T1R2 AP 1 2
    AP_T1R3 AP 1 3
    AP_T2R1 AP 2 1
    AP_T2R2 AP 2 2
    AP_T2R3 AP 2 3
    The main problem with this approach is that some samples and conditions are left out of the analysis and, more importantly, i had to duplicate the T0 samples that are common to both conditions using the 2 (AFT0R22, AFT0R2 etc). Using this approach i obtained fairly good results using:

    Code:
    ddsTC <- DESeqDataSetFromMatrix(countData = countdata, colData =    coldata, 
                                       design =  ~ Condition + Time + Condition:Time)
    
    ddsTC <- DESeq(ddsTC, test="LRT", reduced = ~ Condition + Time)
    Another approach would be to make single LRT tests for each condition using ~ Time and a reduced formula of ~ 1. This way i would obtain all DEGs that changes significantly during time (even with only 2 timepoints) for each condition. Is this correct? Then i should be able to do some clustering and find intersections etc. If so can you help me with this kind of analysis? How can i exclude samples from the coldata to perform the LRT test only on, for example, the AF condition? I would like to perform an LRT for each condition using Time as factor. Something like:

    Code:
    Sample Condition Time Replicate UF AF AP
    AF_T0R2 CP 0 2 T0 T0 T0
    AF_T0R3 CP 0 3 T0 T0 T0
    AF_T1R1 AF 1 1  T1 
    AF_T1R2 AF 1 2  T1 
    AF_T1R3 AF 1 3  T1 
    AF_T2R1 AF 2 1  T2 
    AF_T2R2 AF 2 2  T2 
    AF_T2R3 AF 2 3  T2 
    AF_T3R1 AF 3 1  T3 
    AF_T3R2 AF 3 2  T3 
    AF_T3R3 AF 3 3  T3 
    AP_T0R1 CP 0 1 T0 T0 T0
    AP_T1R1 AP 1 1   T1
    AP_T1R2 AP 1 2   T1
    AP_T1R3 AP 1 3   T1
    AP_T2R1 AP 2 1   T2
    AP_T2R2 AP 2 2   T2
    AP_T2R3 AP 2 3   T2
    UF_T1R1 UF 1 1 T1  
    UF_T1R2 UF 1 2 T1  
    UF_T1R3 UF 1 3 T1
    and using:

    Code:
    dds1 <- DESeqDataSetFromMatrix(countData = countdata, colData = coldata, 
                                    design =  ~ AP)
    dds1 <- DESeq(dds1 test = "LRT", reduced = ~ 1)
    
    dds2 <- DESeqDataSetFromMatrix(countData = countdata, colData = coldata, 
                                    design =  ~ AF)
    dds2 <- DESeq(dds2, test = "LRT", reduced = ~ 1)
    
    dds3 <- DESeqDataSetFromMatrix(countData = countdata, colData = coldata, 
                                    design =  ~ UF)  
    dds3 <- DESeq(dds3, test = "LRT", reduced = ~ 1)
    leaving some of the rows empty is not working, and it is using an empty factor. I was able to obtain DEGs for each comparison using subset of the dataset, but this way the sizefactors are different for each dataset. Probably i could use estimatesizefactors for the complete dataset and then use it for the subsets. Do you think this could work? Could you provide an example of code for doing it?

    I hope i was clear enough. Thank you for the help!

    Guglielmo

Latest Articles

Collapse

  • SEQadmin2
    Beyond CRISPR/Cas9: Understand, Choose, and Use the Right Genome Editing Tool
    by SEQadmin2



    CRISPR/Cas9 sparked the gene editing revolution for both research and therapeutics.1 But this system still showed severe issues that limited its applications. The most prominent were the heavy reliance on PAM sequences, delivery limitations, double-stranded breaks that prompt unintended edits and cell death, and editing inefficiency (both in targeting and in knock-in reliability).

    Despite this, “CRISPR helped turn genome editing from a specialized technique into
    ...
    07-31-2026, 11:01 AM
  • SEQadmin2
    Proteomic Platforms: How to Choose the Right Analytical Strategy to Improve Detection and Clinical Applications
    by SEQadmin2


    Proteomics platforms are evolving rapidly, with advances in mass spectrometry and affinity-based approaches expanding what researchers can detect and at what scale. As the field moves toward deeper proteome coverage and clinical applications, scientists face an increasingly complex landscape of tools. This article will explore how researchers are navigating these choices to find the right platform for their work.

    The systematic characterization of the human proteome has
    ...
    07-20-2026, 11:48 AM

ad_right_rmr

Collapse

News

Collapse

Topics Statistics Last Post
Started by SEQadmin2, 08-06-2026, 07:41 AM
0 responses
18 views
0 reactions
Last Post SEQadmin2  
Started by SEQadmin2, 08-03-2026, 10:13 AM
0 responses
33 views
0 reactions
Last Post SEQadmin2  
Started by SEQadmin2, 07-31-2026, 02:55 AM
0 responses
43 views
0 reactions
Last Post SEQadmin2  
Started by SEQadmin2, 07-24-2026, 12:17 PM
0 responses
26 views
0 reactions
Last Post SEQadmin2  
Working...