taxtastic

Create and maintain phylogenetic "reference packages" of biological sequences.

https://github.com/fhcrc/taxtastic

Science Score: 36.0%

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

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    5 of 23 committers (21.7%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.9%) to scientific vocabulary

Keywords from Contributors

phylogenetics bioinformatics biopython dna genomics protein protein-structure sequence-alignment
Last synced: 10 months ago · JSON representation

Repository

Create and maintain phylogenetic "reference packages" of biological sequences.

Basic Info
  • Host: GitHub
  • Owner: fhcrc
  • License: gpl-3.0
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 13.4 MB
Statistics
  • Stars: 22
  • Watchers: 8
  • Forks: 11
  • Open Issues: 12
  • Releases: 0
Created over 15 years ago · Last pushed about 1 year ago
Metadata Files
Readme Changelog License

README.rst

===========
 TAXTASTIC
===========

Taxtastic is a python package used to build and maintain reference
packages, i.e. collections of reference trees, reference alignments,
profiles, and associated taxonomic information.

.. image:: https://travis-ci.org/fhcrc/taxtastic.svg?branch=master
    :target: https://travis-ci.org/fhcrc/taxtastic

* quickstart_
* `full documentation`_

A script named ``taxit`` provides a command line interface::

  % taxit -h
  usage: taxit [-h] [-V] [-v] [-q]
               {help,add_nodes,add_to_taxtable,check,composition,create,extract_nodes,findcompany,get_descendants,get_lineage,info,lineage_table,lonelynodes,namelookup,new_database,refpkg_intersection,reroot,rollback,rollforward,rp,strip,taxids,taxtable,update,update_taxids}
               ...

  Creation, validation, and modification of reference packages for use with
  `pplacer` and related software.

  positional arguments:
    {help,add_nodes,add_to_taxtable,check,composition,create,extract_nodes,findcompany,get_descendants,get_lineage,info,lineage_table,lonelynodes,namelookup,new_database,refpkg_intersection,reroot,rollback,rollforward,rp,strip,taxids,taxtable,update,update_taxids}
      help                Detailed help for actions using `help `
      add_nodes           Add nodes and names to a database
      add_to_taxtable     Add nodes to an existing taxtable csv
      check               Validate a reference package
      composition         Show taxonomic composition of a reference package
      create              Create a reference package
      extract_nodes       Extract nodes from a given source in yaml format
      findcompany         Find company for lonely nodes
      get_descendants     Returns given taxids including descendant taxids
      get_lineage         Calculate the taxonomic lineage of a taxid
      info                Show information about reference packages.
      lineage_table       Create a table of lineages as taxonimic names for a
                          collection of sequences
      lonelynodes         Extracts tax ids of all lonely nodes in a taxtable
      namelookup          Find primary name and tax_id from taxonomic names
      new_database        Download NCBI taxonomy and create a database
      refpkg_intersection
                          Find the intersection of a taxtable and a refpkg's
                          taxonomy.
      reroot              Taxonomically reroots a reference package
      rollback            Undo an operation performed on a refpkg
      rollforward         Restore a change to a refpkg immediately after being
                          reverted
      rp                  Resolve path; get the path to a file in the reference
                          package
      strip               Remove rollback and rollforward information from a
                          refpkg
      taxids              Convert a list of taxonomic names into a recursive
                          list of species
      taxtable            Create a tabular representation of taxonomic lineages
      update              Add or modify files or metadata in a refpkg
      update_taxids       Update obsolete tax_ids

  options:
    -h, --help            show this help message and exit
    -V, --version         Print the version number and exit
    -v, --verbose         Increase verbosity of screen output (eg, -v is
                          verbose, -vv more so)
    -q, --quiet           Suppress output

Installation
============

``taxtastic`` requires Python 3.8+. The simplest method of installing
is using `pip `_::

  pip install taxtastic

We strongly recommend installation into a virtualenv. Instructions for
installing the ``taxtastic`` package and the ``taxit`` command line
entry point in a virtualenv are as follows::

  python3 -m venv taxtastic-env
  source taxtastic-env/bin/activate
  pip install -U pip
  pip install taxtastic

If you prefer to install from the git repository::

  git clone https://github.com/fhcrc/taxtastic.git
  cd taxtastic
  python3 -m venv taxtastic-env
  source taxtastic-env/bin/activate
  pip install .

Finally, ``taxit`` can be run from a Docker image hosted in the GitHub
Container Registry. For example, to create a new sqlite database::

  docker run --rm -it -v $(pwd):/opt/run --platform=linux/amd64 ghcr.io/fhcrc/taxtastic:latest taxit new_database ncbi_taxonomy.db

Note that initial database creation (at least on MacOS using amd64
emulation) is very slow using Docker and is not recommended.

A note on databases
===================

This project supports both sqlite3 and postgresql as database
backends. For most applications, we recommend sqlite3: some operations
(particularly initial database creation) are much faster using sqlite3.

sqlite3
-------

