wiggly membrane

Contribution

wiggly membrane

Contribution To Future iGEM teams

 For the modeling team, we used AlphaFold to predict the structures for the different models of the gpT7 protein. As explained in our “Modeling” section, Alphafold is a new and powerful tool that opens the world of modeling to new frontiers (ranging from medicinal proteins modeling to application based proteins). As a contribution, we have compiled a guide of how to install the program and how to then use it for your own projects. We will then conclude with a web server that hosts the modeling and any final thoughts. Providing these different methods and ways of modeling will help to expand future iGEM teams to utilize more modeling which could then help to focus on efficient spending of resources and also better/in-depth explanations of the results.
*Note the only operating system used for AlphaFold by our team is any Linux based distribution.

Workflow

The steps to run and use Alphafold are as follows:

  1. Download the libraries
  2. Download AlphaFold
    • Docker
    • Singularity
  3. Run Script

AlphaFold's Libraries

 As of the time that this wiki was made, the current AlphaFold library set is at 2.2 terabytes of storage space. You have the option to download a reduced size of one of the libraries to go from ~2.2 total terabytes to roughly 600 gigabytes. However, this may impact the accuracy of your models. The main tool used to download all the databases for extraction later is “aria2c” and then extracted with either “tar” or “gunzip”. The download scripts can be found in AlphaFold's github page: https://github.com/deepmind/alphafold/tree/main/scripts.

Docker

 If choosing to work with docker, then you must first download Docker on your system. After installing Docker, install the NVIDIA Container Toolkit for GPU support. Since Docker requires sudo level privilege for using certain functions, configure Docker to allow non-root users to run it.
 To check that AlphaFold will be able to use the GPUs on your system, run the following command:

  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.


The steps to run the Docker version of AlphaFold are as follows:
  1. Clone the repository and cd into it.

      git clone https://github.com/deepmind/alphafold.git
  2. Build the Docker image:

      docker build -f docker/Dockerfile -t alphafold .
  3. Install the run_docker.py dependencies.

      pip3 install -r docker/requirements.txt
  4. Make sure that the output directory exists (the default is /tmp/alphafold) and that you have sufficient permissions to write into it. You can make sure that is the case by manually running mkdir /tmp/alphafold and chmod 770 /tmp/alphafold.
  5. Run run_docker.py pointing to a FASTA file containing the protein sequence(s) for which you wish to predict the structure. If you are predicting the structure of a protein that is already in PDB and you wish to avoid using it as a template, then “max_template_date” must be set to be before the release date of the structure. You must also provide the path to the directory containing the downloaded databases. For example, for the T1050 CASP14 target:

      python3 docker/run_docker.py \
                  --fasta_paths=T1050.fasta \
                  --max_template_date=2020-05-14 \
                  --data_dir=$DOWNLOAD_DIR

Docker File

Singularity

 Most system administrators do not support Docker due to various security reasons and potential elevation of privilege when it comes to potential hacking. Singularity is a common substitute for Docker and was designed to support High Performance Computing systems. If choosing to use Singularity, then first download Singularity. Then configure it to allow groups to use the “--fakeroot” feature so that non-root users can build containers.
 To build the container simply copy the attached script into a file called “alphafold.def” and then run the following command (if using the fakeroot feature):

  singularity build --fakeroot alphafold.sif alphafold.def

 To run the Singularity Container, a “run script” is provided below.

Singularity Definition File

Run Script (Singularity Only)

Alternative Method

 If you cannot gain access to a system that can satisfy all the requirements needed to install AlphaFold, then you may use the “google collab notebook” to run AlphaFold on a web server instead of your personal computer. The notebook explains the differences between using the web server versus running on a personal machine, however it is a better option if you need models, but can't afford the hardware/system access. You can utilize it here: Web Server.

wiggly membrane