forked from Zuricho/ParallelFold
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
52 changed files
with
784 additions
and
724 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
*.slurm |
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 |
---|---|---|
|
@@ -2,69 +2,77 @@ | |
<img src="./docs/parafoldlogo.png" width="400" > | ||
</div> | ||
|
||
# ParallelFold | ||
# ParaFold | ||
|
||
Author: Bozitao Zhong - [email protected] | ||
|
||
:station: We are adding new functions to ParallelFold, you can see our [Roadmap](https://trello.com/b/sAqBIxBC/parallelfold). | ||
|
||
:bookmark_tabs: Please cite our [paper](https://arxiv.org/abs/2111.06340) if you used ParallelFold (ParaFold) in you research. | ||
:bookmark_tabs: Please cite our [paper](https://arxiv.org/abs/2111.06340) if you used ParaFold (ParallelFold) in you research. | ||
|
||
## Overview | ||
|
||
Recent change: **ParaFold now supports AlphaFold 2.3.1** | ||
|
||
This project is a modified version of DeepMind's [AlphaFold2](https://github.com/deepmind/alphafold) to achieve high-throughput protein structure prediction. | ||
|
||
We have these following modifications to the original AlphaFold pipeline: | ||
|
||
- Divide **CPU part** (MSA and template searching) and **GPU part** (prediction model) | ||
|
||
**ParallelFold now supports AlphaFold 2.1.2** | ||
|
||
|
||
|
||
## How to install | ||
|
||
We recommend to install AlphaFold locally, and not using **docker**. | ||
|
||
For CUDA 11, you can refer to the [installation guide here](./docs/install.md). | ||
```bash | ||
# clone this repo | ||
git clone https://github.com/Zuricho/ParallelFold.git | ||
|
||
For CUDA 10.1, you can refer to the [installation guide here](./docs/install_cuda10.md). | ||
# Create a miniconda environment for ParaFold/AlphaFold | ||
# Recommend you to use python 3.8, version < 3.7 have missing packages, python versions newer than 3.8 were not tested | ||
conda create -n parafold python=3.8 | ||
|
||
pip install py3dmol | ||
# openmm 7.7 is recommended (original alphafold using 7.5.1, but it is not supported now) | ||
conda install -c conda-forge openmm=7.7 pdbfixer | ||
|
||
# use pip3 to install most of packages | ||
pip3 install -r requirements.txt | ||
|
||
## Some detail information of modified files | ||
# install cuda and cudnn | ||
# cudatoolkit 11.3.1 matches cudnn 8.2.1 | ||
conda install cudatoolkit=11.3 cudnn | ||
|
||
- `run_alphafold.py`: modified version of original `run_alphafold.py`, it has multiple additional functions like skipping featuring steps when exists `feature.pkl` in output folder | ||
- `run_alphafold.sh`: bash script to run `run_alphafold.py` | ||
- `run_figure.py`: this file can help you make figure for your system | ||
# downgrade jaxlib to the correct version, matches with cuda and cudnn version | ||
pip3 install --upgrade --no-cache-dir jax==0.3.25 jaxlib==0.3.25+cuda11.cudnn82 -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html | ||
|
||
# install packages for multiple sequence alignment | ||
conda install -c bioconda hmmer=3.3.2 hhsuite=3.3.0 kalign2=2.04 | ||
|
||
chmod +x run_alphafold.sh | ||
``` | ||
|
||
## How to run | ||
|
||
Visit the [usage page](./docs/usage.md) to know how to run | ||
|
||
## Some detail information of modified files | ||
|
||
- `run_alphafold.py`: modified version of original `run_alphafold.py`, it has multiple additional functions like skipping featuring steps when exists `feature.pkl` in output folder | ||
- `run_alphafold.sh`: bash script to run `run_alphafold.py` | ||
- `run_figure.py`: this file can help you make figure for your system | ||
|
||
## Functions | ||
|
||
You can using some flags to change prediction model for ParallelFold: | ||
|
||
`-r`: Skip AMBER refinement [Under repair] | ||
|
||
`-b`: Using benchmark mode - running JAX model for twice, and the second run can used for evaluate running time | ||
|
||
`-R`: Change the number of cycles in recycling | ||
## How to run | ||
|
||
**More functions are under development.** | ||
Visit the [usage page](./docs/usage.md) to know how to run | ||
|
||
|
||
|
||
## What is this for | ||
|
||
ParallelFold can help you accelerate AlphaFold when you want to predict multiple sequences. After dividing the CPU part and GPU part, users can finish feature step by multiple processors. Using ParallelFold, you can run AlphaFold 2~3 times faster than DeepMind's procedure. | ||
ParallelFold can help you accelerate AlphaFold when you want to predict multiple sequences. After dividing the CPU part and GPU part, users can finish feature step by multiple processors. Using ParaFold, you can run AlphaFold 2~3 times faster than DeepMind's procedure. | ||
|
||
**If you have any question, please send GitHub issues** | ||
**If you have any question, please raise issues** | ||
|
||
|
||
|
||
|
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
Oops, something went wrong.