Skip to main content

Computational tool for the prediction of metal-binding loading paths in proteins using deep convolutional neural networks.

Project description

BioBrigit

BioBrigit is a computational tool designed for the prediction of metal diffusion pathways through a protein. It uses a novel scoring function that combines deep learning and previous domain knowledge regarding bioinorganic interactions. The deep learning part of our hybrid approach consists on a 3D Convolutional Neural Network trained to interpret the biochemical environment to distinguish between metal-binding and non-binding protein regions.

Shows an stylised anvil with a neural network upon it.

Useful links

Features

Diferent options for customizing the search:

  • Search for the paths of specific metals.
  • Provide a score that indicates how strong the protein-metal interaction will be in different positions.
  • Scan the whole protein or only a region (in PDB format).

Possible applications:

  • Identification of probable metal diffusion pathways through a protein.
  • Identification of conformational changes that alter the formation of such paths.
  • Metalloenzyme and metallodrug design.
  • Aid in developing hypothesis in molecular physiopathology.
  • Drug discovery.

Modular design:

  • The modular design of this package allows for its use as a command-line application or to be integrated into a larger Python program or pipeline. In the script directory are some of examples on how to integrate the program within a wider pipeline.

Installation

It can be directly installed in any conda environment by

conda create -n biobrigit python
conda activate biobrigit
pip install biobrigit

Usage

Once the environment is properly set-up the use of the program is relatively simple. The easiest example is:

biobrigit target metal

There are many parameters that can be also tuned, though default use is reccomended.

  • --model: Which CNN model is to be used. Two options are currently available: BrigitCNN which is the default model and TinyBrigit, which is a smaller model for improved computational efficiency, though it has lower accuracy.
  • --device: Whether to use GPU acceleration (cuda) or not (cpu). By default, it uses GPU if available.
  • --device_id: Which of the available GPU devices should be used for the calculations in case that there are more than one GPU available. By default, it uses the device labelled as 0.
  • --outputfile: Name of the outputfiles. The file extensions (.txt and .pdb) will be added automatically.
  • --max_coordinators: Number of maximum coordinators expected. By default, 2. It only affects the range of values assigned to the probes.
  • --residues: Number of most likely coordinating residues. By default, 10.
  • --stride: Step at which the voxelized representation of the protein should be parsed. By default, 1. The greater the stride, the greater the computational efficiency; however, the resolution of the predictions will be affected.
  • --cluster_radius: Radius of the clusters to be generated in armstrongs. By default, 5.
  • --cnn_threshold: Threshold for considering CNN points as possible coordinations. Lower values will impact computational efficiency; greater values, may hide possible coordinating regions. By default, 0.5. Values should be within the range [0, 1].
  • --combined_threshold: Threshold for considering predictions combining BioMetAll and CNN scores as positive. By default, 0.5. Values should be within the range [0, 1].
  • --threads: Number of threads available for multithreading calculation. By default it will create 2 threads per physical core.
  • --verbose: Information that will be displayed. 0: Only Moleculekit, 1: All. By default, 1.
  • --residue score: Scoring function for residue coordination analysis. Can be either discrete, that only considers how likely is a residue to bind to a certain metal (more computationally efficient); or gaussian, that also considers the fitness of the geometrical descriptors for a certain residue and metal. By default, gaussian.

The following parameters can also be tuned, but their modification is not reccomended as it may translate in unreliable predictions.

  • --cnn_weight: Importance of the CNN score in the final score in relations to the BioMetAll score. By default, 0.5. Values should be within the range [0, 1].
  • --voxelsize: Resolution of the 3D representation. In Arnstrongs. By default, 1 A.
  • --pH: pH of the medium at which the structure is to be evaluated. By default, 7.4.

Examples:

Searching for copper.

biobrigit 1dhy Cu

Searching with generic metal.

biobrigit 1dhy generic

Searching for multiple metals simultanously.

biobrigit 1dhy fe,generic

Fast preliminar exploration for binding sites with 4 coordinations, no GPU, and only considering the 4 most likely coordinating residues.

biobrigit 1dhy Cu --stride 3 --max_coordinators 4 --device cpu --residues 4

Search for small clusters at acidic pH (5.2).

biobrigit 1dhy Cu --cluster_radius 3 --pH 5.2

Output

The program generates 2 output files.

  1. A .txt file that contains information regarding the clusters of probes ordered by the predicted strength of the interaction between protein and metal. This file also displays a list of possible coordinating residues.
  2. A .pdb file that contains the coordinates of all probes with a score greater than combined_threshold and is the recommended output format for visualizing the predicted paths. The probes are represented as He atoms and the centers of their clusters as Ar atoms. To easily visualise the score for each probe, simply colour the probes by their $\beta$-factor using your protein visualization tool of choice.

License

BioBrigit is an open-source software licensed under the BSD-3 Clause License. Check the details in the LICENSE file.

Development Team

Credits

Special thanks to Silvia González López for designing the BioBrigit logo.

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

biobrigit-1.0.0.tar.gz (20.0 MB view details)

Uploaded Source

Built Distribution

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

biobrigit-1.0.0-py3-none-any.whl (40.1 MB view details)

Uploaded Python 3

File details

Details for the file biobrigit-1.0.0.tar.gz.

File metadata

  • Download URL: biobrigit-1.0.0.tar.gz
  • Upload date:
  • Size: 20.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for biobrigit-1.0.0.tar.gz
Algorithm Hash digest
SHA256 9ab3ad8547d24c27550e474fcff9d3730114b890204fc17e57901e3bcb672440
MD5 05e58648bb515a2d20df0f8d7d39a9f5
BLAKE2b-256 a806a4c5f409712c38f490a1519d5bb2ee804bfa6702631cb1569890fbc412fb

See more details on using hashes here.

Provenance

The following attestation bundles were made for biobrigit-1.0.0.tar.gz:

Publisher: python-publish.yml on insilichem/BioBrigit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file biobrigit-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: biobrigit-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 40.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for biobrigit-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3e9cc4851bb8fee00b5635981080aadbdac44a200397ecd849d68f216b1a1df1
MD5 70cb6f84dbe7f160cf89d708a789d23d
BLAKE2b-256 43ee08aada45743dcc4a39b75817c85e1fb0954cec37513423f4ebc8ab11e4e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for biobrigit-1.0.0-py3-none-any.whl:

Publisher: python-publish.yml on insilichem/BioBrigit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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