Skip to content

Repository files navigation

STELLA: A Multimodal LLM for Protein Functional Annotation via Unified Sequence-Structure Encoding

By bridging the gap between progein sequence-structure representations and the contextual knowledge encoded within LLMs, STELLA harnesses the capabilities of LLMs enriched with protein features, offering interactive and versatile predictions across protein-related tasks, including functional description prediction (FP) and enzyme-catalyzed reaction prediction (EP).

Paper Dataset

Code License Data License

Usage and License Notices: The data, code and checkpoint are intended and licensed for non-commercial use only. They are also restricted to usage that follows the license agreement of LLaMA-2, LLaMA-3, Mistral and Phi-3. The dataset is CC BY NC 4.0 (allowing only non-commercial use) and models trained using the dataset should not be used outside of research purposes.

Contents

A first look at STELLA's capabilities through case studies

Demo capability of STELLA. (STELLA-ESM3-Llama-3.1-8B-Instruct). The examples in figure 1 involve two proteins—G1TFE0 (left) and A0A1D0BR98 (right)—sourced from the newly released Swiss-Prot 2024_02. The orange box indicates the ground-truth functional annotation. Text highlighted in green denotes critical and correct functional information generated by STELLA. The examples in figure 2 involve proteins Q9W3K5 (left) and Q5KYR2 (right) from the hold-out testing set of OPI-Struc. Orange box: ground truth of the function. The text highlighted in green represents the correct and critical output of STELLA. User and assistant icons are AI-generated.

First look at STELLA's abilites

First look at STELLA's abilites

STELLA Architecture

The architecture of STELLA. Stage1 of Multimodal Instruction-tuning (MMIT): to fine-tune the modality connector using the OPI-Struc dataset by freezing the protein structure encoder and LLM. Stage2 of MMIT: to continually fine-tune the modality connector and the LLM simultaneously with different learning rates, by freezing the protein structure encoder. Flame: model is trainable; Snowflake: model is frozen. Protein image credits: AFDB.

STELLA Architecture

Installation

  1. Clone this repository and navigate to STELLA folder

    git clone git@github.com:ocx-lab/STELLA.git
    cd STELLA
  2. Build conda environment

    conda env create -f environment.yml
  3. Install additional packages for training cases

    pip install ninja
    pip install flash-attn --no-build-isolation

    If you encounter some problems when installing flash-attn, please refer to the official repo of flash-attention for the install guidance.

  4. For installation of Define Secondary Structure of Proteins(DSSP)

    DSSP is the standard method used to assign secondary structure annotations to a protein structure, it utilizes the atomic coordinates of a structure to assign the secondary codes. In this repo, we should use dssp=3.0.0.

    • Method 1: apt-get install -y dssp

      If you are using a higher version Linux, you may see dssp=4.0.4 in the apt source (by runing apt-cache policy dssp), which is not compatible with this repo. Then you can refer to the second method to install dssp=3.0.0-3build1 manually.

    • Method 2: manually install

      wget http://archive.ubuntu.com/ubuntu/pool/main/b/boost1.71/libboost-program-options1.71.0_1.71.0-6ubuntu6_amd64.deb
      wget http://archive.ubuntu.com/ubuntu/pool/main/b/boost1.71/libboost-thread1.71.0_1.71.0-6ubuntu6_amd64.deb
      wget http://archive.ubuntu.com/ubuntu/pool/universe/d/dssp/dssp_3.0.0-3build1_amd64.deb
      dpkg -i libboost-program-options1.71.0_1.71.0-6ubuntu6_amd64.deb
      dpkg -i libboost-thread1.71.0_1.71.0-6ubuntu6_amd64.deb
      dpkg -i dssp_3.0.0-3build1_amd64.deb 

ESM3 Codebase Configuration

When using ESM3 as the protein structure encoder, STELLA depends on the ESM3 codebase at runtime. The following steps describe how to configure it properly.

1. Clone the ESM3 Repository

The ESM3 repository should already be cloned into the STELLA root directory during Installation Step 1:

cd STELLA
git clone git@github.com:evolutionaryscale/esm.git

This creates the esm/ directory under the project root (e.g., STELLA/esm/).

2. Download ESM3 Model Weights

STELLA uses the esm3-sm-open-v1 pretrained model. Download it from Hugging Face:

# Using huggingface-cli (recommended)
huggingface-cli download EvolutionaryScale/esm3-sm-open-v1 --local-dir /path/to/esm3-sm-open-v1

