taxonium-component

A tool for exploring large trees in the browser

https://github.com/theosanderson/taxonium

Science Score: 77.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: biorxiv.org, pubmed.ncbi, ncbi.nlm.nih.gov
  • Committers with academic emails
    4 of 13 committers (30.8%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.9%) to scientific vocabulary

Keywords

deckgl phylogenetics phylogeny react tree virus

Keywords from Contributors

batteries interpretability energy-system jax energy-system-model data-profiling histogram redoc mesh animations
Last synced: 6 months ago · JSON representation ·

Repository

A tool for exploring large trees in the browser

Basic Info
  • Host: GitHub
  • Owner: theosanderson
  • License: gpl-3.0
  • Language: TypeScript
  • Default Branch: master
  • Homepage: http://taxonium.org
  • Size: 260 MB
Statistics
  • Stars: 114
  • Watchers: 6
  • Forks: 22
  • Open Issues: 115
  • Releases: 127
Topics
deckgl phylogenetics phylogeny react tree virus
Created over 4 years ago · Last pushed 6 months ago
Metadata Files
Readme Contributing License Citation

README.md

Taxonium

Published in eLife <!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->All Contributors<!-- ALL-CONTRIBUTORS-BADGE:END -->

Taxonium is a tool for exploring trees, including those with millions of nodes.

➡️ Launch Taxonium

📚 Consult the documentation

📝 Read the paper

How do I..

visualise my own Newick phylogeny?

Upload a Newick file to Taxonium.org, and optionally a metadata file in CSV or TSV format. If using a metadata file the leftmost column must contain names of the nodes as in the tree.

explore the global SARS-CoV-2 phylogeny?

Visit Cov2Tree.org which uses Taxonium to allow you to explore a tree built by researchers at UCSC using public data contributed by researchers across the world to the INSDC databases.

build my own mutation-annotated tree to explore in Taxonium, or add my own metadata to an existing phylogeny?

Use UShER to build a mutation-annotated tree. Then use taxoniumtools to convert it to a Taxonium format you can upload to the interface at Taxonium.org

You can also use taxoniumtools to add your own metadata to the existing public phylogeny.

Find out more in 📚 the documentation.

load really huge trees?

For trees larger than about 6M tips, loading local trees in the browser at Taxonium.org can be unreliable on some systems due to browser memory limitations. To avoid these issues, use the Taxonium desktop app.

use Taxonium in my own web application?

Use the Taxonium component.

See Taxonium in action

Citing Taxonium

Sanderson, T (2022). Taxonium, a web-based tool for exploring large phylogenetic trees. eLife, 11:e82392 https://doi.org/10.7554/eLife.82392

N.B. If you are citing the tree displayed at Cov2Tree.org, please cite the UCSC tree (.. and ideally Taxonium too if you relied on it for exploration)

There is a separate paper for the Treenome Browser feature (Kramer et al., Bioinformatics, 2022).

Structure

Taxonium is structured as a 'monorepo' containing a number of components:

  • taxoniumtools - a Python package that lets you easily generate Taxonium files from Usher protobuf files
  • taxonium_component - a React component that implements the Taxonium tree explorer
  • taxonium_website - The Taxonium website found at Taxonium.org, a wrapper around taxonium_component
  • taxonium_backend - a server-based backend that allows Taxonium trees to be explored without the user downloading the full tree (N.B. Taxonium can also be used without this backend, with static files acccessed in taxonium_website)
  • taxoniumdatahandling - this is a node package upon which both the web client and the backend depend (it handles core logic common to both)

Contributing

We welcome contributions. We require that that all contributors follow the Contributor Covenant Code of Conduct.

Contributors

Taxonium development was initiated and is led by Theo Sanderson at the Francis Crick Institute.


Theo Sanderson

💻 📖 🎨 🤔 🚇 🚧

We are very grateful to our contributors:


Alex Kramer

💻 🎨 🤔

Angie Hinrichs

🤔 🔣 💻

Richard Goater

🎨 💻

Chaoran Chen

🤔

Cornelius Roemer

🤔

Sung Kwon

🚇

Koorous Vargha

💻

Alex Kramer at UCSC built the Treenome Browser component within Taxonium, described here.

Owner

  • Name: Theo Sanderson
  • Login: theosanderson
  • Kind: user
  • Location: London, UK
  • Company: London School of Hygiene & Tropical Medicine

Full stack pathogen geneticist

Citation (CITATION.bib)

