ALL Metrics
-
Views
-
Downloads
Get PDF
Get XML
Cite
Export
Track
Software Tool Article
Revised

Biobtree: A tool to search and map bioinformatics identifiers and special keywords

[version 2; peer review: 1 approved, 1 approved with reservations]
Previously titled: Biobtree: A tool to search, map and visualize bioinformatics identifiers and special keywords
PUBLISHED 16 Sep 2019
Author details Author details
OPEN PEER REVIEW
REVIEWER STATUS

This article is included in the Bioinformatics gateway.

This article is included in the EMBL-EBI collection.

Abstract

Biobtree is a bioinformatics tool to search and map bioinformatics datasets via identifiers or special keywords such as species name. It processes large bioinformatics datasets using a specialized MapReduce-based solution with optimum computational and storage resource usage. It provides uniform and B+ tree-based database output, web interface, web services and allows performing chain mapping queries between datasets. It is managed by a single binary file without requiring installation, specific technical knowledge or extra maintenance. Biobtree is open source and available at GitHub.

Keywords

bioinformatics, identifiers, search, mapping, visualization

Revised Amendments from Version 1

In this new version, based on reviewers comments article has been reconstructed and tool has been
improved by integrating new datasets and adding new major feature for performing mapping queries
via web interface and web services.

See the author's detailed response to the review by Samuel Lampa
See the author's detailed response to the review by Maxim N. Shokhirev

Introduction

Mapping bioinformatics datasets through a web interface or programmatically via identifiers or special keywords and attributes such as gene name, gene location, protein accessions and species name is a common need during genomics research. These mappings play an essential role in molecular data integration (Huang et al., 2011) and allow the gathering of maximum biological insight (Mudunuri et al., 2009) for these diverse bioinformatics datasets.

There are several existing tools for these mapping needs; these tools are gene-centric, protein-centric or can provide both gene- and protein-centric solutions. One of the common gene-centric tools is BioMart (Zhang et al., 2011)-based tools such as Ensembl BioMarts (Kinsella et al., 2011) which covers Ensembl (Zerbino et al., 2018) and Ensembl Genomes (Kersey et al., 2018) datasets. The R programming language package biomarRt (Durinck et al., 2009) is also widely used via performing queries with BioMart-based tools. Other common gene-centric tools are MyGene.info (Xin et al., 2016), DAVID (Huang da et al., 2009) and g:Profiler (Raudvere et al., 2019). Uniprot ID mapping service (Huang et al., 2011) provides a protein-centric solution. bioDBnet (Mudunuri et al., 2009) and BridgeDb (van Iersel et al., 2010) provide services for both gene- and protein-centric solutions.

On the other hand, genomics data size is increasing continuously (Langmead & Nellore, 2018) especially via high throughput sequencing, so performing these mapping on these expanding data sizes in local computers, cloud computing or existing computing environments in a rapid and effective way via tools with easy installation and requiring minimum maintenance is a challenge (Marx, 2013).

The referenced existing gene-centric tools currently do not support large Ensembl Bacteria genomes. Existing tools either provide only online service or require specific technical knowledge such as a particular database or specific programming language to install, use and adapt to different computational environments such as a local computer. Another limitation of the referenced tools is that they provide one-dimensional filtering capability in a single mapping query.

Biobtree address these problems of existing tools, First, it can be used via a single executable file without requiring installation, specific technical knowledge or extra maintenance such as database administration. To process large datasets, it uses a specialized MapReduce-based solution which is discussed in the next section. MapReduce is an effective way to deal with large datasets (Langmead & Nellore, 2018). After processing data, Biobtree provides a web interface, web services and chain mapping and filtering query capability in a single query with its intuitive query syntax which is demonstrated in the use cases section. Biobtree covers a range of bioinformatics datasets including Ensembl Bacteria genomes. The data resources currently used are ChEBI (Hastings et al., 2016), HGNC (Braschi et al., 2019), HMDB (Wishart et al., 2018), InterPro (Mitchell et al., 2019), Europe PMC (Europe PMC Consortium, 2015), UniProt (UniProt Consortium, 2019), Chembl (Gaulton et al., 2017), Gene Ontology (The Gene Ontology Consortium, 2019), EFO (Malone et al., 2010), ECO (Giglio et al., 2019), Ensembl (Zerbino et al., 2018) and Ensembl Genomes (Kersey et al., 2018). Table 1 shows details of these datasets.

