cogent3


Namecogent3 JSON
Version 2025.7.10a2 PyPI version JSON
download
home_pageNone
SummaryCOmparative GENomics Toolkit 3: genomic sequence analysis within notebooks or on compute systems with 1000s of CPUs.
upload_time2025-07-11 11:40:13
maintainerNone
docs_urlNone
authorNone
requires_python<3.14,>=3.10
licenseNone
keywords biology genomics statistics phylogeny evolution bioinformatics
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
<p align="left">
  <img src="https://raw.githubusercontent.com/cogent3/cogent3.github.io/e72df8c155c100f502b6a7009347d1821ab3adef/doc/_static/c3-logo.svg" width="300">
</p>

[![PyPI version](https://badge.fury.io/py/cogent3.svg)](https://badge.fury.io/py/cogent3)
[![Downloads](https://pepy.tech/badge/cogent3/month)](https://pepy.tech/project/cogent3)

[![Build Status](https://github.com/cogent3/cogent3/workflows/CI/badge.svg?branch=develop)](https://github.com/cogent3/cogent3/actions?workflow=CI)
[![coverall](https://coveralls.io/repos/github/cogent3/cogent3/badge.svg?branch=develop)](https://coveralls.io/github/cogent3/cogent3?branch=develop)

![PyPI - Python Version](https://img.shields.io/pypi/pyversions/cogent3)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)

[![CodeQL](https://github.com/cogent3/cogent3/actions/workflows/codeql.yml/badge.svg)](https://github.com/cogent3/cogent3/actions/workflows/codeql.yml)
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/e80e3441de59449bb1a4d8ad1fdea4fa)](https://app.codacy.com/gh/cogent3/cogent3/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)

[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.15067121.svg)](https://doi.org/10.5281/zenodo.15067121)


`cogent3` is a mature python library for analysis of genomic sequence data. We endeavour to provide a first-class experience within Jupyter notebooks, but the algorithms also support parallel execution on compute systems with 1000's of processors.

## πŸ“£ Feature Announcements πŸ“£

<details>
  <summary> Migration to new type core objects is complete‼️ </summary>

This has now been finalised with these classes being the defaults.

</details>

<details>
  <summary> Major advances in our progress towards a fully plugin-based architecture! </summary>

### Cogent3 supports sequence storage plugins πŸ“¦πŸ”ŒπŸš€

We have implemented the infrastructure to support alternative sequence storage plugins. These provide the backend storage for the new type sequence collections. We have implemented a proof-of-principle plugin [cogent3-h5seqs](https://pypi.org/project/cogent3-h5seqs/) for sequence storage based on the HDF5 format. This allows efficient storage of very large sequence collections (aligned or unaligned). See the readme for that project on how to use it.

### Cogent3 supports sequence format parser and writer plugins πŸ‘“βœοΈπŸ”Œ

We have implemented the infrastructure to support third-party provision of every bioinformaticians favourite game -- parsing / writing the multitude of sequence file formats.  All builtin format parsers / writers are implemented as plugins. We use third-party versions by default.


### Cogent3 implements plugin hooks πŸ”ŒπŸͺπŸŽ‰

We have implemented the infrastructure to support hook-style plugins. We have definied a single hook now -- the new type ``Alignment.quick_tree()`` method checks for an external plugin for calculation. The developers of [piqtree](https://pypi.org/project/piqtree) have made the rapid-NJ algorithm available for this hook! Once installed, it is used as `aln.quick_tree(use_hook="piqtree")`.

> **Note**
> For assistance in writing your own plugins, contact us via the [cogent3 discussions page](https://github.com/cogent3/cogent3/discussions).

</details>

<details>
  <summary> Now distributed with sample data! </summary>

  We have added sample data sets for quick testing of different features. Check out `cogent3.available_datasets()` to see the available datasets. You can load one using `cogent3.get_dataset(name)`.

</details>

## Who is it for?

### Anyone who wants to analyse sequence divergence using robust statistical models

`cogent3` is unique in providing numerous [non-stationary Markov models](http://www.ncbi.nlm.nih.gov/pubmed/25503772) for modelling sequence evolution, [including codon models](https://www.ncbi.nlm.nih.gov/pubmed/28175284). `cogent3` also includes an extensive collection of time-reversible models (again including [novel codon models](https://www.ncbi.nlm.nih.gov/pubmed/19815689)). We have done more than just invent these new methods, we have [established the most robust algorithms](https://www.ncbi.nlm.nih.gov/pubmed/19099591) for their implementation and their [suitability for real data](https://www.ncbi.nlm.nih.gov/pubmed/23935949). Additionally, there are novel signal processing methods focussed on statistical estimation of [integer period signals](https://www.ncbi.nlm.nih.gov/pubmed/21527008).

<details>
  <summary> 🎬 Demo non-reversible substitution model </summary>
    <video src="https://user-images.githubusercontent.com/3102996/253845402-f511af2c-c2e2-48bc-8f6e-f9b0f05697e9.mp4" controls="controls" style="max-height:640px">
    </video>
</details>

### Anyone who wants to undertake exploratory genomic data analysis

Beyond our novel methods, `cogent3` provides an extensive suite of capabilities for manipulating and analysing sequence data. You can manipulate sequences by their annotations, e.g.

<details>
  <summary> 🎬 Demo sequences with annotations </summary>
    <video src="https://user-images.githubusercontent.com/3102996/253847297-2611cda8-e078-4b86-a269-43fbf6ced14c.mp4" controls="controls" style="max-height:640px">
    </video>
</details>

Plus, you can read standard tabular and biological data formats, perform multiple sequence alignment using any `cogent3` substitution models, phylogenetic reconstruction and tree manipulation, manipulation of tabular data, visualisation of phylogenies and much more.

### Beginner friendly approach to genomic data analysis

Our `cogent3.app` module provides a very different approach to using the library capabilities. Expertise in structural programming concepts is not essential!

<details>
  <summary> 🎬 Demo friendly coding </summary>
    <video src="https://user-images.githubusercontent.com/3102996/253849168-a821de1a-1aad-4761-970f-e365f6b3b1cd.mp4" controls="controls" style="max-height:640px">
    </video>
</details>

## Installation

For most users we recommend

```bash
$ pip install "cogent3[extra]"
```

which installs support for data visualisation and jupyter notebooks.

If you're running on a high-performance computing system we recommend

```bash
$ pip install cogent3
```

which skips the data visualisation and notebook support.

To install the development version directly from GitHub

```bash
$ pip install git+https://github.com/cogent3/cogent3.git@develop#egg=cogent3
```

## Project Information

`cogent3` is released under the BSD-3 license, documentation is at [cogent3.org](https://cogent3.org), while [`cogent3` code is on GitHub](https://github.com/cogent3/cogent3). If you would like to contribute (and we hope you do!), we have created a companion [`c3dev` GitHub](https://github.com/cogent3/c3dev) repo which provides details on how to contribute and some useful tools for doing so.

## Project History

`cogent3` is a descendant of [PyCogent](https://github.com/pycogent/pycogent.github.com). While there is much in common with PyCogent, the amount of change has been substantial, motivating the name change to `cogent3`. This name has been chosen because `cogent` was always the import name (dating back to [PyEvolve in 2004](https://www.ncbi.nlm.nih.gov/pubmed/14706121)) and it's Python 3 only.

Given this history, we are grateful to the multitude of individuals who have made contributions over the years. Many of these contributors were also co-authors on the original [PyEvolve](https://www.ncbi.nlm.nih.gov/pubmed/14706121) and [PyCogent](https://www.ncbi.nlm.nih.gov/pubmed/17708774) publications. Individual contributions can be seen by using "view git blame" on individual lines of code on GitHub, through git log in the terminal, and more recently the changelog.

## Funding

Cogent3 has received funding support from the Australian National University and an [Essential Open Source Software for Science Grant](https://chanzuckerberg.com/eoss/proposals/cogent3-python-apis-for-iq-tree-and-graphbin-via-a-plug-in-architecture/) from the Chan Zuckerberg Initiative.

<p align="center">
  &nbsp;&nbsp;&nbsp;&nbsp;
  <img src="https://webstyle.anu.edu.au/_anu/4/images/logos/2x_anu_logo_small.svg" height="100">
  &nbsp;&nbsp;&nbsp;&nbsp;
  <img src="https://chanzuckerberg.com/wp-content/themes/czi/img/logo.svg" height="110">
</p>


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "cogent3",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.14,>=3.10",
    "maintainer_email": null,
    "keywords": "biology, genomics, statistics, phylogeny, evolution, bioinformatics",
    "author": null,
    "author_email": "Gavin Huttley <Gavin.Huttley@anu.edu.au>",
    "download_url": "https://files.pythonhosted.org/packages/80/76/1867fc147e19f5ed6a038339ee508eae7bf2647ba8875f1adbc096a1d0be/cogent3-2025.7.10a2.tar.gz",
    "platform": null,
    "description": "\n<p align=\"left\">\n  <img src=\"https://raw.githubusercontent.com/cogent3/cogent3.github.io/e72df8c155c100f502b6a7009347d1821ab3adef/doc/_static/c3-logo.svg\" width=\"300\">\n</p>\n\n[![PyPI version](https://badge.fury.io/py/cogent3.svg)](https://badge.fury.io/py/cogent3)\n[![Downloads](https://pepy.tech/badge/cogent3/month)](https://pepy.tech/project/cogent3)\n\n[![Build Status](https://github.com/cogent3/cogent3/workflows/CI/badge.svg?branch=develop)](https://github.com/cogent3/cogent3/actions?workflow=CI)\n[![coverall](https://coveralls.io/repos/github/cogent3/cogent3/badge.svg?branch=develop)](https://coveralls.io/github/cogent3/cogent3?branch=develop)\n\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/cogent3)\n[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)\n\n[![CodeQL](https://github.com/cogent3/cogent3/actions/workflows/codeql.yml/badge.svg)](https://github.com/cogent3/cogent3/actions/workflows/codeql.yml)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/e80e3441de59449bb1a4d8ad1fdea4fa)](https://app.codacy.com/gh/cogent3/cogent3/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)\n\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.15067121.svg)](https://doi.org/10.5281/zenodo.15067121)\n\n\n`cogent3` is a mature python library for analysis of genomic sequence data. We endeavour to provide a first-class experience within Jupyter notebooks, but the algorithms also support parallel execution on compute systems with 1000's of processors.\n\n## \ud83d\udce3 Feature Announcements \ud83d\udce3\n\n<details>\n  <summary> Migration to new type core objects is complete\u203c\ufe0f </summary>\n\nThis has now been finalised with these classes being the defaults.\n\n</details>\n\n<details>\n  <summary> Major advances in our progress towards a fully plugin-based architecture! </summary>\n\n### Cogent3 supports sequence storage plugins \ud83d\udce6\ud83d\udd0c\ud83d\ude80\n\nWe have implemented the infrastructure to support alternative sequence storage plugins. These provide the backend storage for the new type sequence collections. We have implemented a proof-of-principle plugin [cogent3-h5seqs](https://pypi.org/project/cogent3-h5seqs/) for sequence storage based on the HDF5 format. This allows efficient storage of very large sequence collections (aligned or unaligned). See the readme for that project on how to use it.\n\n### Cogent3 supports sequence format parser and writer plugins \ud83d\udc53\u270d\ufe0f\ud83d\udd0c\n\nWe have implemented the infrastructure to support third-party provision of every bioinformaticians favourite game -- parsing / writing the multitude of sequence file formats.  All builtin format parsers / writers are implemented as plugins. We use third-party versions by default.\n\n\n### Cogent3 implements plugin hooks \ud83d\udd0c\ud83e\ude9d\ud83c\udf89\n\nWe have implemented the infrastructure to support hook-style plugins. We have definied a single hook now -- the new type ``Alignment.quick_tree()`` method checks for an external plugin for calculation. The developers of [piqtree](https://pypi.org/project/piqtree) have made the rapid-NJ algorithm available for this hook! Once installed, it is used as `aln.quick_tree(use_hook=\"piqtree\")`.\n\n> **Note**\n> For assistance in writing your own plugins, contact us via the [cogent3 discussions page](https://github.com/cogent3/cogent3/discussions).\n\n</details>\n\n<details>\n  <summary> Now distributed with sample data! </summary>\n\n  We have added sample data sets for quick testing of different features. Check out `cogent3.available_datasets()` to see the available datasets. You can load one using `cogent3.get_dataset(name)`.\n\n</details>\n\n## Who is it for?\n\n### Anyone who wants to analyse sequence divergence using robust statistical models\n\n`cogent3` is unique in providing numerous [non-stationary Markov models](http://www.ncbi.nlm.nih.gov/pubmed/25503772) for modelling sequence evolution, [including codon models](https://www.ncbi.nlm.nih.gov/pubmed/28175284). `cogent3` also includes an extensive collection of time-reversible models (again including [novel codon models](https://www.ncbi.nlm.nih.gov/pubmed/19815689)). We have done more than just invent these new methods, we have [established the most robust algorithms](https://www.ncbi.nlm.nih.gov/pubmed/19099591) for their implementation and their [suitability for real data](https://www.ncbi.nlm.nih.gov/pubmed/23935949). Additionally, there are novel signal processing methods focussed on statistical estimation of [integer period signals](https://www.ncbi.nlm.nih.gov/pubmed/21527008).\n\n<details>\n  <summary> \ud83c\udfac Demo non-reversible substitution model </summary>\n    <video src=\"https://user-images.githubusercontent.com/3102996/253845402-f511af2c-c2e2-48bc-8f6e-f9b0f05697e9.mp4\" controls=\"controls\" style=\"max-height:640px\">\n    </video>\n</details>\n\n### Anyone who wants to undertake exploratory genomic data analysis\n\nBeyond our novel methods, `cogent3` provides an extensive suite of capabilities for manipulating and analysing sequence data. You can manipulate sequences by their annotations, e.g.\n\n<details>\n  <summary> \ud83c\udfac Demo sequences with annotations </summary>\n    <video src=\"https://user-images.githubusercontent.com/3102996/253847297-2611cda8-e078-4b86-a269-43fbf6ced14c.mp4\" controls=\"controls\" style=\"max-height:640px\">\n    </video>\n</details>\n\nPlus, you can read standard tabular and biological data formats, perform multiple sequence alignment using any `cogent3` substitution models, phylogenetic reconstruction and tree manipulation, manipulation of tabular data, visualisation of phylogenies and much more.\n\n### Beginner friendly approach to genomic data analysis\n\nOur `cogent3.app` module provides a very different approach to using the library capabilities. Expertise in structural programming concepts is not essential!\n\n<details>\n  <summary> \ud83c\udfac Demo friendly coding </summary>\n    <video src=\"https://user-images.githubusercontent.com/3102996/253849168-a821de1a-1aad-4761-970f-e365f6b3b1cd.mp4\" controls=\"controls\" style=\"max-height:640px\">\n    </video>\n</details>\n\n## Installation\n\nFor most users we recommend\n\n```bash\n$ pip install \"cogent3[extra]\"\n```\n\nwhich installs support for data visualisation and jupyter notebooks.\n\nIf you're running on a high-performance computing system we recommend\n\n```bash\n$ pip install cogent3\n```\n\nwhich skips the data visualisation and notebook support.\n\nTo install the development version directly from GitHub\n\n```bash\n$ pip install git+https://github.com/cogent3/cogent3.git@develop#egg=cogent3\n```\n\n## Project Information\n\n`cogent3` is released under the BSD-3 license, documentation is at [cogent3.org](https://cogent3.org), while [`cogent3` code is on GitHub](https://github.com/cogent3/cogent3). If you would like to contribute (and we hope you do!), we have created a companion [`c3dev` GitHub](https://github.com/cogent3/c3dev) repo which provides details on how to contribute and some useful tools for doing so.\n\n## Project History\n\n`cogent3` is a descendant of [PyCogent](https://github.com/pycogent/pycogent.github.com). While there is much in common with PyCogent, the amount of change has been substantial, motivating the name change to `cogent3`. This name has been chosen because `cogent` was always the import name (dating back to [PyEvolve in 2004](https://www.ncbi.nlm.nih.gov/pubmed/14706121)) and it's Python 3 only.\n\nGiven this history, we are grateful to the multitude of individuals who have made contributions over the years. Many of these contributors were also co-authors on the original [PyEvolve](https://www.ncbi.nlm.nih.gov/pubmed/14706121) and [PyCogent](https://www.ncbi.nlm.nih.gov/pubmed/17708774) publications. Individual contributions can be seen by using \"view git blame\" on individual lines of code on GitHub, through git log in the terminal, and more recently the changelog.\n\n## Funding\n\nCogent3 has received funding support from the Australian National University and an [Essential Open Source Software for Science Grant](https://chanzuckerberg.com/eoss/proposals/cogent3-python-apis-for-iq-tree-and-graphbin-via-a-plug-in-architecture/) from the Chan Zuckerberg Initiative.\n\n<p align=\"center\">\n  &nbsp;&nbsp;&nbsp;&nbsp;\n  <img src=\"https://webstyle.anu.edu.au/_anu/4/images/logos/2x_anu_logo_small.svg\" height=\"100\">\n  &nbsp;&nbsp;&nbsp;&nbsp;\n  <img src=\"https://chanzuckerberg.com/wp-content/themes/czi/img/logo.svg\" height=\"110\">\n</p>\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "COmparative GENomics Toolkit 3: genomic sequence analysis within notebooks or on compute systems with 1000s of CPUs.",
    "version": "2025.7.10a2",
    "project_urls": {
        "Bug Tracker": "https://github.com/cogent3/cogent3/issues",
        "Changelog": "https://github.com/cogent3/cogent3/blob/develop/changelog.md",
        "Documentation": "https://www.cogent3.org/",
        "Source Code": "https://github.com/cogent3/cogent3"
    },
    "split_keywords": [
        "biology",
        " genomics",
        " statistics",
        " phylogeny",
        " evolution",
        " bioinformatics"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0ff6d0f1289371e4aef0f48e306836b954ed4cff4da0af9a90301246279219f8",
                "md5": "1d4a808f99dc479580b113c5460f1244",
                "sha256": "d55511bc28f63961b903f4f5e91e170c9fd465a3fac54b90f0ea2eb737a61189"
            },
            "downloads": -1,
            "filename": "cogent3-2025.7.10a2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1d4a808f99dc479580b113c5460f1244",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.14,>=3.10",
            "size": 715673,
            "upload_time": "2025-07-11T11:40:10",
            "upload_time_iso_8601": "2025-07-11T11:40:10.301083Z",
            "url": "https://files.pythonhosted.org/packages/0f/f6/d0f1289371e4aef0f48e306836b954ed4cff4da0af9a90301246279219f8/cogent3-2025.7.10a2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "80761867fc147e19f5ed6a038339ee508eae7bf2647ba8875f1adbc096a1d0be",
                "md5": "89dc0ff57c142ff55913ca065313c370",
                "sha256": "0de842f0e577342a98d9682bc037fc5dbab28042196ddf3788909c81a375342c"
            },
            "downloads": -1,
            "filename": "cogent3-2025.7.10a2.tar.gz",
            "has_sig": false,
            "md5_digest": "89dc0ff57c142ff55913ca065313c370",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.14,>=3.10",
            "size": 17895132,
            "upload_time": "2025-07-11T11:40:13",
            "upload_time_iso_8601": "2025-07-11T11:40:13.064455Z",
            "url": "https://files.pythonhosted.org/packages/80/76/1867fc147e19f5ed6a038339ee508eae7bf2647ba8875f1adbc096a1d0be/cogent3-2025.7.10a2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-11 11:40:13",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "cogent3",
    "github_project": "cogent3",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "cogent3"
}
        
Elapsed time: 0.44039s