Question: rice annotation package
gravatar for zhang.jianhai
9 weeks ago by
zhang.jianhai0 wrote:


Is there an equivalent package for rice Affymetrix like Arabidopsis (

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



ADD COMMENTlink modified 9 weeks ago by James W. MacDonald46k • written 9 weeks ago by zhang.jianhai0

Is this what you mean riceprobe ? 

ADD REPLYlink written 9 weeks ago by shepherl ♦♦ 650
gravatar for James W. MacDonald
9 weeks ago by
United States
James W. MacDonald46k 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 = "")
> 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.



ADD COMMENTlink written 9 weeks ago by James W. MacDonald46k

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:
# $species: Aspergillus oryzae_RIB40, Bipolaris oryzae_ATCC_44560, Magnaport...
# $rdataclass: OrgDb
# additional mcols(): taxonomyid, genome, description,
#   coordinate_1_based, maintainer, rdatadateadded, preparerclass, tags,
#   rdatapath, sourceurl, sourcetype
# retrieve records with, e.g., 'object[["AH61938"]]'

  AH61938 | org.Oryza_sativa_(japonica_cultivar-group).eg.sqlite
  AH61939 |           
  AH61940 |          
  AH62214 |                     
  AH62580 |              
  AH62596 |              
  AH62653 |           
  AH63011 |                   
  AH63381 | 

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.

ADD REPLYlink written 9 weeks ago by James W. MacDonald46k

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


ADD REPLYlink written 9 weeks ago by zhang.jianhai0

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

ADD REPLYlink written 9 weeks ago by James W. MacDonald46k
Please log in to add an answer.


Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.2.0
Traffic: 115 users visited in the last hour