Table 1. List of datasets.

DatasetDescriptionLocationFormat
ChEBIChEBI reference accession dataftp.ebi.ac.uk/chebi/Flat_file_tab_delimited/TSV
HGNCHuman gene nomenclatureftp.ebi.ac.uk/genenames/new/json/JSON
HMDBHuman metabolome databasehttp://www.hmdb.ca/system/downloads/current/XML
InterProProtein Familiesftp://ftp.ebi.ac.uk/pub/databases/interpro/currentXML
Literature mappingsLiterature pmid, pmcid and doi mappingsftp://ftp.ebi.ac.uk/pub/databases/pmc/DOI/CSV
TaxonomyNCBI Taxonomyftp://ftp.ebi.ac.uk/pub/databases/taxonomy/XML
UniparcUniProt Sequence Archiveftp.ebi.ac.uk/pub/databases/uniprot/current_release/uniparc/XML
UniProt reviewedUniProt Knowledgebase reviewedftp.ebi.ac.uk/pub/databases/uniprot/current_release/knowledgebase/complete/XML
UniProt unreviewedUniProt Knowledgebase unreviewedftp.ebi.ac.uk/pub/databases/uniprot/current_release/knowledgebase/complete/XML
Uniref50UniProt sequence clustersftp.ebi.ac.uk/pub/databases/uniprot/current_release/uniref/uniref50/ XML
Uniref90UniProt sequence clustersftp.ebi.ac.uk/pub/databases/uniprot/current_release/uniref/uniref90/XML
Uniref100UniProt sequence clustersftp.ebi.ac.uk/pub/databases/uniprot/current_release/uniref/uniref100/XML
GOGene Ontologyhttp://purl.obolibrary.org/obo/go.owlRDF/XML
ECOThe Evidence & Conclusion Ontologyhttp://purl.obolibrary.org/obo/eco.owlRDF/XML
EFOExperimental Factor Ontologyhttp://www.ebi.ac.uk/efo/efo.owlRDF/XML
ChEMBLChemical database of bioactive moleculesftp.ebi.ac.uk/pub/databases/chembl/ChEMBL-RDF/latest/RDF/XML
EnsemblEnsemblftp.ensembl.org/pub/current_json/
ftp.ensembl.org/pub/current_mysql/
JSON,CSV
Ensembl Genomes MetazoaEnsembl Genomes Metazoaftp://ftp.ensemblgenomes.org/pub/current/metazoa/json/
ftp://ftp.ensemblgenomes.org/pub/current/metazoa/mysql/
JSON,CSV
Ensembl Genomes PlantsEnsembl Genomes Plantsftp://ftp.ensemblgenomes.org/pub/current/plants/json/
ftp://ftp.ensemblgenomes.org/pub/current/plants/mysql/
JSON,CSV
Ensembl Genomes FungiEnsembl Genomes Fungiftp://ftp.ensemblgenomes.org/pub/current/fungi/json/
ftp://ftp.ensemblgenomes.org/pub/current/fungi/mysql/
JSON,CSV
Ensembl Genomes ProtistsEnsembl Genomes Protistsftp://ftp.ensemblgenomes.org/pub/current/protists/json/
ftp://ftp.ensemblgenomes.org/pub/current/protists/mysql/
JSON,CSV
Ensembl Genomes BacteriaEnsembl Genomes Bacteriaftp://ftp.ensemblgenomes.org/pub/current/bacteria/json/JSON

Methods

Implementation

