Skip to main content

Package for structural analysis of proteins

Project description

bioiain

Ask DeepWiki

By Iain Visa (iainvisa@gmail.com)

Bioiain logo

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bioiain-0.2.5.tar.gz (351.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bioiain-0.2.5-py3-none-any.whl (365.6 kB view details)

Uploaded Python 3

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

Hashes for bioiain-0.2.5.tar.gz
Algorithm Hash digest
SHA256 e46b44029143ab9602e1156482f1a1fa07e17ed03cb6481f1247095493695298
MD5 3b6a967aba4c14347e036c3d63db2dda
BLAKE2b-256 9c9e6300b6bfaca5aa2e7371f178d2be148299ee13fadf4b18fdd37fbbba1584

See more details on using hashes here.

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

Hashes for bioiain-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 de9baa6a621f1d159a2c2d9449ebacb1a88c188740f688feb5319815dabc7e41
MD5 0e8d3843b61b40b631b50713226b09f5
BLAKE2b-256 7ee163867a33b24cce49221002091e740e9000a7aa62ebd2444ca061b4aa8d47

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page