AbPyTools is a Python 3 package to extract information from heavy and light antibody chain sequences. Using the built-in Antibody and ChainCollection it is very easy to manipulate the data and do more specific analysis with custom scripts.
This package is still in its early days and and lacks detailed documentation...! Below are some existing features and some planned future additions. At the moment it is updated several times a day until I am happy with the base functions. In the future the development will be performed in a separate branch.
- obtain Antibody numbering by querying AbNum (http://www.bioinf.org.uk/abs/abnum/)
- analysis of scFv sequences with optimised backend
- higher level class that can load data from several antibody sequences
- load and write antibody sequences in FASTA and json formats
- calculates hydrophobicity matrix for whole dataset
- get all the data already mentioned above
- access CDR and framework sequences
- Work with heavy and light chains or combinations
- high level function to easily plot CDR length using a FASTA file as input
- Add remaining antibody numbering schemes
- write tutorials
- adding some useful functions, such as comparing sequence with available datasets
- write high level code for more specific analysis
- plot CDR lengths of antibodies
From version 0.3 AbPyTools will start using Cython to speed up numerical manipulations. In the front end nothing will change, but installation from source will require Cython!
This new feature will speed up most calculations significantly. The backend uses code written from scratch that mimics numpy behaviour but runs much faster, since it is more specialised and lightweight.
Clone code from the GitHub repository
git clone https://github.com/gf712/AbPyTools.git
Change to package directory in your local machine
cd path/to/AbPyTools
Install package
python setup.py install
Run tests (recommended)
python setup.py test
pip install abpytools
import abpytools
- Added docs page
- Fixed Pypi build with Cython files
- Major:
- Protobuf support to serialise core objects (
ChainCollection
andFabCollection
)- speed up in saving and loading large files
- files are about 5 times smaller
- Dropped support for Python 3.5 to start using f-strings
- API changes:
- Cleaned up object instantiation and added factory functions (This will break some old code but provides a cleaner iterface)
- Protobuf support to serialise core objects (
- Minor:
- added Python 3.7 to Travis script (also dropped Python 3.5)
- Implementation of backend calculations with Cython leading to speedups of several orders of magnitude