[BioC] topTable (fit) annotation
Jing Huang
huangji at ohsu.edu
Wed Aug 31 18:21:12 CEST 2011
Thank YOU Sean for responding my question. I am not sure where I should
add the platform annotation in.
Here are what I observed:
If I extract "GDS2162" by typing in
> gds=getGEO("GDS2162")
> eset=GDS2eSet(gds,do.log2=T)
>eset
ExpressionSet (storageMode: lockedEnvironment)
assayData: 45101 features, 16 samples
element names: exprs
protocolData: none
phenoData
sampleNames: GSM67339 GSM67343 ... GSM67352 (16 total)
varLabels: sample genotype/variation agent description
varMetadata: labelDescription
featureData
featureNames: 1415670_at 1415671_at ... AFFX-TrpnX-M_at (45101 total)
fvarLabels: ID Gene.title ... GO.Component.1 (21 total)
fvarMetadata: Column labelDescription
experimentData: use 'experimentData(object)'
pubMedIds: 16237459
Annotation:
Most of annotation is in.
If I extract "GSE16962" by typing in
>gse=getGEO("GSE16962")
> gse
$GSE16962_series_matrix.txt.gz
ExpressionSet (storageMode: lockedEnvironment)
assayData: 54675 features, 12 samples
element names: exprs
protocolData: none
phenoData
sampleNames: GSM424759 GSM424760 ... GSM424770 (12 total)
varLabels: title geo_accession ... data_row_count (34 total)
varMetadata: labelDescription
featureData
featureNames: 1007_s_at 1053_at ... AFFX-TrpnX-M_at (54675 total)
fvarLabels: ID GB_ACC ... Gene.Ontology.Molecular.Function (16 total)
fvarMetadata: Column Description labelDescription
experimentData: use 'experimentData(object)'
Annotation: GPL570
It looks to me it includes annotation package such as GO term....
But I can't use this eset data to do further analysis (such as fit table)
what I need.
If I extract ("GSE16962") by typing in
>gse=getGEO("GSE16962", GSEMatrix=F)
Then following GEOquery package, I can generate eset2, which I can use to
do analysis what I need. But the eset2 looks like this:
> eset2
ExpressionSet (storageMode: lockedEnvironment)
assayData: 54675 features, 12 samples
element names: exprs
protocolData: none
phenoData
sampleNames: GSM424759 GSM424760 ... GSM424770 (12 total)
varLabels: samples
varMetadata: labelDescription
featureData: none
experimentData: use 'experimentData(object)'
Annotation:
Here are the scripts that I use to generate eset2:
>probesets <- Table(GPLList(gse)[[1]])$ID
> data.matrix <- do.call("cbind", lapply(GSMList(gse), function(x) {
+ tab <- Table(x)
+ mymatch <- match(probesets,tab$ID_REF)
+ return(tab$VALUE[mymatch])
+ }))
> data.matrix <- apply(data.matrix, 2, function(x) {
+ as.numeric(as.character(x))
+ })
> require(Biobase)
> rownames(data.matrix) <- probesets
> colnames(data.matrix) <- names(GSMList(gse))
> pdata <- data.frame(samples=names(GSMList(gse)))
> rownames(pdata) <- names(GSMList(gse))
> pheno <- as(pdata,"AnnotatedDataFrame")
> eset2 <- new('ExpressionSet',exprs=data.matrix,phenoData=pheno)
At which step, I should add
>gplannot = getGEO("GPL96", AnnotGPL=TRUE)
Many Many thanks
Jing
On 8/30/11 6:01 PM, "Sean Davis" <sdavis2 at mail.nih.gov> wrote:
>Hi, Jing.
>
>NCBI GEO maintains two types of GPL records. The normal variant is
>just supplied by the submitter. However, when a GEO Series is curated
>by NCBI GEO into a GEO DataSet (GDS), they create a so-called
>"Annotation GPL". These have a relatively standard set of columns. I
>have not made the change to GEOquery yet to grab this annotation GPL
>when getting Series Matrix files. But, you can get them yourself by
>specifying:
>
>gplannot = getGEO("GPL96", AnnotGPL=TRUE)
>
>You can always replace the feature data of the ExpressionSets with the
>information in the retrieved Annotation GPL.
>
>I hope that is clear.
>
>Sean
>
>
>On Tue, Aug 30, 2011 at 5:01 PM, Jing Huang <huangji at ohsu.edu> wrote:
>> Dear All members,
>>
>> I have been extracting data from GEO (GEO package) and do some analysis
>>on them by using limma package. What I discover is the components of
>>topTable(fit) are different from the dataset GDS and GSE.
>>
>> If the data is from GDS, then the colnames of topTable (fit) looks like
>>this.
>>
>>> colnames(topTable(fit))
>> [1] "ID" "Gene.title" "Gene.symbol"
>> [4] "Gene.ID" "UniGene.title" "UniGene.symbol"
>> [7] "UniGene.ID" "Nucleotide.Title" "GI"
>> [10] "GenBank.Accession" "Platform_CLONEID" "Platform_ORF"
>> [13] "Platform_SPOTID" "Chromosome.location"
>>"Chromosome.annotation"
>> [16] "GO.Function" "GO.Process" "GO.Component"
>> [19] "GO.Function.1" "GO.Process.1" "GO.Component.1"
>> [22] "CTRL" "HIF1a" "HIF2a"
>> [25] "HIF1a2a" "AveExpr" "F"
>> [28] "P.Value" "adj.P.Val"
>>
>> If the data is from GSE, then the colnames of topTable(fit) looks
>>like this:
>>
>>>colnames(topTable(fit)
>>
>> [1] "ID" "mir210" "CTRL2" "AveExpr" "F"
>>"P.Value" "adj.P.Val"
>>
>> I am trying to add some term into this table by doing following one by
>>one: the data is generated by Affymetrix human U133 platform:
>>
>>>Library(hgu133plus2.db)
>>>x=hgu133plus2SYMBOL
>>>y=topTable(fit)
>>>y$SYMBOL=unlist(as.list(x[y$ID]))
>>
>> It works but I need to add ENTREZID,SYMBOL,CHR, CHRloc, and GO
>>annotations as well. I like to have the topTable more like the
>>topTable(fit) generated at top by data GEO GDS data
>>
>> I am wondering if there is an easy way to annotate all once.
>>
>> In addition, I am having a trouble to annotate GO term.
>>
>> Many Thanks
>>
>> Jing
>>
>>
>>
>>
>> [[alternative HTML version deleted]]
>>
>> _______________________________________________
>> Bioconductor mailing list
>> Bioconductor at r-project.org
>> https://stat.ethz.ch/mailman/listinfo/bioconductor
>> Search the archives:
>>http://news.gmane.org/gmane.science.biology.informatics.conductor
>>
More information about the Bioconductor
mailing list