Spaces:
Runtime error
A newer version of the Gradio SDK is available:
5.29.0
最新消息:
欢迎使用 VenusFactory!本项目由Liang's Lab开发,由Shanghai Jiao Tong University维护。
[2025-03-26] 新增 VenusPLM-300M 模型,基于VenusPod独立开发,由Hong Liang课题组开发。
[2025-03-17] 新增 Venus-PETA、Venus-ProPrime、Venus-ProSST 模型,更多详情请参考支持的模型
[2025-03-05] 🎉 祝贺! 🎉
🚀 我们课题组最新的研究成果VenusMutHub被Acta Pharmaceutica Sinica B 正式接收,并发布了系列排行榜!
💡 在本研究中,我们构建了900+ 高质量基准数据集,涵盖 500+ 不同功能特性的蛋白质. VenusMutHub不仅为蛋白质突变工程的真实应用场景提供了全新的小样本数据集,还弥补了现有基准数据集在多样性方面的空白,为AI驱动的蛋白质突变效应预测奠定了更坚实的基础。
✏️ 目录
📑 功能特点
- 丰富的蛋白质语言模型:Venus系列、ESM系列、ProtTrans系列、Ankh 系列等
- 全面的监督数据集:定位、适应度、溶解度、稳定性等
- 便捷的数据收集工具:AlphaFold2 数据库、RCSB、InterPro、Uniprot 等
- 实验监控:Wandb、本地监控
- 友好的界面:Gradio UI
🤖 支持的模型
预训练蛋白质语言模型
Venus系列模型:特定任务架构
模型 | 大小 | 参数量 | GPU内存 | 特点 | 模板 |
---|---|---|---|---|---|
ProSST-20 | 20 | 110M | 4GB+ | 突变预测 | AI4Protein/ProSST-20 |
ProSST-128 | 128 | 110M | 4GB+ | 突变预测 | AI4Protein/ProSST-128 |
ProSST-512 | 512 | 110M | 4GB+ | 突变预测 | AI4Protein/ProSST-512 |
ProSST-2048 | 2048 | 110M | 4GB+ | 突变预测 | AI4Protein/ProSST-2048 |
ProSST-4096 | 4096 | 110M | 4GB+ | 突变预测 | AI4Protein/ProSST-4096 |
ProPrime-690M | 690M | 690M | 16GB+ | OGT预测 | AI4Protein/Prime_690M |
💡 这些模型在特定任务上表现出色或提供独特的架构优势
Venus-PETA 模型:分词变体
BPE 分词系列
模型 | 词表大小 | 参数量 | GPU内存 | 模板 |
---|---|---|---|---|
PETA-base | base | 80M | 4GB+ | AI4Protein/deep_base |
PETA-bpe-50 | 50 | 80M | 4GB+ | AI4Protein/deep_bpe_50 |
PETA-bpe-200 | 200 | 80M | 4GB+ | AI4Protein/deep_bpe_200 |
PETA-bpe-400 | 400 | 80M | 4GB+ | AI4Protein/deep_bpe_400 |
PETA-bpe-800 | 800 | 80M | 4GB+ | AI4Protein/deep_bpe_800 |
PETA-bpe-1600 | 1600 | 80M | 4GB+ | AI4Protein/deep_bpe_1600 |
PETA-bpe-3200 | 3200 | 80M | 4GB+ | AI4Protein/deep_bpe_3200 |
Unigram 分词系列
模型 | 词表大小 | 参数量 | GPU内存 | 模板 |
---|---|---|---|---|
PETA-unigram-50 | 50 | 80M | 4GB+ | AI4Protein/deep_unigram_50 |
PETA-unigram-100 | 100 | 80M | 4GB+ | AI4Protein/deep_unigram_100 |
PETA-unigram-200 | 200 | 80M | 4GB+ | AI4Protein/deep_unigram_200 |
PETA-unigram-400 | 400 | 80M | 4GB+ | AI4Protein/deep_unigram_400 |
PETA-unigram-800 | 800 | 80M | 4GB+ | AI4Protein/deep_unigram_800 |
PETA-unigram-1600 | 1600 | 80M | 4GB+ | AI4Protein/deep_unigram_1600 |
PETA-unigram-3200 | 3200 | 80M | 4GB+ | AI4Protein/deep_unigram_3200 |
💡 不同的分词策略可能更适合特定任务
ESM 系列模型:Meta AI 的蛋白质语言模型
模型 | 大小 | 参数量 | GPU内存 | 训练数据 | 模板 |
---|---|---|---|---|---|
ESM2-8M | 8M | 8M | 2GB+ | UR50/D | facebook/esm2_t6_8M_UR50D |
ESM2-35M | 35M | 35M | 4GB+ | UR50/D | facebook/esm2_t12_35M_UR50D |
ESM2-150M | 150M | 150M | 8GB+ | UR50/D | facebook/esm2_t30_150M_UR50D |
ESM2-650M | 650M | 650M | 16GB+ | UR50/D | facebook/esm2_t33_650M_UR50D |
ESM2-3B | 3B | 3B | 24GB+ | UR50/D | facebook/esm2_t36_3B_UR50D |
ESM2-15B | 15B | 15B | 40GB+ | UR50/D | facebook/esm2_t48_15B_UR50D |
💡 ESM2 模型是最新一代,性能优于 ESM-1b/1v
BERT 系列模型:基于 Transformer 编码器架构
模型 | 大小 | 参数量 | GPU内存 | 训练数据 | 模板 |
---|---|---|---|---|---|
ProtBert-Uniref100 | 420M | 420M | 12GB+ | UniRef100 | Rostlab/prot_bert |
ProtBert-BFD | 420M | 420M | 12GB+ | BFD100 | Rostlab/prot_bert_bfd |
IgBert | 420M | 420M | 12GB+ | 抗体 | Exscientia/IgBert |
IgBert-unpaired | 420M | 420M | 12GB+ | 抗体 | Exscientia/IgBert_unpaired |
💡 BFD 训练的模型在结构相关任务上表现更好
T5 系列模型:编码器-解码器架构
模型 | 大小 | 参数量 | GPU内存 | 训练数据 | 模板 |
---|---|---|---|---|---|
ProtT5-XL-UniRef50 | 3B | 3B | 24GB+ | UniRef50 | Rostlab/prot_t5_xl_uniref50 |
ProtT5-XXL-UniRef50 | 11B | 11B | 40GB+ | UniRef50 | Rostlab/prot_t5_xxl_uniref50 |
ProtT5-XL-BFD | 3B | 3B | 24GB+ | BFD100 | Rostlab/prot_t5_xl_bfd |
ProtT5-XXL-BFD | 11B | 11B | 40GB+ | BFD100 | Rostlab/prot_t5_xxl_bfd |
Ankh-base | 450M | 450M | 12GB+ | 编码器-解码器 | ElnaggarLab/ankh-base |
Ankh-large | 1.2B | 1.2B | 20GB+ | 编码器-解码器 | ElnaggarLab/ankh-large |
💡 T5 模型可用于编码和生成任务
模型选择指南
如何选择合适的模型?
基于硬件限制:
- 低配GPU (<8GB):ESM2-8M、ESM2-35M、ProSST
- 中配GPU (8-16GB):ESM2-150M、ESM2-650M、ProtBert系列
- 高配GPU (24GB+):ESM2-3B、ProtT5-XL、Ankh-large
- 多GPU:ESM2-15B、ProtT5-XXL
基于任务类型:
- 序列分类:ESM2、ProtBert
- 结构预测:ESM2、Ankh
- 生成任务:ProtT5
- 抗体设计:IgBert、IgT5
- 轻量级部署:ProSST、PETA-base
基于训练数据:
- 通用蛋白质任务:ESM2、ProtBert
- 结构感知任务:Ankh
- 抗体特异性:IgBert、IgT5
- 自定义分词需求:PETA系列
🔍 所有模型都可通过Hugging Face Hub获取,使用其模板可轻松加载。
🔬 支持的训练方法
支持的训练方法
方法 | 全量微调 | 冻结微调 | SES-Adapter | AdaLoRA | QLoRA | LoRA | DoRA | IA3 |
---|---|---|---|---|---|---|---|---|
监督微调 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
📚 支持的数据集
预训练数据集
数据集 | 数据来源 |
---|---|
CATH_V43_S40 | 结构数据集 |
AGO_family | 结构数据集 |
零样本数据集
数据集 | 任务 | 数据来源 |
---|---|---|
VenusMutHub | 突变 | 蛋白质序列 |
ProteinGym | 突变 | 蛋白质序列 |
监督微调数据集(氨基酸序列/foldseek序列/二级结构序列)
数据集 | 任务 | 数据层次 | 问题类型 | 数据来源 |
---|---|---|---|---|
DeepLocBinary | 定位 | 蛋白质级别 | 单标签分类 | DeepLocBinary_AlphaFold2, DeepLocBinary_ESMFold |
DeepLocMulti | 定位 | 蛋白质级别 | 多标签分类 | DeepLocMulti_AlphaFold2, DeepLocMulti_ESMFold |
DeepLoc2Multi | 定位 | 蛋白质级别 | 多标签分类 | DeepLoc2Multi_AlphaFold2, DeepLoc2Multi_ESMFold |
DeepSol | 溶解度 | 蛋白质级别 | 单标签分类 | DeepSol_AlphaFold2, DeepSol_ESMFold |
DeepSoluE | 溶解度 | 蛋白质级别 | 单标签分类 | DeepSoluE_ESMFold |
ProtSolM | 溶解度 | 蛋白质级别 | 单标签分类 | ProtSolM_ESMFold |
eSOL | 溶解度 | 蛋白质级别 | 回归 | eSOL_AlphaFold2, eSOL_ESMFold |
DeepET_Topt | 最适酶活 | 蛋白质级别 | 回归 | DeepET_Topt_AlphaFold2, DeepET_Topt_ESMFold |
EC | 功能 | 蛋白质级别 | 多标签分类 | EC_AlphaFold2, EC_ESMFold |
GO_BP | 功能 | 蛋白质级别 | 多标签分类 | GO_BP_AlphaFold2, GO_BP_ESMFold |
GO_CC | 功能 | 蛋白质级别 | 多标签分类 | GO_CC_AlphaFold2, GO_CC_ESMFold |
GO_MF | 功能 | 蛋白质级别 | 多标签分类 | GO_MF_AlphaFold2, GO_MF_ESMFold |
MetalIonBinding | 结合 | 蛋白质级别 | 单标签分类 | MetalIonBinding_AlphaFold2, MetalIonBinding_ESMFold |
Thermostability | 稳定性 | 蛋白质级别 | 回归 | Thermostability_AlphaFold2, Thermostability_ESMFold |
💡 每个数据集都提供了使用 AlphaFold2 和 ESMFold 生成的结构序列版本
监督微调数据集(氨基酸序列)
数据集 | 任务 | 数据层次 | 问题类型 | 数据来源 |
---|---|---|---|---|
Demo_Solubility | 溶解度 | 蛋白质级别 | 单标签分类 | Demo_Solubility |
DeepLocBinary | 定位 | 蛋白质级别 | 单标签分类 | DeepLocBinary |
DeepLocMulti | 定位 | 蛋白质级别 | 单标签分类 | DeepLocMulti |
DeepLoc2Multi | 定位 | 蛋白质级别 | 多标签分类 | DeepLoc2Multi |
DeepSol | 溶解度 | 蛋白质级别 | 单标签分类 | DeepSol |
DeepSoluE | 溶解度 | 蛋白质级别 | 单标签分类 | DeepSoluE |
ProtSolM | 溶解度 | 蛋白质级别 | 单标签分类 | ProtSolM |
eSOL | 溶解度 | 蛋白质级别 | 回归 | eSOL |
DeepET_Topt | 最适酶活 | 蛋白质级别 | 回归 | DeepET_Topt |
EC | 功能 | 蛋白质级别 | 多标签分类 | EC |
GO_BP | 功能 | 蛋白质级别 | 多标签分类 | GO_BP |
GO_CC | 功能 | 蛋白质级别 | 多标签分类 | GO_CC |
GO_MF | 功能 | 蛋白质级别 | 多标签分类 | GO_MF |
MetalIonBinding | 结合 | 蛋白质级别 | 单标签分类 | MetalIonBinding |
Thermostability | 稳定性 | 蛋白质级别 | 回归 | Thermostability |
PaCRISPR | CRISPR | 蛋白质级别 | 回归 | PaCRISPR |
PETA_CHS_Sol | 溶解度 | 蛋白质级别 | 回归 | PETA_CHS_Sol |
PETA_LGK_Sol | 溶解度 | 蛋白质级别 | 回归 | PETA_LGK_Sol |
PETA_TEM_Sol | 溶解度 | 蛋白质级别 | 回归 | PETA_TEM_Sol |
SortingSignal | 信号肽 | 蛋白质级别 | 回归 | SortingSignal |
FLIP_AAV | 突变 | 蛋白质点位 | 回归 | |
FLIP_AAV_one-vs-rest | 突变 | 蛋白质点位 | 回归 | FLIP_AAV_one-vs-rest |
FLIP_AAV_two-vs-rest | 突变 | 蛋白质点位 | 回归 | FLIP_AAV_two-vs-rest |
FLIP_AAV_mut-des | 突变 | 蛋白质点位 | 回归 | FLIP_AAV_mut-des |
FLIP_AAV_des-mut | 突变 | 蛋白质点位 | 回归 | FLIP_AAV_des-mut |
FLIP_AAV_seven-vs-rest | 突变 | 蛋白质点位 | 回归 | FLIP_AAV_seven-vs-rest |
FLIP_AAV_low-vs-high | 突变 | 蛋白质点位 | 回归 | FLIP_AAV_low-vs-high |
FLIP_AAV_sampled | 突变 | 蛋白质点位 | 回归 | FLIP_AAV_sampled |
FLIP_GB1 | 突变 | 蛋白质点位 | 回归 | |
FLIP_GB1_one-vs-rest | 突变 | 蛋白质点位 | 回归 | FLIP_GB1_one-vs-rest |
FLIP_GB1_two-vs-rest | 突变 | 蛋白质点位 | 回归 | FLIP_GB1_two-vs-rest |
FLIP_GB1_three-vs-rest | 突变 | 蛋白质点位 | 回归 | FLIP_GB1_three-vs-rest |
FLIP_GB1_low-vs-high | 突变 | 蛋白质点位 | 回归 | FLIP_GB1_low-vs-high |
FLIP_GB1_sampled | 突变 | 蛋白质点位 | 回归 | FLIP_GB1_sampled |
TAPE_Fluorescence | 突变 | 蛋白质点位 | 回归 | TAPE_Fluorescence |
TAPE_Stability | 突变 | 蛋白质点位 | 回归 | TAPE_Stability |
💡 不同数据集的序列结构不同,例如
DeepLocBinary_ESMFold
和DeepLocBinary_AlphaFold2
共享相同的氨基酸序列,因此如果您只想使用aa_seqs
,两者都可以使用!
📈 支持的评估指标
支持的评估指标
名称 | Torchmetrics | 问题类型 |
---|---|---|
accuracy | Accuracy | 单标签分类/多标签分类 |
recall | Recall | 单标签分类/多标签分类 |
precision | Precision | 单标签分类/多标签分类 |
f1 | F1Score | 单标签分类/多标签分类 |
mcc | MatthewsCorrCoef | 单标签分类/多标签分类 |
auc | AUROC | 单标签分类/多标签分类 |
f1_max | F1ScoreMax | 多标签分类 |
spearman_corr | SpearmanCorrCoef | 回归 |
mse | MeanSquaredError | 回归 |
硬件要求
- 推荐:NVIDIA RTX 3090 (24GB) 或更好
- 实际要求取决于您选择的蛋白质语言模型
软件要求
- Anaconda3 或 Miniconda3
- Python 3.10
📦 安装指南
在macOS上开始
为了获得最佳性能和体验,我们推荐使用 带有M系列芯片的Mac设备(如 M1、M2、M3 等)
1️⃣ 克隆仓库
首先,从Github获取VenusFactory的代码:
git clone https://github.com/tyang816/VenusFactory.git
cd VenusFactory
2️⃣ 创建Conda环境
确保已安装Anaconda或Miniconda。然后,创建一个名为venus
的新环境,使用Python 3.10:
conda create -n venus python=3.10
conda activate venus
3️⃣ 安装PyTorch和PyG依赖项
# 安装PyTorch
pip install --pre torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/nightly/cpu
# 安装PyG依赖项
pip install torch_scatter torch-sparse torch-cluster torch-geometric -f https://data.pyg.org/whl/torch-2.2.0+cpu.html
4️⃣ 安装其他依赖项
使用requirements_for_macOS.txt
安装剩余依赖项:
pip install -r requirements_for_macOS.txt
在Windows或Linux上开始(使用CUDA 12.X)
我们推荐使用CUDA 12.2
1️⃣ 克隆仓库
首先,从Github获取VenusFactory的代码:
git clone https://github.com/tyang816/VenusFactory.git
cd VenusFactory
2️⃣ 创建Conda环境
确保已安装Anaconda或Miniconda。然后,创建一个名为venus
的新环境,使用Python 3.10:
conda create -n venus python=3.10
conda activate venus
3️⃣ 安装PyTorch和PyG依赖项
# 安装PyTorch
pip install torch==2.5.1 torchvision==0.20.1 --index-url https://download.pytorch.org/whl/cu121
# 安装PyG依赖项
pip install torch_geometric==2.6.1 -f https://pytorch-geometric.com/whl/torch-2.5.1+cu121.html
pip install --no-index torch_scatter==2.1.2 -f https://pytorch-geometric.com/whl/torch-2.5.1+cu121.html
4️⃣ 安装其他依赖项
使用requirements.txt
安装剩余依赖项:
pip install -r requirements.txt
在Windows或Linux上开始(使用CUDA 11.X)
我们推荐使用CUDA 11.8或更高版本,因为它们支持更高版本的PyTorch,提供更好的体验。
1️⃣ 克隆仓库
首先,从Github获取VenusFactory的代码:
git clone https://github.com/tyang816/VenusFactory.git
cd VenusFactory
2️⃣ 创建Conda环境
确保已安装Anaconda或Miniconda。然后,创建一个名为venus
的新环境,使用Python 3.10:
conda create -n venus python=3.10
conda activate venus
3️⃣ 安装PyTorch和PyG依赖项
# 安装PyTorch
pip install torch==2.5.1 torchvision==0.20.1 --index-url https://download.pytorch.org/whl/cu118
# 安装PyG依赖项
pip install torch_geometric==2.6.1 -f https://pytorch-geometric.com/whl/torch-2.5.1+cu118.html
pip install --no-index torch_scatter==2.1.2 -f https://pytorch-geometric.com/whl/torch-2.5.1+cu118.html
4️⃣ 安装其他依赖项
使用requirements.txt
安装剩余依赖项:
pip install -r requirements.txt
在Windows或Linux上开始(使用CPU)
1️⃣ 克隆仓库
首先,从Github获取VenusFactory的代码:
git clone https://github.com/tyang816/VenusFactory.git
cd VenusFactory
2️⃣ 创建Conda环境
确保已安装Anaconda或Miniconda。然后,创建一个名为venus
的新环境,使用Python 3.10:
conda create -n venus python=3.10
conda activate venus
3️⃣ 安装PyTorch和PyG依赖项
# 安装PyTorch
pip install torch==2.5.1 torchvision==0.20.1 --index-url https://download.pytorch.org/whl/cpu
# 安装PyG依赖项
pip install torch_geometric==2.6.1 -f https://pytorch-geometric.com/whl/torch-2.5.1+cpu.html
pip install --no-index torch_scatter==2.1.2 -f https://pytorch-geometric.com/whl/torch-2.5.1+cpu.html
4️⃣ 安装其他依赖项
使用requirements.txt
安装剩余依赖项:
pip install -r requirements.txt
🚀 快速开始
启动 Venus Web UI
使用我们基于 Gradio 的直观图形界面快速开始:
python ./src/webui.py
您可以:
- 配置并运行微调实验
- 监控训练进度
- 评估模型
- 可视化结果
使用各个标签页
我们提供详细的指南帮助您浏览每个标签页。
1. 训练标签页:训练您自己的蛋白质语言模型
从下拉菜单中选择蛋白质语言模型。上传您的数据集或选择可用数据集,并选择适合您问题类型的评估指标。
选择训练方法(Freeze、SES-Adapter、LoRA、QLoRA等)并配置训练参数(批量大小、学习率等)。
点击"下载CSV"下载测试指标结果。
2. 评估标签页:在基准测试中评估您的训练模型
通过指定模型路径加载您的训练模型。选择训练时使用的相同蛋白质语言模型和模型配置。选择测试数据集并配置批量大小。选择适合您问题类型的评估指标。最后,点击"开始评估"查看性能指标。
3. 预测标签页:使用您的训练模型进行样本预测
通过指定模型路径加载您的训练模型。选择训练时使用的相同蛋白质语言模型和模型配置。
单序列预测:在文本框中输入蛋白质序列。
批量预测:上传包含序列的CSV文件。
点击"预测"生成并查看结果。
4. 下载标签页:高效收集来自不同来源的数据
- AlphaFold2结构:输入UniProt ID下载蛋白质结构
- UniProt:使用关键词或ID搜索蛋白质信息
- InterPro:获取蛋白质家族和结构域信息
- RCSB PDB:下载实验蛋白质结构
5. 手册标签页:详细文档和指南
选择语言(英文/中文)。
使用目录导航文档并找到分步指南。
🧬 命令行使用
对于偏好命令行界面的用户,我们提供全面的脚本解决方案。
训练方法:适应不同需求的各种微调方法
全模型微调
# 冻结微调:训练特定层同时冻结其他层
bash ./script/train/train_plm_vanilla.sh
参数高效微调 (PEFT)
# SES-Adapter:选择性和高效的适配器微调
bash ./script/train/train_plm_ses-adapter.sh
# AdaLoRA:自适应低秩适配
bash ./script/train/train_plm_adalora.sh
# QLoRA:量化低秩适配
bash ./script/train/train_plm_qlora.sh
# LoRA:低秩适配
bash ./script/train/train_plm_lora.sh
# DoRA:双低秩适配
bash ./script/train/train_plm_dora.sh
# IA3:通过抑制和放大内部激活的注入适配器
bash ./script/train/train_plm_ia3.sh
训练方法比较
方法 | 内存使用 | 训练速度 | 性能 |
---|---|---|---|
Freeze | 低 | 快 | 良好 |
SES-Adapter | 中等 | 中等 | 更好 |
AdaLoRA | 低 | 中等 | 更好 |
QLoRA | 非常低 | 较慢 | 良好 |
LoRA | 低 | 快 | 良好 |
DoRA | 低 | 中等 | 更好 |
IA3 | 非常低 | 快 | 良好 |
模型评估:全面的评估工具
基础评估
# 在测试集上评估模型性能
bash ./script/eval/eval.sh
可用指标
- 分类:准确率、精确率、召回率、F1、MCC、AUC
- 回归:MSE、Spearman相关系数
- 多标签:F1-max
可视化工具
- 训练曲线
- 混淆矩阵
- ROC曲线
- 性能比较图
结构序列工具:处理蛋白质结构信息
ESM结构序列
# 使用ESM-3生成结构序列
bash ./script/get_get_structure_seq/get_esm3_structure_seq.sh
二级结构
# 预测蛋白质二级结构
bash ./script/get_get_structure_seq/get_secondary_structure_seq.sh
特点:
- 支持多种序列格式
- 批处理能力
- 与流行的结构预测工具集成
数据收集工具:多源蛋白质数据获取
格式转换
# 将CIF格式转换为PDB
bash ./crawler/convert/maxit.sh
元数据收集
# 从RCSB PDB下载元数据
bash ./crawler/metadata/download_rcsb.sh
序列数据
# 从UniProt下载蛋白质序列
bash ./crawler/sequence/download_uniprot_seq.sh
结构数据
# 从AlphaFold2数据库下载
bash ./crawler/structure/download_alphafold.sh
# 从RCSB PDB下载
bash ./crawler/structure/download_rcsb.sh
特点:
- 自动批量下载
- 断点续传
- 数据完整性验证
- 多源支持
- 自定义搜索条件
支持的数据库
数据库 | 数据类型 | 访问方式 | 速率限制 |
---|---|---|---|
AlphaFold2 | 结构 | REST API | 是 |
RCSB PDB | 结构 | FTP/HTTP | 否 |
UniProt | 序列 | REST API | 是 |
InterPro | 结构域 | REST API | 是 |
使用示例:常见场景和解决方案
训练示例
# 使用ESM2训练蛋白质溶解度预测器
bash ./script/train/train_plm_lora.sh \
--model "facebook/esm2_t33_650M_UR50D" \
--dataset "DeepSol" \
--batch_size 32 \
--learning_rate 1e-4
评估示例
# 评估训练好的模型
bash ./script/eval/eval.sh \
--model_path "path/to/your/model" \
--test_dataset "DeepSol_test"
数据收集示例
# 下载UniProt ID列表对应的结构
bash ./crawler/structure/download_alphafold.sh \
--input uniprot_ids.txt \
--output ./structures
💡 所有脚本都支持额外的命令行参数进行自定义。使用任何脚本的
--help
选项查看可用选项。
🙌 引用
如果您使用了我们的代码或数据,请引用我们的工作:
@article{tan2025venusfactory,
title={VenusFactory: A Unified Platform for Protein Engineering Data Retrieval and Language Model Fine-Tuning},
author={Tan, Yang and Liu, Chen and Gao, Jingyuan and Wu, Banghao and Li, Mingchen and Wang, Ruilin and Zhang, Lingrong and Yu, Huiqun and Fan, Guisheng and Hong, Liang and Zhou, Bingxin},
journal={arXiv preprint arXiv:2503.15438},
year={2025}
}
🎊 致谢
感谢 Liang's Lab 的支持。