# Or using git lfs
git lfs install
git clone https://huggingface.co/EvolutionaryScale/esm3-sm-open-v1 /path/to/esm3-sm-open-v1

Note: Access to the ESM3 model requires accepting the EvolutionaryScale Community License on the Hugging Face model page. The license restricts usage to non-commercial purposes and prohibits drug development or discovery.

3. Configure ESM3 Path

In configs/paths.sh, set ESM3_PATH to the directory containing the downloaded model:

ESM3_PATH="/path/to/esm3-sm-open-v1"

Note: No other source files need to be modified. STELLA automatically reads ESM3_PATH from configs/paths.sh at runtime and patches the ESM3 codebase accordingly.

4. Verify the ESM3 Setup

After configuration, verify that the ESM3 model can be loaded correctly (run from the STELLA project root):

from esm.models.esm3 import ESM3
from esm.utils.constants.models import ESM3_OPEN_SMALL

model = ESM3.from_pretrained(ESM3_OPEN_SMALL, device="cuda")
print("ESM3 loaded successfully!")

Summary of ESM3-Related Files

File Purpose
esm/ (directory) Cloned ESM3 codebase, used as a local package
esm/esm/pretrained.py ESM3 model loading functions
configs/paths.sh ESM3_PATH — the only file users need to edit
stella/model/multimodal_encoder/prot_struc_encoder.py STELLA's ESM3 encoder integration; patches data_root() from configs/paths.sh at runtime
environment.yml Lists esm==3.0.0 as a pip dependency

Prot2Text Codebase Configuration

When using Prot2Text as the protein structure encoder, STELLA depends on the Prot2Text codebase at runtime.

1. Clone the Prot2Text Repository

The Prot2Text repository should already be cloned into the STELLA root directory during Installation Step 1:

cd STELLA
git clone git@github.com:hadi-abdine/Prot2Text.git

This creates the Prot2Text/ directory under the project root.

2. Download Prot2Text Model Weights

Download the pretrained prot2text_large model from the Prot2Text Hugging Face page:

huggingface-cli download hadi-abdine/Prot2Text --local-dir /path/to/prot2text_large

3. Configure Prot2Text Path

In configs/paths.sh, set PROT2TEXT_PATH to the directory containing the downloaded model:

PROT2TEXT_PATH="/path/to/prot2text_large"

4. Install DSSP (Required by Prot2Text)

Prot2Text relies on graphein for protein graph construction, which in turn requires DSSP 3.0 to compute secondary structure features. Refer to Installation Step 4 for DSSP setup.

Summary of Prot2Text-Related Files

File Purpose
Prot2Text/ (directory) Cloned Prot2Text codebase, used as a local package
Prot2Text/prot2text_model/Model.py Prot2Text model definition
configs/paths.sh PROT2TEXT_PATH used by training/eval shell scripts
stella/model/multimodal_encoder/loader4prot2text.py STELLA's Prot2Text loader with custom weight initialization
stella/model/multimodal_encoder/prot_struc_encoder.py STELLA's encoder integration (imports Prot2Text modules)

SaProt Configuration

When using SaProt as the protein structure encoder, STELLA loads the SaProt model via a built-in loader. Unlike ESM3 and Prot2Text, SaProt does not require cloning an external repository — the necessary loading code is already included in STELLA under stella/model/multimodal_encoder/loader4saprot.py, which depends on the esm2/ directory (a subset of facebookresearch/esm, MIT licensed, already included in this repo).

1. Download SaProt Model Weights

Download the pretrained SaProt_650M_AF2 model from the SaProt repository:

Model Download
SaProt_650M_AF2 Hugging Face
# Download the .pt checkpoint file
huggingface-cli download westlake-repl/SaProt_650M_AF2 --local-dir /path/to/SaProt_650M_AF2

The downloaded directory should contain the model checkpoint file SaProt_650M_AF2.pt.

2. Configure SaProt Path

In configs/paths.sh, set SAPROT_PATH to the full path of the .pt checkpoint file:

SAPROT_PATH="/path/to/SaProt_650M_AF2/SaProt_650M_AF2.pt"

3. Install FoldSeek (Required by SaProt)

SaProt uses FoldSeek structural alphabet to encode protein 3D structures. The FoldSeek binary is expected at:

stella/model/multimodal_encoder/bin/foldseek

If not already present, download and install FoldSeek:

# Download the precompiled binary
wget https://mmseqs.com/foldseek/foldseek-linux-x86_64.tar.gz
tar xzf foldseek-linux-x86_64.tar.gz
cp foldseek/bin/foldseek stella/model/multimodal_encoder/bin/foldseek

