Protein Secondary Structure Prediction through Hybrid Integration of Transformers and Graph Neural Networks
Jupyter Notebook
2
9 commits
updated Jan 5, 2024
Protein Secondary Structure Prediction Using Contact Maps is a project aimed at predicting secondary structures from protein primary sequences. This is a pivotal step towards predicting tertiary structures and provides crucial insights into protein activity, relationships, and functions. While many existing methods utilize extensive sets of unlabeled amino acid sequences, our approach harnesses the power of accessible protein 3D structural data, which plays a decisive role in dictating protein functions. By combining Graph Neural Networks (GNNs) and Language Models (LMs), we capture enhanced spatial information and geometric characteristics of protein structures, leading to improved prediction accuracy.
Architecture of the SSRGNet Model - This diagram showcases the design and flow of the SSRGNet model, highlighting its components and their interactions.
Before you begin, ensure you have the required dependencies installed. You can install them using the following command:
pip install -r requirements.txt
Fetch the PDB files:
python scripts/preprocessing_scripts/preprocess.py
Calculate Distances:
python scripts/preprocessing_scripts/distance.py
Prepare Data for Language Model:
df_final.xlsx, cb513_final.xlsx, etc.
notebooks/data_prepare.ipynb notebook.notebooks/pdbfile_process.ipynb notebook.Generate Graph File:
python scripts/preprocessing_scripts/adjacency_relational.py
python scripts/preprocessing_scripts/adjacency.py
Prepare Sequence IDs for Language Model:
input_ids, attention_mask, labels, token_type_ids.
notebooks/prepare_raw_tokenization_file.ipynb notebook.Note: To switch between q3 and q8, adjust the code in the respective sections.
Configuration: Before running any training script, check and adjust the configuration accordingly.
Training Scripts:
CUDA_VISIBLE_DEVICES=0 python scripts/train/train_with_sweep.py
CUDA_VISIBLE_DEVICES=0 python scripts/train/train_baseline.py
CUDA_VISIBLE_DEVICES=0 python scripts/train/train_without_wandb.py

Our model, SSRGNet, showcased promising results in predicting protein secondary structures. Here are some key takeaways:
The results indicate that by leveraging both Graph Neural Networks (GNNs) and Language Models (LMs), we can effectively capture the intricate interconnections and dependencies in protein structures. The high accuracy and F1-score suggest that the model is not only accurate but also consistent in its predictions across different protein sequences.
For any queries, suggestions, or support, please open an issue on our GitHub repository. We'll do our best to address your concerns promptly.
Protein Secondary Structure Prediction through Hybrid Integration of Transformers and Graph Neural Networks
Jupyter Notebook
2
9 commits
updated Jan 5, 2024
Protein Secondary Structure Prediction Using Contact Maps is a project aimed at predicting secondary structures from protein primary sequences. This is a pivotal step towards predicting tertiary structures and provides crucial insights into protein activity, relationships, and functions. While many existing methods utilize extensive sets of unlabeled amino acid sequences, our approach harnesses the power of accessible protein 3D structural data, which plays a decisive role in dictating protein functions. By combining Graph Neural Networks (GNNs) and Language Models (LMs), we capture enhanced spatial information and geometric characteristics of protein structures, leading to improved prediction accuracy.
Architecture of the SSRGNet Model - This diagram showcases the design and flow of the SSRGNet model, highlighting its components and their interactions.
Before you begin, ensure you have the required dependencies installed. You can install them using the following command:
pip install -r requirements.txt
Fetch the PDB files:
python scripts/preprocessing_scripts/preprocess.py
Calculate Distances:
python scripts/preprocessing_scripts/distance.py
Prepare Data for Language Model:
df_final.xlsx, cb513_final.xlsx, etc.
notebooks/data_prepare.ipynb notebook.notebooks/pdbfile_process.ipynb notebook.Generate Graph File:
python scripts/preprocessing_scripts/adjacency_relational.py
python scripts/preprocessing_scripts/adjacency.py
Prepare Sequence IDs for Language Model:
input_ids, attention_mask, labels, token_type_ids.
notebooks/prepare_raw_tokenization_file.ipynb notebook.Note: To switch between q3 and q8, adjust the code in the respective sections.
Configuration: Before running any training script, check and adjust the configuration accordingly.
Training Scripts:
CUDA_VISIBLE_DEVICES=0 python scripts/train/train_with_sweep.py
CUDA_VISIBLE_DEVICES=0 python scripts/train/train_baseline.py
CUDA_VISIBLE_DEVICES=0 python scripts/train/train_without_wandb.py

Our model, SSRGNet, showcased promising results in predicting protein secondary structures. Here are some key takeaways:
The results indicate that by leveraging both Graph Neural Networks (GNNs) and Language Models (LMs), we can effectively capture the intricate interconnections and dependencies in protein structures. The high accuracy and F1-score suggest that the model is not only accurate but also consistent in its predictions across different protein sequences.
For any queries, suggestions, or support, please open an issue on our GitHub repository. We'll do our best to address your concerns promptly.