[BioC] AgiMicroRna -1 filtered values
Coonen Maarten (TGX)
m.coonen at maastrichtuniversity.nl
Mon Feb 10 11:25:06 CET 2014
Dear mailing list,
I'm using the AgiMicroRna-package to analyze my Agilent microRNA arrays.
It occurred to me that the ProcessedData.txt output file contains -1 values for miRNAs that were below the 0.5 intensity threshold in the 'tgsMicroRna' function, when half=TRUE.
These -1 values are subsequently used in the analysis of differential genes (limma), which can (in my opinion) lead to false positive results.
E.g. imagine a situation where the intensities for a miRNA of 2 control samples were below the detection limit of the scanner (noise) and therefore end up with a value of -1.
For the 2 treated samples however the intensities were higher (1.395 and 1.147 respectively).
This would generate a logFC of 2.271 and most likely a significant p-value. As a result, this miRNA would be selected as differentially expressed, whilst actually not being measured in 2 of the 4 samples.
Would it be better to leave these miRNAs out of the differential expression analysis, i.e. setting their values to NA?
Below I provided some code using the sample-data from the AgiMicroRna package that can illustrate my observations. The miRNA described in the text above is hsa-miR-339-5p.
###################################################
### code chunk number 1: data
###################################################
library("AgiMicroRna")
data(targets.micro)
###################################################
### code chunk number 2: data
###################################################
data(dd.micro)
###################################################
### code chunk number 11: tgsMicroRna
###################################################
ddTGS=tgsMicroRna(dd.micro,
half=TRUE,
makePLOT=FALSE,
verbose=FALSE)
###################################################
### code chunk number 12: tgsNormalization
###################################################
ddNORM=tgsNormalization(ddTGS,
"quantile",
makePLOTpre=FALSE,
makePLOTpost=FALSE,
targets.micro,
verbose=TRUE)
###################################################
### code chunk number 14: filterMicroRna
###################################################
ddPROC=filterMicroRna(ddNORM,
dd.micro,
control=TRUE,
IsGeneDetected=TRUE,
wellaboveNEG=FALSE,
limIsGeneDetected=75,
limNEG=25,
makePLOT=FALSE,
targets.micro,
verbose=TRUE,
writeout=FALSE)
###################################################
### code chunk number 15: esetMicroRna
###################################################
esetPROC=esetMicroRna(ddPROC,
targets.micro,
makePLOT=FALSE,
verbose=TRUE)
###################################################
### code chunk number 16: writeEset (eval = FALSE)
###################################################
writeEset(esetPROC,
ddPROC,
targets.micro,
verbose=TRUE)
> sessionInfo()
R version 3.0.2 (2013-09-25)
Platform: x86_64-w64-mingw32/x64 (64-bit)
attached base packages:
[1] parallel stats graphics grDevices utils datasets methods
[8] base
other attached packages:
[1] AgiMicroRna_2.12.0 affycoretools_1.34.0 KEGG.db_2.10.1
[4] GO.db_2.10.1 RSQLite_0.11.4 DBI_0.2-7
[7] AnnotationDbi_1.24.0 preprocessCore_1.24.0 affy_1.40.0
[10] limma_3.18.3 Biobase_2.22.0 BiocGenerics_0.8.0
Thanks for your input,
Best regards,
Maarten Coonen
Bioinformatics Associate
Dpt. of Toxicogenomics (TGX), Maastricht University
More information about the Bioconductor
mailing list