Evaluate

June 26, 2026 ยท View on GitHub

English | ็ฎ€ไฝ“ไธญๆ–‡

VenusFactory2 Banner

GitHub stars GitHub forks GitHub issues GitHub license

Python Version Documentation Downloads Youtube Demo

๐Ÿค– Agent-Driven Protein Engineering Platform One platform, three interfaces, infinite possibilities


๐ŸŒŸ Recent News

๐Ÿ“จ Join our WeChat Group / ๐Ÿ“ Share Your Feedback

WeChat Group


๐ŸŽฏ What is VenusFactory2?

VenusFactory2 is an Agent-driven protein engineering platform combining 40+ AI models with 11 biological databases. Designed for everyone โ€” from biologists to AI researchers.

VenusFactory2 Training Interface

VenusFactory2 Agent Interface

๐Ÿš€ Why VenusFactory2?

๐Ÿค– Agent-First๐ŸŽฏ Three Interfacesโšก Zero to Results
Natural language โ†’ Multi-step automationWeb UI / REST API / CLIUpload โ†’ Predict in seconds
40+ models + 11 databasesSame power, different stylesOr train custom models in minutes

๐Ÿ“– Easy to Learn: Designed for life science professionals with no programming background required. Intuitive Web UI, comprehensive bilingual documentation, rich examples and video tutorials help you quickly grow from beginner to protein AI expert.

๐Ÿ’ก Capabilities at a Glance

TaskSolutionTime
๐Ÿงฌ Mutation effectsESM-2, ProSST, ProtSSN (zero-shot)<1 min
๐ŸŽฏ Protein function30+ fine-tuned models<30 sec
๐Ÿ”ฌ Custom training7 PEFT methods (LoRA, QLoRA, etc.)10-60 min
๐Ÿ’พ Data downloadAlphaFold, UniProt, RCSB, KEGG, etc.Real-time
๐Ÿ“š LiteratureAI-powered search & analysis<2 min

โšก Quick Start

1. Install

git clone https://github.com/AI4Protein/VenusFactory2.git && cd VenusFactory2
conda create -n venus python=3.12 && conda activate venus
pip install -r requirements.txt  # Detailed guide below โ†“

# Local deploy: install kimi-code (the default chat engine).
# See: <https://example.com/kimi-code>  # TODO: replace with official repo
# Skip if you only use online mode or other LLM models:
#   export KIMI_EXTERNAL=1   # or remove kimi-code from src/agent/models.yaml

2. Build Frontend (WebUI v2 required)

cd frontend
npm install
npm run build
cd ..

3. Launch

# Web UI v1 (legacy Gradio, local mode)
python src/webui.py --mode all  # โ†’ http://localhost:7860

# Web UI v2 (FastAPI + React, local mode)
python src/webui_v2.py --host 0.0.0.0 --port 7861  # โ†’ http://localhost:7861

# Web UI v2 (FastAPI + React, online mode)
python src/webui_v2.py --host 0.0.0.0 --port 7861 --online

# REST API only
python src/api_server.py  # โ†’ http://localhost:5000/docs

# CLI
bash script/train/train_plm_lora.sh

3. Get Results

๐Ÿค– Try Agent-0.1 | โšก Quick Tools | ๐Ÿ”ฌ Train Models (Click to expand examples)

Agent-0.1 (Natural Language)

Q: "Predict stability for sequence MKTAYIAKQRQISFV..."
โ†’ Agent auto-selects model โ†’ Runs prediction โ†’ Returns results + explanations

Quick Mutation Scoring

Upload: PDB/FASTA โ†’ Mutations: A23V, K45R โ†’ Get: Stability scores

Train Your Model

Model: ESM2-650M โ†’ Dataset: DeepSol โ†’ Method: LoRA โ†’ 15 min โ†’ Trained model โœ“


๐Ÿค– Agent-0.1: The Brain

Agent-0.1 orchestrates all tools via natural language. Powered by LangGraph + LangChain.

You: "Design thermostable mutations for PDB:1ABC"
         โ†“
    ๐Ÿค– Agent Planning
         โ†“
  ๐Ÿ“ฅ Download โ†’ ๐Ÿงฌ Predict โ†’ ๐ŸŽฏ Score โ†’ ๐Ÿ“Š Report
  RCSB PDB     ESM-2 scan    Stability   Ranked list
โœจ Agent Capabilities
CategoryFeatures
๐Ÿ”ฌ AnalysisMutation prediction โ€ข Function/stability scoring โ€ข Structure analysis
๐Ÿ’พ DataMulti-database search โ€ข Format conversion โ€ข Batch processing
๐Ÿง  PlanningMulti-step automation โ€ข Tool orchestration โ€ข Error handling
๐Ÿ“š ResearchLiterature mining โ€ข Family analysis โ€ข Report generation
๐Ÿ’ฌ Example Conversations

