-
Notifications
You must be signed in to change notification settings - Fork 48
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into TrueMultimer
- Loading branch information
Showing
20 changed files
with
367 additions
and
49 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Submodule ColabFold
updated
24 files
+54 −0 | .github/workflows/docker.yml | |
+25 −0 | .github/workflows/publish.yml | |
+6 −5 | AlphaFold2.ipynb | |
+18 −0 | Dockerfile | |
+2 −2 | ESMFold.ipynb | |
+70 −55 | README.md | |
+0 −27 | TemplateServer/README.md | |
+0 −226 | TemplateServer/config.go | |
+0 −100 | TemplateServer/dbreader.go | |
+0 −143 | TemplateServer/decoder.go | |
+0 −13 | TemplateServer/go.mod | |
+0 −43 | TemplateServer/go.sum | |
+0 −259 | TemplateServer/main.go | |
+8 −7 | batch/AlphaFold2_batch.ipynb | |
+102 −0 | beta/convert_256_to_384_rep.ipynb | |
+42 −14 | beta/relax_amber.ipynb | |
+499 −267 | colabfold/batch.py | |
+65 −163 | colabfold/mmseqs/search.py | |
+108 −0 | colabfold/relax.py | |
+4 −2 | colabfold/utils.py | |
+2 −1 | pyproject.toml | |
+18 −9 | setup_databases.sh | |
+8 −0 | tests/mock.py | |
+1 −0 | tests/test_msa.py |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
__version__ = "0.40.0" | ||
__version__ = "1.0.0" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
# Instruction of running structural predictions with cross-link data via [AlphaLink2](https://github.com/Rappsilber-Laboratory/AlphaLink2/tree/main) | ||
## Introduction | ||
As [Stahl et al., 2023](https://www.nature.com/articles/s41587-023-01704-z) showed, integrating cross-link data with AlphaFold could improve the modelling quality in | ||
some challenging cases. Thus AlphaPulldown has integrated [AlphaLink2](https://github.com/Rappsilber-Laboratory/AlphaLink2/tree/main) pipeline | ||
and allows the user to combine cross-link data with AlphaFold Multimer inference, without the need of calculating MSAs from the scratch again. | ||
|
||
In addition, this integration retains all the other benefits from AlphaPulldown, such as the interface for fragmenting protein into regions; automatically | ||
generating PAE plots after the predictions etc. | ||
|
||
## 1st step: configure the Conda environment | ||
After you initialise the same conda environment, where you normally run AlphaPulldown, firstly, you need to compile [UniCore](https://github.com/dptech-corp/Uni-Core). | ||
|
||
```bash | ||
git clone https://github.com/dptech-corp/Uni-Core.git | ||
cd Uni-Core | ||
python setup.py install --disable-cuda-ext | ||
|
||
# test whether unicore is successfully installed | ||
python -c "import unicore" | ||
``` | ||
You may see the following warning but it's fine: | ||
``` | ||
fused_multi_tensor is not installed corrected | ||
fused_rounding is not installed corrected | ||
fused_layer_norm is not installed corrected | ||
fused_softmax is not installed corrected | ||
``` | ||
Next, make sure you have PyTorch corresponding to the CUDA version installed. For example, [PyTorch 1.13.0+cu117](https://pytorch.org/get-started/previous-versions/) | ||
and CUDA/11.7.0 | ||
## 2nd step: download AlphaLink2 checkpoint | ||
Now please download the PyTorch checkpoints from [Zenodo](https://zenodo.org/records/8007238), unzip it, then you should obtain a file named: ```AlphaLink-Multimer_SDA_v3.pt``` | ||
|
||
## 3rd step: prepare cross-link input data | ||
As instructed by [AlphaLink2](https://github.com/Rappsilber-Laboratory/AlphaLink2/tree/main), information of cross-linked residues | ||
between 2 proteins, inter-protein crosslinks A->B 1,50 and 30,80 and an FDR=20%, should look like: | ||
``` | ||
{'protein_A': {'protein_B': [(1, 50, 0.2), (30, 80, 0.2)]}} | ||
``` | ||
and intra-protein crosslinks follow the same format: | ||
``` | ||
{'protein_A': {'protein_A': [(5, 20, 0.2)]}} | ||
``` | ||
The keys in these dictionaries should be the same as your pickle files created by [the first stage of AlphaPulldown](https://github.com/KosinskiLab/AlphaPulldown/blob/main/example_1.md). e.g. you should have ```protein_A.pkl``` | ||
and ```protein_B.pkl``` already calculated. | ||
|
||
Dictionaries like these should be stored in **```.pkl.gz```** files and provided to AlphaPulldown in the next step. You can use the script from [AlphaLink2](https://github.com/Rappsilber-Laboratory/AlphaLink2/tree/main) | ||
to prepare these pickle files. | ||
### **NB** The dictionaries are 0-indexed, i.e., residues start from 0. | ||
|
||
## 4th step: run with AlphaLink2 prediction via AlphaPulldown | ||
Within the same conda environment, run in e.g. ```custom``` mode: | ||
```bash | ||
run_multimer_jobs.py --mode=custom \ | ||
--num_predictions_per_model=1 \ | ||
--output_path=/scratch/scratch/user/output/models \ | ||
--data_dir=/g/alphafold/AlphaFold_DBs/2.3.0/ \ | ||
--protein_lists=custom.txt \ | ||
--monomer_objects_dir=/scratch/user/output/features \ | ||
--job_index=$SLURM_ARRAY_TASK_ID --alphalink_weight=/scratch/user/alphalink_weights/AlphaLink-Multimer_SDA_v3.pt \ | ||
--use_alphalink=True --crosslinks=/path/to/crosslinks.pkl.gz | ||
``` | ||
The other modes provided by AlphaPulldown also work in the same way. | ||
|
||
|
||
|
Oops, something went wrong.