SkillAgentSearch skills...

MULTICOM3

The software system of improving AlphaFold2- and AlphaFold-Multimer-based protein tertiary & quaternary structure prediction. It was developed by the Bioinformatics and Machine Learning Lab at the University of Missouri. It was blindly tested in CASP15 and ranked among the best server predictors in 2022. It improves AlphaFold's accuracy by 5-10%.

Install / Use

/learn @BioinfoMachineLearning/MULTICOM3
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

MULTICOM3

MULTICOM3 is an add-on package to improve AlphaFold2- and AlphaFold-Multimer-based prediction of protein tertiary and quaternary structures by diverse multiple sequence alignment sampling, template identification, structural prediction evaluation and structural prediction refinement. It can improve AlphaFold2-based tertiary structure prediction by 8-10% and AlphaFold-Multimer-based quaternary structure prediction by 5-8%. In CASP15, MULTICOM3 used AlphaFold v2.2.0 as the engine to generate structural predictions. In this release, it is adjusted to run on top of AlphaFold v2.3.2 (https://github.com/deepmind/alphafold/releases/tag/v2.3.2) to leverage the latest improvement on AlphaFold2. You can install MULTICOM3 on top of your AlphaFold2 and AlphaFold-Multimer to improve both the tertiary structure prediction of monomers and the quaternary structure prediction of multimers.

Overall workflow for the MULTICOM Protein tertiary structure prediction system

CASP15_TS pipeline

Overall workflow for the MULTICOM Protein complex structure prediction system

CASP15_QS pipeline

Download MULTICOM3 package

git clone --recursive https://github.com/BioinfoMachineLearning/MULTICOM3 

Note: ideally, a computer with a NVIDIA V100 or better GPU, 40 or more GB GPU memory, and 85 GB or more RAM is needed to run the system.

Installation (Docker version, modified from alphafold v2.3.2)

  1. Install Docker.

  2. Check that AlphaFold will be able to use a GPU by running:

    docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi
    

    The output of this command should show a list of your GPUs. If it doesn't, check if you followed all steps correctly when setting up the NVIDIA Container Toolkit or take a look at the following NVIDIA Docker issue.

    If you wish to run AlphaFold using Singularity (a common containerization platform on HPC systems) we recommend using some of the third-party Singularity setups as linked in https://github.com/deepmind/alphafold/issues/10 or https://github.com/deepmind/alphafold/issues/24.

  3. Build the Docker image:

    docker build -f docker/Dockerfile -t multicom3 .
    

    If you encounter the following error:

    W: GPG error: https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY A4B469963BF863CC
    E: The repository 'https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 InRelease' is not signed.
    

    use the workaround described in https://github.com/deepmind/alphafold/issues/463#issuecomment-1124881779.

  4. Install the run_docker.py dependencies. Note: You may optionally wish to create a Python Virtual Environment to prevent conflicts with your system's Python environment.

    conda create -n docker python=3.8
    conda activate docker
    pip3 install -r docker/requirements.txt
    conda install -c conda-forge -c bioconda mmseqs2=14.7e284 -y
    
  5. Make sure that the output directory exists (the default is /tmp/multicom3) and that you have sufficient permissions to write into it.

  6. Download Genetic databases in AlphaFold2/AlphaFold-Multimer

    bash $MULTICOM3_INSTALL_DIR/tools/alphafold-v2.3.2/scripts/download_all_data.sh <YOUR_ALPHAFOLD_DB_DIR>
    

    Note: The download directory <YOUR_ALPHAFOLD_DB_DIR> should not be a subdirectory in the MULTICOM3 repository directory. If it is, the Docker build will be slow as the large databases will be copied during the image creation.

  7. Download additional genetic databases and tools in MULTICOM3

    python download_database_and_tools.py --multicom3db_dir <YOUR_MULTICOM3_DB_DIR>
    

    Note: The download directory <YOUR_MULTICOM3_DB_DIR> should not be a subdirectory in the MULTICOM3 repository directory. If it is, the Docker build will be slow as the large databases will be copied during the image creation.

Installation (non Docker version)

Install AlphaFold/AlphaFold-Multimer and other required third-party packages (modified from alphafold_non_docker)

Install miniconda

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh && bash Miniconda3-latest-Linux-x86_64.sh

Create a new conda environment and update

conda create --name multicom3 python==3.8
conda update -n base conda

Activate conda environment

conda activate multicom3

Install dependencies

  • Change cudatoolkit==11.2.2 version if it is not supported in your system
conda install -y -c conda-forge openmm==7.5.1 cudatoolkit==11.2.2 pdbfixer
conda install -y -c bioconda hmmer hhsuite==3.3.0 kalign2
  • Change jaxlib==0.3.25+cuda11.cudnn805 version if this is not supported in your system
pip install absl-py==1.0.0 biopython==1.79 chex==0.0.7 dm-haiku==0.0.9 dm-tree==0.1.6 immutabledict==2.0.0 jax==0.3.25 ml-collections==0.1.0 numpy==1.21.6 pandas==1.3.4 protobuf==3.20.1 scipy==1.7.0 tensorflow-cpu==2.9.0

pip install --upgrade --no-cache-dir jax==0.3.25 jaxlib==0.3.25+cuda11.cudnn805 -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html

Download chemical properties to the common folder


# Replace $MULTICOM3_INSTALL_DIR with your MULTICOM3 installation directory

wget -q -P $MULTICOM3_INSTALL_DIR/tools/alphafold-v2.3.2/alphafold/common/ https://git.scicore.unibas.ch/schwede/openstructure/-/raw/7102c63615b64735c4941278d92b554ec94415f8/modules/mol/alg/src/stereo_chemical_props.txt

Apply OpenMM patch

# Replace $MULTICOM3_INSTALL_DIR with your MULTICOM3 installation directory

cd ~/anaconda3/envs/multicom3/lib/python3.8/site-packages/ && patch -p0 < $MULTICOM3_INSTALL_DIR/tools/alphafold-v2.3.2/docker/openmm.patch

# or

cd ~/miniconda3/envs/multicom3/lib/python3.8/site-packages/ && patch -p0 < $MULTICOM3_INSTALL_DIR/tools/alphafold-v2.3.2/docker/openmm.patch

Install other required third-party packages

conda install tqdm
conda install -c conda-forge -c bioconda mmseqs2=14.7e284 -y

Download Genetic databases in AlphaFold2/AlphaFold-Multimer

# Replace $MULTICOM3_INSTALL_DIR with your MULTICOM3 installation directory

bash $MULTICOM3_INSTALL_DIR/tools/alphafold-v2.3.2/scripts/download_all_data.sh <YOUR_ALPHAFOLD_DB_DIR>

Install the MULTICOM3 addon system and its databases

# Note: here the parameters should be the absolute paths
python download_database_and_tools.py --multicom3db_dir <YOUR_MULTICOM3_DB_DIR>

# Configure the MULTICOM3 system
# Replace $MULTICOM3_INSTALL_DIR with your MULTICOM3 installation directory
# Replace $YOUR_ALPHAFOLD_DB_DIR with your downloaded AlphaFold databases directory

python configure.py --envdir ~/miniconda3/envs/multicom3 --multicom3db_dir <YOUR_MULTICOM3_DB_DIR> --afdb_dir <YOUR_ALPHAFOLD_DB_DIR>

# e.g, 
# python download_database_and_tools.py \
# --multicom3db_dir /home/multicom3/tools/multicom3_db

# python configure.py \
# --multicom3db_dir /home/multicom3/tools/multicom3_db \
# --afdb_dir /home/multicom3/tools/alphafold_databases/

The configure.py python script will

  • Copy the alphafold_addon scripts
  • Create the configuration file (bin/db_option) for running the system

Genetic databases used by MULTICOM3

Assume the following databases have been installed as a part of the AlphaFold2/AlphaFold-Multimer installation

Additional databases will be installed for the MULTICOM system by setup.py:

Important parameter values in db_option

# AlphaFold2 parameters
monomer_num_ensemble = 1
monomer_num_recycle = 3
num_monomer_predictions_per_model = 1
monomer_model_preset = monomer

# AlphaFold-Multimer parameters
multimer_num_ensemble = 1
multimer_num_recycle = 3
num_multimer_predictions_per_model = 5
multimer_model_preset = multimer

# Common parameters
alphafold_benchmark = True
use_gpu_relax = True
models_to_relax = ALL # ALL, BEST, NONE
max_template_date = 2024-06-01

Please refer to AlphaFold2 to unders

Related Skills

View on GitHub
GitHub Stars33
CategoryEducation
Updated2mo ago
Forks9

Languages

Python

Security Score

75/100

Audited on Jan 5, 2026

No findings