Clone wiki

cogent3 / Home


This is not just a direct port of PyCogent to Python 3. Numerous modules have been removed, method and argument names changed to adhere (more extensively) with PEP8 and default behaviours of some commonly used functions have changed.

Why the big changes? The Python bioinformatics universe is a much richer space than when PyCogent began in 2002. Since PyCogent's publication in 2007, the suite of options for controlling applications, numerical calculations etc .. has exploded. This is a fantastic thing! In addition to meaning users have multiple options, it also means we can now refocus PyCogent back to its roots as the most flexible library for molecular evolutionary analyses around.

Changed default alignment object

This is a very significant change in default behaviour!

The default alignment object returned by LoadSeqs is now an ArrayAlignment (previously called DenseAlignment). This class has been chosen as the default for a number of reasons (e.g. more natural slicing of alignments).

You can obtain an instance of the original Alignment class by either:

  • creating it directly, i.e. from cogent3.core.alignment import Alignment, etc..
  • via LoadSeqs(..., array_align=False,..), or
  • If you have an Ă€rrayAlignment instance, use new = aln.to_type(array_align=False).

API changes in PyCogent3

API module changes in PyCogent3

API argument changes in PyCogent3

API class changes in PyCogent3

API function changes in PyCogent3

API method changes in PyCogent3

Style for mercurial commit messages

Commit message formatting follows that of numpy.