Search
Question: ChIPpeakAnno getAnnotation request fail
1
2.5 years ago by
igor20
United States
igor20 wrote:

I am trying to use BioMart. Selecting a database works:

mart = useMart(host="useast.ensembl.org", biomart="ENSEMBL_MART_ENSEMBL", dataset="mmusculus_gene_ensembl", verbose=T)

If I try to get annotations using TSS featureType, it takes a few seconds, but works:

martAnnot = getAnnotation(mart=mart, featureType="TSS")

However, if I use Exon:

martAnnot = getAnnotation(mart=mart, featureType="Exon")

It fails after several minutes:

Error in value[[3L]](cond) :

Request to BioMart web service failed. Verify if you are still connected to the internet.  Alternatively the BioMart web service is temporarily down.

If the TSS works, then the connection and the service are both functional. I tried repeating both several times with same results. What is going on?

modified 2.5 years ago • written 2.5 years ago by igor20
1

It looks like you lost the internet connection or your connection is not stable.

Maybe you want to have a try to use local annotations like this:

library(ChIPpeakAnno)

library(EnsDb.Mmusculus.v79)

exonAnno <- annoGR(EnsDb.Mmusculus.v79, feature="exon")

If it's the internet connection, then why do I not have problems with TSS? I repeated this multiple times over the course of several days.

Using EnsDb* packages limits me to just the three genomes that are available and just the build versions that are available.

1

I got it. It is a timeout error. It will be fix in next release version (2 or 3 days later). Thank you for reporting that.

1

Actually, it's pretty straightforward and easy to build EnsDb objects on any species/Ensembl release based on GTF files fetched from AnnotationHub or downloaded directly from the Ensembl ftp server:

library(ensembldb)
library(AnnotationHub)
ah <- AnnotationHub()

## Check what GTF files are available for Ensembl release 83, Mus musculus

> query(ah, c("Mus_musculus", "release-81"))
AnnotationHub with 7 records
# snapshotDate(): 2016-01-14
# $dataprovider: Ensembl #$species: Mus musculus
# \$rdataclass: FaFile, GRanges
# additional mcols(): taxonomyid, genome, description, tags, sourceurl,
#   sourcetype
# retrieve records with, e.g., 'object[["AH47973"]]'

title
AH47973 | Mus_musculus.GRCm38.81.gtf
AH49243 | Mus_musculus.GRCm38.cdna.all.fa
AH49244 | Mus_musculus.GRCm38.dna_rm.toplevel.fa
AH49245 | Mus_musculus.GRCm38.dna_sm.toplevel.fa
AH49246 | Mus_musculus.GRCm38.dna.toplevel.fa
AH49247 | Mus_musculus.GRCm38.ncrna.fa
AH49248 | Mus_musculus.GRCm38.pep.all.fa

## Fetch the GTF
> gtf <- ah[["AH47973"]]

## And build the EnsDb database.
> dbfile <- ensDbFromGRanges(gtf, organism="Mus_musculus",
genomeVersion="GRCm38", version="81")
> edb <- EnsDb(dbfile)

## you can use that straight away or build a package from it with makeEnsembldbPackage

## Note: in the devel version you can directly build the EnsDb from AnnotationHub; check the vignette for more information.