Skip to content

tianmalu/PP2_SimilarityPrediction

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Setup conda enviroment

conda create -n pp2 python=3.10
conda activate pp2
pip install -r requirements.txt
conda install -c bioconda mmseqs2

Project Structure

project_structureSimilarity/
│
├── data/                      # Data files
│   ├── swissprot_sequences.fasta   # SwissProt protein sequences
│   ├── alphafold_structures/       # AlphaFold2 structural predictions
│   └── clusters/                   # Clustered sequences (train, val, test)
│
├── embeddings/                 # Embedding vectors
│   ├── train_embeddings.npy    # Training set embeddings
│   ├── val_embeddings.npy      # Validation set embeddings
│   └── test_embeddings.npy     # Test set embeddings
│
├── results/                    # Result files
│   ├── similarity_scores.csv    # Structural similarity scores
│   └── model_performance.txt    # Model comparison results
│
├── scripts/                    # Code files
│   ├── data_preprocessing.py    # Data processing
│   ├── generate_embeddings.py   # Embedding generation
│   ├── calculate_similarity.py  # Similarity calculation
│   └── model_training.py        # Model training
│
└── main.py                     # Main execution script

Installation

  1. Clone this repository:

    git clone https://github.com/yourusername/project_structureSimilarity.git
    cd project_structureSimilarity
  2. Install required packages:

    pip install torch transformers scikit-learn biopython pandas numpy

Data Preparation

  • Place your SwissProt sequences in data/swissprot_sequences.fasta.
  • Download AlphaFold2 structural predictions and place them in data/alphafold_structures/.
  • Run data_preprocessing.py to cluster sequences and split into training, validation, and test sets.

Usage

  1. Generate Embeddings: Convert protein sequences to embeddings using generate_embeddings.py.

    python scripts/generate_embeddings.py
  2. Calculate Similarity: Compute structural similarity scores between embeddings.

    python scripts/calculate_similarity.py
  3. Train the Model: Train a model to predict similarity based on embeddings.

    python scripts/model_training.py
  4. Run the Full Pipeline: Execute main.py to run the full workflow.

    python main.py

Project Details

  • Objective: Predict protein structure similarity based on embeddings without alignment.
  • Methodology: Use protein language models and compute cosine similarity between embeddings.
  • References: Based on the latest research including TM-Vec, ESM2, MMseqs2, and FoldSeek.

Results

  • results/similarity_scores.csv: Similarity scores for each protein pair.
  • results/model_performance.txt: Performance metrics of the trained model.

About

PP2

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors