Hi everyone,

I have a list of 150 locations (eg: "10:112834:113150") and I would like to retrieve the variants found in these locations,

This is the command I use to get the variants (*fantom_locs* contains the list of locations):

    snp_db <- useEnsembl(biomart="snp", dataset="hsapiens_snp")
    
    snps_FANTOM <- getBM(attributes = c('refsnp_id'),
                         filters = c('chromosomal_region'), 
                         values = fantom_locs, 
                         mart = snp_db)

It works for a few locations but then I get a timeout error, I can implement a for loop to fetch the snps on one location at a time, but it is very slow and I just wondered if there was a better way to do this.

For example is it worth it to download a local version of the mart ?


Hi Corentin,

Since this query is too large for BioMart, I would suggest using the Ensembl REST API Overlap endpoint, restricting the query using the 'feature=variation' parameter:
https://rest.ensembl.org/documentation/info/overlap_region

e.g
https://rest.ensembl.org/overlap/region/human/7:140424943-140624564?content-type=application/json;feature=variation

Best wishes

Ben
Ensembl Helpdesk
