这是一个面向生命科学(蛋白序列生成 + 结构采样/验证 + 网页可视化)的 Web demo,可以部署在 Azure Container Apps(Sweden Central, Serverless GPU T4)
Dayhoff 与 BioEmu 的组合方案旨在构建一个闭环的蛋白质设计与验证工作流:把“生成(设计)”与“评估(虚拟验证)”整合在同一循环中,从而更快收敛到高潜力候选,缩短药物研发与蛋白工程的迭代周期。
该模式实现“设计 → 虚拟验证 → 再设计”的自动化循环,通常可显著缩短从序列设计到功能验证前筛选的时间,并降低计算与实验开销(具体收益取决于任务与算力配置)。
topology.pdb / samples.xtcmicrosoft/Dayhoff-3b-GR-HM-c:用于蛋白序列生成的 Hugging Face 模型(按提示词生成氨基酸序列)bioemu-v1.x(BioEmu):用于对序列进行结构集合(ensemble)采样/验证,并输出可供可视化的 topology.pdb / samples.xtc
topology.pdb / samples.xtc 等可复用工件。

说明:本仓库也保留了 Azure GPU VM(Blackwell /
sm_120)的运行方式。Blackwell 通常需要 PyTorch nightly + CUDA 12.8(cu128)。
本仓库的 dayhoff_demo/app.py 已包含两个模型的 demo 流程:
microsoft/Dayhoff-3b-GR-HM-c:生成蛋白序列(Gradio Web)microsoft/bioemu:可选验证(BioEmu sampling + 3Dmol.js 预览)你可以把该 demo 直接部署到 Azure Container Apps(Sweden Central),并使用 Serverless GPU T4(workload profile:Consumption-GPU-NC8as-T4)。
az loginaz extension add -n containerapp --upgrade建议把镜像放 ACR(有助于降低 GPU 冷启动)。
az account set -s <SUBSCRIPTION_ID>
az group create -n rg-proteinai-aca -l swedencentral
az acr create -g rg-proteinai-aca -n <ACR_NAME_UNIQUE> --sku Standard
# 直接使用 ACR build
az acr build -g rg-proteinai-aca -r <ACR_NAME_UNIQUE> \
-t proteinai-demo:latest \
-f dayhoff_demo/Dockerfile \
.
镜像地址形如:<ACR_NAME_UNIQUE>.azurecr.io/proteinai-demo:latest
本仓库已提供 infra/main.bicep 与参数文件 infra/main.bicepparam。
编辑参数文件:把 image 改为你的 ACR 镜像;如需要 Hugging Face 权限,填 hfToken(即 HF_TOKEN)。
部署:
az deployment group create -g rg-proteinai-aca -f infra/main.bicep -p infra/main.bicepparam
containerAppUrl 访问 Gradio。更详细的步骤见 .azure/plan.copilotmd。
推荐把项目放到数据盘,避免系统盘写满:
/mnt/data/dayhoff_demo/mnt/data/azureuser_cache/huggingface/mnt/data/tmp/mnt/data/bioemu_runs/mnt/data/bioemu_colabfoldsystemd unit 已按上述目录写好环境变量。
本地机器执行:
scp -i ~/.ssh/rtx6000key -r dayhoff_demo azureuser@<public-ip>:~/
登录 VM:
ssh -i ~/.ssh/rtx6000key azureuser@<public-ip>
把目录移动到数据盘(推荐):
sudo mkdir -p /mnt/data
sudo chown -R $USER:$USER /mnt/data
mv ~/dayhoff_demo /mnt/data/dayhoff_demo
cd /mnt/data/dayhoff_demo
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -U pip
sm_120)如果你看到类似 no kernel image is available for execution on the device,说明当前 torch wheel 不支持 Blackwell。
先确认驱动/CUDA:
nvidia-smi
Blackwell 推荐(nightly, CUDA 12.8):
pip install --no-cache-dir --pre --upgrade --index-url https://download.pytorch.org/whl/nightly/cu128 torch
然后安装剩余依赖:
pip install -r requirements.txt
cd /mnt/data/dayhoff_demo
source .venv/bin/activate
python demo.py --max-length 50 --num-samples 1
cd /mnt/data/dayhoff_demo
source .venv/bin/activate
python app.py --host 0.0.0.0 --port 7860
浏览器访问:
ssh -i ~/.ssh/rtx6000key -L 7860:127.0.0.1:7860 azureuser@<public-ip>
打开 http://127.0.0.1:7860
ufw)以及 Azure NSG 都放行 TCP 7860,然后访问:http://<public-ip>:7860
cd /mnt/data/dayhoff_demo
bash systemd/install.sh
查看状态/日志:
sudo systemctl status --no-pager dayhoff-gradio
sudo journalctl -u dayhoff-gradio -n 200 --no-pager
UI 里先生成序列,然后点击 Validate with BioEmu。
建议把 ColabFold 相关目录放到数据盘:
export BIOEMU_COLABFOLD_DIR=/mnt/data/bioemu_colabfold
说明:
/mnt/data/bioemu_runs,日志中会打印 output_dir: ...bioemu 为 Linux-only:requirements.txt 使用了 environment marker,macOS 安装不会失败在 UI 的 BioEmu visualization (web) 区域:
output_dir(形如 /mnt/data/bioemu_runs/bioemu_...)BioEmu output_dirPreview max frames / Frame stride你会看到:
trajectory_frames、preview_frames、embed_models 等信息topology.pdb / samples.xtc / 预览用 trajectory_preview_*.pdbHF_TOKEN(仅当模型需要权限)embed_models > 1;若有多帧但 UI 不更新,尝试硬刷新页面(Ctrl/Cmd+Shift+R)后重试这是一个面向生命科学(蛋白序列生成 + 结构采样/验证 + 网页可视化)的 Web demo,可以部署在 Azure Container Apps(Sweden Central, Serverless GPU T4)
Dayhoff 与 BioEmu 的组合方案旨在构建一个闭环的蛋白质设计与验证工作流:把“生成(设计)”与“评估(虚拟验证)”整合在同一循环中,从而更快收敛到高潜力候选,缩短药物研发与蛋白工程的迭代周期。
该模式实现“设计 → 虚拟验证 → 再设计”的自动化循环,通常可显著缩短从序列设计到功能验证前筛选的时间,并降低计算与实验开销(具体收益取决于任务与算力配置)。
topology.pdb / samples.xtcmicrosoft/Dayhoff-3b-GR-HM-c:用于蛋白序列生成的 Hugging Face 模型(按提示词生成氨基酸序列)bioemu-v1.x(BioEmu):用于对序列进行结构集合(ensemble)采样/验证,并输出可供可视化的 topology.pdb / samples.xtc
topology.pdb / samples.xtc 等可复用工件。

