Thank you so much!!!
I am trying to analyze GSE 30321 datasets in R. However, it has 295 samples separated into two files. I use
gset <- getGEO('GSE30321',GSEMatrix=TRUE)
In this way, gset has two elements. Does anyone know how to merge the two files into one and gset has only one element with 295 files? Thank you.
2 answers
gselist = getGEO("GSE30321")
eset = combine(gselist[[1]],gselist[[2]])
This is usually all that is needed.
I always forget about combine(), very useful.
The limitation with the combine() function is that you are leaving the clinical annotations behind.
InSilico DB has a "merging" R-Bioconductor package to combine public datasets from GEO and their clinical annotations. If you are not using R you can also combine data from the online platform (See this short step-by-step tutorial)
Example:
# Retrieve 2 datasets
eset1 = getDataset(gse="GSE10072", gpl="GPL96", norm="ORIGINAL", genes=TRUE);
eset2 = getDataset(gse="GSE7670", gpl="GPL96", norm="ORIGINAL", genes=TRUE);
#combine them
esets = list(eset1, eset2);
eset = merge(esets, method="NONE");
#plot them
plotMDS(eset, targetAnnot="Disease", batchAnnot="Study");
InSilico DB packaged various batch removal effects methods so line 4 could be replaced with:
eset = merge(esets, method="XPN");
or
eset = merge(esets, method="COMBAT");
Hope this helps.
For more info Bioinformatics paper reference; InSilico DB and InSIlico Merging packages links, and blog link.
- Unlocking the potential of publicly available microarray data using inSilicoDb and inSilicoMerging R/Bioconductor packages -BMC Bioinfomatics
- inSilicoDb: an R/Bioconductor package for accessing human Affymetrix expert-curated datasets from GEO - Bioinformatics
- Tutorial example
R-Bioconductor packages:
Log in to answer this question.
Fixed typo and formatting in your code.