#### The support.bioconductor.org editor has been updated to markdown! Please see more info at: Tutorial: Updated Support Site Editor

Question: rice annotation package
0
9 months ago by
zhang.jianhai0 wrote:

Hello,

Is there an equivalent package for rice Affymetrix like Arabidopsis (https://bioconductor.org/packages/release/data/annotation/html/ath1121501.db.html)?

I want to retrieve the annotations by using rice affymetrix ids.

Regards,

Jianhai

rice annotation package • 275 views
modified 9 months ago by James W. MacDonald49k • written 9 months ago by zhang.jianhai0

Is this what you mean riceprobe ?

2
9 months ago by
United States
James W. MacDonald49k wrote:

There isn't a rice annotation package, nor is there any facility to build one yourself. Options would be to

• Download the annotation csv from the Affy website and roll yer own
• Use biomaRt
• Use whatever you get from GEO, which is pretty much what the submitter got from Affy

I would choose the latter, all things equal. Something like

> library(biomaRt)
> library(GEOquery)
> z <- getGEO("GSE4471")[[1]])
> mart <- useMart("plants_mart", "osativa_eg_gene",host = "plants.ensembl.org")
> annot <- getBM(c("affy_rice","description","ensembl_gene_id","entrezgene"), "affy_rice", featureNames(z), mart)

will give you the description, Ensembl ID and Entrez Gene ID. You can get other things as well. See the biomaRt vignette for more information.

Also do note that the results from biomaRt WON'T be in the same order as the query, so you need to ask to get the affy_rice IDs back, so you can use match to realign to your data. If you are using limma for analysis, you can then put that annot object into your ExpressionSet

eset <- rma(ReadAffy())

fData(eset) <- annot

And that will be carried through to your output topTable.

What I said about no facility to build one yourself isn't 100% correct. You could hypothetically build one using AnnotationForge's makeChipPackage along with an OrgDb from AnnotationHub:

> hub <- AnnotationHub()
snapshotDate(): 2018-04-23
> query(hub, c("oryza","orgdb"))
AnnotationHub with 9 records
# snapshotDate(): 2018-04-23
# $dataprovider: ftp://ftp.ncbi.nlm.nih.gov/gene/DATA/ #$species: Aspergillus oryzae_RIB40, Bipolaris oryzae_ATCC_44560, Magnaport...
# \$rdataclass: OrgDb
# additional mcols(): taxonomyid, genome, description,
#   rdatapath, sourceurl, sourcetype
# retrieve records with, e.g., 'object[["AH61938"]]'

title
AH61938 | org.Oryza_sativa_(japonica_cultivar-group).eg.sqlite
AH61939 | org.Oryza_sativa_Japonica_Group.eg.sqlite
AH61940 | org.Oryza_sativa_subsp._japonica.eg.sqlite
AH62214 | org.Oryza_brachyantha.eg.sqlite
AH62580 | org.Magnaporthe_oryzae_70-15.eg.sqlite
AH62596 | org.Aspergillus_oryzae_RIB40.eg.sqlite
AH62653 | org.Bipolaris_oryzae_ATCC_44560.eg.sqlite
AH63011 | org.Trichosporon_oryzae.eg.sqlite
AH63381 | org.Xanthomonas_oryzae_pv._oryzae_PXO99A.eg.sqlite 

But those are 'bare' SQLite databases, and the functions in AnnotationForge really want an installed OrgDb package. So you would either have to create an actual OrgDb package, or change the code in AnnotationForge to accept a bare SQLite database.

That's very useful. How can I get all the host names? It seems there is not listHosts() function.

Regards.

1

Go to ensembl.org and scroll down to the bottom to see the sister sites.