Skip to content

tianlt/deepdirect

Repository files navigation

deepdirect

DOI

Deepdirect is an in silico approach to generate mutations for protein complexes towards a specified direction (increase/decrease) in binding affinity.

System requirements and dependencies

Hardware Requirements

deepdirect model is able to be trained and perform its operations on a standard computer.

OS Requirements

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

Dependencies

deepdirect framework is built and trained on the Tensorflow 2.4.0 and Keras 2.4.0.

Framework construction

The python file including all required deepdirect framework built function is able to be downloaded from GitHub: deepdirect_framework/model_function.py

Data structure

  • data folder contains the original datasets used for building the training datasets.
  • deepdirect_framework folder contains the trained model weights and the model constructing functions.
  • deepdirect_paper folder contains codes for building and training models, and performing analysis in the deepdirect manuscript. The file ab_bind_data_extract.py and skempi_data_extract.py contains code for constructing training datasets for Deepdirect framework. train_step_1.py contains code for training step 1 for the mutation mutator. final_model.py contains code for training step 2 (final) for the mutation mutator. model_function.py contains code for constructing the Deepdirect framework. model_evaluation_application.py contains code for model evaluation, and teh application on Novavax-vaccine. evolution_analysis.py contains code for performing evolution analysis.
  • example folder contains the Jupyter notebook example and the demo data.

File source

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.

Installation

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

Running deepdirect

data processing

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.

Build deepdirect mutator with trained weights

aa_mutator = build_aa_mutator()

aa_mutator.load_weights(
    'deepdirect_framework/model_i_weights.h5')

Binding affinity-guided mutation

aa_mutator.predict([pre, rbd, same, x, y, z, input_noi])

Additional information

Expected outputs: mutated amino acid sequence

Expected runtime for mutation: ~1 mintue

Issues and bug reports

Please use https://github.com/tianlt/deepdirect/issues to submit issues, bug reports, and comments.

License

deepdirect is distributed under the GNU General Public License version 2 (GPLv2).

Citation

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