Update README.md

This commit is contained in:
Jun Liu
2025-04-28 20:10:06 +08:00
committed by GitHub
parent 5183369714
commit 7d600d0942

View File

@@ -1,7 +1,7 @@
# PPLM: A Protein-Protein Language Model for Interaction, Binding Affinity, and Interface Contact Prediction
![PPLM Banner](https://zhanglab.comp.nus.edu.sg/PPLM/img/ppplm_logo.png)
![PPLM Banner](https://zhanglab.comp.nus.edu.sg/PPLM/img/pplm_pipeline.png)
---
@@ -38,26 +38,33 @@ binding affinity, and identifying interface residue contacts, respectively.
5. **ESM-MSA** for Feature Generation: [Install ESM](https://github.com/facebookresearch/esm)
## Usage
### 1. Install environment
```bash
# 1. Install environment
conda env create -f environment.yml
# 2. Activate environment
```
### 2. Activate environment
```bash
conda activate PPLM
# 3. Run PPLM-PPI
```
### 3. Run PPLM-PPI
```bash
python run_pplm-ppi.py example/seq_pairs.fasta example/seq_pairs.results
# 4. Run PPLM-Affinity
```
### 4. Run PPLM-Affinity
```bash
python run_pplm-affinity.py example/receptor.fasta example/ligand.fasta
# 5. Run PPLM-Contact (homodimer)
```
### 5. Run PPLM-Contact (homodimer)
```bash
python run_pplm-contact.py example/protein.pdb example/protein.pdb example/homo_example
# 6. Run PPLM-Contact (heterodimer)
```
### 6. Run PPLM-Contact (heterodimer)
```bash
python run_pplm-contact.py example/protein1.pdb example/protein2.pdb example/hetero_example
# 7. Generate embeddings and attention weights
```
### 7. Generate embeddings and attention weights
```bash
python run_pplm.py example/seq1.fasta example/seq2.fasta example/seq1-seq2.pplm.pkl
```
@@ -68,10 +75,25 @@ python run_pplm.py example/seq1.fasta example/seq2.fasta example/seq1-seq2.pplm.
```bash
python run_pplm-ppi.py example/seq_pairs.fasta example/seq_pairs.results
```
- Output format (example):
- Output: The predicted interaction probabilities are saved in example/seq_pairs.results:
```
>Protein1:Protein2
Interaction Probability
>10090.ENSMUSP00000085394:10090.ENSMUSP00000116785
0.001926
>10090.ENSMUSP00000043111:10090.ENSMUSP00000102211
0.991765
>10090.ENSMUSP00000134644:10090.ENSMUSP00000131939
0.000425
>10090.ENSMUSP00000104648:10090.ENSMUSP00000095136
0.060997
>10090.ENSMUSP00000131855:10090.ENSMUSP00000118766
0.004577
>10090.ENSMUSP00000008036:10090.ENSMUSP00000046016
0.929329
...
Each entry consists of:
• Protein Pair: Represented in the format >Protein1:Protein2.
• Interaction Probability: The likelihood of interaction between the given protein pair.
```
### PPLM-Affinity
@@ -79,19 +101,30 @@ Interaction Probability
```bash
python run_pplm-affinity.py example/receptor.fasta example/ligand.fasta
```
- Output: Predicted binding affinity printed to the command line.
- Output: Predicted binding affinity printed to the command line
```
Predicted binding affinity: -7.6090136
```
### PPLM-Contact
- Command:
```bash
python run_pplm-contact.py example/protein.pdb example/protein.pdb example/homo_example
```
- Output file: `homo_example/homo_example.pred_contact.txt`
- Output: The predicted contacts are saved in example/homo_example/homo_example.pred_contact.txt:
```
Format:
| Rank | ResIdx1 | ResType1 | ResIdx2 | ResType2 | Contact Probability |
|:----:|:-------:|:--------:|:-------:|:--------:|:-------------------:|
Rank ResIdx1 ResType1 ResIdx2 ResType2 Contact_Probability
1 23:A MET 26:B CYS 0.976151
2 26:A CYS 23:B MET 0.974481
3 22:A ILE 26:B CYS 0.971633
4 23:A MET 30:B GLN 0.971191
5 30:A GLN 22:B ILE 0.970514
6 27:A GLY 23:B MET 0.970334
7 22:A ILE 30:B GLN 0.970124
8 30:A GLN 23:B MET 0.96919
9 23:A MET 27:B GLY 0.966725
10 23:A MET 23:B MET 0.966512
...
```
---
*This README was automatically generated.*