Chiral Protein Design

This project aims to design chiral proteins using deep learning and Rosetta. The main steps include:

  1. Train a RoseTTAFold model on chiral protein structures.
  2. Design chiral protein sequences based on the trained model.
  3. Predict and optimize the structures of designed sequences.
  4. Evaluate the chirality of designed proteins.

Installation

  1. Create a new conda environment using the environment.yml file:
    conda env create -f environment.yml
  2. Activate the environment:

    conda activate chiral_protein_design

  3. Install RoseTTAFold following the instructions at https://github.com/RosettaCommons/RoseTTAFold.

USAGE

  1. Prepare the training data: Download chiral protein structures from the PDB database and place them in the data/pdb directory. Download the Sidechainnet dataset and extract it to the data/sidechainnet directory.
  2. Train the RoseTTAFold model:

    python scripts/train_rosettafold.py

  3. Design chiral protein sequences:

    python scripts/design_sequence.py

  4. Predict and optimize the structures of designed sequences:

    python scripts/predict_structure.py python scripts/optimize_structure.py

  5. Evaluate the chirality of designed proteins:

    python scripts/evaluate_chirality.py

  6. Run the entire pipeline:

    python run_pipeline.py

  7. Analyze the results: View the designed sequences in results/designed_sequences.fasta. View the predicted and optimized structures in results/predicted_structures.pdb and results/optimized_structures.pdb. View the chirality evaluation results in results/chirality_scores.csv. Run the notebooks in the notebooks directory to explore the data and analyze the model performance.

Project Structure

data: Contains the training data (PDB files and Sidechainnet dataset).
models: Contains the trained RoseTTAFold model.
scripts: Contains the Python scripts for each step of the pipeline.
notebooks: Contains Jupyter notebooks for data exploration and model analysis.
results: Contains the output files generated by the pipeline.
environment.yml: Specifies the conda environment and dependencies.
README.md: Provides an overview and instructions for the project.
run_pipeline.py: Runs the entire pipeline.

References

  1. RoseTTAFold: https://github.com/RosettaCommons/RoseTTAFold
  2. Sidechainnet: https://github.com/jonathanking/sidechainnet
  3. PyRosetta: https://www.pyrosetta.org/

Acknowledgments

This project was inspired by the work of the RoseTTAFold team and the Sidechainnet dataset. Special thanks to the open-source community for their valuable contributions.

License

This project is licensed under the MIT License. See the LICENSE file for more information.