Taxtastic uses recursive common table expressions to query the
taxonomy database, which requires that the Python ``sqlite3`` module
is built against sqlite3 library version of 3.8.3 or higher
(http://www.sqlite.org/releaselog/3_8_3.html). You can check the
version like this::

  python3 -c 'import sqlite3; print(sqlite3.sqlite_version)'

postgresql
----------

Despite some recent optimizations as of version v0.10 (in which
indexes and constraints are dropped before creating the taxonomy
database), operations in Postgres are somewhat slower. Note that the
default Postgres configuration on MacOS is likely to be quite resource
constrained; consider tuning your database configuration by consulting
a site such as PGTune (https://pgtune.leopard.in.ua).

.. Targets ..
.. _quickstart: https://fhcrc.github.io/taxtastic/quickstart.html
.. _full documentation: https://fhcrc.github.io/taxtastic/index.html

Owner

  • Name: FHCRC Computational Biology
  • Login: fhcrc
  • Kind: organization
  • Location: Seattle, Washington

GitHub Events

Total
  • Issues event: 7
  • Watch event: 1
  • Delete event: 2
  • Issue comment event: 9
  • Push event: 19
  • Pull request event: 4
  • Fork event: 1
  • Create event: 5
Last Year
  • Issues event: 7
  • Watch event: 1
  • Delete event: 2
  • Issue comment event: 9
  • Push event: 19
  • Pull request event: 4
  • Fork event: 1
  • Create event: 5

Committers

Last synced: over 3 years ago

All Time
  • Total Commits: 897
  • Total Committers: 23
  • Avg Commits per committer: 39.0
  • Development Distribution Score (DDS): 0.716
Top Committers
Name Email Commits
Noah Hoffman n****n@g****m 255
Chris Rosenthal c****h@u****u 214
Connor McCoy c****y@f****g 144
Erick Matsen m****n@f****g 69
Aaron Gallagher h****t@g****m 66
Brian Hodges b****s@f****g 50
Fred Ross f****s@w****u 42
Erick Matsen e****n@g****m 12
Daniel Hoogestraat d****t@u****u 10
Fred Ross m****n@g****m 10
Noah Hoffman n****n@l****g 9
noah.hoffman@gmail.com n****n@n****) 3
Daniel Hoogestraat d****t@g****m 2
Connor McCoy c****m@g****m 2
Jonathan Golob j****b@f****g 1
Zach Stednick z****c@f****g 1
metasoarous m****s@g****m 1
Noah Hoffman n****n@N****l 1
Daniel Hoogestraat d****t@H****l 1
ctberthiaume c****e@u****u 1
jgolob j****m@g****g 1
Brian Claywell b****l@f****g 1
sachacoesel c****l@u****u 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 81
  • Total pull requests: 46
  • Average time to close issues: about 1 year
  • Average time to close pull requests: about 1 month
  • Total issue authors: 25
  • Total pull request authors: 8
  • Average comments per issue: 2.09
  • Average comments per pull request: 0.67
  • Merged pull requests: 25
  • Bot issues: 0
  • Bot pull requests: 1
Past Year
  • Issues: 6
  • Pull requests: 14
  • Average time to close issues: N/A
  • Average time to close pull requests: 2 days
  • Issue authors: 2
  • Pull request authors: 1
  • Average comments per issue: 2.0
  • Average comments per pull request: 0.21
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • crosenth (24)
  • nhoffman (22)
  • dhoogest (9)
  • jgolob (3)
  • lpipes (2)
  • GuangchuangYu (1)
  • kbseah (1)
  • nickp60 (1)
  • yifeng-evo (1)
  • openpaul (1)
  • matsen (1)
  • tyleraland (1)
  • nylander (1)
  • AliciaArroyo (1)
  • ghost (1)
Pull Request Authors
  • crosenth (38)
  • dhoogest (7)
  • jgolob (6)
  • cmccoy (4)
  • nhoffman (2)
  • matsen (2)
  • dependabot[bot] (2)
  • sachacoesel (1)
Top Labels
Issue Labels
Enhancement (3) Discussion (2) Documentation (1)
Pull Request Labels
dependencies (2) Enhancement (2)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 386 last-month
  • Total dependent packages: 2
  • Total dependent repositories: 6
  • Total versions: 24
  • Total maintainers: 3
pypi.org: taxtastic

Tools for taxonomic naming and annotation

  • Versions: 24
  • Dependent Packages: 2
  • Dependent Repositories: 6
  • Downloads: 386 Last month
Rankings
Dependent packages count: 4.7%
Dependent repos count: 6.0%
Average: 9.6%
Forks count: 11.4%
Downloads: 12.4%
Stargazers count: 13.6%
Maintainers (3)
Last synced: 11 months ago

Dependencies

requirements-dev.txt pypi
  • ghp-import * development
  • sphinx * development
  • twine * development
  • wheel * development
requirements.txt pypi
  • DendroPy ==4.5.2
  • Jinja2 ==3.1.1
  • MarkupSafe ==2.1.1
  • PyYAML ==6.0
  • SQLAlchemy ==1.4.35
  • decorator ==5.1.1
  • fastalite ==0.3
  • greenlet ==1.1.2
  • psycopg2-binary ==2.9.3
  • six ==1.16.0
.github/workflows/docker-publish.yml actions
  • actions/checkout v3 composite
  • docker/build-push-action v2 composite
  • docker/login-action v1 composite
  • docker/setup-buildx-action v1 composite
.github/workflows/gh-pages.yml actions
  • actions/checkout v3 composite
  • peaceiris/actions-gh-pages v3 composite
.github/workflows/unittests.yml actions
  • actions/checkout v3 composite
Dockerfile docker
  • python 3.9-bullseye build