[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