trdesign-pytorch
This repository is a PyTorch implementation of the trDesign paper based on the official TensorFlow implementation. The initial port of the trRosetta network was done by @lucidrains.
Figure 1 of De novo protein design by deep network hallucination (p. 12, Anishchenko et al., CC-BY-ND)
Requirements
Requires python 3.6+
pip install matplotlib numpy torch
Usage (protein design):
- Edit
src/config.py
to set the experiment configuration. - Run
python design.py
- All results will be saved under
results/
Design Configuration Options
- Sequence length (
int
) - AA_weight (
float
): how strongly we want the amino acid type composition to be 'natural' - RM_AA (
str
): disable specific amino acid types - n_models (
int
): how manytrRosetta
model ensembles we want to use during the MCMC loop - sequence constraint (
str
): fix a subset of the sequence residues to specific amino acids - target_motif (
path
): optimize a sequence with a target motif provided as an.npz
file - MCMC options
Usage (protein structure prediction):
python predict.py example.a3m
# or
python predict.py example.fasta
To get a .pdb
from the resulting .npz
you need to request the trRosetta
package from the original authors.
Then you can run:
python trRosetta.py example.npz example.fasta output.pdb -w /tmp
References
@article {Yang1496,
author = {Yang, Jianyi and Anishchenko, Ivan and Park, Hahnbeom and Peng, Zhenling and Ovchinnikov, Sergey and Baker, David},
title = {Improved protein structure prediction using predicted interresidue orientations},
year = {2020},
doi = {10.1073/pnas.1914677117},
URL = {https://www.pnas.org/content/117/3/1496},
eprint = {https://www.pnas.org/content/117/3/1496.full.pdf},
journal = {Proceedings of the National Academy of Sciences}
}
@article {Anishchenko2020.07.22.211482,
author = {Anishchenko, Ivan and Chidyausiku, Tamuka M. and Ovchinnikov, Sergey and Pellock, Samuel J. and Baker, David},
title = {De novo protein design by deep network hallucination},
year = {2020},
doi = {10.1101/2020.07.22.211482},
URL = {https://www.biorxiv.org/content/early/2020/07/23/2020.07.22.211482},
eprint = {https://www.biorxiv.org/content/early/2020/07/23/2020.07.22.211482.full.pdf},
journal = {bioRxiv}
}
@article {Tischer2020.11.29.402743,
author = {Tischer, Doug and Lisanza, Sidney and Wang, Jue and Dong, Runze and Anishchenko, Ivan and Milles, Lukas F. and Ovchinnikov, Sergey and Baker, David},
title = {Design of proteins presenting discontinuous functional sites using deep learning},
year = {2020},
doi = {10.1101/2020.11.29.402743},
URL = {https://www.biorxiv.org/content/early/2020/11/29/2020.11.29.402743},
eprint = {https://www.biorxiv.org/content/early/2020/11/29/2020.11.29.402743.full.pdf},
journal = {bioRxiv}
}