Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Prediction of binding free energy

Dataset description

The dataset is based on SKEMPI v2.0, atoms from the interaction interface (located at a distance of no more than 4.0 angstroms from the partner protein) were retained from the complex structures and saved in JSON in the following format:

[
    {
        "uid": "1ahw",           # RCSB PDB ID
        "interface_graph": {
            "coords": ...,       # atomic coordinates, N x 3
            "atoms": ...,        # atoms, N
            "residues": ...,     # aminoacids names, N
            "chain_ids": ...,    # chain identifiers, N
            "is_receptor": ...,  # 0 — atom in receptor, 1 — atom in ligand
        },
        "affinity": -12.0        # Free energy of binding
    }
]

The samples are located in the data folder.

Environment

Pyenv was used to create the environment because the default Poetry build did not allow for building a working environment. Python 3.10.13 was used for this project. The libraries required to run this project are listed in the requirements.txt file in the requirements folder.

Network Training

After creating and activating the virtual environment, you need to train the model. Training is configured via train.yaml. To do this, you can use the following commands:

python -m scripts.train

This command will run training on the GraphNet model from modules. To run training on the more advanced InvariantGNN model, you need to add the --config_name flag with the name of the configuration file (train_invariant):

python -m scripts.train --config_name train_invariant

You can also view the results in TensorBoard. It will look something like this: 'invariant.png' There will also be many other graphs that you can customize.

Network Testing

After training the network, it needs to be tested. You can test both GraphNet and InvariantGNN.

Example of metrics output for the GraphNet model. 'metrics.png' Example of metrics output for the InvariantGNN model. 'invariant_pearson.png'

The launch is similar to the training:

python -m scripts.inference
python -m scripts.inference --config_name train_invariant

Example output

To output the example, simply run the file interface_graph.ipynb in Jupyter Notebook and run the chunks sequentially to display the structure. 'structure'

Author

Matvey Belyakov

About

binding affininty prediction

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages