Skip to content
fajieyuan edited this page May 9, 2025 · 20 revisions

What Evolla CAN'T do?

As an AI model, Evolla has the following limitations:

Some de novo designed proteins

Evolla's training exclusively on natural proteins sourced from the UniProt database imposes inherent limitations in analyzing de novo designed proteins. Some de novo proteins adopt non-natural structural topologies that deviate from the structural and sequence patterns embedded in Evolla's training framework. Consequently, the model's prediction may be not very reliable when applied to certain (e.g. small) de novo designed proteins.

Mutation-level protein functions

The structural data used to train Evolla are generated using AlphaFold2. However, previous studies have demonstrated that AlphaFold2 exhibits limited sensitivity to amino acid substitutions; its predicted mutant protein structures generally show only negligible conformational deviations compared to their wild-type counterparts (see here). This inherent limitation restricts Evolla's ability to detect subtle structural perturbations arising from mutations.

Consequently, while Evolla can readily classify a protein (e.g., by identifying it as a fluorescent protein), it is less effective at providing precise quantitative assessments of functional properties that may be affected by single-site mutations. For instance, although it can determine that a protein belongs to the fluorescent protein class, it cannot accurately predict changes in specific properties such as the exact fluorescence emission wavelength, which may be influenced by alterations in individual amino acids.

Protein with very unreliable structures

Protein structure is a key feature for Evolla-10B to infer protein function. If your structure is very unreliable (e.g. including a large portion (e.g. >50%) of "#", which means plDDT < 70), then Evolla may not give very accurate function prediction. Note that, Evolla-80B can predict solely based protein sequences, however, when providing reliable protein structures, it often performs better.

Protein complex

Like AlphaFold2, Evolla cannot be used directly on protein complexes, but users can specify individual chains for partial analysis. For example, if you are targeting a protein complex with two chains (named A and B), you can specify the chain name in the demo interface. The default chain selection is "A"

While Evolla was not explicitly trained on complex or protein–molecular interaction data, it is still capable of answering some questions related to protein/molecular interactions.

Accurately identifying identifiers and numerical values

As a generative model (e.g., ChatGPT), Evolla also suffers from some hallucination problems. For instance, while it can effectively describe the core functions or catalytic activities of proteins and enzymes, it may occasionally generate incorrect enzyme EC numbers. These inaccuracies arise from the weak correlation between biochemical functional knowledge and standardized identifiers (e.g., gene aliases, EC classes) in its training process.

To mitigate this, we recommend users focus on qualitative questions rather than quantitative values.

What is the Foldseek? Why there are #s in the foldseek sequence?

Foldseek employs a vector-quantized variational autoencoder (VQ-VAE) to compress protein tertiary structures into tokenized 1D sequences, enabling efficient 3D structural retrieval.

Evolla utilizes SaProt as its structural encoder, which use Foldseek sequence instead of raw 3D coordinates to represent structures (see SaProt reference for implementation details).

In AlphaFold-predicted structures, the b-factor column is replaced with a pLDDT score (0–100 scale), reflecting per-residue prediction confidence. Residues with pLDDT < 70 (indicating low reliability) are masked using # to prevent low-confidence regions from skewing predictions.

Since b-factor formats vary across prediction tools, users encountering sequences fully masked as # and poor results should verify the b-factor column in the submitted file. We also provide an alternative called Experimental structure. For experimental structures, masking is disabled to preserve native structural integrity.

Does Evolla support proteins of arbitrary length?

Due to GPU memory limitations, like many other protein language models (PLMs), all proteins are truncated to a length of 1024 amino acids (AA) starting from the first amino acid (AA). Therefore, prediction results may not be very reliable for proteins longer than this, especially for proteins much longer than 1024 AA. In future releases, we plan to develop a version of Evolla that can handle sequences longer than 2048 AA.

What is the difference between Evolla-10B and Evolla-10B-DPO?

Evolla integrates DPO (Direct Preference Optimization), an alignment technique that refines model behavior via preference pairs, to enhance functional prediction reliability. We provide two distinct model variants for user evaluation:

  • Evolla-10B (Base): Pre-trained model prior to alignment tuning.
  • Evolla-10B-DPO: DPO-optimized version.

Both versions are accessible in our demo interface to facilitate side-by-side validation.

Is there any batch prediction support?

While Evolla supports batch processing for high-throughput predictions, this feature is currently unavailable on the public demo interface. The primary reason is that if many users submit batch predictions simultaneously, others will experience extended waiting times, as the system is deployed on only a limited number of GPU servers due to cost constraints. But you can download its model checkpoint from Huggingface and deploy it on your local server, see our official github.

Could I employ Evolla on my own server?

Of course! You can follow our github repo instructions to build your own Evolla! And we are also positively contributing our code of Evolla to transformers library and the codes are under review.

You are welcome to install our developing transformers to experience Evolla:

Since the repo is under developing, problems could be met. Welcome to submit issues if you have any doubt or suggestion!

UniProt ID is used, do you get text information from UniProt page?

NO! The only thing UniProt ID do is to conveniently get amino acid sequence and structure. The input are purely the combination of sequence and structure.