Skip to content

Commit

Permalink
Merge pull request #86 from GavinHuttley/develop
Browse files Browse the repository at this point in the history
MAINT: updated docs for new release
  • Loading branch information
GavinHuttley authored Dec 19, 2024
2 parents 09614f1 + e3250a9 commit 83d0dab
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 48 deletions.
38 changes: 1 addition & 37 deletions doc/history.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,48 +2,12 @@
Project History
***************

``cogent3`` is a descendant of PyCogent. While there is much in common with PyCogent, the amount of change has been substantial, motivating the new name [*]_.
``cogent3`` is a descendant of PyCogent. While there is much in common with PyCogent, the amount of change has been substantial, motivating the new name.

Given this history, we are grateful to the multitude of individuals who have made contributions over the years. These individuals are explicitly acknowledged in all the files they contributed to and were co-authors on the original PyEvolve :cite:`2004.Butterfield.000` and PyCogent :cite:`2007.Knight.000` publications.

Compared to PyCogent version 1.9, there have been massive changes. These include:

- integration of many of the new developments on algorithms and modelling published by the `Huttley lab <https://biology.anu.edu.au/research/groups/huttley-group-bioinformatics-molecular-evolution-genomes>`_ over the last decade
- an experimental ``cogent3.app`` module that presents a functional programming style interface to ``cogent3``
- modernised our dependencies including using ``plotly`` for visualisation, ``tqdm`` for progress bar display, ``loky``, ``concurrent.futures`` and ``mpi4py.futures`` for parallel process execution, ``nox`` and ``pytest`` for unit testing
- switched to calendar based versioning

The rewrite has been a massive amount of work and unfortunately the changes to the API are only indirectly documented by virtue of having the documentation match the library state. Thus, the best way to get older PyCogent scripts working is to check the Library documentation related to your code. More explicitly, you can also search in the `repository history <https://github.com/cogent3/cogent3>`_.

``cogent3`` no longer includes module ``x``, what do I do?
==========================================================

.. glossary::
``cogent.app``
The ``PyCogent`` module was concerned with wrapping external applications. There are multple 3rd party alternatives to this, for example ``click``, ``burrito``, etc.. The ``cogent3.app`` module is very different being focussed on providing a functional style interface to ``cogent3`` capabilities.

``cogent.db.ensembl``
This has been turned into a standalone project, `EnsemblDb3 <https://github.com/cogent3/ensembldb3>`_.

``cogent.db.eutils``
For querying NCBI via their EUtils interface. A replacement is `biocommons/eutils <https://github.com/biocommons/eutils>`_.

``cogent.struct``
For manipulating 3D structures. We know of no replacements.

``cogent.motif``
A subset of k-mer analyses. No direct replacements.

``cogent.seqsim``
See the sequence simulation capabilities in ``cogent3.evolve`` and ``cogent3.app.evo``.

``cogent.maths.unifrac``
The microbiome related functions are now in `scikit-bio <https://scikit-bio.org>`_.

.. _cogent3: https://github.com/cogent3/cogent3

.. [*] it's Python 3 only amd ``cogent`` was always the import name for PyCogent (dating back to PyEvolve :cite:`2004.Butterfield.000`).
------

.. rubric:: References
Expand Down
13 changes: 6 additions & 7 deletions doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Making Sense from Sequence
##########################

``cogent3`` is a mature python library for analysis of biological 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. It be used for...
``cogent3`` is a python library for analysis of biological 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. It be used for...

.. tab-set::

Expand Down Expand Up @@ -38,6 +38,10 @@ Making Sense from Sequence
πŸ“£ New Features & Announcements
===============================

.. dropdown:: πŸ†• The release of piqtree πŸŽ‰

The `piqtree <https://piqtree.readthedocs.io/>`_ project has made a major release. It now supports parallel execution for some functions.

.. dropdown:: πŸ†• Cogent3 and Plotly blog post 😎

A demo of the combined power of cogent3 and Plotly applied to the `analysis of SARS-COV-2 genomes <https://plotly.com/blog/decoding-genomes-cogent3-plotly/>`_.
Expand All @@ -56,7 +60,7 @@ Making Sense from Sequence

.. dropdown:: πŸ†• A new tutorial on using non-stationary amino acid models 🧐

A new contribution from Peter Goodman and Andrew Wheeler demonstrates how to specify a non-stationary amino acid substitution model. Check out their :ref:`tutorial <nonstationary-model-aa-inference>` and `the original paper <https://doi.org/10.1101/2023.02.01.526552>`_. Thanks Peter, Andrew and their colleagues!
A new contribution from Peter Goodman and Andrew Wheeler demonstrates how to specify a non-stationary amino acid substitution model. Check out their :ref:`tutorial <nonstationary-model-aa-inference>` and `the original paper <https://doi.org/10.1101/2023.02.01.526552>`_. Thanks Peter, Andrew and their colleagues!

.. dropdown:: πŸ†• Faster sequence coevolution measures πŸš€

Expand All @@ -68,11 +72,6 @@ Making Sense from Sequence

Please post any questions you have about writing apps or sharing them on `cogent3 discussions <https://github.com/cogent3/cogent3/discussions>`_.

.. dropdown:: πŸ†• Docs are out for piqtree2 πŸŽ‰

Speaking of plugins, checkout the new documentation for `piqtree2 <https://piqtree2.readthedocs.io/>`_.


.. the ordering of the index items below is critical since it defines the web site header!
.. toctree::
Expand Down
17 changes: 13 additions & 4 deletions doc/projects.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,20 @@ If you want your projected added to this list, make a PR!
`Spectral cluster Supertree <https://pypi.org/project/sc-supertree/>`_
Spectral Cluster Supertree is a state-of-the-art algorithm for constructing rooted supertrees from collections of rooted source trees.

`piqtree2 <https://pypi.org/project/piqtree2/>`_
piqtree2 is a library that allows you to use IQ-TREE2 directly from Python! The interface with Python is through cogent3 objects.
`piqtree <https://piqtree.readthedocs.io/>`_
piqtree is a library that allows you to use IQ-TREE2 directly from Python! The interface with Python is through cogent3 objects.

`EnsemblLite <https://github.com/cogent3/EnsemblLite>`_
Command line tool for localising subsets of Ensembl data. It provides
`diverse-seq <https://pypi.org/project/diverse-seq/>`_
Diverse-seq is a Python package for selecting sequences that are representative of the diversity in a sequence collection.

`phylim <https://pypi.org/project/phylim/>`_
A library for checking the limits of phylogenetic tree estimation..

`cogent3-ete3 <https://pypi.org/project/cogent3-ete3/>`_
A bridge between cogent3 and ete3 tree objects.

`ensembl-tui <https://github.com/cogent3/ensembl_tui/>`_
A terminal user interface for localising subsets of Ensembl data. It provides
a command line interface for sampling related genes and whole genome
alignments.

Expand Down

0 comments on commit 83d0dab

Please sign in to comment.