Deepdirect is an in silico approach to generate mutations for protein complexes towards a specified direction (increase/decrease) in binding affinity.
deepdirect model is able to be trained and perform its operations on a
standard computer.
The deepdirect model should be compatible with Windows, Mac, and Linux
operating systems. The package has been tested on the following systems:
- Linux 3.10.0
- Windows 10
deepdirect framework is built and trained on the Tensorflow 2.4.0
and Keras 2.4.0.
The python file including all required deepdirect framework built
function is able to be downloaded from GitHub:
deepdirect_framework/model_function.py
datafolder contains the original datasets used for building the training datasets.deepdirect_frameworkfolder contains the trained model weights and the model constructing functions.deepdirect_paperfolder contains codes for building and training models, and performing analysis in the deepdirect manuscript. The fileab_bind_data_extract.pyandskempi_data_extract.pycontains code for constructing training datasets for Deepdirect framework.train_step_1.pycontains code for training step 1 for the mutation mutator.final_model.pycontains code for training step 2 (final) for the mutation mutator.model_function.pycontains code for constructing the Deepdirect framework.model_evaluation_application.pycontains code for model evaluation, and teh application on Novavax-vaccine.evolution_analysis.pycontains code for performing evolution analysis.examplefolder contains the Jupyter notebook example and the demo data.
For files that are required as input in the code but not generated from other codes, please refer to the data availability section in the original paper.
Clone repository:
git clone https://github.com/tianlt/deepdirect.git
Create virtual environment:
conda create --name deepdirect python=3.6.8
Activate virtual environment:
conda activate deepdirect
Install dependencies:
pip install tensorflow==2.4.0
pip install keras==2.4.0
Data to be input to deepdirect include sequence to be mutated pre, RBD
site rbd, ligand-receptor index same, protein tertiary structure
information x, y and z, and random noise input_noi. All input
has to be tf.float32 type.
aa_mutator = build_aa_mutator()
aa_mutator.load_weights(
'deepdirect_framework/model_i_weights.h5')
aa_mutator.predict([pre, rbd, same, x, y, z, input_noi])
Expected outputs: mutated amino acid sequence
Expected runtime for mutation: ~1 mintue
Please use https://github.com/tianlt/deepdirect/issues to submit issues, bug reports, and comments.
deepdirect is distributed under the GNU General Public License version 2 (GPLv2).
If deepdirect has assisted you with your work, please kindly cite our paper:
Lan, T., Su, S., Ping, P. et al. Generating mutants of monotone affinity towards stronger protein complexes through adversarial learning. Nature Machine Intelligence 6, 315–325 (2024). https://doi.org/10.1038/s42256-024-00803-z