Hi, I've been tried to make a TxDb object using a function 'makeTxDbFromBiomart' in r package 'GenomicFeatures' but failed.
I've got a message to report the error on the webpage.
Could you give me what happens while I run this and how will the problem be solved?
Here is the message that I've got:
txdb = makeTxDbFromBiomart(dataset = "mmusculusgeneensembl")
Download and preprocess the 'transcripts' data frame ... Error in getBM(attributes, filters = bmfilters, values = bmvalues, ...) :
The query to the BioMart webservice returned an invalid result: biomaRt expected a character string of length 1.
Please report this on the support site at http://support.bioconductor.org
The BioMart server seem to be being unreliable at the moment. Could you use the makeTxDbFromEnsembl() function instead? It should use the same data to create the TxDb object.
An arguably better idea is to use an already existing 'EnsDb` which should contain pretty much the same content, and doesn't require you to duplicate already expended effort.
> library(AnnotationHub)> hub <- AnnotationHub()|======================================================================| 100%
snapshotDate(): 2019-10-29
> z <- query(hub, c("musculus","ensdb"))> z
AnnotationHub with 12 records
# snapshotDate(): 2019-10-29 # $dataprovider: Ensembl# $species: Mus musculus# $rdataclass: EnsDb# additional mcols(): taxonomyid, genome, description,# coordinate_1_based, maintainer, rdatadateadded, preparerclass, tags,# rdatapath, sourceurl, sourcetype # retrieve records with, e.g., 'object[["AH53222"]]'
title
AH53222 | Ensembl 87 EnsDb for Mus Musculus
AH53726 | Ensembl 88 EnsDb for Mus Musculus
AH56691 | Ensembl 89 EnsDb for Mus Musculus
AH57770 | Ensembl 90 EnsDb for Mus Musculus
AH60788 | Ensembl 91 EnsDb for Mus Musculus
... ...
AH64944 | Ensembl 94 EnsDb for Mus musculus
AH67971 | Ensembl 95 EnsDb for Mus musculus
AH69210 | Ensembl 96 EnsDb for Mus musculus
AH73905 | Ensembl 97 EnsDb for Mus musculus
AH75036 | Ensembl 98 EnsDb for Mus musculus
## and if you are dead set on a TxDb with Ensembl IDs> zz <- query(hub, c("musculus","txdb"))> zz
AnnotationHub with 6 records
# snapshotDate(): 2019-10-29 # $dataprovider: UCSC# $species: Mus musculus# $rdataclass: TxDb# additional mcols(): taxonomyid, genome, description,# coordinate_1_based, maintainer, rdatadateadded, preparerclass, tags,# rdatapath, sourceurl, sourcetype # retrieve records with, e.g., 'object[["AH52263"]]'
title
AH52263 | TxDb.Mmusculus.UCSC.mm10.ensGene.sqlite
AH52264 | TxDb.Mmusculus.UCSC.mm10.knownGene.sqlite
AH52265 | TxDb.Mmusculus.UCSC.mm9.knownGene.sqlite
AH66175 | TxDb.Mmusculus.UCSC.mm10.knownGene.sqlite
AH70594 | TxDb.Mmusculus.UCSC.mm10.knownGene.sqlite
AH75762 | TxDb.Mmusculus.UCSC.mm10.knownGene.sqlite
## you could use the TxDb based on the ensGene table from UCSC