Biomart error: Does anyone know how to solve this error?
> head(data)
ID adj. P.Val P.Value logFC SPOT_ID Gene.Symbol
1 39846 0.998 0.0000870 -1.070 A_73_114228 LOC511158
2 13443 0.998 0.0000982 -0.504 A_73_111136 BI542041
3 30457 0.998 0.0001036 0.450 A_73_111981 LOC508459
4 2720 0.998 0.0001282 -0.437
5 18021 0.998 0.0002285 -0.388 A_73_113953 LOC614467
6 25665 0.998 0.0002665 0.321 A_73_115472 LOC530858
> mart1<- useMart(biomart="ENSEMBL_MART_ENSEMBL", dataset="btaurus_gene_ensembl", host="www.ensembl.org")
> mart2 <- getBM(attributes='ensembl_gene_id', filters='external_gene_name', values=data$Gene.Symbol, mart=mart1)
Error in getBM(attributes = "ensembl_gene_id", filters = "external_gene_name", :
The query to the BioMart webservice returned an invalid result: biomaRt expected a character string of length 1.
Please report this to the mailing list.
> sessionInfo()
R version 3.0.2 (2013-09-25)
Platform: i386-w64-mingw32/i386 (32-bit)
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] biomaRt_2.18.0 BiocInstaller_1.12.1
loaded via a namespace (and not attached):
[1] bitops_1.0-6 RCurl_1.95-4.5 tools_3.0.2 XML_3.98-1.1
• 2,705 views
•
link
1 answer
I think the choice of filters (i.e. external_gene_name) is wrong. The LOC is a NCBI gene name. Leave the LOC out and use the numbers only to get NCBI gene ID. LOC511158 is the gene name and 511158 is the NCBI gene ID you should select/input in BioMart.
Note that out of the NCBI IDs above I could only find the ENSG IDs for 511158 (ENSBTAG00000009599) and 614467 (ENSBTAG00000021432) using BioMart.
Are you sure the other LOC IDs are still standing? Some of the LOCs get other names now e.g. 614467 is NCBI gene name TEDDM1 now.
• 0 views
•
link
Log in to answer this question.
Please use a more informative title to let people know what the post is about before they decide to open it. Even a simple "BioMart error" would do compared to what is there now.
Are you running latest version of biomaRt? That is generally the first thing to check. People will likely ask for
sessionInfo()so go ahead and add that to your post as well.