I tried doing DGE analysis using NOISeq with no replicates. I got the final results as
Control_mean Treated_mean M D prob ranking Length GC Chrom GeneStart GeneEnd Biotype
ENSG00000000003 1726 1696 0.02529629 30 0.2973327 30.000011 2206 40.40 X 100627109 100639991 protein_coding
ENSG00000000005 1 1 0.00000000 0 0.2493902 0.000000 1205 40.78 X 100584936 100599885 protein_coding
ENSG00000000419 1674 2419 -0.53111124 745 0.7074358 -745.000189 1075 39.85 20 50934867 50958555 protein_coding
ENSG00000000457 232 251 -0.11356256 19 0.3725949 -19.000339 6308 40.14 1 169849631 169894267 protein_coding
ENSG00000000460 420 452 -0.10593344 32 0.3947228 -32.000175 3849 39.22 1 169662007 169854080 protein_coding
ENSG00000000938 2 1 1.00000000 1 0.4415171 1.414214 2637 52.92 1 27612064 27635185 protein_coding
The Ensembl IDs are the row names. The Mean values are the mean counts across replicates (since there are no replicates they remain the same as the original counts). If you look at the M value, which according to the manual is the log2 ratio between the two conditions, it is calculated as log2(control/treated) by NOISeq as opposed to log2(treated/control). I don't know why this is happening because my counts and factor data frames are proper.
The counts are:
Treated_S2 Control_S1
ENSG00000000003 1696 1726
ENSG00000000005 1 1
ENSG00000000419 2419 1674
ENSG00000000457 251 232
ENSG00000000460 452 420
ENSG00000000938 1 2
The factors are:
group
Treated
Control
The command I used to create the NOISeq data object is:
myresults <- noiseq(mydata, factor = "group", k = NULL, norm = "n", pnr = 0.2, nss = 5, v = 0.02, lc = 1, replicates = "no", conditions = c("Treated","Control"))
Somehow NOISEq swaps the control and treated columns and calculates the fold change accordingly. Can someone tell me what's going on?
Ooh, yes, let me check and let you know how it goes!
Also be careful with the sample names. Double check if the samples names correspond to the group you have assigned.