说明:本仓库也保留了 Azure GPU VM(Blackwell /
sm_120)的运行方式。Blackwell 通常需要 PyTorch nightly + CUDA 12.8(cu128)。
本仓库的 dayhoff_demo/app.py 已包含两个模型的 demo 流程:
microsoft/Dayhoff-3b-GR-HM-c:生成蛋白序列(Gradio Web)microsoft/bioemu:可选验证(BioEmu sampling + 3Dmol.js 预览)你可以把该 demo 直接部署到 Azure Container Apps(Sweden Central),并使用 Serverless GPU T4(workload profile:Consumption-GPU-NC8as-T4)。
az loginaz extension add -n containerapp --upgrade建议把镜像放 ACR(有助于降低 GPU 冷启动)。
az account set -s <SUBSCRIPTION_ID>
az group create -n rg-proteinai-aca -l swedencentral
az acr create -g rg-proteinai-aca -n <ACR_NAME_UNIQUE> --sku Standard
# 直接使用 ACR build
az acr build -g rg-proteinai-aca -r <ACR_NAME_UNIQUE> \
-t proteinai-demo:latest \
-f dayhoff_demo/Dockerfile \
.
镜像地址形如:<ACR_NAME_UNIQUE>.azurecr.io/proteinai-demo:latest
本仓库已提供 infra/main.bicep 与参数文件 infra/main.bicepparam。
编辑参数文件:把 image 改为你的 ACR 镜像;如需要 Hugging Face 权限,填 hfToken(即 HF_TOKEN)。
部署:
az deployment group create -g rg-proteinai-aca -f infra/main.bicep -p infra/main.bicepparam
containerAppUrl 访问 Gradio。更详细的步骤见 .azure/plan.copilotmd。
推荐把项目放到数据盘,避免系统盘写满:
/mnt/data/dayhoff_demo/mnt/data/azureuser_cache/huggingface/mnt/data/tmp/mnt/data/bioemu_runs/mnt/data/bioemu_colabfoldsystemd unit 已按上述目录写好环境变量。
本地机器执行:
scp -i ~/.ssh/rtx6000key -r dayhoff_demo azureuser@<public-ip>:~/
登录 VM:
ssh -i ~/.ssh/rtx6000key azureuser@<public-ip>
把目录移动到数据盘(推荐):
sudo mkdir -p /mnt/data
sudo chown -R $USER:$USER /mnt/data
mv ~/dayhoff_demo /mnt/data/dayhoff_demo
cd /mnt/data/dayhoff_demo
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -U pip
sm_120)如果你看到类似 no kernel image is available for execution on the device,说明当前 torch wheel 不支持 Blackwell。
先确认驱动/CUDA:
nvidia-smi
Blackwell 推荐(nightly, CUDA 12.8):
pip install --no-cache-dir --pre --upgrade --index-url https://download.pytorch.org/whl/nightly/cu128 torch
然后安装剩余依赖:
pip install -r requirements.txt
cd /mnt/data/dayhoff_demo
source .venv/bin/activate
python demo.py --max-length 50 --num-samples 1
cd /mnt/data/dayhoff_demo
source .venv/bin/activate
python app.py --host 0.0.0.0 --port 7860
浏览器访问:
ssh -i ~/.ssh/rtx6000key -L 7860:127.0.0.1:7860 azureuser@<public-ip>
打开 http://127.0.0.1:7860
ufw)以及 Azure NSG 都放行 TCP 7860,然后访问:http://<public-ip>:7860
cd /mnt/data/dayhoff_demo
bash systemd/install.sh
查看状态/日志:
sudo systemctl status --no-pager dayhoff-gradio
sudo journalctl -u dayhoff-gradio -n 200 --no-pager
UI 里先生成序列,然后点击 Validate with BioEmu。
建议把 ColabFold 相关目录放到数据盘:
export BIOEMU_COLABFOLD_DIR=/mnt/data/bioemu_colabfold
说明:
/mnt/data/bioemu_runs,日志中会打印 output_dir: ...bioemu 为 Linux-only:requirements.txt 使用了 environment marker,macOS 安装不会失败在 UI 的 BioEmu visualization (web) 区域:
output_dir(形如 /mnt/data/bioemu_runs/bioemu_...)BioEmu output_dirPreview max frames / Frame stride你会看到:
trajectory_frames、preview_frames、embed_models 等信息topology.pdb / samples.xtc / 预览用 trajectory_preview_*.pdbHF_TOKEN(仅当模型需要权限)embed_models > 1;若有多帧但 UI 不更新,尝试硬刷新页面(Ctrl/Cmd+Shift+R)后重试