taxtastic


Nametaxtastic JSON
Version 0.10.0 PyPI version JSON
download
home_pagehttps://github.com/fhcrc/taxtastic
SummaryTools for taxonomic naming and annotation
upload_time2023-08-25 21:38:44
maintainerChris Rosenthal
docs_urlNone
authorNoah Hoffman
requires_python>=3.8
licenseGPL
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ===========
 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 <action>`
      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 <http://pip-installer.org>`_::

  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

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/fhcrc/taxtastic",
    "name": "taxtastic",
    "maintainer": "Chris Rosenthal",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "crosenth@uw.edu",
    "keywords": "",
    "author": "Noah Hoffman",
    "author_email": "ngh2@uw.edu",
    "download_url": "https://files.pythonhosted.org/packages/7f/8a/49c16e64bc69a043d393c648336985a06c4b5dc1ac18598c32f0c8a35553/taxtastic-0.10.0.tar.gz",
    "platform": null,
    "description": "===========\n TAXTASTIC\n===========\n\nTaxtastic is a python package used to build and maintain reference\npackages, i.e. collections of reference trees, reference alignments,\nprofiles, and associated taxonomic information.\n\n.. image:: https://travis-ci.org/fhcrc/taxtastic.svg?branch=master\n    :target: https://travis-ci.org/fhcrc/taxtastic\n\n* quickstart_\n* `full documentation`_\n\nA script named ``taxit`` provides a command line interface::\n\n  % taxit -h\n  usage: taxit [-h] [-V] [-v] [-q]\n               {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}\n               ...\n\n  Creation, validation, and modification of reference packages for use with\n  `pplacer` and related software.\n\n  positional arguments:\n    {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}\n      help                Detailed help for actions using `help <action>`\n      add_nodes           Add nodes and names to a database\n      add_to_taxtable     Add nodes to an existing taxtable csv\n      check               Validate a reference package\n      composition         Show taxonomic composition of a reference package\n      create              Create a reference package\n      extract_nodes       Extract nodes from a given source in yaml format\n      findcompany         Find company for lonely nodes\n      get_descendants     Returns given taxids including descendant taxids\n      get_lineage         Calculate the taxonomic lineage of a taxid\n      info                Show information about reference packages.\n      lineage_table       Create a table of lineages as taxonimic names for a\n                          collection of sequences\n      lonelynodes         Extracts tax ids of all lonely nodes in a taxtable\n      namelookup          Find primary name and tax_id from taxonomic names\n      new_database        Download NCBI taxonomy and create a database\n      refpkg_intersection\n                          Find the intersection of a taxtable and a refpkg's\n                          taxonomy.\n      reroot              Taxonomically reroots a reference package\n      rollback            Undo an operation performed on a refpkg\n      rollforward         Restore a change to a refpkg immediately after being\n                          reverted\n      rp                  Resolve path; get the path to a file in the reference\n                          package\n      strip               Remove rollback and rollforward information from a\n                          refpkg\n      taxids              Convert a list of taxonomic names into a recursive\n                          list of species\n      taxtable            Create a tabular representation of taxonomic lineages\n      update              Add or modify files or metadata in a refpkg\n      update_taxids       Update obsolete tax_ids\n\n  options:\n    -h, --help            show this help message and exit\n    -V, --version         Print the version number and exit\n    -v, --verbose         Increase verbosity of screen output (eg, -v is\n                          verbose, -vv more so)\n    -q, --quiet           Suppress output\n\nInstallation\n============\n\n``taxtastic`` requires Python 3.8+. The simplest method of installing\nis using `pip <http://pip-installer.org>`_::\n\n  pip install taxtastic\n\nWe strongly recommend installation into a virtualenv. Instructions for\ninstalling the ``taxtastic`` package and the ``taxit`` command line\nentry point in a virtualenv are as follows::\n\n  python3 -m venv taxtastic-env\n  source taxtastic-env/bin/activate\n  pip install -U pip\n  pip install taxtastic\n\nIf you prefer to install from the git repository::\n\n  git clone https://github.com/fhcrc/taxtastic.git\n  cd taxtastic\n  python3 -m venv taxtastic-env\n  source taxtastic-env/bin/activate\n  pip install .\n\nFinally, ``taxit`` can be run from a Docker image hosted in the GitHub\nContainer Registry. For example, to create a new sqlite database::\n\n  docker run --rm -it -v $(pwd):/opt/run --platform=linux/amd64 ghcr.io/fhcrc/taxtastic:latest taxit new_database ncbi_taxonomy.db\n\nNote that initial database creation (at least on MacOS using amd64\nemulation) is very slow using Docker and is not recommended.\n\nA note on databases\n===================\n\nThis project supports both sqlite3 and postgresql as database\nbackends. For most applications, we recommend sqlite3: some operations\n(particularly initial database creation) are much faster using sqlite3.\n\nsqlite3\n-------\n\nTaxtastic uses recursive common table expressions to query the\ntaxonomy database, which requires that the Python ``sqlite3`` module\nis built against sqlite3 library version of 3.8.3 or higher\n(http://www.sqlite.org/releaselog/3_8_3.html). You can check the\nversion like this::\n\n  python3 -c 'import sqlite3; print(sqlite3.sqlite_version)'\n\npostgresql\n----------\n\nDespite some recent optimizations as of version v0.10 (in which\nindexes and constraints are dropped before creating the taxonomy\ndatabase), operations in Postgres are somewhat slower. Note that the\ndefault Postgres configuration on MacOS is likely to be quite resource\nconstrained; consider tuning your database configuration by consulting\na site such as PGTune (https://pgtune.leopard.in.ua).\n\n.. Targets ..\n.. _quickstart: https://fhcrc.github.io/taxtastic/quickstart.html\n.. _full documentation: https://fhcrc.github.io/taxtastic/index.html\n",
    "bugtrack_url": null,
    "license": "GPL",
    "summary": "Tools for taxonomic naming and annotation",
    "version": "0.10.0",
    "project_urls": {
        "Download": "https://github.com/fhcrc/taxtastic",
        "Homepage": "https://github.com/fhcrc/taxtastic"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c2587887a54b76a4049739d65251b06c3fc653d882e099ec5142485421181e9f",
                "md5": "38fc93f7fba525943a6b3983e919eced",
                "sha256": "81c255c362dc107534839c7c0379ca9cd6aa66ff7c63673d636b8aab1e101093"
            },
            "downloads": -1,
            "filename": "taxtastic-0.10.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "38fc93f7fba525943a6b3983e919eced",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 91348,
            "upload_time": "2023-08-25T21:38:42",
            "upload_time_iso_8601": "2023-08-25T21:38:42.427166Z",
            "url": "https://files.pythonhosted.org/packages/c2/58/7887a54b76a4049739d65251b06c3fc653d882e099ec5142485421181e9f/taxtastic-0.10.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7f8a49c16e64bc69a043d393c648336985a06c4b5dc1ac18598c32f0c8a35553",
                "md5": "a0800edb53d54b4f14859a365afb8263",
                "sha256": "32db30aa2e499fbae913b991cd087fa69684ac4ff934b957c30b6085866f1748"
            },
            "downloads": -1,
            "filename": "taxtastic-0.10.0.tar.gz",
            "has_sig": false,
            "md5_digest": "a0800edb53d54b4f14859a365afb8263",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 85829,
            "upload_time": "2023-08-25T21:38:44",
            "upload_time_iso_8601": "2023-08-25T21:38:44.130481Z",
            "url": "https://files.pythonhosted.org/packages/7f/8a/49c16e64bc69a043d393c648336985a06c4b5dc1ac18598c32f0c8a35553/taxtastic-0.10.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-08-25 21:38:44",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "fhcrc",
    "github_project": "taxtastic",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "tox": true,
    "lcname": "taxtastic"
}
        
Elapsed time: 1.11188s