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..
LoadSeqs(..., array_align=False,..), or
- If you have an
new = aln.to_type(array_align=False).
API changes in PyCogent3
Style for mercurial commit messages
Commit message formatting follows that of numpy. Replicated below for convenience.
|API:||an (incompatible) API change|
|BENCH:||changes to the benchmark suite|
|BLD:||change related to making a build|
|DEP:||deprecate something, or remove a deprecated object|
|DEV:||development tool or utility|
|MAINT:||maintenance commit (refactoring, typos, etc.)|
|REV:||revert an earlier commit|
|STY:||style fix (whitespace, PEP8)|
|TST:||addition or modification of tests|
|REL:||related to a release|