@article {10.7554/eLife.82392,
article_type = {journal},
title = {Taxonium, a web-based tool for exploring large phylogenetic trees},
author = {Sanderson, Theo},
volume = 11,
year = 2022,
month = {nov},
pub_date = {2022-11-15},
pages = {e82392},
citation = {eLife 2022;11:e82392},
doi = {10.7554/eLife.82392},
url = {https://doi.org/10.7554/eLife.82392},
abstract = {The COVID-19 pandemic has resulted in a step change in the scale of sequencing data, with more genomes of SARS-CoV-2 having been sequenced than any other organism on earth. These sequences reveal key insights when represented as a phylogenetic tree, which captures the evolutionary history of the virus, and allows the identification of transmission events and the emergence of new variants. However, existing web-based tools for exploring phylogenies do not scale to the size of datasets now available for SARS-CoV-2. We have developed Taxonium, a new tool that uses WebGL to allow the exploration of trees with tens of millions of nodes in the browser for the first time. Taxonium links each node to associated metadata and supports mutation-annotated trees, which are able to capture all known genetic variation in a dataset. It can either be run entirely locally in the browser, from a serverbased backend, or as a desktop application. We describe insights that analysing a tree of five million sequences can provide into SARS-CoV-2 evolution, and provide a tool at cov2tree.org for exploring a public tree of more than five million SARS-CoV-2 sequences. Taxonium can be applied to any tree, and is available at taxonium.org, with source code at github.com/theosanderson/taxonium.},
journal = {eLife},
issn = {2050-084X},
publisher = {eLife Sciences Publications, Ltd},
}

GitHub Events

Total
  • Create event: 98
  • Release event: 16
  • Issues event: 24
  • Watch event: 9
  • Delete event: 45
  • Issue comment event: 143
  • Push event: 378
  • Pull request review comment event: 1
  • Pull request review event: 3
  • Pull request event: 137
  • Fork event: 4
Last Year
  • Create event: 98
  • Release event: 16
  • Issues event: 24
  • Watch event: 9
  • Delete event: 45
  • Issue comment event: 143
  • Push event: 378
  • Pull request review comment event: 1
  • Pull request review event: 3
  • Pull request event: 137
  • Fork event: 4

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 2,156
  • Total Committers: 13
  • Avg Commits per committer: 165.846
  • Development Distribution Score (DDS): 0.15
Past Year
  • Commits: 61
  • Committers: 3
  • Avg Commits per committer: 20.333
  • Development Distribution Score (DDS): 0.066
Top Committers
Name Email Commits
Theo Sanderson t****o@s****k 1,832
github-actions 4****] 150
pre-commit-ci[bot] 6****] 54
Alex Kramer a****r@u****u 53
github-actions g****s@g****m 29
allcontributors[bot] 4****] 15
Alex Kramer a****e@u****u 13
Richard Goater r****9@s****k 3
Angie Hinrichs a****e@s****u 3
Sung Kwon s****n@t****i 1
Sehi L'Yi s****i@g****m 1
Koorous Vargha 3****a 1
Cornelius Roemer c****r@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 117
  • Total pull requests: 309
  • Average time to close issues: 25 days
  • Average time to close pull requests: 8 days
  • Total issue authors: 23
  • Total pull request authors: 10
  • Average comments per issue: 2.68
  • Average comments per pull request: 1.24
  • Merged pull requests: 191
  • Bot issues: 0
  • Bot pull requests: 19
Past Year
  • Issues: 21
  • Pull requests: 176
  • Average time to close issues: 7 days
  • Average time to close pull requests: 3 days
  • Issue authors: 9
  • Pull request authors: 4
  • Average comments per issue: 1.71
  • Average comments per pull request: 1.13
  • Merged pull requests: 89
  • Bot issues: 0
  • Bot pull requests: 16
Top Authors
Issue Authors
  • theosanderson (40)
  • corneliusroemer (36)
  • AngieHinrichs (14)
  • GuilhemSempere (4)
  • chaoran-chen (4)
  • UTNK (3)
  • Sanyukta2001 (2)
  • aofarrel (2)
  • liamxg (2)
  • kvargha (1)
  • alex1770 (1)
  • Biophylo2001 (1)
  • martinghunt (1)
  • NicolaDM (1)
  • singing-scientist (1)
Pull Request Authors
  • theosanderson (296)
  • dependabot[bot] (15)
  • AngieHinrichs (5)
  • amkram (4)
  • allcontributors[bot] (3)
  • simonbukin (2)
  • pre-commit-ci[bot] (1)
  • DLiarakos (1)
  • richardgoater (1)
  • sehilyi (1)
  • corneliusroemer (1)
  • kvargha (1)
Top Labels
Issue Labels
help wanted (1)
Pull Request Labels
codex (74) dependencies (15) github_actions (15)

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 1,913 last-month
    • npm 2,268 last-month
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 1
    (may contain duplicates)
  • Total versions: 148
  • Total maintainers: 1
npmjs.org: taxonium-component

