https://github.com/babaid/aa-sidechain-perturbation
This is a proof of concept python project, where the aim is to perturb sidechains of amino acids by rotating them around predefined axes. This can be of use for GNNs.
https://github.com/babaid/aa-sidechain-perturbation
Last synced: about 1 month ago
JSON representation
This is a proof of concept python project, where the aim is to perturb sidechains of amino acids by rotating them around predefined axes. This can be of use for GNNs.
- Host: GitHub
- URL: https://github.com/babaid/aa-sidechain-perturbation
- Owner: babaid
- License: gpl-3.0
- Created: 2023-09-06T14:25:34.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-09-19T08:10:45.000Z (almost 3 years ago)
- Last Synced: 2024-11-08T15:21:27.010Z (over 1 year ago)
- Language: Python
- Size: 142 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Info
For the actual production-ready implementation, visit [AAPerturb](https://github.com/babaid/AAPerturb). It is an optimized version so you can create a large dataset.
# AA-Sidechain-Perturbation
This is a proof of concept python project, where the aim is to perturb sidechains of amino acids by rotating them around predefined axes. This can be of use for GNNs.
The goal is to perform random rotations of amino acid sidechains as described in [Pre-training of Graph Neural Network for Modeling Effects of Mutations on Protein-Protein Binding Affinity](https://arxiv.org/abs/2008.12473).
For now I want not to sample the distributions descirbed in the [Smooth Backbone-Dependent Rotamer Library 2010](http://dunbrack.fccc.edu/lab/bbdep2010), but also allow (probably) unrealistic states, where the only condition is that atoms do not clash due to the rotation.
In this stage, the python package is just a prototype, highly unoptimized.
I will create an optimized version in C++/CUDA so that it can be used to create large datasets on clusters in a short amount of time.
# Requirements
The only requirements are
- rdkit
- numpy
- scipy
- loguru
Start by installing rdkit in a conda/mamba environment, and everything else should be straightforward.