Summary of SaProt-Related Files

File Purpose
esm2/ (directory) Subset of Facebook ESM library (MIT licensed), used by SaProt loader
stella/model/multimodal_encoder/loader4saprot.py SaProt model loading and weight initialization
stella/model/multimodal_encoder/constants4saprot.py FoldSeek vocabulary definitions for SaProt
stella/model/multimodal_encoder/foldseek_util.py FoldSeek structural sequence extraction utility
stella/model/multimodal_encoder/bin/foldseek FoldSeek binary for structural alphabet encoding
configs/paths.sh SAPROT_PATH used by training/eval shell scripts

Datasets

The Open Protein Instructions for Structures (OPI-Struc) dataset was specifically developed to facilitate multimodal instruction tuning (MMIT) for the FP and EP tasks in this study, by integrating both protein structural and textual modalities.

Table: Statistics of OPI-Struc. For the FPFTQA task, besides the hold-out testing set, Functiontest_FTQA, a newer release of Swiss-Prot, v2024_01 (v2401), was utilized to construct Functiontest_FTQA_v2401. This dataset aims to assess the inference performance of STELLA on unseen data. For the FPMCQA task, the Functiontest dataset was designed with two versions: Functiontest_MCQA_1X (options w/o permutation) and Functiontest_MCQA_4X (options w/ permutation).

Task Training set Training set size Testing set Testing set size Metrics Protein source
FPFTQA Functiontrain_FTQA (+aug) 248,315 (+49,663) Functiontest_FTQA
Functiontest_FTQA_v2401
4,203
270
BLEU-4
BERT-score
ROUGE
AFDB
FPMCQA Functiontrain_MCQA 24,000 Functiontest_MCQA_1X
Functiontest_MCQA_4X
4,203
16,812
Accuracy AFDB
EP Enzymetrain 29,205 Enzymetest 5,651 Accuracy PDB

Precomputing Protein Structure Embeddings

STELLA uses precomputed protein structure embeddings for training and evaluation. Before training, you need to:

  1. Download the OPI-Struc annotation files from Hugging Face.

  2. Download the raw protein structure files:

    • For FP tasks (SwissProt data): Download AlphaFold DB structures. Each protein is identified by an AFDB_id (e.g., AF-P07412-F1-model_v4). Structures can be downloaded from the AlphaFold Protein Structure Database.
    • For EP tasks (Enzyme data): Download PDB structures. Each protein is identified by a PDB_id (e.g., 2pmo.X). Structures can be downloaded from RCSB PDB.
  3. Run the precompute script for protein embeddings (scripts/precompute_embeddings.py) to extract embeddings using one of the supported encoders (ESM3, Prot2Text, or SaProt):

    Option A: From annotation JSON (reads protein IDs from ann.json automatically)

    # ESM3 embeddings for Function (SwissProt) training data
    python scripts/precompute_embeddings.py \
        --encoder esm3 \
        --ann_json /path/to/OPI-Struc/Function/train/ann.json \
        --structure_dir /path/to/alphafold_pdb_files/ \
        --output_dir /path/to/OPI-Struc/Function/esm3/train/embs_pt/ \
        --encoder_path /path/to/esm3-sm-open-v1
    
    # Prot2Text embeddings for Function (SwissProt) training data
    python scripts/precompute_embeddings.py \
        --encoder prot2text \
        --ann_json /path/to/OPI-Struc/Function/train/ann.json \
        --structure_dir /path/to/alphafold_pdb_files/ \
        --output_dir /path/to/OPI-Struc/Function/Prot2Text/train/embs_pt/ \
        --encoder_path /path/to/prot2text_large
    
    # SaProt embeddings for Function (SwissProt) training data
    python scripts/precompute_embeddings.py \
        --encoder saprot \
        --ann_json /path/to/OPI-Struc/Function/train/ann.json \
        --structure_dir /path/to/alphafold_pdb_files/ \
        --output_dir /path/to/OPI-Struc/Function/SaProt/train/embs_pt/ \
        --encoder_path /path/to/SaProt_650M_AF2/SaProt_650M_AF2.pt \
        --foldseek_path stella/model/multimodal_encoder/bin/foldseek
    
    # ESM3 embeddings for Enzyme training data
    python scripts/precompute_embeddings.py \
        --encoder esm3 \
        --ann_json /path/to/OPI-Struc/Enzyme/train/ann.json \
        --structure_dir /path/to/pdb_files/ \
        --output_dir /path/to/OPI-Struc/Enzyme/esm3/train/embs_pt/ \
        --encoder_path /path/to/esm3-sm-open-v1

    Option B: From structure IDs directly (no ann.json needed)

    # Comma-separated IDs
    python scripts/precompute_embeddings.py \
        --encoder esm3 \
        --structure_ids AF-P07412-F1-model_v4,AF-Q5AEI1-F1-model_v4 \
        --structure_dir /path/to/alphafold_pdb_files/ \
        --output_dir /path/to/embs_pt/ \
        --encoder_path /path/to/esm3-sm-open-v1
    
    # From a text file (one ID per line)
    python scripts/precompute_embeddings.py \
        --encoder esm3 \
        --structure_ids ids.txt \
        --structure_dir /path/to/alphafold_pdb_files/ \
        --output_dir /path/to/embs_pt/ \
        --encoder_path /path/to/esm3-sm-open-v1
    
    # Enzyme data with --structure_ids requires --is_enzyme flag
    python scripts/precompute_embeddings.py \
        --encoder saprot \
        --structure_ids 2pmo.X,3tdh.A \
        --is_enzyme \
        --structure_dir /path/to/pdb_files/ \
        --output_dir /path/to/embs_pt/ \
        --encoder_path /path/to/SaProt_650M_AF2/SaProt_650M_AF2.pt \
        --foldseek_path stella/model/multimodal_encoder/bin/foldseek

    Notes:

    • The script supports resume: it automatically skips proteins whose .pt files already exist in --output_dir.
    • For SaProt, the --foldseek_path argument is required. See SaProt Configuration for FoldSeek installation.
    • For Prot2Text, graphein and DSSP 3.0 must be installed.
    • The output embs_pt/ directory should be placed alongside the corresponding ann.json file, as STELLA's dataloader expects this layout.