React component for exploring large phylogenetic trees in the browser

  • Versions: 41
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 2,268 Last month
Rankings
Stargazers count: 5.3%
Forks count: 6.0%
Dependent repos count: 10.4%
Downloads: 10.4%
Average: 16.8%
Dependent packages count: 52.1%
Maintainers (1)
Last synced: 6 months ago
pypi.org: taxoniumtools

Generate files for taxonium

  • Versions: 107
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 1,913 Last month
Rankings
Stargazers count: 7.8%
Dependent packages count: 10.1%
Forks count: 10.2%
Downloads: 11.9%
Average: 21.4%
Dependent repos count: 67.4%
Maintainers (1)
Last synced: 6 months ago

Dependencies

.github/workflows/docker-publish-backend.yml actions
  • actions/checkout v3 composite
  • docker/build-push-action ac9327eae2b366085ac7f6a2d02df8aa8ead720a composite
  • docker/login-action 28218f9b04b4f3f62068d7b6ce6ca5b26e35336c composite
  • docker/metadata-action 98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 composite
  • docker/setup-buildx-action 79abd3f86f79a9d68a23c75a09a9a85889262adf composite
  • sigstore/cosign-installer d6a3abf1bdea83574e28d40543793018b6035605 composite
.github/workflows/docker-publish-frontend.yml actions
  • actions/checkout v3 composite
  • docker/build-push-action ac9327eae2b366085ac7f6a2d02df8aa8ead720a composite
  • docker/login-action 28218f9b04b4f3f62068d7b6ce6ca5b26e35336c composite
  • docker/metadata-action 98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 composite
  • docker/setup-buildx-action 79abd3f86f79a9d68a23c75a09a9a85889262adf composite
  • sigstore/cosign-installer d6a3abf1bdea83574e28d40543793018b6035605 composite
.github/workflows/electron-build.yml actions
  • actions/checkout v1 composite
  • actions/setup-node v1 composite
  • actions/upload-artifact v1 composite
  • shogo82148/actions-upload-release-asset v1 composite
.github/workflows/frontend-test.yml actions
  • actions/checkout v2 composite
  • actions/setup-node v3 composite
  • actions/upload-artifact v3 composite
.github/workflows/precommit-checker.yaml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
  • pre-commit/action v3.0.0 composite
.github/workflows/prettier.yml2 actions
  • actions/checkout v2 composite
  • creyD/prettier_action v4.2 composite
.github/workflows/python-build.yml actions
  • actions/checkout master composite
  • actions/setup-python v1 composite
  • pypa/gh-action-pypi-publish master composite
.github/workflows/python-format.yaml2 actions
  • actions/checkout master composite
  • mritunjaysharma394/autoyapf v2 composite
.github/workflows/python-test.yml actions
  • LouisBrunner/checks-action v1.1.1 composite
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • actions/upload-artifact v3 composite
.github/workflows/selenium-test.yml actions
  • actions/checkout v3 composite
  • actions/download-artifact v3 composite
  • actions/setup-python v3 composite
.devcontainer/Dockerfile docker
  • mcr.microsoft.com/vscode/devcontainers/javascript-node 0-${VARIANT} build
taxonium_backend/package.json npm
  • @jsonlines/core ^1.0.2
  • axios ^0.26.1
  • commander ^9.1.0
  • compression ^1.7.4
  • cors ^2.8.5
  • express ^4.17.3
  • express-queue ^0.0.13
  • node-fetch ^3.2.10
  • pako ^2.0.4
  • taxonium_data_handling file:../taxonium_data_handling
  • xml2js ^0.4.23
