bioiain
By Iain Visa (iainvisa@gmail.com)
Toolbox for structural analysis of proteins.
Many features are still not commented/documented or even mentioned. Feel free to explore and/or use any functions.
Can be downloaded from the PiPy repository but note the used version as any function might change during development.
pip install bioiain
pip install bioiain[ml] for machine learning dependencies (pytorch).
pip isntall bioiain[aleph] to use ALEPH dependant functions.
If you were to use this and find any issue I'll be happy to fix it :D
INFO
Module wiki can be found at wiki.bioiain.com .
Relevant python code can be found in the src folder within their respective folders.
The test folder is for active development, and it's contents are constantly deleted/modified, and are not included in the package.
Protein Framework
Originally based on Biopython's hierarchy, but no longer dependant on it. Classes for structures, chains, residues, and atoms are included for manipulation and analysis of protein models.
Unlike Biopython, residues and atoms do not share the base entity framework as they behave in significantly different ways. Also respective classes for nucleotides, ligands and water are included and under development.
Bioiain is designed to be expandable, and custom classes are encouraged to match your purpose. Two custom classes (FragmentedStructure and Fragment) are included within the aleph module to deal with protein fragments.
Includes general-purpose tools and pipelines for importing, processing, saving, and exporting structures in mmCIF format (but PDB exports are slightly supported)
[!NOTE] WIP: Allow PDB parsing, dealing with structures with several models, cast data from respective Biopython objects.
Symmetries
This framework is designed to work with all the information available in crystallographic structures, therefore symmetry is considered by default when available.
Machine Learning
Still at a very early stage, Bioiain includes a PyTorch-based ML framework to simplify the development and training of ML models using on structural data.
It is intended for the development of new model architectures, embeddings, protein languages, classification, and other ML based approaches to structural biology.
This includes a BaseModel class with all the utilities commonly used during train/test/eval/inference of models. This allows setting up a model with custom layers and/or sub-models without dealing with losses, batching, logging, saving, loading, or exporting.
This framework works best with the provided EmbeddingDataset class, which doubles as a dataset and dataloader. And can be easily set up wilenusing (or not) the provided Protein Framework.
The framework relies on the provided Embedding class and subclasses. Which allow the generation and integration of custom-made embeddings, at protein or residue level.
This includes (local) integrated logging using Tensorboard.
[!NOTE] WIP: Still on the first iteration, will be reworked at some point.
ALEPH
Characteristic vectors are a powerful abstraction of protein structure, and can be calculated with ALEPH, through direct integration within the FragmentedStructure and Fragment classes included in the Protein Framework.
Tools
Utility functions to use and parse some external tools are included. For now this includes:
Utilities
Additionally, a large set of utilities is included, from logging, to common mathematical operations.
The utilities.files.StructureDataset facilitates working with large numbers of protein structures, and can fetch your structures of interest straight from the PDB.
Visualization
For structural visualisation, a custom PyMol scripting framework is included, replacing heavy sessions with generative commands.
Some common matplotlib utilities are also included. Including 3D visualisation of structures.
Databases
Utility functions download, parse, and query some online databases are included. For now this includes:
- Plinder (protein ligand interactions dataset)
Release files for bioiain 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| bioiain-0.4.0.tar.gz | 362.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bioiain-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 741.9 kB
Release files / bioiain-0.4.0.tar.gz
| Download URL | bioiain-0.4.0.tar.gz |
|---|---|
| Size | 362.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aa4b04a22d762a3ae8fc6807aceb36e57665158a720cefce57ecb6bc0d740ebe
|
|
BLAKE2b-256 checksum How to use checksums |
5a000af5e70f9efcf47eba15784a78b3e38e5e1bcbe4a3b6d4046fce6ec88766
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.0
|
Release files / bioiain-0.4.0-py3-none-any.whl
| Download URL | bioiain-0.4.0-py3-none-any.whl |
|---|---|
| Size | 379.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bb1653f885e0d78aa3dfcbf2b633a2d34f2d66b1437d13d93a969c8493a3f94f
|
|
BLAKE2b-256 checksum How to use checksums |
f48adfb764105c3841a037779da25fbe0e33f3b630fdf9f6d3f625551e73d1dd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.0
|