The Biobtree implementation process starts by retrieving selected datasets as shown in Table 1 and retrieving data entries belonging to these datasets with their attributes and mapping information from their public locations, which are also shown in Table 1. During this data retrieval, the whole of the data do not get stored and uncompressed on the disc, instead data are retrieved and uncompressed in a streaming manner in the memory, which allows avoiding excessive disc space usage. Necessary data, which are these mapping and attributes, are compactly stored as chunks on the disc. During these data retrievals, all the idle CPUs have been utilized to merge and sort these chunks recursively with each other. It is essential that the produced files are sorted to make fast batch inserts to the LMDB database which Biobtree uses as a database to store its result data. Once the data retrieval process is completed, result chunk files are globally merged using the patience sort technique and inserted into the LMDB database as key and values. Keys consist of identifiers and special keywords such as gene names or species name, and values are attributes and mapped datasets information. In these processes, data retrieval and creation of sorted chunks represent the map phase, global merge of the chunks and database creation represent the reduce phase of the MapReduce solution. Once the database is created, the Biobtree web module provides a web interface and web services to perform both searching for identifiers and mapping queries. Mapping queries has been done with a query syntax which allows chains of mapping and filtering between datasets. An example use case with this syntax is demonstrated in the next section. Biobtree uses a B+ tree data structure-based LMDB key-value store. LMDB provides fast batch inserts and reads which fits the bioinformatics datasets update cycle well where datasets are often updated periodically, and then only intensive read operations are performed. LMDB is embedded into Biobtree’s executable binary code so it does not require a separate installation or special maintenance.

Use cases

This section covers three use cases. Each use case consists of two or three inputs, a command for how to run them on a local computer and the expected output after performing the use case. The first input is called ‘terms’, which contains a set of identifiers or special keywords such as species name separated by commas. The mapping process starts based on records belonging to these terms. The second input is a mapping query which consists of chains of map and filter function queries. The map function query takes a single dataset name as an argument and the filter function gets a Boolean query based on given source datasets attributes to filter out mappings. Datasets’ attributes are mostly available for source datasets shown in Table 1 and can be explored via the web interface by searching identifiers. The third optional input is dataset to filter out terms which occurred in different dataset with same value. To perform use cases, a given command needs to be run from a terminal via a Biobtree binary file which can be downloaded from the GitHub page. Once a command runs, it processes related data and the Biobtree web interface opens and the use case can be performed via the web interface. For use cases 1 and 2, because it is the same dataset, it is enough to run the command once. For use case 3, the commands need to be run again to process specific bacteria datasets instead of the default human genome dataset.

usecase-1 Map Affymetrix identifiers to Ensembl human genome identifiers and then map these to the molecular function type GO terms

Command    biobtree start

Terms    202763_at,209310_s_at

Mapping query    map(transcript).map(ensembl).filter(ensembl.genome=="homo_sapiens").map(go).filter(go.type=="molecular_function")

Dataset    affy_hg_u133_plus_2

Output     Query results 21 GO terms. The terms which maps to identifier 202763_at are GO:0002020, GO:0004190, GO:0004197, GO:0004861, GO:0005123, GO:0005515, GO:0008233, GO:0008234, GO:0016005, GO:0016787, GO:0044877, GO:0097153, GO:0097199 and GO:0097200. And the terms which maps to identifier 209310_s_at are GO:0004197, GO:0005515, GO:0008233, GO:0008234, GO:0016787, GO:0050700 and GO:0097199.

usecase-2 Map human Ensembl identifiers with given genome location to the reviewed Uniprot identifiers

Command    biobtree start

Term    homo_sapiens

Mapping query    map(ensembl).filter(ensembl.start>100000000 && ensembl.end< 101000000 && ensembl.seq_region_name=="X").map(uniprot).filter(uniprot.reviewed)

Output    Query results 9 Uniprot reviewed proteins. These protein identifiers are O43657, Q9H2S6, P33240, O60687, Q96C24, Q8TAB3, Q5H913, Q6PP77 and Q9Y5S8.

usecase-3 Map all taxonomic children of given bacteria and then map these children to Ensembl with given genome location and contains a given word

Command    biobtree -d +ensembl_bacteria -sp "serovar_infantis,serovar_virchow" start

Term    Salmonella enterica subsp. enterica

Mapping query    map(taxchild).map(ensembl).filter(ensembl.start<10000&&ensembl.description.contains("SopD"))

Output     Query results 7 Ensembl Genomes Bacteria genes. These gene identifiers are AEW14_05145, AEW14_15935, ACH54_23895, ACH56_04205, DE27_21250, DE87_06330 and LPMST02_21800.

Discussion

A mapping between bioinformatics datasets via identifiers or special keywords such as species names is often performed during genomic analyses and plays an essential role in molecular data integration and getting maximum biological insight from these datasets. There are several gene-centric, protein-centric and both protein- and gene-centric tools for addressing these mapping needs. These tools currently do not support the large Ensembl Genomes Bacteria dataset. In addition, these tools provide either only online services or require specific technical knowledge to install and adapt to new computing environments. Existing tools also provide one-dimensional filtering in a single mapping query. Biobtree addresses these problems by managing a tool with a single executable file without requiring specific technical knowledge and processing large datasets with its specialized MapReduce-based solution. Based on processed data, it creates a uniform database and allows searching identifiers and chain mappings and filtering queries with its web interface and web services.

Future work

More datasets can be integrated into the existing system such as gene expression. In addition, following and experimenting with the advancements in large data processing techniques, databases and data structures fields to improve the tool further.

Data availability

All data underlying the results are available as part of the article and no additional source data are required.

Software availability

All source codes and binaries available at: https://www.github.com/tamerh/biobtree.

Archived source code at time of publication: https://doi.org/10.5281/zenodo.2547047

License: BSD 3-Clause “New” or “Revised” license.

Comments on this article Comments (0)

Version 4
VERSION 4 PUBLISHED 04 Feb 2019
Comment
Author details Author details
Competing interests
Grant information
Copyright
Download
 