taxonium_backend/yarn.lock npm
  • @jsonlines/core 1.0.2
  • accepts 1.3.8
  • array-flatten 1.1.1
  • axios 0.26.1
  • body-parser 1.19.2
  • bytes 3.0.0
  • bytes 3.1.2
  • commander 9.1.0
  • compressible 2.0.18
  • compression 1.7.4
  • content-disposition 0.5.4
  • content-type 1.0.4
  • cookie 0.4.2
  • cookie-signature 1.0.6
  • core-js 3.22.2
  • cors 2.8.5
  • data-uri-to-buffer 4.0.0
  • debug 2.6.9
  • debug 4.3.4
  • debug 3.2.7
  • depd 1.1.2
  • destroy 1.0.4
  • ee-first 1.1.1
  • encodeurl 1.0.2
  • escape-html 1.0.3
  • etag 1.8.1
  • express 4.17.3
  • express-end 0.0.8
  • express-queue 0.0.13
  • fetch-blob 3.2.0
  • finalhandler 1.1.2
  • follow-redirects 1.14.9
  • formdata-polyfill 4.0.10
  • forwarded 0.2.0
  • fresh 0.5.2
  • http-errors 1.8.1
  • iconv-lite 0.4.24
  • inherits 2.0.4
  • ipaddr.js 1.9.1
  • media-typer 0.3.0
  • merge-descriptors 1.0.1
  • methods 1.1.2
  • mime 1.6.0
  • mime-db 1.52.0
  • mime-types 2.1.35
  • mini-queue 0.0.14
  • ms 2.0.0
  • ms 2.1.2
  • ms 2.1.3
  • negotiator 0.6.3
  • node-domexception 1.0.0
  • node-fetch 3.2.10
  • object-assign 4.1.1
  • on-finished 2.3.0
  • on-headers 1.0.2
  • pako 2.0.4
  • parseurl 1.3.3
  • path-to-regexp 0.1.7
  • proxy-addr 2.0.7
  • qs 6.9.7
  • range-parser 1.2.1
  • raw-body 2.4.3
  • readable-stream 3.6.0
  • readable-web-to-node-stream 3.0.2
  • safe-buffer 5.1.2
  • safe-buffer 5.2.1
  • safer-buffer 2.1.2
  • sax 1.2.4
  • send 0.17.2
  • serve-static 1.14.2
  • setprototypeof 1.2.0
  • statuses 1.5.0
  • string_decoder 1.3.0
  • taxonium_data_handling 1.0.1
  • toidentifier 1.0.1
  • type-is 1.6.18
  • unpipe 1.0.0
  • util-deprecate 1.0.2
  • utils-merge 1.0.1
  • vary 1.1.2
  • web-streams-polyfill 3.2.1
  • xml2js 0.4.23
  • xmlbuilder 11.0.1
taxonium_data_handling/package.json npm
  • readable-web-to-node-stream ^3.0.2
taxonium_data_handling/yarn.lock npm
  • inherits 2.0.4
  • readable-stream 3.6.0
  • readable-web-to-node-stream 3.0.2
  • safe-buffer 5.2.1
  • string_decoder 1.3.0
  • util-deprecate 1.0.2
taxonium_electron/package.json npm
  • @electron-forge/cli ^6.0.0-beta.67 development
  • @electron-forge/maker-deb ^6.0.0-beta.67 development
  • @electron-forge/maker-dmg ^6.0.0-beta.67 development
  • @electron-forge/maker-rpm ^6.0.0-beta.67 development
  • @electron-forge/maker-squirrel ^6.0.0-beta.67 development
  • @electron-forge/maker-zip ^6.0.0-beta.67 development
  • electron ^21.1.0 development
  • electron-squirrel-startup ^1.0.0
  • taxonium_backend file:../taxonium_backend
taxonium_electron/yarn.lock npm
  • 553 dependencies
taxonium_web_client/package.json npm
  • eslint-config-standard ^16.0.3 development
  • eslint-plugin-node ^11.1.0 development
  • eslint-plugin-promise ^5.1.0 development
  • postcss 8 development
  • @craco/craco ^6.1.2
  • @fontsource/roboto ^4.5.5
  • @jbrowse/plugin-data-management ^2.1.4
  • @jbrowse/react-linear-genome-view ^2.1.4
  • @tailwindcss/forms ^0.5.2
  • @testing-library/jest-dom ^5.11.4
  • @testing-library/react ^11.1.0
  • @testing-library/user-event ^12.1.10
  • JSONStream ^1.3.5
  • autoprefixer ^9
  • axios ^0.27.2
  • binary-search ^1.3.6
  • classnames ^2.3.1
  • commander ^9.0.0
  • compression ^1.7.4
  • cors ^2.8.5
  • craco ^0.0.3
  • deck.gl ^8.6.6
  • jsonl ^1.1.2
  • lodash ^4.17.21
  • lzma-native ^8.0.6
  • node-polyfill-webpack-plugin ^1.1.4
  • pako ^2.0.4
  • process ^0.11.10
  • react ^17.0.2
  • react-circular-progressbar ^2.0.4
  • react-debounce-input ^3.2.3
  • react-dom ^17.0.2
  • react-hot-toast ^2.2.0
  • react-icons ^4.6.0
  • react-modal ^3.15.1
  • react-router-dom ^5.2.0
  • react-scripts 5.0.0
  • react-spinners ^0.11.0
  • react-tooltip ^4.2.21
  • readable-web-to-node-stream ^3.0.2
  • scale-color-perceptual ^1.1.2
  • tailwindcss >=3.1.0
  • taxonium_data_handling file:../taxonium_data_handling
  • web-vitals ^1.0.1
  • webpack ^5.72.0
  • yargs ^17.3.1
taxonium_web_client/yarn.lock npm
  • 1853 dependencies
docs/requirements.txt pypi
  • alive-progress *
  • biopython *
  • furo *
  • google-api-python-client *
  • myst-parser *
  • orjson *
  • pandas *
  • protobuf <4
  • sphinx-argparse *
  • sphinx-book-theme *
  • sphinx-rtd-theme *
  • sphinxcontrib-gtagjs *
  • treeswift *