Welcome to Physcraper’s documentation!

Build Status Documentation codecov pyOpenSci DOI NSF-1759846 NSF-1759838

Automated gene tree updating
with the Open Tree of Life

Use a phylogenetic tree and a DNA alignment to automatically find and add nucleotide sequences from a genetic database, to reproducibly improve and advance phylogenetic knowledge within a biological group.

Physcraper relies on taxonomic and phylogenetic resources and programmatic tools from the Open Tree of Life project.

Physcraper also leverages on programmatic tools from the TreeBASE project and NCBI, as well as multiple software projects listed as requirements below, to create an automatic and reproducible workflow for phylogenetics.


If you use Physcraper, please cite:

  • Sánchez-Reyes, L.L., M. Kandziora, & E.J McTavish. (2021). Physcraper: a Python package for continually updated phylogenetic trees using the Open Tree of Life. BMC Bioinformatics 22, 355. doi: doi.org/10.1186/s12859-021-04274-6.

  • Open Tree of Life, B. Redelings, L.L. Sanchez Reyes, K.A. Cranston, J. Allman, M.T. Holder, & E.J. McTavish. (2019). Open Tree of Life Synthetic Tree (Version 12.3). Zenodo. doi: 10.5281/zenodo.3937741


Physcraper is made available through the GNU General Public License v3.0


The tool is under active development in the McTavish Lab. Please post a GitHub issue here or contact ejmctavish@ucmerced.edu if you need any help or have feedback.


Physcraper requires the user to install:

  • Anaconda
    Anaconda Software Distribution. Computer software. Vers. 4.8.0. Anaconda, July. 2021. Web. https://anaconda.com
  • Virtualenv
    Edgar RC. MUSCLE: multiple sequence alignment with high accuracy and high throughput. Nucleic Acids Res. 2004 Mar 19;32(5):1792-7. doi: 10.1093/nar/gkh340
  • RAxML
    Stamatakis, Alexandros. “RAxML version 8: a tool for phylogenetic analysis and post-analysis of large phylogenies.” Bioinformatics 30.9 (2014): 1312-1313. doi: 10.1093/bioinformatics/btu033
  • BLAST +
    This software is only needed if using a local genetic database. Note that BLAST + is automatically installed when installing Physcraper using Anaconda.
    Camacho, C., Coulouris, G., Avagyan, V. et al. BLAST+: architecture and applications. BMC Bioinformatics 10, 421 (2009). doi: 10.1186/1471-2105-10-421

Physcraper relies on the following Python packages that are automatically installed:

  • argparse
  • biopython
    Cock, P. J., Antao, T., Chang, J. T., Chapman, B. A., Cox, C. J., Dalke, A., et al. (2009). Biopython: freely available Python tools for computational molecular biology and bioinformatics. Bioinformatics, 25(11), 1422–1423.
  • configparser
  • coverage
  • DateTime
  • DendroPy
    Sukumaran, J and MT Holder. 2010. DendroPy: a Python library for phylogenetic computing. Bioinformatics 26: 1569-1571 doi: 10.1093/bioinformatics/btq228
  • future
  • m2r2
  • nexson
  • numpy
    Harris, C. R., Millman, K. J., van der Walt, S. J., Gommers, R., Virtanen, P., Cournapeau, D., … Oliphant, T. E. (2020). Array programming with NumPy. Nature, 585, 357–362. doi: 10.1038/s41586-020-2649-2
  • OpenTree
    Emily Jane McTavish, Luna Luisa Sanchez-Reyes, Mark T. Holder. (2020). OpenTree: A Python package for Accessing and Analyzing data from the Open Tree of Life. BioRxiv 2020.12.14.422759 doi: 10.1101/2020.12.14.422759
  • pandas
    McKinney, W., & others. (2010). Data structures for statistical computing in python. In Proceedings of the 9th Python in Science Conference (Vol. 445, pp. 51–56).
  • pytest
  • pytest-cov
  • pytest-xdist
  • recommonmark
  • requests
    Chandra, R. V., & Varanasi, B. S. (2015). Python requests essentials. Packt Publishing Ltd.
  • sh
  • sphinx
  • urllib3