Training guides

There are two stages to train STELLA:

  • STAGE1: to fine-tune the modality connector using the OPI-Struc dataset by freezing the protein structure encoder and LLM.
  • STAGE2: to continually fine-tune the modality connector and the LLM simultaneously with different learning rates, by freezing the protein structure encoder.

STAGE1: Fine-tuning the modality connector

Start training with run_scripts/train_stage1.sh

bash run_scripts/train_stage1.sh

Following the prompts in the terminal, enter NUMBERs to select a LLM, a PROT_ENCODER and a DATASET.
Example:

Enter a number to select a LLM:
1) BioMistral-7B-DARE
2) BioMedGPT-LM-7B
3) Phi-3-mini-128k-instruct
4) Llama-3.1-8B-Instruct
5) Mistral-7B-Instruct-v0.2
#? 4
LLM: Llama-3.1-8B-Instruct  |  Prompt: stella_llama_3

Enter a number to select a protein encoder:
1) SaProt
2) ESM3
3) Prot2Text
#? 2
Encoder: ESM3

Enter a number to select training data:
1) func_ftqa_esm3_embs
2) func_mcqa_esm3_embs
3) func_ftqa_mcqa_esm3_embs
4) enzyme_esm3_embs
5) func_ftqa_enzyme_esm3_embs
6) esm3_embs_Hybrid
7) esm3_embs_Hybrid_wo_aug
#? 1
Data: func_ftqa_esm3_embs

Output: /path/to/Llama-3.1-8B-Instruct/STELLA-Llama-3.1-8B-Instruct-ESM3-func_ftqa_esm3_embs-e1-stage1-mlp2x_gelu-20260421_092342

STAGE2: Continually fine-tuning the modality connector and the LLM

Start training with run_scripts/train_stage2.sh

Following the prompts in the terminal, enter NUMBERs to select a LLM, a PROT_ENCODER, a DATASET and a MODALITY CONNECTOR (ADAPTER) (i.e., the stage1_checkpoint).
Example:

Enter a number to select a LLM:
1) BioMistral-7B-DARE
2) BioMedGPT-LM-7B
3) Phi-3-mini-128k-instruct
4) Llama-3.1-8B-Instruct
5) Mistral-7B-Instruct-v0.2
#? 4
LLM: Llama-3.1-8B-Instruct  |  Prompt: stella_llama_3

Enter a number to select a protein encoder:
1) SaProt
2) ESM3
3) Prot2Text
#? 2
Encoder: ESM3

