Package for structural analysis of proteins
Project description
bioiain
By Iain Visa (iainvisa@gmail.com)
Toolbox for structural analysis of proteins.
[!WARNING] WIP EVERYTHING IS UNDER DEVELOPMENT!
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.
[!NOTE]
pip install bioiain[ml,aleph]will install all dependencies at once.
[!WARNING] Some dependencies must be installed through conda and are not automatically installed. Although not needed for most modules, the can be installed through the following commands as needed:
conda install -c conda-forge pymol-open-source(>=2.5.0 tested)
conda install -c bioconda clustalw(==2.1 tested)
conda install -c bioconda mmseqs2
conda install -c bioconda foldseek(>=8 tested)
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.
[!NOTE] Preset workflows are being developed, including the projectDimer workflow. (WIP)
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)
[!IMPORTANT] PDB Parsing is not supported yet, so the input so far must be mmCIF
[!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.
[!NOTE] It will probably not outperform any other library, but you won't have to worry about file organisation, logging, or blowing your RAM by loading all your data into memeory.
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.
[!NOTE] This is designed with medium complexity models in mind, such as Variational Auto-Encoders, therefore might be over-complicated for a simple classifier, and I have not tried to set up a transformer, but could be complicated.
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.
[!IMPORTANT] Integration with external datasets is still not dealt with and will likely require some processing.
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)
[!NOTE] Currently under development (separate repo): UniProt and COSMIC databases
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bioiain-0.2.5.tar.gz.
File metadata
- Download URL: bioiain-0.2.5.tar.gz
- Upload date:
- Size: 351.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e46b44029143ab9602e1156482f1a1fa07e17ed03cb6481f1247095493695298
|
|
| MD5 |
3b6a967aba4c14347e036c3d63db2dda
|
|
| BLAKE2b-256 |
9c9e6300b6bfaca5aa2e7371f178d2be148299ee13fadf4b18fdd37fbbba1584
|
File details
Details for the file bioiain-0.2.5-py3-none-any.whl.
File metadata
- Download URL: bioiain-0.2.5-py3-none-any.whl
- Upload date:
- Size: 365.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de9baa6a621f1d159a2c2d9449ebacb1a88c188740f688feb5319815dabc7e41
|
|
| MD5 |
0e8d3843b61b40b631b50713226b09f5
|
|
| BLAKE2b-256 |
7ee163867a33b24cce49221002091e740e9000a7aa62ebd2444ca061b4aa8d47
|