Milot MirditapersName, Konstantin SchützepersName, Yoshitaka MoriwakipersName, Lim HeopersName, Sergey OvchinnikovpersName, Martin SteineggerpersName (2022date). “ColabFold: making protein folding accessible to all.” Nature Methodstitle·j.
Object of study — fast and widely accessible prediction of protein structures and of homo- and heteromer complexes, obtained by pairing an MMseqs2term homology-search server with the AlphaFold2term and RoseTTAFoldterm networks
Research question — how to make accurate protein structure prediction usable by researchers who lack the multi-terabyte databases and large-GPU machines that AlphaFold2term assumes, without giving up prediction accuracy
Contribution — ColabFoldterm: an MMseqs2term search server that replaces HMMer and HHblits, a diversity-aware MSA filter, the ColabFoldDBterm environmental database, taxonomy-paired MSAs and residue-index modification for complexes, and batch features (no recompilation, early stopping) delivered as notebooks and a command line tool
phenomenon · claim-type · cross-domain-transfer · mechanism · claim-relation · replication-status · limitation — grounded in the full text| phenomenon | prediction quality saturates on a modest amount of alignment diversity: an MSA of only about thirty sufficiently diverse sequences is often enough for a high-quality structure prediction — “In ColabFold we replace the sensitive search methods HMMer and HHblits by MMseqs2. We optimized the MSA generation by MMseqs2 to have the following three properties: MSA generation should be fast; the MSA has to capture diversity well; and it has to be small enough to run on computers with limited RAM. Reducing the memory requirement is especially helpful in Google Colaboratory, where the provided system is selected from a pool with widely differing capabilities. While the first requirement is achieved through the fast MMseqs2 prefilter, for the second and third requirements we developed a search workflow to maximize sensitivity (Methods 2.2.1 ) and a new filter that samples the sequence space evenly (Methods 2.2.2 and Supplementary Fig. 1 ). Prediction quality depends on the input MSA, however, often an MSA with only a few (~30) sufficiently diverse sequences is enough to produce high-quality predictions (see fig. 5a in ref. 1 ).” | |
| claim-type | method — “ColabFold builds beyond the initial offerings of Alphafold2 by improving its sequence search, providing tools for modeling homo- and heteromer complexes, exposing advanced functionality, expanding the environmental databases and enabling large-scale batch prediction of protein structures, at an approximately 90-fold speed-up over AlphaFold2.” | |
| method — evidence | — “ColabFold sends the query sequence to an MMseqs2 server 11 . It searches the sequence(s) with three iterations against the consensus sequences of the UniRef30, a clustered version of the UniRef100 (ref. 29 ). We accept hits with an E-value lower than 0.1. For each hit we realign its respective UniRef100 cluster member using the profile generated by the last iterative search, filter them (Methods 2.2.2 ) and add these to the MSA. This expanding search results in a speed-up of ~10-fold given that only 29.3 million cluster consensus sequences are searched instead of all 277.5 million UniRef100 sequences. Additionally, it has the advantage of being more sensitive given that the cluster consensus sequences are used. We use the UniRef30 sequence profile to perform an iterative search against the BFD/MGnify or ColabFoldDB using the same parameters, filters and expansion strategy.” | |
| object of study — evidence | — “ColabFold offers accelerated prediction of protein structures and complexes by combining the fast homology search of MMseqs2 with AlphaFold2 or RoseTTAFold. ColabFold’s 40−60-fold faster search and optimized model utilization enables prediction of close to 1,000 structures per day on a server with one graphics processing unit. Coupled with Google Colaboratory, ColabFold becomes a free and accessible platform for protein folding. ColabFold is open-source software available at https://github.com/sokrypton/ColabFold and its novel environmental databases are available at https://colabfold.mmseqs.com .” | |
| research question — evidence | — “To leverage the power of these methods, researchers require powerful computing capabilities. First, to build diverse MSAs, large collections of protein sequences from public reference 5 and environmental 1 , 6 databases are searched using the most sensitive homology detection methods, HMMer 7 and HHblits 8 , both of which use profile hidden Markov models (HMMs). These environmental databases contain billions of proteins extracted from metagenomic and transcriptomic experiments, which often complement databases dominated by isolated genomes. Due to their large size, searches can take up to hours for a single protein while requiring more than 2 TB of storage space alone. Second, to execute the deep neural networks, graphics processing units (GPUs) with a large amount of GPU RAM (random access memory) are required even for relatively common protein sizes of ~1,000 residues. For these, however, the MSA generation dominates the overall run time.” | |
| contribution — evidence | — “Here, we present ColabFold, a fast and easy-to-use software for the prediction of protein structures and homo- and heteromer complexes, for use as a Jupyter Notebook inside Google Colaboratory, on researchers’ local computers as a notebook or through a command line interface. ColabFold speeds up single predictions by replacing AlphaFold2’s homology search with the 40–60-fold faster MMseqs2 (Many-against-Many sequence searching) (refs. 10 , 11 ), and speeds up batch predictions by ~90-fold by avoiding recompilation and adding an early stop criterion. We show that ColabFold outperforms AlphaFold-Colab and matches AlphaFold2 on CASP14 targets and also matches AlphaFold-multimer on the ClusPro 4 , 12 dataset in prediction quality.” | |
| mechanism | cluster-consensus expanding search The query is searched against 29.3 million UniRef30 cluster consensus sequences rather than all 277.5 million UniRef100 sequences; each hit is then expanded back to its cluster members and realigned, which is both faster and more sensitive. — “ColabFold sends the query sequence to an MMseqs2 server 11 . It searches the sequence(s) with three iterations against the consensus sequences of the UniRef30, a clustered version of the UniRef100 (ref. 29 ). We accept hits with an E-value lower than 0.1. For each hit we realign its respective UniRef100 cluster member using the profile generated by the last iterative search, filter them (Methods 2.2.2 ) and add these to the MSA. This expanding search results in a speed-up of ~10-fold given that only 29.3 million cluster consensus sequences are searched instead of all 277.5 million UniRef100 sequences. Additionally, it has the advantage of being more sensitive given that the cluster consensus sequences are used. We use the UniRef30 sequence profile to perform an iterative search against the BFD/MGnify or ColabFoldDB using the same parameters, filters and expansion strategy.” | mechanisms[0] |
| mechanism | residue-index offsetting AlphaFold2 caps relative positional encoding at a residue separation of 32, so offsetting the residue index between two proteins beyond that cap makes the network treat them as separate polypeptide chains, allowing a single-chain model to predict a complex. — “We implemented two protein complex prediction modes in ColabFold. One is based on AlphaFold-multimer 4 and the other is based on the manipulation of residue index in the original AlphaFold2 model. Baek et al. 3 show that RoseTTAFold is able to model complexes despite being trained only on single chains. This is done by providing a paired alignment and modifying the residue index. The residue index is used as an input to the models to compute positional embedding. In AlphaFold2 we find the same to be true, although surprisingly the paired alignment is often not needed (Fig. 2c ). AlphaFold2 uses relative positional encoding with a cap at i − j ≥ 32 , meaning that any pair of residues separated by 32 or more are given the same relative positional encoding. By offsetting the residue index between two proteins to be > 32, AlphaFold2 treats them as separate polypeptide chains. ColabFold integrates this for modeling complexes.” | mechanisms[1] |
| mechanism | early stopping on confidence Because high-confidence targets give very similar structures across all five models, inference and recycling are halted once a pLDDT or predicted TM-score threshold is reached. — “AlphaFold2 computes five models through multiple recycles. We noted that for prediction of high certainty (pLDDT >85), all five models would often produce structures of very similar confidence, for some even without or with less than three recycles. To speed up the computation we added a parameter to define an early stop criterion that halts additional model inferences and stops recycling if a given pLDDT or (interface) predicted TM-score threshold is reached.” | mechanisms[2] |
| mechanism | length-bucketed padding Queries are sorted by length and their input features padded by ten percent, so sequences falling inside a length bucket reuse the compiled model instead of triggering recompilation. — “To avoid AlphaFold2 model recompilation for every protein AlphaFold2 provides a function to add padding to the input MSA and templates called make_fixed_size. However, this is not exposed in AlphaFold2. We used the function in our batch notebook as well as in our command line tool colabfold_batch, to maximize GPU use and minimize the need for model recompilation. We sort the input queries by sequence length and process them in ascending order. We pad the input features by 10% (by default). All sequences that lie within the query length and an additional 10% margin are not required to be recompiled, resulting in a large speed-up for short proteins.” | mechanisms[3] |
| builds-on | AlphaFold2 (Jumper et al.), whose networks ColabFold calls and whose search stage it replaces — “ColabFold builds beyond the initial offerings of Alphafold2 by improving its sequence search, providing tools for modeling homo- and heteromer complexes, exposing advanced functionality, expanding the environmental databases and enabling large-scale batch prediction of protein structures, at an approximately 90-fold speed-up over AlphaFold2.” | claim_relations[0] |
| builds-on | MMseqs2 and its single-against-many search extension (Mirdita et al.) — “MMseqs2 was initially built to perform fast many-against-many sequence searches. Mirdita et al. 11 improved it to also support fast single-against-many searches. This type of search requires the database to be indexed and stored in memory. mmseqs createindex indexes the sequences and stores all time-consuming-to-compute data structures used for MMseqs2 searches to disk. We load the index into the operating systems cache using vmtouch ( https://github.com/hoytech/vmtouch ) to enable calls to the different MMseqs2 modules to become nearly overhead free. We extended the index to store, in addition to the already present cluster consensus sequences, all member sequences and the pairwise alignments of the cluster representatives to the cluster members. With these resident in cache, we eliminate the overhead of the remaining module calls.” | claim_relations[1] |
| builds-on | the RoseTTAFold residue-index trick for complexes (Baek et al.) — “AlphaFold2 was initially released without the capability to model protein complexes. However, we found that by combining two sequences with a glycine linker 20 it could often successfully model complexes. Shortly afterwards, Baek 21 found that increasing the model's internal parameter, residue-index (the method that was used in RoseTTAFold), could also be done in AlphaFold2.” | claim_relations[2] |
| builds-on | AlphaFold-multimer (Evans et al.), the refined complex model ColabFold offers as one of its two complex modes — “Predicting the three-dimensional (3D) structure of a protein from its sequence alone remains an unsolved problem. However, by exploiting the information in multiple sequence alignments (MSAs) of related proteins as the raw input features for end-to-end training, AlphaFold2 (ref. 1 ) was able to predict the 3D atomic coordinates of folded protein structures at a median global distance test total score (GDT_TS) of 92.4% in the latest round of the protein folding competition by the international community, CASP14 (Critical Assessment of protein Structure Prediction, round 14) (ref. 2 ). The accuracy of many of the predicted structures was within the error margin of experimental structure determination methods. Many ideas of AlphaFold2 were independently reproduced and implemented in RoseTTAFold (ref. 3 ). In addition to predictions for single chains, RoseTTAFold and, later, AlphaFold, were also shown to generalize to protein complexes. Evans et al. 4 have since released AlphaFold-multimer, a refined version of AlphaFold2 for the prediction of protein complexes. Thus, two highly accurate open-source prediction methods for single chains and one for protein complexes are now publicly available.” | claim_relations[3] |
| extends | AlphaFold-Colab (Tunyasuvunakool et al.), the earlier Colaboratory notebook it outperforms — “To enable researchers without these resources to use AlphaFold2, independent solutions based on Google Colaboratory were developed. Colaboratory is a proprietary version of Jupyter Notebook hosted by Google. It is accessible for free to logged-in users and includes access to powerful GPUs. Concurrently, Tunyasuvunakool et al. 9 developed an AlphaFold2 Jupyter Notebook for Google Colaboratory (referred to as AlphaFold-Colab), for which the input MSA is built by searching with HMMer against the UniProt Reference Clusters (UniRef90) and an eightfold-reduced environmental database. This results in less accurate predictions while still requiring long search times.” | claim_relations[4] |
| sense | recycling - not reuse of material but AlphaFold2 recycling, feeding the prediction repeatedly back through the model, a count the user raises to improve hard targets; the everyday word carries a wholly technical sense here — “AlphaFold2 improves the predicted protein structure by recycling (by default) three times, meaning that the prediction is fed multiple times through the model. We exposed the recycle count as a customizable parameter given that additional recycles can often improve a model (Supplementary Fig. 6 ) at the cost of a longer run time. We also implemented an option to specify a tolerance threshold to stop early. For some designed proteins without known homologous sequences, this helped to fold the final protein (Supplementary Fig. 5 ).” | senses[0] |
| sense | model - both a trained network instance (one of the five AlphaFold2 models, compiled and given weights) and the predicted structure itself (models ranked by predicted interface TM-score), so the same word names the predictor and its output — “We compare predictions of 17 ClusPro 4 , 12 targets to their native structures using DockQ (commit 3735c16) (ref. 36 ). We used colabfold_batch (commit 45ad0e9) with BFD/MGnify in residue index manipulation and AlphaFold-multimer mode to predict structures. We use MSA pairing as described in section 2.4.2 and also add unpaired sequences. Models are ranked by predicted interface TM-score as returned by AlphaFold-multimer. The DockQ AlphaFold-multimer reference numbers were provided by R. Evans.” | senses[1] |
| sense | diversity - sequence-space diversity of an MSA, which the filter maximises, against structural diversity of predictions, which random seeds and dropout generate; one word for coverage of inputs and for spread of outputs — “To reduce memory requirements, only a subset of the MSA is used as input to the model. Alphafold2, depending on model configuration, subsamples the MSA to a maximum of 512 cluster centers and 1,024 extra sequences. Changing the random seed can result in different cluster centers and thus different structure predictions. ColabFold provides an option to iterate through a series of random seeds, resulting in structure diversity. Further structure diversity can be generated by using the original or fine-tuned (use_ptm) model parameters and/or enabling is_training to activate the stochastic (dropout) part of the model. Enabling the latter can be used to sample an ensemble of models for the uncertain parts of the structure prediction.” | senses[2] |
| note | AlphaFold2 (Jumper et al.), whose networks ColabFold calls and whose search stage it replaces — ColabFold improves AlphaFold2's sequence search and batch behaviour rather than retraining it. — “ColabFold builds beyond the initial offerings of Alphafold2 by improving its sequence search, providing tools for modeling homo- and heteromer complexes, exposing advanced functionality, expanding the environmental databases and enabling large-scale batch prediction of protein structures, at an approximately 90-fold speed-up over AlphaFold2.” | claim_relations[0] |
| weight | AlphaFold2 (Jumper et al.), whose networks ColabFold calls and whose search stage it replaces — 0.96 — “ColabFold builds beyond the initial offerings of Alphafold2 by improving its sequence search, providing tools for modeling homo- and heteromer complexes, exposing advanced functionality, expanding the environmental databases and enabling large-scale batch prediction of protein structures, at an approximately 90-fold speed-up over AlphaFold2.” | claim_relations[0] |
| note | MMseqs2 and its single-against-many search extension (Mirdita et al.) — The homology-search server rests on the indexed MMseqs2 search. — “MMseqs2 was initially built to perform fast many-against-many sequence searches. Mirdita et al. 11 improved it to also support fast single-against-many searches. This type of search requires the database to be indexed and stored in memory. mmseqs createindex indexes the sequences and stores all time-consuming-to-compute data structures used for MMseqs2 searches to disk. We load the index into the operating systems cache using vmtouch ( https://github.com/hoytech/vmtouch ) to enable calls to the different MMseqs2 modules to become nearly overhead free. We extended the index to store, in addition to the already present cluster consensus sequences, all member sequences and the pairwise alignments of the cluster representatives to the cluster members. With these resident in cache, we eliminate the overhead of the remaining module calls.” | claim_relations[1] |
| weight | MMseqs2 and its single-against-many search extension (Mirdita et al.) — 0.94 — “MMseqs2 was initially built to perform fast many-against-many sequence searches. Mirdita et al. 11 improved it to also support fast single-against-many searches. This type of search requires the database to be indexed and stored in memory. mmseqs createindex indexes the sequences and stores all time-consuming-to-compute data structures used for MMseqs2 searches to disk. We load the index into the operating systems cache using vmtouch ( https://github.com/hoytech/vmtouch ) to enable calls to the different MMseqs2 modules to become nearly overhead free. We extended the index to store, in addition to the already present cluster consensus sequences, all member sequences and the pairwise alignments of the cluster representatives to the cluster members. With these resident in cache, we eliminate the overhead of the remaining module calls.” | claim_relations[1] |
| note | the RoseTTAFold residue-index trick for complexes (Baek et al.) — The residue-index modification is carried over from RoseTTAFold into AlphaFold2. — “AlphaFold2 was initially released without the capability to model protein complexes. However, we found that by combining two sequences with a glycine linker 20 it could often successfully model complexes. Shortly afterwards, Baek 21 found that increasing the model's internal parameter, residue-index (the method that was used in RoseTTAFold), could also be done in AlphaFold2.” | claim_relations[2] |
| weight | the RoseTTAFold residue-index trick for complexes (Baek et al.) — 0.92 — “AlphaFold2 was initially released without the capability to model protein complexes. However, we found that by combining two sequences with a glycine linker 20 it could often successfully model complexes. Shortly afterwards, Baek 21 found that increasing the model's internal parameter, residue-index (the method that was used in RoseTTAFold), could also be done in AlphaFold2.” | claim_relations[2] |
| note | AlphaFold-multimer (Evans et al.), the refined complex model ColabFold offers as one of its two complex modes — One of ColabFold's two complex modes is AlphaFold-multimer itself. — “Predicting the three-dimensional (3D) structure of a protein from its sequence alone remains an unsolved problem. However, by exploiting the information in multiple sequence alignments (MSAs) of related proteins as the raw input features for end-to-end training, AlphaFold2 (ref. 1 ) was able to predict the 3D atomic coordinates of folded protein structures at a median global distance test total score (GDT_TS) of 92.4% in the latest round of the protein folding competition by the international community, CASP14 (Critical Assessment of protein Structure Prediction, round 14) (ref. 2 ). The accuracy of many of the predicted structures was within the error margin of experimental structure determination methods. Many ideas of AlphaFold2 were independently reproduced and implemented in RoseTTAFold (ref. 3 ). In addition to predictions for single chains, RoseTTAFold and, later, AlphaFold, were also shown to generalize to protein complexes. Evans et al. 4 have since released AlphaFold-multimer, a refined version of AlphaFold2 for the prediction of protein complexes. Thus, two highly accurate open-source prediction methods for single chains and one for protein complexes are now publicly available.” | claim_relations[3] |
| weight | AlphaFold-multimer (Evans et al.), the refined complex model ColabFold offers as one of its two complex modes — 0.92 — “Predicting the three-dimensional (3D) structure of a protein from its sequence alone remains an unsolved problem. However, by exploiting the information in multiple sequence alignments (MSAs) of related proteins as the raw input features for end-to-end training, AlphaFold2 (ref. 1 ) was able to predict the 3D atomic coordinates of folded protein structures at a median global distance test total score (GDT_TS) of 92.4% in the latest round of the protein folding competition by the international community, CASP14 (Critical Assessment of protein Structure Prediction, round 14) (ref. 2 ). The accuracy of many of the predicted structures was within the error margin of experimental structure determination methods. Many ideas of AlphaFold2 were independently reproduced and implemented in RoseTTAFold (ref. 3 ). In addition to predictions for single chains, RoseTTAFold and, later, AlphaFold, were also shown to generalize to protein complexes. Evans et al. 4 have since released AlphaFold-multimer, a refined version of AlphaFold2 for the prediction of protein complexes. Thus, two highly accurate open-source prediction methods for single chains and one for protein complexes are now publicly available.” | claim_relations[3] |
| note | AlphaFold-Colab (Tunyasuvunakool et al.), the earlier Colaboratory notebook it outperforms — AlphaFold-Colab reduced the database instead of speeding the search, losing accuracy. — “To enable researchers without these resources to use AlphaFold2, independent solutions based on Google Colaboratory were developed. Colaboratory is a proprietary version of Jupyter Notebook hosted by Google. It is accessible for free to logged-in users and includes access to powerful GPUs. Concurrently, Tunyasuvunakool et al. 9 developed an AlphaFold2 Jupyter Notebook for Google Colaboratory (referred to as AlphaFold-Colab), for which the input MSA is built by searching with HMMer against the UniProt Reference Clusters (UniRef90) and an eightfold-reduced environmental database. This results in less accurate predictions while still requiring long search times.” | claim_relations[4] |
| weight | AlphaFold-Colab (Tunyasuvunakool et al.), the earlier Colaboratory notebook it outperforms — 0.9 — “To enable researchers without these resources to use AlphaFold2, independent solutions based on Google Colaboratory were developed. Colaboratory is a proprietary version of Jupyter Notebook hosted by Google. It is accessible for free to logged-in users and includes access to powerful GPUs. Concurrently, Tunyasuvunakool et al. 9 developed an AlphaFold2 Jupyter Notebook for Google Colaboratory (referred to as AlphaFold-Colab), for which the input MSA is built by searching with HMMer against the UniProt Reference Clusters (UniRef90) and an eightfold-reduced environmental database. This results in less accurate predictions while still requiring long search times.” | claim_relations[4] |
| note | BFD —is-a→ protein database — Literal kind cue: BFD is a clustered protein database. — “BFD is a clustered protein database consisting of ~2.2 billion proteins organized in 64 million clusters. MGnify (2019_05) contains ~300 million environmental proteins. We merged both databases by searching the MGnify sequences against the BFD cluster-representative sequences using MMseqs2. Each MGnify sequence with a sequence identity of >30% and a local alignment that covers at least 90% of its length is assigned to the respective BFD cluster. All unassigned sequences are clustered at 30% sequence identity and 90% coverage (--min-seq-id 0.3 -c 0.3 --cov-mode 1 -s 3) and merged with the BFD clusters, resulting in 182 million clusters. To reduce the size of the database we filtered each cluster, keeping only the 10 most diverse sequences using mmseqs filterresult --diff 10. This reduced the total number of sequences from 2.5 billion to 513 million, thus requiring only 84 GB RAM for headers and sequences.” | concept_edges[0] |
| relation | BFD —is-a→ protein database — BFD is a clustered protein database. — “BFD is a clustered protein database consisting of ~2.2 billion proteins organized in 64 million clusters. MGnify (2019_05) contains ~300 million environmental proteins. We merged both databases by searching the MGnify sequences against the BFD cluster-representative sequences using MMseqs2. Each MGnify sequence with a sequence identity of >30% and a local alignment that covers at least 90% of its length is assigned to the respective BFD cluster. All unassigned sequences are clustered at 30% sequence identity and 90% coverage (--min-seq-id 0.3 -c 0.3 --cov-mode 1 -s 3) and merged with the BFD clusters, resulting in 182 million clusters. To reduce the size of the database we filtered each cluster, keeping only the 10 most diverse sequences using mmseqs filterresult --diff 10. This reduced the total number of sequences from 2.5 billion to 513 million, thus requiring only 84 GB RAM for headers and sequences.” | concept_edges[0] |
| note | Colaboratory —is-a→ Jupyter Notebook — Literal cue: is a proprietary version of. — “To enable researchers without these resources to use AlphaFold2, independent solutions based on Google Colaboratory were developed. Colaboratory is a proprietary version of Jupyter Notebook hosted by Google. It is accessible for free to logged-in users and includes access to powerful GPUs. Concurrently, Tunyasuvunakool et al. 9 developed an AlphaFold2 Jupyter Notebook for Google Colaboratory (referred to as AlphaFold-Colab), for which the input MSA is built by searching with HMMer against the UniProt Reference Clusters (UniRef90) and an eightfold-reduced environmental database. This results in less accurate predictions while still requiring long search times.” | concept_edges[1] |
| relation | Colaboratory —is-a→ Jupyter Notebook — Colaboratory is a proprietary version of Jupyter Notebook hosted by Google. — “To enable researchers without these resources to use AlphaFold2, independent solutions based on Google Colaboratory were developed. Colaboratory is a proprietary version of Jupyter Notebook hosted by Google. It is accessible for free to logged-in users and includes access to powerful GPUs. Concurrently, Tunyasuvunakool et al. 9 developed an AlphaFold2 Jupyter Notebook for Google Colaboratory (referred to as AlphaFold-Colab), for which the input MSA is built by searching with HMMer against the UniProt Reference Clusters (UniRef90) and an eightfold-reduced environmental database. This results in less accurate predictions while still requiring long search times.” | concept_edges[1] |
| weight | Colaboratory —is-a→ Jupyter Notebook — 0.95 — “To enable researchers without these resources to use AlphaFold2, independent solutions based on Google Colaboratory were developed. Colaboratory is a proprietary version of Jupyter Notebook hosted by Google. It is accessible for free to logged-in users and includes access to powerful GPUs. Concurrently, Tunyasuvunakool et al. 9 developed an AlphaFold2 Jupyter Notebook for Google Colaboratory (referred to as AlphaFold-Colab), for which the input MSA is built by searching with HMMer against the UniProt Reference Clusters (UniRef90) and an eightfold-reduced environmental database. This results in less accurate predictions while still requiring long search times.” | concept_edges[1] |
| relation | MMseqs2 → homology search — In ColabFold we replace the sensitive search methods HMMer and HHblits by MMseqs2. — “In ColabFold we replace the sensitive search methods HMMer and HHblits by MMseqs2. We optimized the MSA generation by MMseqs2 to have the following three properties: MSA generation should be fast; the MSA has to capture diversity well; and it has to be small enough to run on computers with limited RAM. Reducing the memory requirement is especially helpful in Google Colaboratory, where the provided system is selected from a pool with widely differing capabilities. While the first requirement is achieved through the fast MMseqs2 prefilter, for the second and third requirements we developed a search workflow to maximize sensitivity (Methods 2.2.1 ) and a new filter that samples the sequence space evenly (Methods 2.2.2 and Supplementary Fig. 1 ). Prediction quality depends on the input MSA, however, often an MSA with only a few (~30) sufficiently diverse sequences is enough to produce high-quality predictions (see fig. 5a in ref. 1 ).” | unhoused_relations[0] |
| weight | MMseqs2 → homology search — 0.95 — “In ColabFold we replace the sensitive search methods HMMer and HHblits by MMseqs2. We optimized the MSA generation by MMseqs2 to have the following three properties: MSA generation should be fast; the MSA has to capture diversity well; and it has to be small enough to run on computers with limited RAM. Reducing the memory requirement is especially helpful in Google Colaboratory, where the provided system is selected from a pool with widely differing capabilities. While the first requirement is achieved through the fast MMseqs2 prefilter, for the second and third requirements we developed a search workflow to maximize sensitivity (Methods 2.2.1 ) and a new filter that samples the sequence space evenly (Methods 2.2.2 and Supplementary Fig. 1 ). Prediction quality depends on the input MSA, however, often an MSA with only a few (~30) sufficiently diverse sequences is enough to produce high-quality predictions (see fig. 5a in ref. 1 ).” | unhoused_relations[0] |
| relation | residue index → protein complexes — By offsetting the residue index between two proteins to be greater than 32, AlphaFold2 treats them as separate polypeptide chains. — “We implemented two protein complex prediction modes in ColabFold. One is based on AlphaFold-multimer 4 and the other is based on the manipulation of residue index in the original AlphaFold2 model. Baek et al. 3 show that RoseTTAFold is able to model complexes despite being trained only on single chains. This is done by providing a paired alignment and modifying the residue index. The residue index is used as an input to the models to compute positional embedding. In AlphaFold2 we find the same to be true, although surprisingly the paired alignment is often not needed (Fig. 2c ). AlphaFold2 uses relative positional encoding with a cap at i − j ≥ 32 , meaning that any pair of residues separated by 32 or more are given the same relative positional encoding. By offsetting the residue index between two proteins to be > 32, AlphaFold2 treats them as separate polypeptide chains. ColabFold integrates this for modeling complexes.” | unhoused_relations[1] |
| weight | residue index → protein complexes — 0.94 — “We implemented two protein complex prediction modes in ColabFold. One is based on AlphaFold-multimer 4 and the other is based on the manipulation of residue index in the original AlphaFold2 model. Baek et al. 3 show that RoseTTAFold is able to model complexes despite being trained only on single chains. This is done by providing a paired alignment and modifying the residue index. The residue index is used as an input to the models to compute positional embedding. In AlphaFold2 we find the same to be true, although surprisingly the paired alignment is often not needed (Fig. 2c ). AlphaFold2 uses relative positional encoding with a cap at i − j ≥ 32 , meaning that any pair of residues separated by 32 or more are given the same relative positional encoding. By offsetting the residue index between two proteins to be > 32, AlphaFold2 treats them as separate polypeptide chains. ColabFold integrates this for modeling complexes.” | unhoused_relations[1] |
| relation | pLDDT → early stop criterion — An early stop criterion halts additional model inferences and stops recycling once a pLDDT or predicted TM-score threshold is reached. — “AlphaFold2 computes five models through multiple recycles. We noted that for prediction of high certainty (pLDDT >85), all five models would often produce structures of very similar confidence, for some even without or with less than three recycles. To speed up the computation we added a parameter to define an early stop criterion that halts additional model inferences and stops recycling if a given pLDDT or (interface) predicted TM-score threshold is reached.” | unhoused_relations[2] |
| weight | pLDDT → early stop criterion — 0.93 — “AlphaFold2 computes five models through multiple recycles. We noted that for prediction of high certainty (pLDDT >85), all five models would often produce structures of very similar confidence, for some even without or with less than three recycles. To speed up the computation we added a parameter to define an early stop criterion that halts additional model inferences and stops recycling if a given pLDDT or (interface) predicted TM-score threshold is reached.” | unhoused_relations[2] |
| relation | multiple sequence alignments → AlphaFold2 — Prediction quality depends on the input MSA, however, often an MSA with only a few sufficiently diverse sequences is enough. — “In ColabFold we replace the sensitive search methods HMMer and HHblits by MMseqs2. We optimized the MSA generation by MMseqs2 to have the following three properties: MSA generation should be fast; the MSA has to capture diversity well; and it has to be small enough to run on computers with limited RAM. Reducing the memory requirement is especially helpful in Google Colaboratory, where the provided system is selected from a pool with widely differing capabilities. While the first requirement is achieved through the fast MMseqs2 prefilter, for the second and third requirements we developed a search workflow to maximize sensitivity (Methods 2.2.1 ) and a new filter that samples the sequence space evenly (Methods 2.2.2 and Supplementary Fig. 1 ). Prediction quality depends on the input MSA, however, often an MSA with only a few (~30) sufficiently diverse sequences is enough to produce high-quality predictions (see fig. 5a in ref. 1 ).” | unhoused_relations[3] |
| weight | multiple sequence alignments → AlphaFold2 — 0.94 — “In ColabFold we replace the sensitive search methods HMMer and HHblits by MMseqs2. We optimized the MSA generation by MMseqs2 to have the following three properties: MSA generation should be fast; the MSA has to capture diversity well; and it has to be small enough to run on computers with limited RAM. Reducing the memory requirement is especially helpful in Google Colaboratory, where the provided system is selected from a pool with widely differing capabilities. While the first requirement is achieved through the fast MMseqs2 prefilter, for the second and third requirements we developed a search workflow to maximize sensitivity (Methods 2.2.1 ) and a new filter that samples the sequence space evenly (Methods 2.2.2 and Supplementary Fig. 1 ). Prediction quality depends on the input MSA, however, often an MSA with only a few (~30) sufficiently diverse sequences is enough to produce high-quality predictions (see fig. 5a in ref. 1 ).” | unhoused_relations[3] |
| no type for this | MMseqs2 → homology search — ColabFold substitutes MMseqs2 for the sensitive but slow HMMer and HHblits searches, keeping the same role in the pipeline while changing the tool. — “In ColabFold we replace the sensitive search methods HMMer and HHblits by MMseqs2. We optimized the MSA generation by MMseqs2 to have the following three properties: MSA generation should be fast; the MSA has to capture diversity well; and it has to be small enough to run on computers with limited RAM. Reducing the memory requirement is especially helpful in Google Colaboratory, where the provided system is selected from a pool with widely differing capabilities. While the first requirement is achieved through the fast MMseqs2 prefilter, for the second and third requirements we developed a search workflow to maximize sensitivity (Methods 2.2.1 ) and a new filter that samples the sequence space evenly (Methods 2.2.2 and Supplementary Fig. 1 ). Prediction quality depends on the input MSA, however, often an MSA with only a few (~30) sufficiently diverse sequences is enough to produce high-quality predictions (see fig. 5a in ref. 1 ).” | unhoused_relations[0] |
| no type for this | residue index → protein complexes — Offsetting the residue index past the positional-encoding cap makes a single-chain network treat two proteins as separate chains, which is what lets it predict a complex at all. — “We implemented two protein complex prediction modes in ColabFold. One is based on AlphaFold-multimer 4 and the other is based on the manipulation of residue index in the original AlphaFold2 model. Baek et al. 3 show that RoseTTAFold is able to model complexes despite being trained only on single chains. This is done by providing a paired alignment and modifying the residue index. The residue index is used as an input to the models to compute positional embedding. In AlphaFold2 we find the same to be true, although surprisingly the paired alignment is often not needed (Fig. 2c ). AlphaFold2 uses relative positional encoding with a cap at i − j ≥ 32 , meaning that any pair of residues separated by 32 or more are given the same relative positional encoding. By offsetting the residue index between two proteins to be > 32, AlphaFold2 treats them as separate polypeptide chains. ColabFold integrates this for modeling complexes.” | unhoused_relations[1] |
| no type for this | pLDDT → early stop criterion — pLDDT serves as the stopping signal: once it passes the threshold, further models and recycles are skipped, trading a little accuracy for a large speed-up. — “AlphaFold2 computes five models through multiple recycles. We noted that for prediction of high certainty (pLDDT >85), all five models would often produce structures of very similar confidence, for some even without or with less than three recycles. To speed up the computation we added a parameter to define an early stop criterion that halts additional model inferences and stops recycling if a given pLDDT or (interface) predicted TM-score threshold is reached.” | unhoused_relations[2] |
| no type for this | multiple sequence alignments → AlphaFold2 — Prediction quality is a function of the input alignment rather than of the network alone, and about thirty sufficiently diverse sequences already suffice. — “In ColabFold we replace the sensitive search methods HMMer and HHblits by MMseqs2. We optimized the MSA generation by MMseqs2 to have the following three properties: MSA generation should be fast; the MSA has to capture diversity well; and it has to be small enough to run on computers with limited RAM. Reducing the memory requirement is especially helpful in Google Colaboratory, where the provided system is selected from a pool with widely differing capabilities. While the first requirement is achieved through the fast MMseqs2 prefilter, for the second and third requirements we developed a search workflow to maximize sensitivity (Methods 2.2.1 ) and a new filter that samples the sequence space evenly (Methods 2.2.2 and Supplementary Fig. 1 ). Prediction quality depends on the input MSA, however, often an MSA with only a few (~30) sufficiently diverse sequences is enough to produce high-quality predictions (see fig. 5a in ref. 1 ).” | unhoused_relations[3] |
| limitation | The default compositional filter can badly hurt individual targets: T1084 rose from a TM-score of 0.457 to 0.872 only once MMseqs2 compositional filtering was disabled. — “The mean TM-scores for the free-modeling targets are 0.826, 0.818, 0.79, 0.744 and 0.62 for ColabFold-AlphaFold2-BFD/MGnify, ColabFold-AlphaFold2-ColabFoldDB, AlphaFold2, AlphaFold-Colab and ColabFold-RoseTTAFold-BFD/MGnify, respectively. Over all CASP14 targets (excluding AlphaFold-Colab because it cannot be used as a standalone) the TM-scores are 0.887, 0.886, 0.888 and 0.754 for the respective methods. The prediction of target T1084 can be improved from a TM-score of 0.457 to 0.872 by ColabFold if MMseqs2’s compositional filter is disabled (Supplementary Fig. 3 ). Supplementary Table 1 lists the additional targets for which ColabFold differed significantly from AlphaFold2.” | limitations[0] |
| limitation | Early stopping costs a little accuracy, with mean pLDDT falling from 90.68 to 89.33 across fifty sampled proteins. — “AlphaFold2 (reduced_dbs, v2.1.1), ColabFold (commit f5d0cec) default and ColabFold Stop ≥ 85 have an average pLDDT of 90.68, 90.22 and 89.33, respectively, for 50 randomly sampled proteins. These are the same proteins that were used to extrapolate the run time of AlphaFold2. Over all predictions, the pLDDTs for the M. jannaschii proteome downloaded from the AlphaFoldDB, ColabFold default and ColabFold Stop ≥ 85 are 89.75, 89.38 and 88.77, respectively.” | limitations[1] |
| limitation | The lightweight structure renderer trades interactivity for size: it is a 2D line-plot illusion of a 3D image and is not interactive. — “For visualization, we developed a matplotlib 32 compatible module for displaying the 3D ribbon diagram of a protein structure or complex. The ribbon can be colored by residue index (N to C terminus) or by a predicted confidence metric (such as pLDDT). For complexes, each protein can be colored by chain ID. Instead of using a 3D renderer, we instead use a 2D line plotting based technique. The lines that make up the ribbon are plotted in the order in which they appear along the z-axis. Furthermore, we add shade to the lines according to the z-axis. This creates the illusion of a 3D rendered graphic. The advantage over a 3D renderer is that the images are very lightweight, can be used in animations and saved as vector graphics for lossless inclusion in documents. Given that the 2D renderer is not interactive, we additionally included a 3D visualization option using py3Dmol 33 in the ColabFold notebooks.” | limitations[2] |
finding · quantity · variable · definition · key-term — grounded in the full text| finding | Replacing the AlphaFold2 homology search with MMseqs2 gives a 40-60-fold faster search and allows close to 1,000 structures per day on a single-GPU server. — “ColabFold offers accelerated prediction of protein structures and complexes by combining the fast homology search of MMseqs2 with AlphaFold2 or RoseTTAFold. ColabFold’s 40−60-fold faster search and optimized model utilization enables prediction of close to 1,000 structures per day on a server with one graphics processing unit. Coupled with Google Colaboratory, ColabFold becomes a free and accessible platform for protein folding. ColabFold is open-source software available at https://github.com/sokrypton/ColabFold and its novel environmental databases are available at https://colabfold.mmseqs.com .” | content_tags.findings[0] |
| finding | ColabFold is on average fivefold faster than AlphaFold2 and AlphaFold-Colab for single predictions once MSA generation and inference are both counted. — “To compare the accuracy of predicted structures we compared AlphaFold2 (default settings with templates), AlphaFold-Colab (no templates), ColabFold-RoseTTAFold-BFD/MGnify, ColabFold-AlphaFold2-BFD/MGnify and ColabFold-AlphaFold2-ColabFoldDB on template modeling scores (TM-scores) for all targets from the CASP14 competition (Fig. 2a ). All three ColabFold modes were executed without templates. We show the targets split by free modeling on the left and the remaining ones on the right, given that we used the free-modeling targets for optimization of search workflow parameters. ColabFold is on average fivefold faster for single predictions than AlphaFold2 and AlphaFold-Colab, when taking both MSA generation (Fig. 2b ) and model inference into account.” | content_tags.findings[1] |
| finding | On CASP14 free-modeling targets the mean TM-scores were 0.826, 0.818, 0.79, 0.744 and 0.62 for ColabFold-AlphaFold2-BFD/MGnify, ColabFold-AlphaFold2-ColabFoldDB, AlphaFold2, AlphaFold-Colab and ColabFold-RoseTTAFold respectively. — “The mean TM-scores for the free-modeling targets are 0.826, 0.818, 0.79, 0.744 and 0.62 for ColabFold-AlphaFold2-BFD/MGnify, ColabFold-AlphaFold2-ColabFoldDB, AlphaFold2, AlphaFold-Colab and ColabFold-RoseTTAFold-BFD/MGnify, respectively. Over all CASP14 targets (excluding AlphaFold-Colab because it cannot be used as a standalone) the TM-scores are 0.887, 0.886, 0.888 and 0.754 for the respective methods. The prediction of target T1084 can be improved from a TM-score of 0.457 to 0.872 by ColabFold if MMseqs2’s compositional filter is disabled (Supplementary Fig. 3 ). Supplementary Table 1 lists the additional targets for which ColabFold differed significantly from AlphaFold2.” | content_tags.findings[2] |
| finding | Over all CASP14 targets the TM-scores were 0.887, 0.886, 0.888 and 0.754, so ColabFold matches AlphaFold2 rather than trading accuracy for speed. — “The mean TM-scores for the free-modeling targets are 0.826, 0.818, 0.79, 0.744 and 0.62 for ColabFold-AlphaFold2-BFD/MGnify, ColabFold-AlphaFold2-ColabFoldDB, AlphaFold2, AlphaFold-Colab and ColabFold-RoseTTAFold-BFD/MGnify, respectively. Over all CASP14 targets (excluding AlphaFold-Colab because it cannot be used as a standalone) the TM-scores are 0.887, 0.886, 0.888 and 0.754 for the respective methods. The prediction of target T1084 can be improved from a TM-score of 0.457 to 0.872 by ColabFold if MMseqs2’s compositional filter is disabled (Supplementary Fig. 3 ). Supplementary Table 1 lists the additional targets for which ColabFold differed significantly from AlphaFold2.” | content_tags.findings[3] |
| finding | Raising the recycle count from the default 3 to 12 improved targets with little MSA information and raised the average TM-score to 0.898. — “ColabFold exposes many internal parameters of AlphaFold2 such as the recycle count (default 3), which controls the number of times the prediction is repeatedly fed through the model. For difficult targets as well as for designed proteins without known homologs, additional recycling iterations can result in a high-quality prediction (Supplementary Fig. 5 ). Rerunning the CASP14 benchmark with a recycle count of 12 resulted in an improvement of targets with little MSA information, resulting in an increased average TM-score of 0.898 (Supplementary Fig. 6 ).” | content_tags.findings[4] |
| finding | The 1,762-protein Methanocaldococcus jannaschii proteome was predicted in 48 h on one Nvidia Titan RTX with early stopping at pLDDT of at least 85. — “For high-throughput structure prediction, we introduced several features in ColabFold. First, MSA generation can be executed in batch mode independently from model batch-inference. Second, we compile only one of the five AlphaFold2 models and reuse weights. Third, we avoid recompilation for sequences of similar length. Fourth, we implement early stop criteria, to avoid additional recycles or models if a sufficiently accurate structure was already found. And last, we developed the command line tool colabfold_batch to predict structures on local machines. All together, we show that the Methanocaldococcus jannaschii proteome of 1,762 proteins shorter than 1,000 amino acids can be predicted in 48 h with early stopping at a pLDDT (predicted local distance difference test; a per-residue confidence metric) of ≥85 on one Nvidia Titan RTX (Fig. 2d ), while sacrificing little or no prediction accuracy (Methods 2.7.4 ). The average pLDDTs of AlphaFold2 and ColabFold Stop ≥ 85 were 89.75 and 88.78 in a subsampled set of 50 proteins.” | content_tags.findings[5] |
| finding | Early stopping sped the proteome run up 3.7-fold against the default and 4.8-fold against always recompiling. — “We predict the proteome of M. jannaschii . Of the 1,787 proteins, we exclude the 25 proteins longer than 1,000 residues, leaving 1,762 proteins of 268 amino acids in average length. With the colabfold_search wrapper to MMseqs2 we search against the ColabFoldDB (section 2.3.2 ) in 113 min on a system with an AMD EPYC 7402P 24-core CPU (no hyperthreading) and 512 GB RAM. MMseqs2 had a maximum resident set size of 308 GB during the search. We then predict the structures on a single Nvidia Titan RTX with 24 GB RAM in 46 h using only MSAs (no templates). For each query we stop early if any recycle iteration reaches a pLDDT of at least 85. Early stopping results in a speed-up of 3.7-fold compared with the default and 4.8-fold compared with always recompiling. AlphaFold2 (reduced_dbs) was run with the reduced_dbs preset and no template information was used. We changed the AlphaFold2 source code to utilize all CPU cores during the homology search.” | content_tags.findings[6] |
| finding | Batch prediction is approximately 90-fold faster than AlphaFold2 once recompilation is avoided and early stopping is added. — “ColabFold builds beyond the initial offerings of Alphafold2 by improving its sequence search, providing tools for modeling homo- and heteromer complexes, exposing advanced functionality, expanding the environmental databases and enabling large-scale batch prediction of protein structures, at an approximately 90-fold speed-up over AlphaFold2.” | content_tags.findings[7] |
| finding | Merging and filtering BFD with MGnify cut the sequence count from 2.5 billion to 513 million, needing only 84 GB of RAM for headers and sequences. — “BFD is a clustered protein database consisting of ~2.2 billion proteins organized in 64 million clusters. MGnify (2019_05) contains ~300 million environmental proteins. We merged both databases by searching the MGnify sequences against the BFD cluster-representative sequences using MMseqs2. Each MGnify sequence with a sequence identity of >30% and a local alignment that covers at least 90% of its length is assigned to the respective BFD cluster. All unassigned sequences are clustered at 30% sequence identity and 90% coverage (--min-seq-id 0.3 -c 0.3 --cov-mode 1 -s 3) and merged with the BFD clusters, resulting in 182 million clusters. To reduce the size of the database we filtered each cluster, keeping only the 10 most diverse sequences using mmseqs filterresult --diff 10. This reduced the total number of sequences from 2.5 billion to 513 million, thus requiring only 84 GB RAM for headers and sequences.” | content_tags.findings[8] |
| finding | Searching UniRef30 cluster consensus sequences instead of all UniRef100 sequences gives about a 10-fold speed-up, 29.3 million against 277.5 million sequences. — “ColabFold sends the query sequence to an MMseqs2 server 11 . It searches the sequence(s) with three iterations against the consensus sequences of the UniRef30, a clustered version of the UniRef100 (ref. 29 ). We accept hits with an E-value lower than 0.1. For each hit we realign its respective UniRef100 cluster member using the profile generated by the last iterative search, filter them (Methods 2.2.2 ) and add these to the MSA. This expanding search results in a speed-up of ~10-fold given that only 29.3 million cluster consensus sequences are searched instead of all 277.5 million UniRef100 sequences. Additionally, it has the advantage of being more sensitive given that the cluster consensus sequences are used. We use the UniRef30 sequence profile to perform an iterative search against the BFD/MGnify or ColabFoldDB using the same parameters, filters and expansion strategy.” | content_tags.findings[9] |
| quantity | 40-60-fold faster homology search, enabling close to 1,000 structures per day on one GPU — “ColabFold offers accelerated prediction of protein structures and complexes by combining the fast homology search of MMseqs2 with AlphaFold2 or RoseTTAFold. ColabFold’s 40−60-fold faster search and optimized model utilization enables prediction of close to 1,000 structures per day on a server with one graphics processing unit. Coupled with Google Colaboratory, ColabFold becomes a free and accessible platform for protein folding. ColabFold is open-source software available at https://github.com/sokrypton/ColabFold and its novel environmental databases are available at https://colabfold.mmseqs.com .” | content_tags.quantities[0] |
| quantity | approximately 90-fold over AlphaFold2 — “ColabFold builds beyond the initial offerings of Alphafold2 by improving its sequence search, providing tools for modeling homo- and heteromer complexes, exposing advanced functionality, expanding the environmental databases and enabling large-scale batch prediction of protein structures, at an approximately 90-fold speed-up over AlphaFold2.” | content_tags.quantities[1] |
| quantity | 0.826, 0.818, 0.79, 0.744 and 0.62 across the five compared modes — “The mean TM-scores for the free-modeling targets are 0.826, 0.818, 0.79, 0.744 and 0.62 for ColabFold-AlphaFold2-BFD/MGnify, ColabFold-AlphaFold2-ColabFoldDB, AlphaFold2, AlphaFold-Colab and ColabFold-RoseTTAFold-BFD/MGnify, respectively. Over all CASP14 targets (excluding AlphaFold-Colab because it cannot be used as a standalone) the TM-scores are 0.887, 0.886, 0.888 and 0.754 for the respective methods. The prediction of target T1084 can be improved from a TM-score of 0.457 to 0.872 by ColabFold if MMseqs2’s compositional filter is disabled (Supplementary Fig. 3 ). Supplementary Table 1 lists the additional targets for which ColabFold differed significantly from AlphaFold2.” | content_tags.quantities[2] |
| quantity | 1,762 proteins predicted in 48 h on a single Nvidia Titan RTX — “For high-throughput structure prediction, we introduced several features in ColabFold. First, MSA generation can be executed in batch mode independently from model batch-inference. Second, we compile only one of the five AlphaFold2 models and reuse weights. Third, we avoid recompilation for sequences of similar length. Fourth, we implement early stop criteria, to avoid additional recycles or models if a sufficiently accurate structure was already found. And last, we developed the command line tool colabfold_batch to predict structures on local machines. All together, we show that the Methanocaldococcus jannaschii proteome of 1,762 proteins shorter than 1,000 amino acids can be predicted in 48 h with early stopping at a pLDDT (predicted local distance difference test; a per-residue confidence metric) of ≥85 on one Nvidia Titan RTX (Fig. 2d ), while sacrificing little or no prediction accuracy (Methods 2.7.4 ). The average pLDDTs of AlphaFold2 and ColabFold Stop ≥ 85 were 89.75 and 88.78 in a subsampled set of 50 proteins.” | content_tags.quantities[3] |
| quantity | 209,335,865 representative sequences and 738,695,580 members — “We built ColabFoldDB by expanding BFD/MGnify with metagenomic sequences from various environments. To update the database we searched the proteins from the SMAG (eukaryotes) 14 , MetaEuk (eukaryotes) 13 , TOPAZ (eukaryotes) 15 , MGV (DNA viruses) 16 , GPD (bacteriophages) 17 and an updated version of MetaClust 18 against the BFD/MGnify centroids using MMseqs2 and assigned each sequence to the respective cluster if they have a 30% sequence identity at a 90% sequence overlap (-c 0.9 --cov-mode 1 --min-seq-id 0.3). All remaining sequences were clustered using MMseqs2 cluster -c 0.9 --cov-mode 1 --min-seq-id 0.3 and appended to the database. We remove redundancy per cluster by keeping the most 10 diverse sequences using mmseqs filterresult --diff 10. The final database consists of 209,335,865 million representative sequences and 738,695,580 members (see the Data Availability section for the input files). We provide the MMseqs2 search workflow used in the server (Methods 2.2.1) as a standalone script (colabfold_search).” | content_tags.quantities[4] |
| quantity | more than 2 TB of storage space required for its databases — “AlphaFold2 requires more than 2 TB of storage space for its databases, which is a significant hurdle for many researchers. We optimized its databases and additionally created another large environmental sequence database.” | content_tags.quantities[5] |
| quantity | relative positional encoding is capped at a residue separation of 32 — “We implemented two protein complex prediction modes in ColabFold. One is based on AlphaFold-multimer 4 and the other is based on the manipulation of residue index in the original AlphaFold2 model. Baek et al. 3 show that RoseTTAFold is able to model complexes despite being trained only on single chains. This is done by providing a paired alignment and modifying the residue index. The residue index is used as an input to the models to compute positional embedding. In AlphaFold2 we find the same to be true, although surprisingly the paired alignment is often not needed (Fig. 2c ). AlphaFold2 uses relative positional encoding with a cap at i − j ≥ 32 , meaning that any pair of residues separated by 32 or more are given the same relative positional encoding. By offsetting the residue index between two proteins to be > 32, AlphaFold2 treats them as separate polypeptide chains. ColabFold integrates this for modeling complexes.” | content_tags.quantities[6] |
| variable | pLDDT — “For high-throughput structure prediction, we introduced several features in ColabFold. First, MSA generation can be executed in batch mode independently from model batch-inference. Second, we compile only one of the five AlphaFold2 models and reuse weights. Third, we avoid recompilation for sequences of similar length. Fourth, we implement early stop criteria, to avoid additional recycles or models if a sufficiently accurate structure was already found. And last, we developed the command line tool colabfold_batch to predict structures on local machines. All together, we show that the Methanocaldococcus jannaschii proteome of 1,762 proteins shorter than 1,000 amino acids can be predicted in 48 h with early stopping at a pLDDT (predicted local distance difference test; a per-residue confidence metric) of ≥85 on one Nvidia Titan RTX (Fig. 2d ), while sacrificing little or no prediction accuracy (Methods 2.7.4 ). The average pLDDTs of AlphaFold2 and ColabFold Stop ≥ 85 were 89.75 and 88.78 in a subsampled set of 50 proteins.” | content_tags.variables[0] |
| variable | TM-score — “To compare the accuracy of predicted structures we compared AlphaFold2 (default settings with templates), AlphaFold-Colab (no templates), ColabFold-RoseTTAFold-BFD/MGnify, ColabFold-AlphaFold2-BFD/MGnify and ColabFold-AlphaFold2-ColabFoldDB on template modeling scores (TM-scores) for all targets from the CASP14 competition (Fig. 2a ). All three ColabFold modes were executed without templates. We show the targets split by free modeling on the left and the remaining ones on the right, given that we used the free-modeling targets for optimization of search workflow parameters. ColabFold is on average fivefold faster for single predictions than AlphaFold2 and AlphaFold-Colab, when taking both MSA generation (Fig. 2b ) and model inference into account.” | content_tags.variables[1] |
| variable | PAE — “For hetero-oligomeric complexes (Supplementary Fig. 4b ), a separate MSA is generated for each component. The MSA is paired according to the chosen pair_mode (section 2.4.2 ). Given that pLDDT is useful only for assessing local structure confidence, we use the fine-tuned model parameters to return the PAE for each prediction. As illustrated in Supplementary Fig. 4c , the inter-PAE, the predicted TM-score or interface TM-score (both derived from PAE) can be used to rank and assess the confidence of the predicted protein–protein interaction.” | content_tags.variables[2] |
| definition | ColabFold — “ColabFold offers accelerated prediction of protein structures and complexes by combining the fast homology search of MMseqs2 with AlphaFold2 or RoseTTAFold. ColabFold’s 40−60-fold faster search and optimized model utilization enables prediction of close to 1,000 structures per day on a server with one graphics processing unit. Coupled with Google Colaboratory, ColabFold becomes a free and accessible platform for protein folding. ColabFold is open-source software available at https://github.com/sokrypton/ColabFold and its novel environmental databases are available at https://colabfold.mmseqs.com .” | content_tags.definitions[0] |
| definition | MMseqs2 — “Here, we present ColabFold, a fast and easy-to-use software for the prediction of protein structures and homo- and heteromer complexes, for use as a Jupyter Notebook inside Google Colaboratory, on researchers’ local computers as a notebook or through a command line interface. ColabFold speeds up single predictions by replacing AlphaFold2’s homology search with the 40–60-fold faster MMseqs2 (Many-against-Many sequence searching) (refs. 10 , 11 ), and speeds up batch predictions by ~90-fold by avoiding recompilation and adding an early stop criterion. We show that ColabFold outperforms AlphaFold-Colab and matches AlphaFold2 on CASP14 targets and also matches AlphaFold-multimer on the ClusPro 4 , 12 dataset in prediction quality.” | content_tags.definitions[1] |
| definition | pLDDT — “For high-throughput structure prediction, we introduced several features in ColabFold. First, MSA generation can be executed in batch mode independently from model batch-inference. Second, we compile only one of the five AlphaFold2 models and reuse weights. Third, we avoid recompilation for sequences of similar length. Fourth, we implement early stop criteria, to avoid additional recycles or models if a sufficiently accurate structure was already found. And last, we developed the command line tool colabfold_batch to predict structures on local machines. All together, we show that the Methanocaldococcus jannaschii proteome of 1,762 proteins shorter than 1,000 amino acids can be predicted in 48 h with early stopping at a pLDDT (predicted local distance difference test; a per-residue confidence metric) of ≥85 on one Nvidia Titan RTX (Fig. 2d ), while sacrificing little or no prediction accuracy (Methods 2.7.4 ). The average pLDDTs of AlphaFold2 and ColabFold Stop ≥ 85 were 89.75 and 88.78 in a subsampled set of 50 proteins.” | content_tags.definitions[2] |
| definition | recycle count — “AlphaFold2 improves the predicted protein structure by recycling (by default) three times, meaning that the prediction is fed multiple times through the model. We exposed the recycle count as a customizable parameter given that additional recycles can often improve a model (Supplementary Fig. 6 ) at the cost of a longer run time. We also implemented an option to specify a tolerance threshold to stop early. For some designed proteins without known homologous sequences, this helped to fold the final protein (Supplementary Fig. 5 ).” | content_tags.definitions[3] |
| definition | residue index — “We implemented two protein complex prediction modes in ColabFold. One is based on AlphaFold-multimer 4 and the other is based on the manipulation of residue index in the original AlphaFold2 model. Baek et al. 3 show that RoseTTAFold is able to model complexes despite being trained only on single chains. This is done by providing a paired alignment and modifying the residue index. The residue index is used as an input to the models to compute positional embedding. In AlphaFold2 we find the same to be true, although surprisingly the paired alignment is often not needed (Fig. 2c ). AlphaFold2 uses relative positional encoding with a cap at i − j ≥ 32 , meaning that any pair of residues separated by 32 or more are given the same relative positional encoding. By offsetting the residue index between two proteins to be > 32, AlphaFold2 treats them as separate polypeptide chains. ColabFold integrates this for modeling complexes.” | content_tags.definitions[4] |
| definition | ColabFoldDB — “We built ColabFoldDB by expanding BFD/MGnify with metagenomic sequences from various environments. To update the database we searched the proteins from the SMAG (eukaryotes) 14 , MetaEuk (eukaryotes) 13 , TOPAZ (eukaryotes) 15 , MGV (DNA viruses) 16 , GPD (bacteriophages) 17 and an updated version of MetaClust 18 against the BFD/MGnify centroids using MMseqs2 and assigned each sequence to the respective cluster if they have a 30% sequence identity at a 90% sequence overlap (-c 0.9 --cov-mode 1 --min-seq-id 0.3). All remaining sequences were clustered using MMseqs2 cluster -c 0.9 --cov-mode 1 --min-seq-id 0.3 and appended to the database. We remove redundancy per cluster by keeping the most 10 diverse sequences using mmseqs filterresult --diff 10. The final database consists of 209,335,865 million representative sequences and 738,695,580 members (see the Data Availability section for the input files). We provide the MMseqs2 search workflow used in the server (Methods 2.2.1) as a standalone script (colabfold_search).” | content_tags.definitions[5] |
| definition | BFD — “BFD is a clustered protein database consisting of ~2.2 billion proteins organized in 64 million clusters. MGnify (2019_05) contains ~300 million environmental proteins. We merged both databases by searching the MGnify sequences against the BFD cluster-representative sequences using MMseqs2. Each MGnify sequence with a sequence identity of >30% and a local alignment that covers at least 90% of its length is assigned to the respective BFD cluster. All unassigned sequences are clustered at 30% sequence identity and 90% coverage (--min-seq-id 0.3 -c 0.3 --cov-mode 1 -s 3) and merged with the BFD clusters, resulting in 182 million clusters. To reduce the size of the database we filtered each cluster, keeping only the 10 most diverse sequences using mmseqs filterresult --diff 10. This reduced the total number of sequences from 2.5 billion to 513 million, thus requiring only 84 GB RAM for headers and sequences.” | content_tags.definitions[6] |
| definition | Colaboratory — “To enable researchers without these resources to use AlphaFold2, independent solutions based on Google Colaboratory were developed. Colaboratory is a proprietary version of Jupyter Notebook hosted by Google. It is accessible for free to logged-in users and includes access to powerful GPUs. Concurrently, Tunyasuvunakool et al. 9 developed an AlphaFold2 Jupyter Notebook for Google Colaboratory (referred to as AlphaFold-Colab), for which the input MSA is built by searching with HMMer against the UniProt Reference Clusters (UniRef90) and an eightfold-reduced environmental database. This results in less accurate predictions while still requiring long search times.” | content_tags.definitions[7] |
| definition | early stop criterion — “AlphaFold2 computes five models through multiple recycles. We noted that for prediction of high certainty (pLDDT >85), all five models would often produce structures of very similar confidence, for some even without or with less than three recycles. To speed up the computation we added a parameter to define an early stop criterion that halts additional model inferences and stops recycling if a given pLDDT or (interface) predicted TM-score threshold is reached.” | content_tags.definitions[8] |
| definition | CASP14 — “Predicting the three-dimensional (3D) structure of a protein from its sequence alone remains an unsolved problem. However, by exploiting the information in multiple sequence alignments (MSAs) of related proteins as the raw input features for end-to-end training, AlphaFold2 (ref. 1 ) was able to predict the 3D atomic coordinates of folded protein structures at a median global distance test total score (GDT_TS) of 92.4% in the latest round of the protein folding competition by the international community, CASP14 (Critical Assessment of protein Structure Prediction, round 14) (ref. 2 ). The accuracy of many of the predicted structures was within the error margin of experimental structure determination methods. Many ideas of AlphaFold2 were independently reproduced and implemented in RoseTTAFold (ref. 3 ). In addition to predictions for single chains, RoseTTAFold and, later, AlphaFold, were also shown to generalize to protein complexes. Evans et al. 4 have since released AlphaFold-multimer, a refined version of AlphaFold2 for the prediction of protein complexes. Thus, two highly accurate open-source prediction methods for single chains and one for protein complexes are now publicly available.” | content_tags.definitions[9] |
| concept | ColabFold — not defined in this paper's own words; the software combining MMseqs2 search with AlphaFold2 or RoseTTAFold — “ColabFold offers accelerated prediction of protein structures and complexes by combining the fast homology search of MMseqs2 with AlphaFold2 or RoseTTAFold. ColabFold’s 40−60-fold faster search and optimized model utilization enables prediction of close to 1,000 structures per day on a server with one graphics processing unit. Coupled with Google Colaboratory, ColabFold becomes a free and accessible platform for protein folding. ColabFold is open-source software available at https://github.com/sokrypton/ColabFold and its novel environmental databases are available at https://colabfold.mmseqs.com .” | concepts[0] |
| concept | MMseqs2 — not defined in this paper's own words; Many-against-Many sequence searching, the fast homology search — “Here, we present ColabFold, a fast and easy-to-use software for the prediction of protein structures and homo- and heteromer complexes, for use as a Jupyter Notebook inside Google Colaboratory, on researchers’ local computers as a notebook or through a command line interface. ColabFold speeds up single predictions by replacing AlphaFold2’s homology search with the 40–60-fold faster MMseqs2 (Many-against-Many sequence searching) (refs. 10 , 11 ), and speeds up batch predictions by ~90-fold by avoiding recompilation and adding an early stop criterion. We show that ColabFold outperforms AlphaFold-Colab and matches AlphaFold2 on CASP14 targets and also matches AlphaFold-multimer on the ClusPro 4 , 12 dataset in prediction quality.” | concepts[1] |
| concept | AlphaFold2 — not defined in this paper's own words; the end-to-end network predicting 3D atomic coordinates from an MSA — “Predicting the three-dimensional (3D) structure of a protein from its sequence alone remains an unsolved problem. However, by exploiting the information in multiple sequence alignments (MSAs) of related proteins as the raw input features for end-to-end training, AlphaFold2 (ref. 1 ) was able to predict the 3D atomic coordinates of folded protein structures at a median global distance test total score (GDT_TS) of 92.4% in the latest round of the protein folding competition by the international community, CASP14 (Critical Assessment of protein Structure Prediction, round 14) (ref. 2 ). The accuracy of many of the predicted structures was within the error margin of experimental structure determination methods. Many ideas of AlphaFold2 were independently reproduced and implemented in RoseTTAFold (ref. 3 ). In addition to predictions for single chains, RoseTTAFold and, later, AlphaFold, were also shown to generalize to protein complexes. Evans et al. 4 have since released AlphaFold-multimer, a refined version of AlphaFold2 for the prediction of protein complexes. Thus, two highly accurate open-source prediction methods for single chains and one for protein complexes are now publicly available.” | concepts[2] |
| concept | RoseTTAFold — not defined in this paper's own words; the independently reproduced structure prediction network — “Predicting the three-dimensional (3D) structure of a protein from its sequence alone remains an unsolved problem. However, by exploiting the information in multiple sequence alignments (MSAs) of related proteins as the raw input features for end-to-end training, AlphaFold2 (ref. 1 ) was able to predict the 3D atomic coordinates of folded protein structures at a median global distance test total score (GDT_TS) of 92.4% in the latest round of the protein folding competition by the international community, CASP14 (Critical Assessment of protein Structure Prediction, round 14) (ref. 2 ). The accuracy of many of the predicted structures was within the error margin of experimental structure determination methods. Many ideas of AlphaFold2 were independently reproduced and implemented in RoseTTAFold (ref. 3 ). In addition to predictions for single chains, RoseTTAFold and, later, AlphaFold, were also shown to generalize to protein complexes. Evans et al. 4 have since released AlphaFold-multimer, a refined version of AlphaFold2 for the prediction of protein complexes. Thus, two highly accurate open-source prediction methods for single chains and one for protein complexes are now publicly available.” | concepts[3] |
| concept | AlphaFold-multimer — not defined in this paper's own words; the refined AlphaFold2 variant for protein complexes — “Predicting the three-dimensional (3D) structure of a protein from its sequence alone remains an unsolved problem. However, by exploiting the information in multiple sequence alignments (MSAs) of related proteins as the raw input features for end-to-end training, AlphaFold2 (ref. 1 ) was able to predict the 3D atomic coordinates of folded protein structures at a median global distance test total score (GDT_TS) of 92.4% in the latest round of the protein folding competition by the international community, CASP14 (Critical Assessment of protein Structure Prediction, round 14) (ref. 2 ). The accuracy of many of the predicted structures was within the error margin of experimental structure determination methods. Many ideas of AlphaFold2 were independently reproduced and implemented in RoseTTAFold (ref. 3 ). In addition to predictions for single chains, RoseTTAFold and, later, AlphaFold, were also shown to generalize to protein complexes. Evans et al. 4 have since released AlphaFold-multimer, a refined version of AlphaFold2 for the prediction of protein complexes. Thus, two highly accurate open-source prediction methods for single chains and one for protein complexes are now publicly available.” | concepts[4] |
| concept | AlphaFold-Colab — not defined in this paper's own words; the earlier Google Colaboratory notebook using HMMer and a reduced database — “To enable researchers without these resources to use AlphaFold2, independent solutions based on Google Colaboratory were developed. Colaboratory is a proprietary version of Jupyter Notebook hosted by Google. It is accessible for free to logged-in users and includes access to powerful GPUs. Concurrently, Tunyasuvunakool et al. 9 developed an AlphaFold2 Jupyter Notebook for Google Colaboratory (referred to as AlphaFold-Colab), for which the input MSA is built by searching with HMMer against the UniProt Reference Clusters (UniRef90) and an eightfold-reduced environmental database. This results in less accurate predictions while still requiring long search times.” | concepts[5] |
| concept | multiple sequence alignments — not defined in this paper's own words; alignments of related proteins used as the raw input feature — “Predicting the three-dimensional (3D) structure of a protein from its sequence alone remains an unsolved problem. However, by exploiting the information in multiple sequence alignments (MSAs) of related proteins as the raw input features for end-to-end training, AlphaFold2 (ref. 1 ) was able to predict the 3D atomic coordinates of folded protein structures at a median global distance test total score (GDT_TS) of 92.4% in the latest round of the protein folding competition by the international community, CASP14 (Critical Assessment of protein Structure Prediction, round 14) (ref. 2 ). The accuracy of many of the predicted structures was within the error margin of experimental structure determination methods. Many ideas of AlphaFold2 were independently reproduced and implemented in RoseTTAFold (ref. 3 ). In addition to predictions for single chains, RoseTTAFold and, later, AlphaFold, were also shown to generalize to protein complexes. Evans et al. 4 have since released AlphaFold-multimer, a refined version of AlphaFold2 for the prediction of protein complexes. Thus, two highly accurate open-source prediction methods for single chains and one for protein complexes are now publicly available.” | concepts[6] |
| concept | homology search — not defined in this paper's own words; the search for related sequences that builds the MSA — “ColabFold offers accelerated prediction of protein structures and complexes by combining the fast homology search of MMseqs2 with AlphaFold2 or RoseTTAFold. ColabFold’s 40−60-fold faster search and optimized model utilization enables prediction of close to 1,000 structures per day on a server with one graphics processing unit. Coupled with Google Colaboratory, ColabFold becomes a free and accessible platform for protein folding. ColabFold is open-source software available at https://github.com/sokrypton/ColabFold and its novel environmental databases are available at https://colabfold.mmseqs.com .” | concepts[7] |
| concept | pLDDT — not defined in this paper's own words; per-residue predicted confidence — “For high-throughput structure prediction, we introduced several features in ColabFold. First, MSA generation can be executed in batch mode independently from model batch-inference. Second, we compile only one of the five AlphaFold2 models and reuse weights. Third, we avoid recompilation for sequences of similar length. Fourth, we implement early stop criteria, to avoid additional recycles or models if a sufficiently accurate structure was already found. And last, we developed the command line tool colabfold_batch to predict structures on local machines. All together, we show that the Methanocaldococcus jannaschii proteome of 1,762 proteins shorter than 1,000 amino acids can be predicted in 48 h with early stopping at a pLDDT (predicted local distance difference test; a per-residue confidence metric) of ≥85 on one Nvidia Titan RTX (Fig. 2d ), while sacrificing little or no prediction accuracy (Methods 2.7.4 ). The average pLDDTs of AlphaFold2 and ColabFold Stop ≥ 85 were 89.75 and 88.78 in a subsampled set of 50 proteins.” | concepts[8] |
| concept | TM-score — not defined in this paper's own words; template modeling score against the experimental structure — “To compare the accuracy of predicted structures we compared AlphaFold2 (default settings with templates), AlphaFold-Colab (no templates), ColabFold-RoseTTAFold-BFD/MGnify, ColabFold-AlphaFold2-BFD/MGnify and ColabFold-AlphaFold2-ColabFoldDB on template modeling scores (TM-scores) for all targets from the CASP14 competition (Fig. 2a ). All three ColabFold modes were executed without templates. We show the targets split by free modeling on the left and the remaining ones on the right, given that we used the free-modeling targets for optimization of search workflow parameters. ColabFold is on average fivefold faster for single predictions than AlphaFold2 and AlphaFold-Colab, when taking both MSA generation (Fig. 2b ) and model inference into account.” | concepts[9] |
| concept | PAE — not defined in this paper's own words; predicted alignment error, used across chains for complexes — “For hetero-oligomeric complexes (Supplementary Fig. 4b ), a separate MSA is generated for each component. The MSA is paired according to the chosen pair_mode (section 2.4.2 ). Given that pLDDT is useful only for assessing local structure confidence, we use the fine-tuned model parameters to return the PAE for each prediction. As illustrated in Supplementary Fig. 4c , the inter-PAE, the predicted TM-score or interface TM-score (both derived from PAE) can be used to rank and assess the confidence of the predicted protein–protein interaction.” | concepts[10] |
| concept | CASP14 — not defined in this paper's own words; the round-14 community structure prediction competition — “Predicting the three-dimensional (3D) structure of a protein from its sequence alone remains an unsolved problem. However, by exploiting the information in multiple sequence alignments (MSAs) of related proteins as the raw input features for end-to-end training, AlphaFold2 (ref. 1 ) was able to predict the 3D atomic coordinates of folded protein structures at a median global distance test total score (GDT_TS) of 92.4% in the latest round of the protein folding competition by the international community, CASP14 (Critical Assessment of protein Structure Prediction, round 14) (ref. 2 ). The accuracy of many of the predicted structures was within the error margin of experimental structure determination methods. Many ideas of AlphaFold2 were independently reproduced and implemented in RoseTTAFold (ref. 3 ). In addition to predictions for single chains, RoseTTAFold and, later, AlphaFold, were also shown to generalize to protein complexes. Evans et al. 4 have since released AlphaFold-multimer, a refined version of AlphaFold2 for the prediction of protein complexes. Thus, two highly accurate open-source prediction methods for single chains and one for protein complexes are now publicly available.” | concepts[11] |
| concept | ColabFoldDB — not defined in this paper's own words; the expanded environmental sequence database — “We built ColabFoldDB by expanding BFD/MGnify with metagenomic sequences from various environments. To update the database we searched the proteins from the SMAG (eukaryotes) 14 , MetaEuk (eukaryotes) 13 , TOPAZ (eukaryotes) 15 , MGV (DNA viruses) 16 , GPD (bacteriophages) 17 and an updated version of MetaClust 18 against the BFD/MGnify centroids using MMseqs2 and assigned each sequence to the respective cluster if they have a 30% sequence identity at a 90% sequence overlap (-c 0.9 --cov-mode 1 --min-seq-id 0.3). All remaining sequences were clustered using MMseqs2 cluster -c 0.9 --cov-mode 1 --min-seq-id 0.3 and appended to the database. We remove redundancy per cluster by keeping the most 10 diverse sequences using mmseqs filterresult --diff 10. The final database consists of 209,335,865 million representative sequences and 738,695,580 members (see the Data Availability section for the input files). We provide the MMseqs2 search workflow used in the server (Methods 2.2.1) as a standalone script (colabfold_search).” | concepts[12] |
| concept | BFD — not defined in this paper's own words; the Big Fantastic Database of clustered proteins — “BFD is a clustered protein database consisting of ~2.2 billion proteins organized in 64 million clusters. MGnify (2019_05) contains ~300 million environmental proteins. We merged both databases by searching the MGnify sequences against the BFD cluster-representative sequences using MMseqs2. Each MGnify sequence with a sequence identity of >30% and a local alignment that covers at least 90% of its length is assigned to the respective BFD cluster. All unassigned sequences are clustered at 30% sequence identity and 90% coverage (--min-seq-id 0.3 -c 0.3 --cov-mode 1 -s 3) and merged with the BFD clusters, resulting in 182 million clusters. To reduce the size of the database we filtered each cluster, keeping only the 10 most diverse sequences using mmseqs filterresult --diff 10. This reduced the total number of sequences from 2.5 billion to 513 million, thus requiring only 84 GB RAM for headers and sequences.” | concepts[13] |
| concept | protein database — not defined in this paper's own words; a clustered collection of protein sequences searched to build alignments — “BFD is a clustered protein database consisting of ~2.2 billion proteins organized in 64 million clusters. MGnify (2019_05) contains ~300 million environmental proteins. We merged both databases by searching the MGnify sequences against the BFD cluster-representative sequences using MMseqs2. Each MGnify sequence with a sequence identity of >30% and a local alignment that covers at least 90% of its length is assigned to the respective BFD cluster. All unassigned sequences are clustered at 30% sequence identity and 90% coverage (--min-seq-id 0.3 -c 0.3 --cov-mode 1 -s 3) and merged with the BFD clusters, resulting in 182 million clusters. To reduce the size of the database we filtered each cluster, keeping only the 10 most diverse sequences using mmseqs filterresult --diff 10. This reduced the total number of sequences from 2.5 billion to 513 million, thus requiring only 84 GB RAM for headers and sequences.” | concepts[14] |
| concept | MGnify — not defined in this paper's own words; the environmental protein database merged into BFD/MGnify — “BFD is a clustered protein database consisting of ~2.2 billion proteins organized in 64 million clusters. MGnify (2019_05) contains ~300 million environmental proteins. We merged both databases by searching the MGnify sequences against the BFD cluster-representative sequences using MMseqs2. Each MGnify sequence with a sequence identity of >30% and a local alignment that covers at least 90% of its length is assigned to the respective BFD cluster. All unassigned sequences are clustered at 30% sequence identity and 90% coverage (--min-seq-id 0.3 -c 0.3 --cov-mode 1 -s 3) and merged with the BFD clusters, resulting in 182 million clusters. To reduce the size of the database we filtered each cluster, keeping only the 10 most diverse sequences using mmseqs filterresult --diff 10. This reduced the total number of sequences from 2.5 billion to 513 million, thus requiring only 84 GB RAM for headers and sequences.” | concepts[15] |
| concept | UniRef30 — not defined in this paper's own words; the clustered version of UniRef100 searched by consensus sequence — “ColabFold sends the query sequence to an MMseqs2 server 11 . It searches the sequence(s) with three iterations against the consensus sequences of the UniRef30, a clustered version of the UniRef100 (ref. 29 ). We accept hits with an E-value lower than 0.1. For each hit we realign its respective UniRef100 cluster member using the profile generated by the last iterative search, filter them (Methods 2.2.2 ) and add these to the MSA. This expanding search results in a speed-up of ~10-fold given that only 29.3 million cluster consensus sequences are searched instead of all 277.5 million UniRef100 sequences. Additionally, it has the advantage of being more sensitive given that the cluster consensus sequences are used. We use the UniRef30 sequence profile to perform an iterative search against the BFD/MGnify or ColabFoldDB using the same parameters, filters and expansion strategy.” | concepts[16] |
| concept | recycle count — not defined in this paper's own words; how many times a prediction is fed back through the model — “ColabFold exposes many internal parameters of AlphaFold2 such as the recycle count (default 3), which controls the number of times the prediction is repeatedly fed through the model. For difficult targets as well as for designed proteins without known homologs, additional recycling iterations can result in a high-quality prediction (Supplementary Fig. 5 ). Rerunning the CASP14 benchmark with a recycle count of 12 resulted in an improvement of targets with little MSA information, resulting in an increased average TM-score of 0.898 (Supplementary Fig. 6 ).” | concepts[17] |
| concept | residue index — not defined in this paper's own words; the positional-embedding input whose offset separates chains — “We implemented two protein complex prediction modes in ColabFold. One is based on AlphaFold-multimer 4 and the other is based on the manipulation of residue index in the original AlphaFold2 model. Baek et al. 3 show that RoseTTAFold is able to model complexes despite being trained only on single chains. This is done by providing a paired alignment and modifying the residue index. The residue index is used as an input to the models to compute positional embedding. In AlphaFold2 we find the same to be true, although surprisingly the paired alignment is often not needed (Fig. 2c ). AlphaFold2 uses relative positional encoding with a cap at i − j ≥ 32 , meaning that any pair of residues separated by 32 or more are given the same relative positional encoding. By offsetting the residue index between two proteins to be > 32, AlphaFold2 treats them as separate polypeptide chains. ColabFold integrates this for modeling complexes.” | concepts[18] |
| concept | Colaboratory — not defined in this paper's own words; the hosted notebook environment giving free GPU access — “To enable researchers without these resources to use AlphaFold2, independent solutions based on Google Colaboratory were developed. Colaboratory is a proprietary version of Jupyter Notebook hosted by Google. It is accessible for free to logged-in users and includes access to powerful GPUs. Concurrently, Tunyasuvunakool et al. 9 developed an AlphaFold2 Jupyter Notebook for Google Colaboratory (referred to as AlphaFold-Colab), for which the input MSA is built by searching with HMMer against the UniProt Reference Clusters (UniRef90) and an eightfold-reduced environmental database. This results in less accurate predictions while still requiring long search times.” | concepts[19] |
| concept | Jupyter Notebook — not defined in this paper's own words; the notebook format Colaboratory is a version of — “To enable researchers without these resources to use AlphaFold2, independent solutions based on Google Colaboratory were developed. Colaboratory is a proprietary version of Jupyter Notebook hosted by Google. It is accessible for free to logged-in users and includes access to powerful GPUs. Concurrently, Tunyasuvunakool et al. 9 developed an AlphaFold2 Jupyter Notebook for Google Colaboratory (referred to as AlphaFold-Colab), for which the input MSA is built by searching with HMMer against the UniProt Reference Clusters (UniRef90) and an eightfold-reduced environmental database. This results in less accurate predictions while still requiring long search times.” | concepts[20] |
| concept | protein complexes — not defined in this paper's own words; homo- and heteromeric assemblies predicted jointly — “Predicting the three-dimensional (3D) structure of a protein from its sequence alone remains an unsolved problem. However, by exploiting the information in multiple sequence alignments (MSAs) of related proteins as the raw input features for end-to-end training, AlphaFold2 (ref. 1 ) was able to predict the 3D atomic coordinates of folded protein structures at a median global distance test total score (GDT_TS) of 92.4% in the latest round of the protein folding competition by the international community, CASP14 (Critical Assessment of protein Structure Prediction, round 14) (ref. 2 ). The accuracy of many of the predicted structures was within the error margin of experimental structure determination methods. Many ideas of AlphaFold2 were independently reproduced and implemented in RoseTTAFold (ref. 3 ). In addition to predictions for single chains, RoseTTAFold and, later, AlphaFold, were also shown to generalize to protein complexes. Evans et al. 4 have since released AlphaFold-multimer, a refined version of AlphaFold2 for the prediction of protein complexes. Thus, two highly accurate open-source prediction methods for single chains and one for protein complexes are now publicly available.” | concepts[21] |
| concept | early stop criterion — not defined in this paper's own words; the confidence threshold halting further inference — “AlphaFold2 computes five models through multiple recycles. We noted that for prediction of high certainty (pLDDT >85), all five models would often produce structures of very similar confidence, for some even without or with less than three recycles. To speed up the computation we added a parameter to define an early stop criterion that halts additional model inferences and stops recycling if a given pLDDT or (interface) predicted TM-score threshold is reached.” | concepts[22] |
Full text — tagged
The reference list is not part of the text we hold for this paper. Our copy was extracted from the publisher's page and the bibliography did not survive that extraction, so the article below ends before its references. Nothing has been removed by us.
ColabFoldterm: making protein folding accessible to all Abstract ColabFoldterm offers accelerated prediction of protein structures and complexes by combining the fast homology searchterm of MMseqs2term with AlphaFold2term or RoseTTAFoldterm. ColabFoldterm’s 40−60-fold faster search and optimized model utilization enables prediction of close to 1,000 structures per day on a server with one graphics processing unit. Coupled with Google Colaboratoryterm, ColabFoldterm becomes a free and accessible platform for protein folding. ColabFoldterm is open-source software available at https://github.com/sokrypton/ColabFoldterm and its novel environmental databases are available at https://colabfoldterm.mmseqs.com .
Main Predicting the three-dimensional (3D) structure of a protein from its sequence alone remains an unsolved problem. However, by exploiting the information in multiple sequence alignmentsterm (MSAs) of related proteins as the raw input features for end-to-end training, AlphaFold2term (ref. 1 ) was able to predict the 3D atomic coordinates of folded protein structures at a median global distance test total score (GDT_TS) of 92.4% in the latest round of the protein folding competition by the international community, CASP14term (Critical Assessment of protein Structure Prediction, round 14) (ref. 2 ). The accuracy of many of the predicted structures was within the error margin of experimental structure determination methods. Many ideas of AlphaFold2term were independently reproduced and implemented in RoseTTAFoldterm (ref. 3 ). In addition to predictions for single chains, RoseTTAFoldterm and, later, AlphaFold, were also shown to generalize to protein complexesterm. Evans et al. 4 have since released AlphaFold-multimerterm, a refined version of AlphaFold2term for the prediction of protein complexesterm. Thus, two highly accurate open-source prediction methods for single chains and one for protein complexesterm are now publicly available.
To leverage the power of these methods, researchers require powerful computing capabilities. First, to build diverse MSAs, large collections of protein sequences from public reference 5 and environmental 1 , 6 databases are searched using the most sensitive homology detection methods, HMMer 7 and HHblits 8 , both of which use profile hidden Markov models (HMMs). These environmental databases contain billions of proteins extracted from metagenomic and transcriptomic experiments, which often complement databases dominated by isolated genomes. Due to their large size, searches can take up to hours for a single protein while requiring more than 2 TB of storage space alone. Second, to execute the deep neural networks, graphics processing units (GPUs) with a large amount of GPU RAM (random access memory) are required even for relatively common protein sizes of ~1,000 residues. For these, however, the MSA generation dominates the overall run time.
To enable researchers without these resources to use AlphaFold2term, independent solutions based on Google Colaboratoryterm were developed. Colaboratoryterm is a proprietary version of Jupyter Notebookterm hosted by Google. It is accessible for free to logged-in users and includes access to powerful GPUs. Concurrently, Tunyasuvunakool et al. 9 developed an AlphaFold2term Jupyter Notebookterm for Google Colaboratoryterm (referred to as AlphaFold-Colabterm), for which the input MSA is built by searching with HMMer against the UniProt Reference Clusters (UniRef90) and an eightfold-reduced environmental database. This results in less accurate predictions while still requiring long search times.
Here, we present ColabFoldterm, a fast and easy-to-use software for the prediction of protein structures and homo- and heteromer complexes, for use as a Jupyter Notebookterm inside Google Colaboratoryterm, on researchers’ local computers as a notebook or through a command line interface. ColabFoldterm speeds up single predictions by replacing AlphaFold2term’s homology searchterm with the 40–60-fold faster MMseqs2term (Many-against-Many sequence searching) (refs. 10 , 11 ), and speeds up batch predictions by ~90-fold by avoiding recompilation and adding an early stop criterionterm. We show that ColabFoldterm outperforms AlphaFold-Colabterm and matches AlphaFold2term on CASP14term targets and also matches AlphaFold-multimerterm on the ClusPro 4 , 12 dataset in prediction quality.
ColabFoldterm (Fig. 1 ) consists of three parts. The first is an MMseqs2-based homology searchterm server to build diverse MSAs and to find templates. The server efficiently aligns input sequence(s) against the databanks UniRef100, PDB70 and an environmental sequence set. The second part is a Python library that communicates with the MMseqs2term search server, prepares the input features for structure inference (single chains or complexes), and visualizes the results. This library also implements a command line interface. The last part consists of the Jupyter notebooksterm for basic, advanced and batch use (Methods 2.1.1 ) using the Python library. Fig. 1 Schematic diagram of ColabFoldterm. a , b , ColabFoldterm has a web and a command line interface ( a ) that send FASTA input sequence(s) to an MMseqs2term server ( b ) searching two databases, UniRef100 and a database of environmental sequences, with three profile-search iterations each. The second database is searched using a sequence profile generated from the UniRef100 search as input. The server generates two MSAs in A3M format containing all detected sequences. c , For predictions of single structures (i) we filter both A3Ms using a diversity-aware filter and return this to be provided as the MSA input feature to the AlphaFold2term models. For predictions of complexes (ii) we pair the top hits within the same species to resolve the inter-chain contacts and additionally add two unpaired MSAs (same as i) to guide the structure prediction. Single chain predictions are ranked by pLDDTterm and complexes by predicted TM-scoreterm. d , To help researchers judge the prediction quality we visualize MSA depth and diversity and show the AlphaFold2term confidence measures (pLDDTterm and PAEterm).
In ColabFoldterm we replace the sensitive search methods HMMer and HHblits by MMseqs2term. We optimized the MSA generation by MMseqs2term to have the following three properties: MSA generation should be fast; the MSA has to capture diversity well; and it has to be small enough to run on computers with limited RAM. Reducing the memory requirement is especially helpful in Google Colaboratoryterm, where the provided system is selected from a pool with widely differing capabilities. While the first requirement is achieved through the fast MMseqs2term prefilter, for the second and third requirements we developed a search workflow to maximize sensitivity (Methods 2.2.1 ) and a new filter that samples the sequence space evenly (Methods 2.2.2 and Supplementary Fig. 1 ). Prediction quality depends on the input MSA, however, often an MSA with only a few (~30) sufficiently diverse sequences is enough to produce high-quality predictions (see fig. 5a in ref. 1 ).
Additionally, we combined the Big Fantastic Database (BFDterm) and the MGnifyterm database, which are used in AlphaFold2term by HHblits and HMMer, respectively, into a combined redundancy-reduced version that we refer to as BFDterm/MGnifyterm (Methods 2.3.1 ). The environmental search database presented an opportunity to improve structure predictions of non-bacterial sequences given that, for example, eukaryotic protein diversity is not well represented in the databases BFDterm and MGnifyterm. Limitations in assembly and gene calling due to complex intron and exon structures result in underrepresentation in reference databases. We therefore extended BFDterm/MGnifyterm with additional metagenomic protein catalogs containing eukaryotic proteins 13 – 15 , phage catalogs 16 , 17 and an updated version of MetaClust 18 . We refer to this database as ColabFoldDBterm (Methods 2.3.2 ). In Supplementary Fig. 2 we show that ColabFoldDBterm, in comparison with BFDterm/MGnifyterm, produces more diverse MSAs for domains in the protein families database (Pfam) 19 with <30 members.
To compare the accuracy of predicted structures we compared AlphaFold2term (default settings with templates), AlphaFold-Colabterm (no templates), ColabFold-RoseTTAFold-BFD/MGnifyterm, ColabFold-AlphaFold2-BFD/MGnifyterm and ColabFold-AlphaFold2-ColabFoldDB on template modeling scores (TM-scoresterm) for all targets from the CASP14term competition (Fig. 2a ). All three ColabFoldterm modes were executed without templates. We show the targets split by free modeling on the left and the remaining ones on the right, given that we used the free-modeling targets for optimization of search workflow parameters. ColabFoldterm is on average fivefold faster for single predictions than AlphaFold2term and AlphaFold-Colabterm, when taking both MSA generation (Fig. 2b ) and model inference into account. Fig. 2 Comparison of predictions for single chains and complexes. a , Structure prediction comparison of AlphaFold2term, AlphaFold-Colabterm and ColabFold-AlphaFold2 with BFDterm/MGnifyterm and with the ColabFoldDBterm, and ColabFold-RoseTTAFold with BFDterm/MGnifyterm using predictions of 91 domains of 65 CASP14term targets. The 28 domains from the 20 free-modeling (FM) targets are shown first. FM targets were used to optimize MMseqs2term search parameters. Each target was evaluated for each individual domain (in total 91 domains). b , MSA generation and model inference times for each CASP14term FM target sorted by protein length (same colors as before). Blue shows MSA run times for ColabFold-AlphaFold2-BFD/MGnifyterm and ColabFold-RoseTTAFold-BFD/MGnifyterm. c , Comparison of multimeric prediction modes in ColabFoldterm and AlphaFold-multimerterm. The ColabFoldterm modes include residue-index modification with models originally trained for single-chain predictions and those for multimeric prediction from AlphaFold-multimerterm, using DockQ (a quality measure for protein–protein docking models). d , Run time of colabfoldterm_batch proteome prediction at three optimization levels: always recompile, default, and stop model/recycle evaluation after first prediction with a pLDDTterm of ≥85. The yellow dashed line represents an extrapolation on the basis of the 50 AlphaFold2term predictions. Source data The mean TM-scoresterm for the free-modeling targets are 0.826, 0.818, 0.79, 0.744 and 0.62 for ColabFold-AlphaFold2-BFD/MGnifyterm, ColabFold-AlphaFold2-ColabFoldDB, AlphaFold2term, AlphaFold-Colabterm and ColabFold-RoseTTAFold-BFD/MGnifyterm, respectively. Over all CASP14term targets (excluding AlphaFold-Colabterm because it cannot be used as a standalone) the TM-scoresterm are 0.887, 0.886, 0.888 and 0.754 for the respective methods. The prediction of target T1084 can be improved from a TM-scoreterm of 0.457 to 0.872 by ColabFoldterm if MMseqs2term’s compositional filter is disabled (Supplementary Fig. 3 ). Supplementary Table 1 lists the additional targets for which ColabFoldterm differed significantly from AlphaFold2term.
AlphaFold2term was initially released without the capability to model protein complexesterm. However, we found that by combining two sequences with a glycine linker 20 it could often successfully model complexes. Shortly afterwards, Baek 21 found that increasing the model's internal parameter, residue-index (the method that was used in RoseTTAFoldterm), could also be done in AlphaFold2term.
For high-quality predictions it was shown that sequences should be provided in paired form to AlphaFold2term (ref. 22 ). We implemented a similar pairing procedure (Methods 2.4.2 ) and show the prediction capabilities of ColabFoldterm for complexes in Fig. 2c . ColabFoldterm achieves the highest accuracy in the prediction of complexes on the ClusPro 4 , 12 dataset with the AlphaFold-multimerterm model, however, some targets performed better using the residue-index mode.
Supplementary Fig. 4a,b show two examples of ColabFoldterm’s prediction capabilities for complexes. Supplementary Fig. 4a shows a homo-six-mer and Supplementary Fig. 4b shows a d -methionine transport system composed of three different proteins. The inter-chain predicted alignment error (inter-PAE) provided by AlphaFold2term helps to rank the complexes. Plots of PAEterm and complex conformation are given to help users judge the prediction quality of a complex. An example for heteromer complex prediction is shown in Supplementary Fig. 4c with its PAEterm plot. ColabFoldterm complexes were successfully used to aid in the determination of the structure of the 120 MDa human nucleopore complex on cryogenic electron microscopy 23 .
ColabFoldterm exposes many internal parameters of AlphaFold2term such as the recycle countterm (default 3), which controls the number of times the prediction is repeatedly fed through the model. For difficult targets as well as for designed proteins without known homologs, additional recycling iterations can result in a high-quality prediction (Supplementary Fig. 5 ). Rerunning the CASP14term benchmark with a recycle countterm of 12 resulted in an improvement of targets with little MSA information, resulting in an increased average TM-scoreterm of 0.898 (Supplementary Fig. 6 ).
For high-throughput structure prediction, we introduced several features in ColabFoldterm. First, MSA generation can be executed in batch mode independently from model batch-inference. Second, we compile only one of the five AlphaFold2term models and reuse weights. Third, we avoid recompilation for sequences of similar length. Fourth, we implement early stop criteria, to avoid additional recycles or models if a sufficiently accurate structure was already found. And last, we developed the command line tool colabfoldterm_batch to predict structures on local machines. All together, we show that the Methanocaldococcus jannaschii proteome of 1,762 proteins shorter than 1,000 amino acids can be predicted in 48 h with early stopping at a pLDDTterm (predicted local distance difference test; a per-residue confidence metric) of ≥85 on one Nvidia Titan RTX (Fig. 2d ), while sacrificing little or no prediction accuracy (Methods 2.7.4 ). The average pLDDTsterm of AlphaFold2term and ColabFoldterm Stop ≥ 85 were 89.75 and 88.78 in a subsampled set of 50 proteins.
ColabFoldterm builds beyond the initial offerings of Alphafold2term by improving its sequence search, providing tools for modeling homo- and heteromer complexes, exposing advanced functionality, expanding the environmental databases and enabling large-scale batch prediction of protein structures, at an approximately 90-fold speed-up over AlphaFold2term.
Methods Executing ColabFoldterm ColabFoldterm is available as a set of Jupyter notebooksterm that can be used on Google Colaboratoryterm or on users’ local machines, as well as an easily installable command line application.
ColabFoldterm notebooks ColabFoldterm has four main Jupyter notebooksterm 24 . The first is AlphaFold2term_mmseqs2term for basic use, which supports protein structure prediction using MSAs generated by MMseqs2term (version edb822), custom MSA upload, use of template information, relaxing of the predicted structures using amber force fields 25 , and prediction of complexes. The second, AlphaFold2term_advanced, for advanced users, additionally supports MSA generation using HMMer (same as AlphaFold-Colabterm), the sampling of diverse structures by iterating through a series of random seeds (num_samples), and control of AlphaFold2term model internal parameters, such as changing the number of recycles (max_recycle), the number of ensembles (num_ensemble), and the is_training option. The use of the is_training option enables dropout during inference. This activates the stochastic part of the model and can result in different predictions. Thus by iterating through different seeds, one can sample different structures predictions from the uncertainty of the model 26 or the ambiguity of co-evolution constraints derived from the input MSA. The third main type of Jupyter notebookterm is AlphaFold2term_batch, for batch prediction of multiple sequences or MSAs. The batch notebook saves time by avoiding recompilation of the AlphaFold2term models (section 2.5.2 ) for each individual input sequence. The fourth type is RoseTTAFoldterm, for basic use of RoseTTAFoldterm, and which supports protein structure prediction using MSAs generated by MMseqs2term, and custom MSAs, and sidechain prediction using SCWRL4 (ref. 27 ). The RoseTTAFoldterm notebook also has an option to use a slower but more accurate PyRosetta 28 folding protocol for structure prediction, using constraints predicted by RoseTTAFoldterm’s neural network.
ColabFoldterm command line interface We initially focused on making ColabFoldterm as widely available as possible through our Notebooks running in Google Colaboratoryterm. To meet the demand for a version that runs on local users’ machines, we released ‘LocalColabFold’. LocalColabFold can take command line arguments to specify an input FASTA file, an output directory, and various options to tweak structure predictions. LocalColabFold runs on a wide range of operating systems, such as Windows 10 or later (using Windows Subsystem for Linux 2), macOS and Linux. The structure inference and energy minimization are accelerated if a CUDA 11.1 or later compatible GPU is present. LocalColabFold is available as free open-source software at https://github.com/YoshitakaMo/localcolabfold Recognizing the limitations of Google Colaboratoryterm, we provide the colabfoldterm_batch command line tool through the colabfoldterm python package. This enables the computing of tasks on the user’s own computer that would have been too large for Google Colab, for example, predicting an entire proteome (Methods 2.7.4 ). It can be installed using Python's pip package manager following the instructions at https://github.com/sokrypton/ColabFoldterm . It can be used as colabfoldterm_batch input_file_or_directory output_directory, supporting FASTA, A3M and CSV files as input.
Faster MSA generation with MMseqs2term Generating MSAs for AlphaFold2term and RoseTTAFoldterm is a time-consuming task. To improve their run time while maintaining a high prediction accuracy, we implemented optimized workflows using MMseqs2term.
MSA generation by MMseqs2term ColabFoldterm sends the query sequence to an MMseqs2term server 11 . It searches the sequence(s) with three iterations against the consensus sequences of the UniRef30term, a clustered version of the UniRef100 (ref. 29 ). We accept hits with an E-value lower than 0.1. For each hit we realign its respective UniRef100 cluster member using the profile generated by the last iterative search, filter them (Methods 2.2.2 ) and add these to the MSA. This expanding search results in a speed-up of ~10-fold given that only 29.3 million cluster consensus sequences are searched instead of all 277.5 million UniRef100 sequences. Additionally, it has the advantage of being more sensitive given that the cluster consensus sequences are used. We use the UniRef30term sequence profile to perform an iterative search against the BFDterm/MGnifyterm or ColabFoldDBterm using the same parameters, filters and expansion strategy.
New diversity aware filter To limit the number of hits in the final MSA we use the HHblits (v3.3.0) diversity filtering algorithm 8 implemented in MMseqs2term in multiple stages. In the first stage, during UniRef cluster expansion, we filter each individual UniRef30term cluster before adding the cluster members to the MSA, such that no cluster pair has a higher maximum sequence identity than 95% (--max-seq-id 0.95). In the second stage, after realignment we enable only the --qsc 0.8 threshold and disable all other thresholds (--qid 0 --diff 0 --max-seq-id 1.0). Additionally, the qsc filtering is used only if at least 100 hits are found (--filter-min-enable 100). In the last stage, during MSA construction we filter again with the following parameters: --filter-min-enable 1000 --diff 3000 --qid 0.0,0.2,0.4,0.6,0.8,1.0 --qsc 0 --max-seq-id 0.95. Here, we extended the HHblits filtering algorithm to filter within a given sequence identity bucket such that it cannot eliminate redundancy across filter buckets. Our filter keeps the 3,000 most diverse sequences in the identity buckets [0.0–0.2], (0.2–0.4], (0.4–0.6], (0.6–0.8] and (0.8–1.0]. In buckets containing less than 1,000 hits we disable the filtering.
New MMseqs2term pre-computed index to support expanding cluster members MMseqs2term was initially built to perform fast many-against-many sequence searches. MirditapersName et al. 11 improved it to also support fast single-against-many searches. This type of search requires the database to be indexed and stored in memory. mmseqs createindex indexes the sequences and stores all time-consuming-to-compute data structures used for MMseqs2term searches to disk. We load the index into the operating systems cache using vmtouch ( https://github.com/hoytech/vmtouch ) to enable calls to the different MMseqs2term modules to become nearly overhead free. We extended the index to store, in addition to the already present cluster consensus sequences, all member sequences and the pairwise alignments of the cluster representatives to the cluster members. With these resident in cache, we eliminate the overhead of the remaining module calls.
ColabFoldterm databases AlphaFold2term requires more than 2 TB of storage space for its databases, which is a significant hurdle for many researchers. We optimized its databases and additionally created another large environmental sequence database.
Reducing the size of BFDterm/MGnifyterm To keep all required sequences and data structures in memory we needed to reduce the size of the environmental databases BFDterm and MGnifyterm, given that both databases together would have required ~517 GB RAM for headers and sequences alone.
BFDterm is a clustered protein databaseterm consisting of ~2.2 billion proteins organized in 64 million clusters. MGnifyterm (2019_05) contains ~300 million environmental proteins. We merged both databases by searching the MGnifyterm sequences against the BFDterm cluster-representative sequences using MMseqs2term. Each MGnifyterm sequence with a sequence identity of >30% and a local alignment that covers at least 90% of its length is assigned to the respective BFDterm cluster. All unassigned sequences are clustered at 30% sequence identity and 90% coverage (--min-seq-id 0.3 -c 0.3 --cov-mode 1 -s 3) and merged with the BFDterm clusters, resulting in 182 million clusters. To reduce the size of the database we filtered each cluster, keeping only the 10 most diverse sequences using mmseqs filterresult --diff 10. This reduced the total number of sequences from 2.5 billion to 513 million, thus requiring only 84 GB RAM for headers and sequences.
ColabFoldDBterm We built ColabFoldDBterm by expanding BFDterm/MGnifyterm with metagenomic sequences from various environments. To update the database we searched the proteins from the SMAG (eukaryotes) 14 , MetaEuk (eukaryotes) 13 , TOPAZ (eukaryotes) 15 , MGV (DNA viruses) 16 , GPD (bacteriophages) 17 and an updated version of MetaClust 18 against the BFDterm/MGnifyterm centroids using MMseqs2term and assigned each sequence to the respective cluster if they have a 30% sequence identity at a 90% sequence overlap (-c 0.9 --cov-mode 1 --min-seq-id 0.3). All remaining sequences were clustered using MMseqs2term cluster -c 0.9 --cov-mode 1 --min-seq-id 0.3 and appended to the database. We remove redundancy per cluster by keeping the most 10 diverse sequences using mmseqs filterresult --diff 10. The final database consists of 209,335,865 million representative sequences and 738,695,580 members (see the Data Availability section for the input files). We provide the MMseqs2term search workflow used in the server (Methods 2.2.1) as a standalone script (colabfoldterm_search).
Template information AlphaFold2term searches with HHsearch through a clustered version of the PDB (PDB70, ref. 8 ) to find the 20 top ranked templates. To save time, we use MMseqs2term (ref. 10 ) to search against the PDB70 cluster representatives as a prefiltering step to find candidate templates. This search is also done as part of the MMseqs2term API call on our server. Only the top 20 target templates according to E-value are then aligned by HHsearch. The accepted templates are given to AlphaFold2term as input features. This alignment step is done in the ColabFoldterm client and therefore it requires the subset of the PDB70 containing the respective HMMs. The PDB70 subset and the PDB mmCIF files are fetched from our server. For benchmarking, no templates are given to ColabFoldterm.
Modeling protein complexesterm with ColabFoldterm ColabFoldterm offers protein complexterm folding through the specialized AlphaFold-multimerterm model and through manipulation of the residue indexterm 3 . Here, we show the steps that we took for ColabFoldterm to produce accurate protein complexterm predictions.
Modeling of protein–protein complexesterm We implemented two protein complexterm prediction modes in ColabFoldterm. One is based on AlphaFold-multimerterm 4 and the other is based on the manipulation of residue indexterm in the original AlphaFold2term model. Baek et al. 3 show that RoseTTAFoldterm is able to model complexes despite being trained only on single chains. This is done by providing a paired alignment and modifying the residue indexterm. The residue indexterm is used as an input to the models to compute positional embedding. In AlphaFold2term we find the same to be true, although surprisingly the paired alignment is often not needed (Fig. 2c ). AlphaFold2term uses relative positional encoding with a cap at \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\left|i-j\right|\ge 32$$\end{document} i − j ≥ 32 , meaning that any pair of residues separated by 32 or more are given the same relative positional encoding. By offsetting the residue indexterm between two proteins to be > 32, AlphaFold2term treats them as separate polypeptide chains. ColabFoldterm integrates this for modeling complexes.
For homo-oligomeric complexes (Supplementary Fig. 4a ) the MSA is copied multiple times for each component. Interestingly, it was found that providing a separate MSA copy (padding by gap characters to extend to other copies) works significantly better than concatenating from left to right.
For hetero-oligomeric complexes (Supplementary Fig. 4b ), a separate MSA is generated for each component. The MSA is paired according to the chosen pair_mode (section 2.4.2 ). Given that pLDDTterm is useful only for assessing local structure confidence, we use the fine-tuned model parameters to return the PAEterm for each prediction. As illustrated in Supplementary Fig. 4c , the inter-PAE, the predicted TM-scoreterm or interface TM-scoreterm (both derived from PAEterm) can be used to rank and assess the confidence of the predicted protein–protein interaction.
MSA pairing for complex prediction A paired MSA helps AlphaFold2term to predict complexes more accurately only if orthologous genes are paired with each other. We followed a similar strategy as Bryant et al. 22 to pair sequences according to their taxonomic identifier. For the pairing we search each distinct sequence of a complex against the UniRef100 using the same procedure as described in section 2.2.1 . We return only hits that cover all complex proteins within one species and pair only the best hit (smallest E-value) with an alignment that covers the query to at least 50%. The pairing is implemented in the new MMseqs2term module pairaln.
For prokaryotic protein prediction we additionally implemented the protocol described in ref. 3 to pair sequences based on their distances in the genome as predicted from the UniProt accession numbers.
Taxonomic labels for MSA pairing To pair MSAs for complex prediction, we retrieve for each found UniRef100 member sequence the taxonomic identifier from the NCBI (National Center for Biotechnology Information) Taxonomy database 30 . The taxonomic labels are extracted from the lowest common ancestor field (‘common taxon ID’) of each UniRef100 sequence from the uniref100.xml (2021_03) file.
Speeding up AlphaFold2term’s model evaluation Our efforts in speeding up AlphaFold2term’s MSA generation yielded large improvements in its run time. However, we discovered multiple opportunities within AlphaFold2term to speed up its model inference without sacrificing (or only sacrificing very little of) its accuracy.
Avoid recompiling AlphaFold2term models The AlphaFold2term models are compiled using JAX 31 to optimize the model for specific MSA or template input sizes. When no templates are provided, we compile once and, during inference, replace the weights from the other models, using the configuration of model 5. This saves 7 min of compile time. When templates are enabled, model 1 is compiled and weights from model 2 are used, model 3 is compiled and weights from models 4 and 5 are used. This saves 5 min of compile time. If the user changes the sequence or settings without changing the length or number of sequences in the MSA, the compiled models are reused without triggering recompilation.
Avoid recompiling during batch computation To avoid AlphaFold2term model recompilation for every protein AlphaFold2term provides a function to add padding to the input MSA and templates called make_fixed_size. However, this is not exposed in AlphaFold2term. We used the function in our batch notebook as well as in our command line tool colabfoldterm_batch, to maximize GPU use and minimize the need for model recompilation. We sort the input queries by sequence length and process them in ascending order. We pad the input features by 10% (by default). All sequences that lie within the query length and an additional 10% margin are not required to be recompiled, resulting in a large speed-up for short proteins.
Recycle countterm AlphaFold2term improves the predicted protein structure by recycling (by default) three times, meaning that the prediction is fed multiple times through the model. We exposed the recycle countterm as a customizable parameter given that additional recycles can often improve a model (Supplementary Fig. 6 ) at the cost of a longer run time. We also implemented an option to specify a tolerance threshold to stop early. For some designed proteins without known homologous sequences, this helped to fold the final protein (Supplementary Fig. 5 ).
Speed-up of predictions through early stop AlphaFold2term computes five models through multiple recycles. We noted that for prediction of high certainty (pLDDTterm >85), all five models would often produce structures of very similar confidence, for some even without or with less than three recycles. To speed up the computation we added a parameter to define an early stop criterionterm that halts additional model inferences and stops recycling if a given pLDDTterm or (interface) predicted TM-scoreterm threshold is reached.
Advanced features In our investigation of AlphaFold2term’s internal parameters we realized that we could expose many of the internal parameters that might be useful to researchers trying to explore AlphaFold2term’s full potential.
Sampling of diverse structures To reduce memory requirements, only a subset of the MSA is used as input to the model. Alphafold2term, depending on model configuration, subsamples the MSA to a maximum of 512 cluster centers and 1,024 extra sequences. Changing the random seed can result in different cluster centers and thus different structure predictions. ColabFoldterm provides an option to iterate through a series of random seeds, resulting in structure diversity. Further structure diversity can be generated by using the original or fine-tuned (use_ptm) model parameters and/or enabling is_training to activate the stochastic (dropout) part of the model. Enabling the latter can be used to sample an ensemble of models for the uncertain parts of the structure prediction.
Custom MSAs ColabFoldterm enables researchers to upload their own MSAs. Any kind of alignment tool can be used to generate the MSA. The uploaded MSA can be provided in aligned FASTA, A3M, STOCKHOLM or Clustal format. We convert the respective MSA format into A3M format using the reformat.pl script from the HH-suite 8 .
Lightweight 2D structure renderer For visualization, we developed a matplotlib 32 compatible module for displaying the 3D ribbon diagram of a protein structure or complex. The ribbon can be colored by residue indexterm (N to C terminus) or by a predicted confidence metric (such as pLDDTterm). For complexes, each protein can be colored by chain ID. Instead of using a 3D renderer, we instead use a 2D line plotting based technique. The lines that make up the ribbon are plotted in the order in which they appear along the z-axis. Furthermore, we add shade to the lines according to the z-axis. This creates the illusion of a 3D rendered graphic. The advantage over a 3D renderer is that the images are very lightweight, can be used in animations and saved as vector graphics for lossless inclusion in documents. Given that the 2D renderer is not interactive, we additionally included a 3D visualization option using py3Dmol 33 in the ColabFoldterm notebooks.
Benchmarking ColabFoldterm We show with multiple datasets that ColabFoldterm does not sacrifice accuracy for its much faster run times.
Benchmark with CASP14term targets We compared AlphaFold-Colabterm and AlphaFold2term (commit b88f8da) against ColabFoldterm using all CASP14term (ref. 2 ) targets. ColabFold-AlphaFold2 (commit 2b49880) used UniRef30term (2021_03) (ref. 34 ) and the BFDterm/MGnifyterm or ColabFoldDBterm. ColabFold-RoseTTAFold (commit ae2b519) was executed with papermill ( https://github.com/nteract/papermill ) using the PyRosetta protocol 28 . ColabFold-RoseTTAFold-BFD/MGnifyterm and ColabFold-AlphaFold2-BFD/MGnifyterm used the same MSAs. AlphaFold-Colabterm used the UniRef90 (2021_03), MGnifyterm (2019_05) and the small BFDterm. AlphaFold2term used the full_dbs preset and default databases downloaded with the download_all_data.sh script. The 65 targets contain 91 domains, among these are 20 free-modeling targets with 28 domains. We compared the predictions against the experimental structures using TMalign (downloaded on 24 February 2021) (ref. 35 ).
Measuring run times for CASP14term benchmark To provide more accurate run times we split the MSA generation and model inference measurements. MSA generation was repeated five times and the MSA generation times were averaged.
ColabFoldterm was executed using colabfoldterm_batch. The MMseqs2term server that computes MSAs for ColabFoldterm has 2 × 14 core Intel E5-2680v4 central processing units (CPUs) and 768 GB RAM. Each generated MSA was processed by a single CPU core. Run times were computed from server logs.
AlphaFold2term MSA generation run times were measured by running AlphaFold2term without models (providing an empty string to the --model_names parameter) on the same 2 × 14 core Intel E5-2680v4 CPUs and 768 GB RAM system. The AlphaFold2term databases were stored on a software-RAID5 as implemented in Linux (mdadm) composed of six Samsung 970 EVO Plus 1 TB NVMe drives. Run times for AlphaFold2term were taken from the features entry of the timings.json file. For a fair comparison, AlphaFold2term was modified to allow HMMer and HHblits to access one CPU core.
All ColabFoldterm and AlphaFold2term model inference run-time measurements were done on systems with 2 × 16 core Intel Gold 6242 CPUs with 192 GB RAM and 4x Nvidia Quadro RTX5000 GPUs. Only one GPU was used in each run.
ColabFold-RoseTTAFold-BFD/MGnifyterm and ColabFold-AlphaFold2-BFD/MGnifyterm used the same MSAs, and run times are shown only once.
AlphaFold-Colabterm was executed in the browser using a Google Colab Pro account. The times for the homology searchterm were taken from the notebook output cell ‘Search against genetic databases’. The JackHMMer search uses eight threads.
Complex benchmark We compare predictions of 17 ClusPro 4 , 12 targets to their native structures using DockQ (commit 3735c16) (ref. 36 ). We used colabfoldterm_batch (commit 45ad0e9) with BFDterm/MGnifyterm in residue indexterm manipulation and AlphaFold-multimerterm mode to predict structures. We use MSA pairing as described in section 2.4.2 and also add unpaired sequences. Models are ranked by predicted interface TM-scoreterm as returned by AlphaFold-multimerterm. The DockQ AlphaFold-multimerterm reference numbers were provided by R. Evans.
Proteome benchmark We predict the proteome of M. jannaschii . Of the 1,787 proteins, we exclude the 25 proteins longer than 1,000 residues, leaving 1,762 proteins of 268 amino acids in average length. With the colabfoldterm_search wrapper to MMseqs2term we search against the ColabFoldDBterm (section 2.3.2 ) in 113 min on a system with an AMD EPYC 7402P 24-core CPU (no hyperthreading) and 512 GB RAM. MMseqs2term had a maximum resident set size of 308 GB during the search. We then predict the structures on a single Nvidia Titan RTX with 24 GB RAM in 46 h using only MSAs (no templates). For each query we stop early if any recycle iteration reaches a pLDDTterm of at least 85. Early stopping results in a speed-up of 3.7-fold compared with the default and 4.8-fold compared with always recompiling. AlphaFold2term (reduced_dbs) was run with the reduced_dbs preset and no template information was used. We changed the AlphaFold2term source code to utilize all CPU cores during the homology searchterm.
AlphaFold2term (reduced_dbs, v2.1.1), ColabFoldterm (commit f5d0cec) default and ColabFoldterm Stop ≥ 85 have an average pLDDTterm of 90.68, 90.22 and 89.33, respectively, for 50 randomly sampled proteins. These are the same proteins that were used to extrapolate the run time of AlphaFold2term. Over all predictions, the pLDDTsterm for the M. jannaschii proteome downloaded from the AlphaFoldDB, ColabFoldterm default and ColabFoldterm Stop ≥ 85 are 89.75, 89.38 and 88.77, respectively.
Software used for analysis Benchmark data analysis and visualization were done with R/4.1.1, ggplot/3.3.5, cowplot/1.1.1 and lubridate/1.7.10. ColabFold-generated plots were made using matplotlib/3.1.3. TM-scoreterm analysis was done with TMalign/2021/02/24 and DockQ/3735c16.
Reporting summary Further information on research design is available in the Nature Research Reporting Summary linked to this article.
Online content Any methods, additional references, Nature Research reporting summaries, source data, extended data, supplementary information, acknowledgements, peer review information; details of author contributions and competing interests; and statements of data and code availability are available at 10.1038/s41592-022-01488-1.
Supplementary information Supplementary Information Supplementary Figs. 1–6, Supplementary Table 1 Reporting Summary Peer Review File Source data Source Data Fig. 2 Raw data for plotting. Each sub-figure is a different sheet