[BioC] Up & Downregulated genes using DESeq

Steve Lianoglou mailinglist.honeypot at gmail.com
Tue Mar 27 05:09:55 CEST 2012


On Mon, Mar 26, 2012 at 10:59 PM, Omar Darwish <odarwish83 at gmail.com> wrote:
> Hello All,
> I am using DESeq for identify differentially expressed genes among a couple
> of samples. At the end of the calculations i write the results to 3 files
> as follow:
> resSig <- res[ res$padj < .01, ]
> write.table(resSig,"~DESeq\\All.txt")
> write.table(resSig[ order( resSig$foldChange, -resSig$baseMean ), ]
> ,"~\\DESeq\\DownRegulated.txt")
> write.table(resSig[ order( -resSig$foldChange, -resSig$baseMean ),
> ],"~\\DESeq\\UpRegulated.txt")
> My question here is,
>   - In the DESeq paper it is mentioned that the last two lines of code
>   extracts the up and downregulated genes, So I'm thinking the sum of the
>   number of genes in (DownRegulated.txt + UpRegulated.txt) should equals the
>   number of genes with padj value < .01 in the file All.txt. But, that does
>   not apply in my case as the numbers not even close. Any explanation or help
>   is appreciated.

I guess I must be missing something, but aren't the number of genes in
your DownRegualted.txt file equal to the number of genes in your
UpRegulated.txt file, which is also equal to the number of genes in
your All.txt file? So, using your lingo:

DownRegulated.txt + UpRegulated.txt == 2 * All.txt


You calls to `order(resSig$foldChange ...)` are just shuffling your
rows around ... you're not removing any of them. If you want to split
up and down regulated genes, you can perhaps subset rows that have
foldChanges above (or below) zero, ie:

up <- subset(resSig, foldChange > 0)
write.table(up[order(up$foldChange, decreasing=TRUE),], "UpRegulated.txt")



Steve Lianoglou
Graduate Student: Computational Systems Biology
 | Memorial Sloan-Kettering Cancer Center
 | Weill Medical College of Cornell University
Contact Info: http://cbio.mskcc.org/~lianos/contact

More information about the Bioconductor mailing list