Enter a number to select training data:
1) func_ftqa_esm3_embs
2) func_mcqa_esm3_embs
3) func_ftqa_mcqa_esm3_embs
4) enzyme_esm3_embs
5) func_ftqa_enzyme_esm3_embs
6) esm3_embs_Hybrid
7) esm3_embs_Hybrid_wo_aug
#? 1
Data: func_ftqa_esm3_embs

Enter the path to pretrained adapter (mm_prot_struc_projector.bin from Stage 1): results/Llama-3.1-8B-Instruct/STELLA-Llama-3.1-8B-Instruct-ESM3-func_ftqa_esm3_embs-e1-stage1-mlp2x_gelu-20260421_043007/checkpoint-2500/mm_prot_struc_projector.bin
Adapter: results/Llama-3.1-8B-Instruct/STELLA-Llama-3.1-8B-Instruct-ESM3-func_ftqa_esm3_embs-e1-stage1-mlp2x_gelu-20260421_043007/checkpoint-2500/mm_prot_struc_projector.bin

Output: /path/to/Llama-3.1-8B-Instruct/STELLA-Llama-3.1-8B-Instruct-ESM3-func_ftqa_esm3_embs-e1-stage2-mlp2x_gelu-20260421_091332

Evaluation guides

Start evaluation with run_scripts/eval.sh

Following the prompts in the terminal, enter NUMBERs to select a STELLA MODEL and a TESTING DATASET.
Example:

Enter the path to your trained STELLA model: /path/to/Llama-3.1-8B-Instruct/STELLA-Llama-3.1-8B-Instruct-ESM3-func_ftqa_esm3_embs-e1-stage2-mlp2x_gelu-20260421_091332
Model: /path/to/Llama-3.1-8B-Instruct/STELLA-Llama-3.1-8B-Instruct-ESM3-func_ftqa_esm3_embs-e1-stage2-mlp2x_gelu-20260421_091332

Enter a number to select test data:
1) func_test_ftqa_trunc90
2) func_test_ftqa
3) enzyme_ec_number_test
4) func_test_ftqa_v2401
5) enzyme_test
6) func_test_mcqa4x
7) func_test_mcqa1x
#? 2
Test data: func_test_ftqa
User prompt: What are the main functions of this protein?
Conv mode: stella_llama_3
Results file: STELLA-Llama-3.1-8B-Instruct-ESM3-func_ftqa_esm3_embs-e1-stage2-mlp2x_gelu-20260421_091332-func_test_ftqa_bs1

Evaluation results

This study highlighted two critical protein-related tasks: Functional Description Prediction (FP) and Enzyme-catalyzed Reaction Prediction (EP).

For these tasks, we designed five distinct evaluation based on the corresponding testing set shown in the section Datasets, including ①FPft_eval, ②FPft_eval_v2401, ③FPmc_eval_1x ④FPmc_eval_4x and ⑤EPeval.

1. Evaluation of FP Performance on the Hold-out Benchmark FPft_eval

Table: Evaluation results of FPft_eval, comparing with existing work. Training recipes for STELLA-ESM3-Llama-3.1-8B-Instruct: Functionft_train dataset, epochs of two stages (e3+e6). Bold and underline indicate the best and the runner-up performance.

Model BLEU-4 ↑ BERT Score ↑ ROUGE Score ↑
ROUGE-1 ROUGE-2 ROUGE-L
FoldSeek 0.3627 0.8358 0.4799 0.4027 0.4586
Prot2TextBASE 0.3511 0.8430 0.5059 0.4271 0.4849
Prot2TextLARGE 0.3629 0.8520 0.5368 0.4560 0.5140
ProteinChat 0.1918 0.7970 0.3957 0.2799 0.3648
STELLA-ESM3-Llama-3.1-8B-Instruct 0.4300 0.8564 0.5423 0.4747 0.5257

2. Evaluation of Zero-shot FP Performance on the Temporal Benchmark FPft_eval_v2401

Table: Zero-shot temporal Out-of-Distribution evaluation. Training recipes for STELLA-ESM3-Llama-3.1-8B-Instruct: Functionft_train dataset, epochs of two stages (e3+e6). Bold and underline indicate the best and the runner-up performance.

Model BLEU-4 ↑ BERTScore ↑ ROUGE Score ↑
ROUGE-1 ROUGE-2 ROUGE-L
STELLA-ESM3-Llama-3.1-8B-Instruct 0.0489 0.7565 0.2210 0.1085 0.1867
STELLA-Prot2Text-Llama-3.1-8B-Instruct 0.0425 0.7555 0.2454 0.1020 0.1919
STELLA-Prot2Text-Llama-3-8B-Instruct 0.0510 0.7605 0.2486 0.1062 0.1918
STELLA-Prot2Text-Mistral-7B-Instruct-v0.2 0.0440 0.7685 0.2529 0.1046 0.1975
ProteinChat 0.0205 0.7413 0.2121 0.0855 0.1691

