Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
JinyuanSun committed Jul 18, 2024
1 parent da6bd31 commit b736d96
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 59 deletions.
67 changes: 8 additions & 59 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ If you encounter any errors or issues while using this project, please don't hes
Please note that the PymolFold server is a shared resource, and I request you to use it responsibly. Do not abuse the server, as it can affect the availability and performance of the service for other users.

```git
18Jul2024: Add `fetch_af` to fetch AlphaFold predicted proteins in AlphaFold Database using UniProt ID. Deprecate `dms`, `singlemut`, `cpd`, and `webapp`.
10Jan2024: Add `predict_pocket` to predict ligand binding pocket of protein.
03Nov2023: Add `fetch_am` for AlphaMissense predicted Human proteins.
20Sep2023: Add `fold_batch`, a command line tool.
Expand Down Expand Up @@ -50,17 +51,8 @@ Other scripts:
run https://alphamissense.hegelab.org/coloram.py
```

### New command `fetch_am` for AlphaMissense predicted Human proteins

```bash
fetch_am cftr_human
coloram
```
<img src="./img/am.png" width="400">

### Fold your protein

[webapp avaiable at here](http://103.79.77.89:8501/), in case someone struggles with using PyMOL.
Also, check META's [web app](https://esmatlas.com/resources?action=fold)

The `color_plddt` command also returns pymol `selection` object of different confidence levels. The color scheme is now compatible with plddt in range (0, 1) and (0, 100) only if they are consistent in your selection.
Expand All @@ -86,61 +78,18 @@ ray 1280, 960, async=1
<img src="./img/esmfold.png" width="400">
<!-- ![Screenshot0](img/esmfold.png) -->

### Design Your Protein

Thanks to [`ColabDeisgn`](https://github.com/sokrypton/ColabDesign) by [Sergey O](https://github.com/sokrypton).

#### cpd for sequence generation [`Webapp`](http://103.79.77.89:8501/Protein_Design)

Use `cpd` to design seqeunces will fold into the target structure:
### Use `fetch_am` for AlphaMissense predicted Human proteins

```bash
# commands
fetch 1pga.A
cpd 1pga.A
# output looks like:
# >des_0,score=0.72317,seqid=0.6607
# PTYKLIINGKKIKGEISVEAPDAKTAEKIFKNYAKENGVNGKWTYDESTKTFTIEE
# >des_1,score=0.73929,seqid=0.6250
# PTYTLVVNGKKIKGTRSVEAPNAAVAEKIFKQWAKENGVNGTWTYDASTKTFTVTE
# >des_2,score=0.72401,seqid=0.6429
# PTYTLKINGKKIKGEISVEAPNAEEAEKIFKQYAKDHGVNGKWTYDASTKTFTVTE
```

Using `esmfold` to examin the `des_0`:

```python
# commands
esmfold PTYKLIINGKKIKGEISVEAPDAKTAEKIFKNYAKENGVNGKWTYDESTKTFTIEE, 1pga_des0
super 1pga_des0, 1pga.A
color_plddt 1pga_des0
```

<img src="./img/des_demo.png" width="400">
<!-- ![Screenshot1](img/des_demo.png) -->

#### `singlemut` for scoring a signle mutation [`Webapp`](http://103.79.77.89:8501/Single_Point_Mutation)

```python
# commands
fetch 1pga.A
singlemut 1pga.A, A, 26, F
# output maybe (not deterministic):
# ================================
# mutation: A_26_F, score: -0.0877
# ================================
fetch_am cftr_human
coloram
```
<img src="./img/am.png" width="400">

#### `dms` for *in silico* deep mutational scan [`Webapp`](http://103.79.77.89:8501/Deep_Mutation_Scan)
### Use `fetch_af` to fetch AlphaFold predicted proteins in AlphaFold Database using UniProt ID

```python
# commands
fetch 1pga.A
select resi 1-10
dms sele
# this might took ~1 min, be pacient ; )
# output:
# Results save to '/pat/to/working/dir/dms_results.csv'
```bash
fetch_af P26196
```

## Reference
Expand Down
6 changes: 6 additions & 0 deletions pf_plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -386,6 +386,11 @@ def predict_pocket(selection="all", name="input.pdb"):
print(k)
print(v)

def fetch_af(uniprot_id):
url = f"https://alphafold.ebi.ac.uk/files/AF-{uniprot_id}-F1-model_v4.pdb"
cmd.do(f"load {url}")
cmd.do(f"color_plddt AF-{uniprot_id}-F1-model_v4")

cmd.extend("predict_pocket", predict_pocket)
cmd.auto_arg[0]["predict_pocket"] = [cmd.object_sc, "object", ""]

Expand All @@ -400,3 +405,4 @@ def predict_pocket(selection="all", name="input.pdb"):
cmd.extend("set_workdir", set_workdir)
cmd.extend("set_base_url", set_base_url)
cmd.extend("fetch_am", query_am_hegelab)
cmd.extend("fetch_af", fetch_af)

0 comments on commit b736d96

Please sign in to comment.