[BioC] problem with function
    Iain Gallagher 
    iaingallagher at btopenworld.com
       
    Fri Dec 17 18:42:21 CET 2010
    
    
  
Hello List
I wonder if someone would help me with the following function.
cumulMetric <- function(deMirPresGenes, deMirs){
	
#need to match position of each miR in deMirPresGenes with its FC to form a vector of FC in correct order
	fc <- deMirs
	fcVector <- as.numeric(with (fc, FC[match(deMirPresGenes1[,4], Probe)] ) )
	#multiply fc by context score for each interaction
	metric <- fcVector * as.numeric(deMirPresGenes[,11])
	geneMetric <- cbind(deMirPresGenes[,2], as.numeric(metric))
 	#make cumul weighted score
	listMetric <- unstack(geneMetric, as.numeric(geneMetric[,2])~geneMetric[,1])
	listMetric <- as.data.frame(sapply(listMetric,sum)) #returns a dataframe
	colnames(listMetric) <- c('cumulMetric')
	#return whole list
	return(listMetric)
}
deMirPresGenes looks like this:
Gene.ID	Gene.Symbol	Species.ID	miRNA	Site.type	UTR_start	UTR_end	X3pairing_contr	local_AU_contr	position_contr	context_score	context_percentile
22848	AAK1	9606	hsa-miR-183	2	1546	1552	-0.026	-0.047	0.099	-0.135	47
19	ABCA1	9606	hsa-miR-183	2	1366	1372	-0.011	-0.048	0.087	-0.133	46
20	ABCA2	9606	hsa-miR-495	2	666	672	-0.042	-0.092	-0.035	-0.33	93
23456	ABCB10	9606	hsa-miR-183	3	1475	1481	0.003	-0.109	-0.05	-0.466	98
6059	ABCE1	9606	hsa-miR-495	2	1474	1480	0.005	-0.046	0.006	-0.196	58
55324	ABCF3	9606	hsa-miR-1275	3	90	96	0.007	0.042	-0.055	-0.316	94
The aim of the function is to extract a dataframe of gene symbols along with a weighted score from the above data. The weighted score is the FC column of deMirs * the context_score column of deMirPresGenes. This is easy peasy!
Where I'm falling down is that if I run this function it complains that 'geneMetric' can't be found. Hmm - I've run it all line by line (i.e. not as a function) and it works but wrapped up like this it fails!
e.g.
>testF2 <- cumulMetric(testF1, deMirs$up)
Error in eval(expr, envir, enclos) : object 'geneMetric' not found
deMirs$up looks like this:
Probe	FC
hsa-miR-183	2.63
hsa-miR-1275	2.74
hsa-miR-495	3.13
hsa-miR-886-3p	3.73
hsa-miR-886-5p	3.97
hsa-miR-144*	6.62
hsa-miR-451	7.94
Could someone possibly point out where I falling down.
Thanks
i
> sessionInfo()
R version 2.12.0 (2010-10-15)
Platform: x86_64-pc-linux-gnu (64-bit)
locale:
 [1] LC_CTYPE=en_GB.utf8       LC_NUMERIC=C             
 [3] LC_TIME=en_GB.utf8        LC_COLLATE=en_GB.utf8    
 [5] LC_MONETARY=C             LC_MESSAGES=en_GB.utf8   
 [7] LC_PAPER=en_GB.utf8       LC_NAME=C                
 [9] LC_ADDRESS=C              LC_TELEPHONE=C           
[11] LC_MEASUREMENT=en_GB.utf8 LC_IDENTIFICATION=C      
attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     
loaded via a namespace (and not attached):
[1] tools_2.12.0
>
    
    
More information about the Bioconductor
mailing list