I'm looking to do a meta-analysis of expression arrays in GEO for a particular cell line. I've been able to determine which GSE my samples are associated with, however there are a wide variety of GPL associated with them. At the moment I'm using GEOquery to retrieve the GSE ExpressionSets, and I'm curious if there is a way to match probe IDs across all of the ExpressionSets to a gene identifier like HGCN, Entrez ID, Ensembl etc.
I've tried merging ExpressionSets with inSilicoMerging, however the program is merging by the objects featureName of probe ID. Different platforms ... different probe names. So the only time merging actually works is when merging GSE with the same GPL. I have all of the GPL annotations, and I've gone through each and mapped probe ID to gene name, though I'm not sure how to go about using these to change the featureNames in my ExpressionSet objects to their corresponding gene names.
Any suggestions are appreciated.
Marty
2 answers
May be assign, mean of all probes to its target gene. then choose only those genes that are detectable in all platforms. once you have equal number of rows in different datasets, you can easily merge it by "merge" function in R
Figured it out:
gpl_annotation <- read.delim("~/gpl_annotation.txt")
count=1
for (name in featureNames(eset1)){
lookup_index <- which(gpl_annotation$V1==name)
try({featureNames(eset1)[[c]] = as.character(gpl_annotation[lookup_index,2])},TRUE)
count=count+1
}
Then, I'll mean of probes per target then merge.
Log in to answer this question.