3. Evaluation of FP Performance on Structural Degradation (i.e., incompete protein)

ROUGE-L are reported for each model on complete and incomplete protein. STELLA-ESM3-Llama-3.1-8B-Instruct is fine-tuned on the Functionft_train dataset using a two-stage strategy.

Model Complete Incomplete Perf. Drop
Prot2TextLARGE 0.5140 0.4438 13.7%
STELLA-ESM3-Llama-3.1-8B-Instruct (e3+e3) 0.5041 0.4805 4.7%
STELLA-ESM3-Llama-3.1-8B-Instruct (e3+e6) 0.5257 0.4915 4.1%

4. Evaluation of FP Performance on MCQA Task: FPmc_eval_1x and FPmc_eval_4x

Table: Evaluation results of FPmc_eval_1x and FPmc_eval_4x. mix2: Functionft_train + Functionmc_train datasets.

Model acc@MCQA_1X ↑ acc@MCQA_4X ↑

| STELLA-ESM3-Llama-3.1-8B-Instruct (mix2, two-stage, e3+e3) | 80.56 | 76.18 |

5. Evaluation of EP Performance on EPeval

Table: Evaluation results of EPeval. Acc@EP: predictions that exactly match the ground truth. Single: Enzymetrain dataset. Bold and underlined indicate the best and the runner-up performance.

Model Acc@EP ↑
w/o pretrain
UniRep 72.90
3DCNN 78.80
TAPE-LSTM 79.90
HH-suite3 82.60
GearNet-Edge-IEConv 85.30
IEConv 87.20
New IEConv 87.20
CDConv 88.50
w/ pretrain
DeepFRI 63.30
ProtBERT-BFD 72.20
ESM-1b 83.10
GearNet-Multiview-Contrast 87.50
New IEConv 88.10
Sable 88.50
MMIT (Two-stage training on Enzymetrain dataset)
STELLA-ESM3-Llama-3.1-8B-Instruct (single, e3+e3) 88.06
STELLA-ESM3-Llama-3.1-8B-Instruct (single, e3+e6) 88.85

Model Serveing

Runing STELLA serveing with a web UI or CLI way needs local STELLA pretrained models. Please download the checkpoints.

Gradio Web UI

To launch a Gradio demo locally, please run the following commands step by step.

Step 1: Launch a controller

bash run_scripts/serve/step1.sh

Step2: Launch a gradio web server

After completing step 2, a Gradio web interface will be available at http://localhost:XXXX/. The model list in the web page is currently empty because no model workers have been launched yet. It will automatically update once a model worker is started.

bash run_scripts/serve/step2.sh

Step 3: Launch a model worker

This is the actual worker responsible for performing inference on the GPU. Each worker handles a specific model defined by the --model-path argument. If you plan to launch multiple workers to compare different STELLA model variants, you only need to launch the controller and web server once. However, for each worker, you must specify a unique --port and --worker to run them on different ports.

Wait for the process to complete, and you will see the message “Uvicorn running on …”. Once this appears, refresh the Gradio web UI, and the model you just launched will now be visible in the model list.

bash run_scripts/serve/step3.sh

CLI Inference

You can also conduct inference through command line without using the Gradio Web UI.

bash run_scripts/serve/cli.sh stella/eval/orig_pdb_files/AF-A0A849ZK06-F1-model_v4.pdb

Third-Party Code and Licenses

This project includes or depends on the following third-party components. Please make sure to comply with their respective licenses:

Component Source License Notes
esm/ (ESM3) evolutionaryscale/esm EvolutionaryScale Community License Non-commercial use only; no drug development or discovery
esm2/ facebookresearch/esm MIT License
Prot2Text/ hadi-abdine/Prot2Text CC BY-NC-SA 4.0 Non-commercial use only; ShareAlike

The esm/ and Prot2Text/ directories are not included in this repository. Please clone them separately as described in the Installation section. The esm2/ directory contains a subset of the Facebook ESM library (MIT licensed) with minor modifications for compatibility.

Acknowledgement

  • LLaVA. Thanks to the LLaVA team for their excellent work, which we have adopted as our codebase and adapted to develop the STELLA series.

Related Projects

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages