Unconfigured Ad

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • anandksrao
    Junior Member
    • Jun 2011
    • 9

    #1

    Data filters at what stage of NGS data analysis?

    Greetings friends!

    I seek help with data that I have : 3 time points, 3 genotypes, 3 replicates for each of these = 27 libraries

    The goal is to find genes that have different time expression profiles amongst 2 or more genotypes.

    After our 1st round of data analysis, (including TMM normalization), the time course graphs and box plots were so noisy in terms of high std error at each time point, that it was hard to say if expression profile of one genotype was overlapping or distinct from that for the other genotypes! R code attached at bottom of this post.

    So in short - we now need to employ data filters to check and reduce noise in our data. Some ideas are
    removing genes that have low expression (count) levels
    removing genes that have high variance across replicates
    removing genes that have low variance across time (constitutively expressed genes are biologically less interesting)

    So my question to you is what stage of my analysis do I employ these filters?
    On the raw data itself, prior to normalization?
    Or should I perform the TMM normalization, use the norm factors to transform my data to non-integer normalized counts and then filter (in which case I think I cannot fit them into negative binomial model, right?)

    Code:
    count = read.table("Input.txt", sep="\t", header=T)                     					
    #$#$ read in raw count mapped data
    
    f.count = count[apply(count[,-c(1,ncol(count))],1,sum) > 27,]                               
    #$#$ filter ou genes with total read count < 27 across all libraries
    
    f.dat = f.count[,-c(1,ncol(count))]                                                         
    #$#$ select only read count, not rest of data frame
    
    S = factor(rep(c("gen1","gen2","gen3"),rep(9,3)))                                           
    #$#$ define group
    
    Time = factor(rep(rep(c("0","10","20"),rep(3,3)),3))         								
    #$#$ define time
    
    Time.rep = rep(1:3,9)                                                                        
    #$#$ define replicate
    
    Group = paste(S,Time,Time.rep,sep="_")                                                         
    #$#$ define group_time_replicate
    
    library(edgeR)                                                                              
    #$#$ load edgeR package
    
    f.factor = data.frame(files = names(f.dat), S = S , Time = Time, lib.size = c(apply(f.dat,2,sum)),norm.factors = calcNormFactors(as.matrix(f.dat)))  
    #$#$  make data for edgeR method
    
    count.d = new("DGEList", list(samples = f.factor, counts = as.matrix(f.dat)))               
    #$#$  make data for edgeR method
    
    design = model.matrix(~ Time + S)                                                           
    #$#$  make design data for edgeR method
    
    count.d = calcNormFactors(count.d)                                                          
    #$#$  Normalize TMM
    
    glmfit.d = glmFit(count.d, design, dispersion = 0.1)                                        
    #$#$  Fit the Negative Binomial Gen Lin Models
    
    lrt.count = glmLRT(count.d, glmfit.d)                                                       
    #$#$  Likelihood ratio tests
    
    result.count = data.frame(f.count, lrt.count$table)                                         
    #$#$  combining raw data and results from edgeR
    
    result.count$FDR = p.adjust(result.count$p.value,method="BH")                               
    #$#$  calculating the False Discovery Rate
    
    write.table(result.count, "edgeR.Medicago_count_WT_Mu3.txt",sep="\t",row.names=F)           
    #$#$  saving the combined data set
  • markrobinsonca
    Junior Member
    • Mar 2010
    • 7

    #2
    See this:

    Comment

    Latest Articles

    Collapse

    • SEQadmin2
      Multiomic Liquid Biopsy: What DNA/RNA Panels Reveal That DNA Alone Can’t
      by SEQadmin2



      Tumors contain complex mixtures of cell populations that evolve in response to treatment and host-specific factors. Tissue biopsies provide only static snapshots of a tumor’s state. But what if we could follow that evolution over time using a minimally invasive technique?

      Liquid biopsies can detect tumor-derived material circulating in the bloodstream, providing a way to study treatment response, detect emerging resistance, and discover new biomarkers. Circulating
      ...
      10-14-2026, 09:55 AM
    • SEQadmin2
      New Genomics Technologies Take Aim at Long-Standing Limits
      by SEQadmin2


      Researchers using sequencing and genomics tools often have to make trade-offs. They can choose between speed or scale, short reads or long-range information, or targeted panels or a view of the whole transcriptome. New technologies that have been released this year are built to address those tough choices.

      We asked six companies the same four questions to learn about their latest products. The new technologies bring a lot to the table, including rethinking sequencing
      ...
      09-28-2026, 10:25 AM

    ad_right_rmr

    Collapse

    News

    Collapse

    Topics Statistics Last Post
    Started by SEQadmin2, Yesterday, 11:13 AM
    0 responses
    17 views
    0 reactions
    Last Post SEQadmin2  
    Started by SEQadmin2, Yesterday, 10:48 AM
    0 responses
    18 views
    0 reactions
    Last Post SEQadmin2  
    Started by SEQadmin2, 10-15-2026, 10:52 AM
    0 responses
    36 views
    0 reactions
    Last Post SEQadmin2  
    Started by SEQadmin2, 10-14-2026, 05:39 AM
    0 responses
    42 views
    0 reactions
    Last Post SEQadmin2  
    Working...