Skip to main content

TANOS: TAxon jackknife for NOdal Stability. In phylogenetic trees, calculate how resilient nodes are to the removal of taxa

Project description

TANOS: TAxon jackknife for NOdal Stability

Table of Contents

I. Introduction
II. Installation Instructions
III. Usage Instructions
IV. License
V. Contributors
VI. Citation
VII. Contact

I. Introduction

In phylogenetic trees, assessing the stability of a node is paramount to having confidence in the quality of the topology. Several strategies exist to evaluate a node, with bootstrap support being particularly popular. Most methods rely on how consistently characters from the input data matrix are in a given state to judge the node. We seek to evaluate the stability of the node by determining how resilient nodes are to the removal of taxa. This package can calculate the taxa resiliency for a provided tree. To determine this, one must remove a taxon from the alignment (jackknife sampling) and build a new tree, comparing it to the original tree. To avoid anomalies, a new tree must be built multiple times (say 50). This process must be repeated for each taxon. Thus, if 100 taxa are in a given tree and 50 replicates are performed for the removal of each taxon then 5,000 new trees are built. These new trees can be provided with the original tree to our package for comparison to determine how frequently different clades appear. The intent is to assign a value to each node, similar to bootstrapping. A value of 1 indicates 100% of sampled trees includes the grouping in that clade (sans the one taxon intentionally removed). Valid values fit in the range [0,1]. Note that this value has no meaning for leaf nodes, parents of leaf nodes, and the root node.

Please note that this package assumes the following has already been performed:

  1. The original alignment of all taxa
  2. A tree built with all taxa
  3. "jackknifing" the alignment (making one copy per taxon in the tree, minus that taxon)
  4. New trees built using the "jackknifed" alignments with a pre-determined level of replication

Assuming the interested user of this package wishes to generate nodal stability scores for a tree, steps #1-2 will already be completed. Step #3 is trivially accomplished with basic scripting. See the scripts directory of the repository for an example. Step #4 is conceptually simple, but more difficult to manage as the number of taxa and/or replicates increases. An example script to manage such a task on a computing cluster under SLURM control using IQ-TREE is also provided. Note that these are simply example scripts, not fully-tested programs; modifications will be required for your system and situation, especially if you intend to use an alternate directory structure, tree inference software, or grid control engine. Please note that if you installed tanos with pip, you will not see these scripts as they are not included in the PyPI manifest; you will need to download the repo from GitHub to have access to them. Please see the README file in the scripts directory for additional details.

This program must have access to all the relevant trees (i.e., the original/main tree and the "jackknifed" trees) and a mapping of which trees are associated with which taxa. A default directory structure and file naming scheme is assumed. These assumptions can be modified to some degree, or bypassed entirely, with certain command-line arguments. Please consult the section III. Usage Instructions for details.

We are in the process of publishing a paper describing this work. Once available, we will provide relevant details here:

See our paper in journal for further information:
        https://sub-domain.domain.tld/some/path/to/resource

II. Installation Instructions

This package is written in Python. You must have a version of Python (v3.6+) that supports f-strings. This package also depends on the following Python modules: sys, re, pkgutil, argparse, and pathlib, which are all included in the Python Standard Library. Installation may be accomplished using pip like this:

        pip install tanos

Alternately, you may install it manually using setuptools like this:

        python setup.py install

If running setup.py, you may wish to add --user or --prefix for an installation in non-default locations.

III. Usage Instructions

Please run tanos -h or tanos --help.

IV. License

Please see the LICENSE.

V. Contributors

Brandon Pickett (Github: @pickettbd) is the sole author of this software.

VI. Citation

Until a version of the paper is available, we ask that you cite the Github repository. Thereafter, you will be able to include a citation following this general form:

Powell GS, Pickett BD, Martin GJ, Whiting MF, Ridge PG, Bybee SM. Paper title. journal. Year. Volume(Issue):pages.

VII. Contact

For questions, comments, concerns, etc., please open an issue on Github.

Note: Before asking for help, please ensure you (a) are using the latest official release and (b) consult first the section III. Usage Instructions.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tanos-0.0.1b7.tar.gz (20.0 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

tanos-0.0.1b7-py3.7.egg (15.9 kB view details)

Uploaded Egg

tanos-0.0.1b7-py3-none-any.whl (17.1 kB view details)

Uploaded Python 3

File details

Details for the file tanos-0.0.1b7.tar.gz.

File metadata

  • Download URL: tanos-0.0.1b7.tar.gz
  • Upload date:
  • Size: 20.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.3

File hashes

Hashes for tanos-0.0.1b7.tar.gz
Algorithm Hash digest
SHA256 6393f5c5e78280275b851082aacaedaab3c81e7eca12910217904327a5f0cdd4
MD5 5ab8036ae14e5b5dadde53dd4b10b5d5
BLAKE2b-256 6d2c4b26ebc8c611fd513e443917ce9146bad85efbe1d672ab8fb25ab7b8e769

See more details on using hashes here.

File details

Details for the file tanos-0.0.1b7-py3.7.egg.

File metadata

  • Download URL: tanos-0.0.1b7-py3.7.egg
  • Upload date:
  • Size: 15.9 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.3

File hashes

Hashes for tanos-0.0.1b7-py3.7.egg
Algorithm Hash digest
SHA256 b217d2b8dc84b2d5bd5652775894f45972427ab5abaaf0ca07786c7f2b2e55dc
MD5 3ec3d035966c7f5b100390059364141e
BLAKE2b-256 75eecfb9bf638d54ea5b96e469a6a9cc46b18f65745670f7b984f2a01e2ad63e

See more details on using hashes here.

File details

Details for the file tanos-0.0.1b7-py3-none-any.whl.

File metadata

  • Download URL: tanos-0.0.1b7-py3-none-any.whl
  • Upload date:
  • Size: 17.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.3

File hashes

Hashes for tanos-0.0.1b7-py3-none-any.whl
Algorithm Hash digest
SHA256 978a8ad2082e71b07d7f3b11fb0d03105b3f6207bd3681fe1492d5de7fdacfdc
MD5 1305698da15be3c9334c2da96133abbb
BLAKE2b-256 1f75794b5c353a80fec0f950ec1223a48e386ad9b0bb7ab717d15daedda18462

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page