[BioC] biomaRt: using a list as values. confused...
J.delasHeras at ed.ac.uk
J.delasHeras at ed.ac.uk
Thu Jun 9 17:49:55 CEST 2011
I'm trying to obtain information about genes within a number of
regions defined by a chromosome name, start and end coordinates.
I understand that the way to specify multiple filters to be used
together (a set of chr+start+end) is to use a list for 'values'.
This seems to work ok when I have more than one region (I tested it
using two regions first, before doing the proper search for >1000),
but if I were to specify just one region, it does not work... and I'm
wondering how I would do it in that case.
Example:
library("biomaRt")
ensembl = useMart("ENSEMBL_MART_ENSEMBL",
dataset="hsapiens_gene_ensembl",
host="www.ensembl.org")
chrom<-c("1", "2")
chr.start<-c(11401198, 86460656)
chr.stop<-c(11694590, 86663869)
attributes<-c("hgnc_symbol", "entrezgene", "chromosome_name",
"start_position", "end_position", "strand", "band")
# extract both regions at once:
getBM(attributes=attributes,
filters=c("chromosome_name","start","end"),
values=list(chrom,chr.start,chr.stop),mart=ensembl)
#this works, returning 1939 rows of data, the first 1198 with chr1
#corresponding to teh first region, and the rest with chr2 to teh
second. Good.
#but how does one retrieve the data for just ONE region?
# try this:
getBM(attributes=attributes,
filters=c("chromosome_name","start","end"),
values=list(chrom[1],chr.start[1],chr.stop[1]),mart=ensembl)
# it only returns one gene!!! (in two rows)
so, when I just want to do a single search with multiple filters, how
would I specify the values?
Jose
--
Dr. Jose I. de las Heras Email: J.delasHeras at ed.ac.uk
The Wellcome Trust Centre for Cell Biology Phone: +44 (0)131 6507090
Institute for Cell & Molecular Biology Fax: +44 (0)131 6507360
Swann Building, Mayfield Road
University of Edinburgh
Edinburgh EH9 3JR
UK
--
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.
More information about the Bioconductor
mailing list