Mutation Design:

You: "Improve thermostability of MKTAYIAKQR..."
Agent: โœ“ ESM-2 scanning... โœ“ Stability scoring...
โ†’ Top 3: A5V (+2.8 kcal/mol), K9R (+1.9), T2S (+1.5)

Database Search:

You: "Find lysozyme structures <2.0ร… resolution"
Agent: โœ“ Searching RCSB... โ†’ Found 47 structures
โ†’ Downloaded to: temp_outputs/lysozyme_structures/

๐Ÿ’ก Note: Requires API key (OpenAI/Anthropic). Currently in Beta.


๐Ÿ—๏ธ Architecture

๐ŸŒ Interfaces: Web UI | REST API | CLI
        โ†“
   ๐Ÿค– Agent Layer (LangGraph + LangChain)
        โ†“
   ๐Ÿ”ง Application: Train | Eval | Predict | Tools
        โ†“
   ๐Ÿ› ๏ธ Core Tools: 9 categories (mutation, database, search, etc.)
        โ†“
   ๐Ÿ“Š Resources: 40+ Models | 30+ Datasets | 11+ Databases
๐Ÿ“š Integrated Resources

Models (40+): ESM, ProtBert, ProtT5, Venus/PETA/ProSST series

Databases (11+): AlphaFold โ€ข RCSB PDB โ€ข UniProt โ€ข NCBI โ€ข KEGG โ€ข STRING โ€ข BRENDA โ€ข ChEMBL โ€ข HPA โ€ข FDA โ€ข Foldseek

Datasets (30+): Function โ€ข Localization โ€ข Stability โ€ข Solubility โ€ข Mutation fitness

๐Ÿ”ง Tool Categories
ToolDescriptionAgentCLI
๐Ÿงฌ MutationESM-1v, ESM-2, ProSST, ProtSSN, MIF-STโœ…โœ…
๐ŸŽฏ Prediction30+ fine-tuned modelsโœ…โœ…
๐Ÿ’พ Database11 integrationsโœ…โœ…
๐Ÿ” SearchPubMed, FDA, patentsโœ…โœ…
๐Ÿ‹๏ธ TrainingLoRA, QLoRA, DoRA, etc.โœ…โœ…
๐Ÿ“ FileFormat conversionโœ…โœ…
๐Ÿ”ฌ DenovoProtein designโœ…โœ…
๐Ÿงช DiscoveryNovel discoveryโœ…โœ…
๐Ÿ“Š Visualize3D viewerโœ…โœ…

๐Ÿงฌ Supported Models

40+ Protein Language Models (Click to expand)