Export To
metrics
Views Downloads
F1000Research - -
PubMed Central
Data from PMC are received and updated monthly.
- -
Citations
CITE
how to cite this article
Gur T. Biobtree: A tool to search and map bioinformatics identifiers and special keywords [version 2; peer review: 1 approved, 1 approved with reservations]. F1000Research 2019, 8:145 (https://doi.org/10.12688/f1000research.17927.2)
NOTE: If applicable, it is important to ensure the information in square brackets after the title is included in all citations of this article.
track
receive updates on this article
Track an article to receive email alerts on any updates to this article.

Open Peer Review

Current Reviewer Status: ?
Key to Reviewer Statuses VIEW
ApprovedThe paper is scientifically sound in its current form and only minor, if any, improvements are suggested
Approved with reservations A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit.
Not approvedFundamental flaws in the paper seriously undermine the findings and conclusions
Version 2
VERSION 2
PUBLISHED 16 Sep 2019
Revised
Views
10
Cite
Reviewer Report 21 Oct 2019
Samuel Lampa, Department of Pharmaceutical Biosciences, Uppsala University, Uppsala, Sweden;  Savantic AB, Stockholm, Sweden 
Approved
VIEWS 10
The revised article is now much improved, with a solid introduction explaining the problem area and previous research, use cases, and with the title amended to better reflect the functionality of the tool. I think it can now be approved, ... Continue reading
CITE
CITE
HOW TO CITE THIS REPORT
Lampa S. Reviewer Report For: Biobtree: A tool to search and map bioinformatics identifiers and special keywords [version 2; peer review: 1 approved, 1 approved with reservations]. F1000Research 2019, 8:145 (https://doi.org/10.5256/f1000research.22620.r53983)
NOTE: it is important to ensure the information in square brackets after the title is included in all citations of this article.
  • Author Response 22 Oct 2019
    Tamer Gur, EMBL European Bioinformatics Institute, UK, UK
    22 Oct 2019
    Author Response
    Thank you very much for taking time to review the article and for all the comments and suggestions. I will address your new minor suggestions in the next version together ... Continue reading
COMMENTS ON THIS REPORT
  • Author Response 22 Oct 2019
    Tamer Gur, EMBL European Bioinformatics Institute, UK, UK
    22 Oct 2019
    Author Response
    Thank you very much for taking time to review the article and for all the comments and suggestions. I will address your new minor suggestions in the next version together ... Continue reading
Views
11
Cite
Reviewer Report 27 Sep 2019
Maxim N. Shokhirev, Razavi Newman Integrative Genomics and Bioinformatics Core, Salk Institute for Biological Studies, La Jolla, CA, USA 
Approved with Reservations
VIEWS 11
The author now includes references to previously published annotation tools and services such as BioMart and MyGene.info and points out several limitations of the extant tools that are addressed with Biobtree. In addition, the author now includes an online portal ... Continue reading
CITE
CITE
HOW TO CITE THIS REPORT
Shokhirev MN. Reviewer Report For: Biobtree: A tool to search and map bioinformatics identifiers and special keywords [version 2; peer review: 1 approved, 1 approved with reservations]. F1000Research 2019, 8:145 (https://doi.org/10.5256/f1000research.22620.r53984)
NOTE: it is important to ensure the information in square brackets after the title is included in all citations of this article.
Version 1
VERSION 1
PUBLISHED 04 Feb 2019
Views
19
Cite
Reviewer Report 15 Apr 2019
Samuel Lampa, Department of Pharmaceutical Biosciences, Uppsala University, Uppsala, Sweden;  Savantic AB, Stockholm, Sweden 
Approved with Reservations
VIEWS 19
The article describes a commandline tool, Biobtree, that is claimed to allow to process relations between bioinformatics datasets based on various characteristics such as identifiers and keywords.

The manuscript describes the tool in a clear way technically, ... Continue reading
CITE
CITE
HOW TO CITE THIS REPORT
Lampa S. Reviewer Report For: Biobtree: A tool to search and map bioinformatics identifiers and special keywords [version 2; peer review: 1 approved, 1 approved with reservations]. F1000Research 2019, 8:145 (https://doi.org/10.5256/f1000research.19605.r46335)
NOTE: it is important to ensure the information in square brackets after the title is included in all citations of this article.
Views
49
Cite
Reviewer Report 07 Mar 2019
Maxim N. Shokhirev, Razavi Newman Integrative Genomics and Bioinformatics Core, Salk Institute for Biological Studies, La Jolla, CA, USA 
Not Approved
VIEWS 49
While it is important to create a consistent and queryable database of biological identifiers, it is unclear what advances this tool brings to the field. For example, how does this tool compare to other queryable database tools such as mygene.info, ... Continue reading
CITE
CITE
HOW TO CITE THIS REPORT
Shokhirev MN. Reviewer Report For: Biobtree: A tool to search and map bioinformatics identifiers and special keywords [version 2; peer review: 1 approved, 1 approved with reservations]. F1000Research 2019, 8:145 (https://doi.org/10.5256/f1000research.19605.r45074)
NOTE: it is important to ensure the information in square brackets after the title is included in all citations of this article.
  • Author Response 10 Mar 2019
    Tamer Gur, EMBL European Bioinformatics Institute, UK
    10 Mar 2019
    Author Response
    Thank you for reviewing the article. I agree that there are several similar tools exist with different dataset and functionalities such as Biomart and mygene.info. However, this tool can still ... Continue reading
COMMENTS ON THIS REPORT
  • Author Response 10 Mar 2019
    Tamer Gur, EMBL European Bioinformatics Institute, UK
    10 Mar 2019
    Author Response
    Thank you for reviewing the article. I agree that there are several similar tools exist with different dataset and functionalities such as Biomart and mygene.info. However, this tool can still ... Continue reading

Comments on this article Comments (0)

Version 4
VERSION 4 PUBLISHED 04 Feb 2019
Comment
Alongside their report, reviewers assign a status to the article:
Approved - the paper is scientifically sound in its current form and only minor, if any, improvements are suggested
Approved with reservations - A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit.
Not approved - fundamental flaws in the paper seriously undermine the findings and conclusions
Sign In
If you've forgotten your password, please enter your email address below and we'll send you instructions on how to reset your password.

The email address should be the one you originally registered with F1000.

Email address not valid, please try again

You registered with F1000 via Google, so we cannot reset your password.

To sign in, please click here.

If you still need help with your Google account password, please click here.

You registered with F1000 via Facebook, so we cannot reset your password.

To sign in, please click here.

If you still need help with your Facebook account password, please click here.

Code not correct, please try again
Email us for further assistance.
Server error, please try again.