The editor has been updated to markdown! Please see more info at: Tutorial: Updated Support Site Editor

Question: rice annotation package
gravatar for zhang.jianhai
9 months 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.



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

Is this what you mean riceprobe ? 

ADD REPLYlink written 9 months ago by shepherl ♦♦ 1.1k
Answer: rice annotation package
gravatar for James W. MacDonald
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 = "")
> 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 months ago by James W. MacDonald49k

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 months ago by James W. MacDonald49k

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


ADD REPLYlink written 9 months ago by zhang.jianhai0

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

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


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