Venus Series (Liang's Lab): ProSST-20/128/512/1024/2048/4096 (110M) โ€ข ProPrime-690M โ€ข VenusPLM-300M โ€ข PETA-base/bpe/unigram (80M)

ESM Series (Meta AI): ESM2: 8M, 35M, 150M, 650M, 3B, 15B โ€ข ESM-1v: 5 models (650M each)

ProtBert & ProtT5: ProtBert-Uniref100/BFD (420M) โ€ข IgBert (420M) โ€ข ProtT5-XL/XXL (3B-11B) โ€ข Ankh-base/large (450M-1.2B)

Selection Guide:

  • GPU <8GB: ESM2-8M/35M, ProSST
  • GPU 8-16GB: ESM2-150M/650M, ProtBert
  • GPU 24GB+: ESM2-3B, ProtT5-XL
  • Multi-GPU: ESM2-15B, ProtT5-XXL

By Task:

  • Classification: ESM2, ProtBert
  • Structure: Ankh
  • Generation: ProtT5
  • Antibody: IgBert/IgT5
  • Lightweight: ProSST, PETA

๐Ÿ“š Supported Datasets

30+ Supervised + Zero-Shot Datasets

Zero-Shot: VenusMutHub โ€ข ProteinGym (217 DMS)

Function: EC โ€ข GO_BP โ€ข GO_CC โ€ข GO_MF Localization: DeepLocBinary โ€ข DeepLocMulti โ€ข DeepLoc2Multi Stability: Thermostability โ€ข TAPE_Stability Solubility: DeepSol โ€ข DeepSoluE โ€ข eSOL โ€ข ProtSolM โ€ข PETA_CHS/LGK/TEM_Sol Mutation: FLIP_AAV (7 splits) โ€ข FLIP_GB1 (5 splits) โ€ข TAPE_Fluorescence Others: DeepET_Topt โ€ข MetalIonBinding โ€ข SortingSignal โ€ข PaCRISPR

All datasets available on HuggingFace


๐Ÿ“ฆ Installation

System packages (Linux): PDF export pulls pycairo, which builds against cairo. On Debian/Ubuntu, install once before pip-installing:

sudo apt-get install -y libcairo2-dev libxml2-dev pkg-config

Or, with conda, install the pre-built binary to skip the build:

conda install -c conda-forge pycairo

macOS / Windows: pre-built wheels exist, no extra system step needed.

๐ŸŽ macOS (M1/M2/M3)
git clone https://github.com/AI4Protein/VenusFactory2.git && cd VenusFactory2
conda create -n venus python=3.12 && conda activate venus
pip install --pre torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/nightly/cpu
pip install torch_scatter torch-sparse torch-geometric -f https://data.pyg.org/whl/torch-2.8.0+cpu.html
pip install -r requirements_for_macOS.txt
๐ŸชŸ Windows / ๐Ÿง Linux (CUDA 12.8)
git clone https://github.com/AI4Protein/VenusFactory2.git && cd VenusFactory2
conda create -n venus python=3.12 && conda activate venus
# Linux only: see "System packages" note above for cairo headers.
pip install torch==2.8.0 torchvision --index-url https://download.pytorch.org/whl/cu128
pip install torch_geometric pyg_lib torch_scatter torch_sparse torch_cluster torch_spline_conv \
    -f https://data.pyg.org/whl/torch-2.8.0+cu128.html
pip install -r requirements.txt
๐ŸชŸ Windows / ๐Ÿง Linux (CUDA 11.8)
git clone https://github.com/AI4Protein/VenusFactory2.git && cd VenusFactory2
conda create -n venus python=3.12 && conda activate venus
pip install torch==2.7.0 --index-url https://download.pytorch.org/whl/cu118
pip install torch_geometric pyg_lib torch_scatter torch_sparse torch_cluster torch_spline_conv \
    -f https://data.pyg.org/whl/torch-2.7.0+cu118.html
pip install -r requirements.txt
๐Ÿ’ป CPU Only
git clone https://github.com/AI4Protein/VenusFactory2.git && cd VenusFactory2
conda create -n venus python=3.12 && conda activate venus
pip install torch torchvision --index-url https://download.pytorch.org/whl/cpu
pip install torch_geometric pyg_lib torch_scatter torch_sparse torch_cluster torch_spline_conv \
    -f https://data.pyg.org/whl/torch-2.8.0+cpu.html
pip install -r requirements.txt

A helper script installs torch / PyG / pyproject.toml deps into .venv/ via uv:

git clone https://github.com/AI4Protein/VenusFactory2.git && cd VenusFactory2
# Linux only: see "System packages" note above for cairo headers.
python install.py --type cu128       # or: --type cpu
source .venv/bin/activate

Verify the environment

Run the bundled readiness check:

python scripts/check_env.py

It validates torch/CUDA, PyG, transformers, the agent stack, project src imports, and runs a CUDA matmul smoke test. Exit code is non-zero if any required dependency is missing.


๐Ÿš€ Usage

Web UI

WebUI v2 serves static files from frontend/dist in production mode, so run npm run build in frontend/ before starting src/webui_v2.py.

# Build WebUI v2 frontend assets first
cd frontend && npm run build && cd ..

# v1 (legacy Gradio) - local mode
python src/webui.py --mode all  # โ†’ http://localhost:7860

# v1 (legacy Gradio) - online-compatible mode (feature-limited)
WEBUI_V2_MODE=online python src/webui.py --mode all  # โ†’ http://localhost:7860

# v2 (FastAPI + React) - local mode
python src/webui_v2.py --host 0.0.0.0 --port 7861  # โ†’ http://localhost:7861

# v2 (FastAPI + React) - online mode
python src/webui_v2.py --host 0.0.0.0 --port 7861 --online  # โ†’ http://localhost:7861

Configuration Entry

  • Main runtime configuration template: .env.example
  • Typical flow: cp .env.example .env then adjust required keys for your mode.
  • Minimal local setup: keep defaults, set OPENAI_API_KEY only if you use LLM-backed features.
  • Minimal online setup: set WEBUI_V2_MODE=online, WEBUI_V2_SESSION_TOKEN_SECRET, and review all WEBUI_V2_*_LIMIT values.
TabPurposeFeatures
TrainingTrain custom modelsModel selection โ€ข PEFT methods โ€ข Real-time monitoring โ€ข Wandb
EvaluationBenchmark testingLoad model โ€ข Select metrics โ€ข CSV export
PredictionInferenceSingle/batch prediction โ€ข Result visualization
AgentNatural languageMulti-step automation โ€ข Tool orchestration
Quick ToolsRapid predictionMutation scoring โ€ข Function prediction
AdvancedDeep analysisSequence/structure-based models
DownloadData retrievalAlphaFold โ€ข UniProt โ€ข RCSB โ€ข InterPro
ManualDocumentationGuides & tutorials
Screenshots

Training Evaluation Prediction

CLI & API

Command Line Examples
# Train model
bash script/train/train_plm_lora.sh \
  --model facebook/esm2_t33_650M_UR50D \
  --dataset DeepSol --batch_size 32

# Evaluate
bash script/eval/eval.sh \
  --model_path ckpt/DeepSol/best_model \
  --test_dataset DeepSol

# Download data
bash script/tools/database/alphafold/download_alphafold_structure.sh
bash script/tools/database/uniprot/download_uniprot_seq.sh

# Generate structure sequences
bash script/get_structure_seq/get_esm3_structure_seq.sh
REST API Examples
# Start server
python src/api_server.py  # โ†’ http://localhost:5000/docs

# Mutation prediction
curl -X POST http://localhost:5000/api/mutation/predict \
  -H "Content-Type: application/json" \
  -d '{"sequence": "MKTAYIA...", "mutations": ["A23V", "K45R"]}'

# Function prediction
curl -X POST http://localhost:5000/api/predict/function \
  -H "Content-Type: application/json" \
  -d '{"sequence": "MKTAYIA...", "tasks": ["solubility", "stability"]}'

# Database search
curl http://localhost:5000/api/database/uniprot/search?query=lysozyme&limit=10
Python API
from src.tools.mutation import predict_mutation_effects
from src.tools.predict import predict_protein_function
from src.tools.database import download_alphafold_structure

# Mutations
results = predict_mutation_effects(
    sequence="MKTAYIAKQR...",
    mutations=["A5V", "K9R"],
    model="esm2"
)

# Function
predictions = predict_protein_function(
    sequence="MKTAYIA...",
    tasks=["solubility", "stability"]
)

# Data
pdb_file = download_alphafold_structure("P12345")

๐Ÿ“Š Training Methods

MethodMemorySpeedPerformanceBest For
LoRALowFastGoodGeneral tasks
QLoRAVery LowSlowGoodLimited GPU
DoRALowMediumBetterImproved LoRA
AdaLoRALowMediumBetterAdaptive rank
SES-AdapterMediumMediumBetterSelective tuning
IA3Very LowFastGoodLightweight
FreezeLowFastGoodSimple tuning

๐Ÿ™Œ Citation

@article{tan2026venusfactory2,
  title={Self-evolving AI agents for protein discovery and directed evolution},
  author={Tan, Yang and Zhang, Lingrong and Li, Mingchen and Yu, Yuanxi and Zhong, Bozitao and Zhou, Bingxin and Dong, Nanqing and Hong, Liang},
  journal={arXiv preprint arXiv:2603.27303},
  year={2026}
}

@inproceedings{tan2025venusfactory,
  title={VenusFactory: An Integrated System for Protein Engineering with Data Retrieval and Language Model Fine-Tuning},
  author={Tan, Yang and Liu, Chen and Gao, Jingyuan and Banghao, Wu and Li, Mingchen and Wang, Ruilin and Zhang, Lingrong and Yu, Huiqun and Fan, Guisheng and Hong, Liang and others},
  booktitle={Proceedings of the 63rd Annual Meeting of the Association for Computational Linguistics (Volume 3: System Demonstrations)},
  pages={230--241},
  year={2025}
}

๐Ÿ“œ License

VenusFactory is released under the VenusFactory Non-Commercial License โ€” see LICENSE (English, authoritative) and LICENSE_CN.md (ไธญๆ–‡็ฟป่ฏ‘, for reference).

  • โœ… Academic / non-commercial use is free for not-for-profit research institutions, government laboratories, universities, and individuals โ€” for internal research, teaching, and personal study. Please cite the references in the Citation section.
  • โŒ Commercial use is NOT permitted under the default license. This includes any use by or for a for-profit entity, any fee-bearing product/service/API, contract research whose IP is owned by a for-profit entity, and any use intended for commercial advantage.
  • ๐Ÿ“ง Commercial licensing requires prior written approval. To request a commercial license โ€” or to confirm whether your intended use qualifies as commercial โ€” please email hongl3lilang@sjtu.edu.cn (Liang Lab, Shanghai Jiao Tong University). Your inquiry should include the licensee entity, intended use, scope, and duration.

๐ŸŽŠ Acknowledgement

Developed by Liang's Lab at Shanghai Jiao Tong University.

Resources: Docs โ€ข YouTube โ€ข Playground โ€ข Issues


Made with โค๏ธ for the protein engineering community

โญ Star โ€ข ๐Ÿ› Report Bug โ€ข ๐Ÿ’ก Request Feature