Cargando…

phylotree.js - a JavaScript library for application development and interactive data visualization in phylogenetics

BACKGROUND: While several JavaScript packages for visualizing phylogenetic trees exist, most are best characterized as frameworks that are designed with a specific set of tasks in mind. Extending such packages to use cases that are not available as features often ends up being difficult. Moreover, e...

Descripción completa

Detalles Bibliográficos
Autores principales: Shank, Stephen D., Weaver, Steven, Kosakovsky Pond, Sergei L.
Formato: Online Artículo Texto
Lenguaje:English
Publicado: BioMed Central 2018
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6060545/
https://www.ncbi.nlm.nih.gov/pubmed/30045713
http://dx.doi.org/10.1186/s12859-018-2283-2
_version_ 1783342054671122432
author Shank, Stephen D.
Weaver, Steven
Kosakovsky Pond, Sergei L.
author_facet Shank, Stephen D.
Weaver, Steven
Kosakovsky Pond, Sergei L.
author_sort Shank, Stephen D.
collection PubMed
description BACKGROUND: While several JavaScript packages for visualizing phylogenetic trees exist, most are best characterized as frameworks that are designed with a specific set of tasks in mind. Extending such packages to use cases that are not available as features often ends up being difficult. Moreover, existing packages tend to produce standalone widgets that are not designed to serve as middleware, as opposed to flexible tools that can integrate with other components of an application. RESULTS: phylotree.js is a library that extends the popular data visualization framework d3.js, and is suitable for building JavaScript applications where users can view and interact with phylogenetic trees. The effects of such interactions can be captured and communicated to other package components, making it possible to engineer complex and responsive applications that include phylogenetic trees. phylotree.js implements several abstractions in addition to features, and comes with a documented application programming interface, thus promoting interoperability and extensibility. Example applications include a tool to visualize and annotate phylogenetic trees, a web application for comparative sequence analysis, a structural viewer that interacts with a large phylogenetic tree, and an interactive tanglegram. CONCLUSIONS: phylotree.js is a useful tool and application module for a variety of computational biology software applications. The code is available on Github and is released under the MIT license. ELECTRONIC SUPPLEMENTARY MATERIAL: The online version of this article (10.1186/s12859-018-2283-2) contains supplementary material, which is available to authorized users.
format Online
Article
Text
id pubmed-6060545
institution National Center for Biotechnology Information
language English
publishDate 2018
publisher BioMed Central
record_format MEDLINE/PubMed
spelling pubmed-60605452018-07-31 phylotree.js - a JavaScript library for application development and interactive data visualization in phylogenetics Shank, Stephen D. Weaver, Steven Kosakovsky Pond, Sergei L. BMC Bioinformatics Software BACKGROUND: While several JavaScript packages for visualizing phylogenetic trees exist, most are best characterized as frameworks that are designed with a specific set of tasks in mind. Extending such packages to use cases that are not available as features often ends up being difficult. Moreover, existing packages tend to produce standalone widgets that are not designed to serve as middleware, as opposed to flexible tools that can integrate with other components of an application. RESULTS: phylotree.js is a library that extends the popular data visualization framework d3.js, and is suitable for building JavaScript applications where users can view and interact with phylogenetic trees. The effects of such interactions can be captured and communicated to other package components, making it possible to engineer complex and responsive applications that include phylogenetic trees. phylotree.js implements several abstractions in addition to features, and comes with a documented application programming interface, thus promoting interoperability and extensibility. Example applications include a tool to visualize and annotate phylogenetic trees, a web application for comparative sequence analysis, a structural viewer that interacts with a large phylogenetic tree, and an interactive tanglegram. CONCLUSIONS: phylotree.js is a useful tool and application module for a variety of computational biology software applications. The code is available on Github and is released under the MIT license. ELECTRONIC SUPPLEMENTARY MATERIAL: The online version of this article (10.1186/s12859-018-2283-2) contains supplementary material, which is available to authorized users. BioMed Central 2018-07-25 /pmc/articles/PMC6060545/ /pubmed/30045713 http://dx.doi.org/10.1186/s12859-018-2283-2 Text en © The Author(s) 2018 Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made. The Creative Commons Public Domain Dedication waiver (http://creativecommons.org/publicdomain/zero/1.0/) applies to the data made available in this article, unless otherwise stated.
spellingShingle Software
Shank, Stephen D.
Weaver, Steven
Kosakovsky Pond, Sergei L.
phylotree.js - a JavaScript library for application development and interactive data visualization in phylogenetics
title phylotree.js - a JavaScript library for application development and interactive data visualization in phylogenetics
title_full phylotree.js - a JavaScript library for application development and interactive data visualization in phylogenetics
title_fullStr phylotree.js - a JavaScript library for application development and interactive data visualization in phylogenetics
title_full_unstemmed phylotree.js - a JavaScript library for application development and interactive data visualization in phylogenetics
title_short phylotree.js - a JavaScript library for application development and interactive data visualization in phylogenetics
title_sort phylotree.js - a javascript library for application development and interactive data visualization in phylogenetics
topic Software
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6060545/
https://www.ncbi.nlm.nih.gov/pubmed/30045713
http://dx.doi.org/10.1186/s12859-018-2283-2
work_keys_str_mv AT shankstephend phylotreejsajavascriptlibraryforapplicationdevelopmentandinteractivedatavisualizationinphylogenetics
AT weaversteven phylotreejsajavascriptlibraryforapplicationdevelopmentandinteractivedatavisualizationinphylogenetics
AT kosakovskypondsergeil phylotreejsajavascriptlibraryforapplicationdevelopmentandinteractivedatavisualizationinphylogenetics