前言💆♂️
一句话:Protenix: AlphaFold3的再现
Protenix是由字节跳动AML AI4Science团队开发的一个开源项目,旨在复现并优化AlphaFold3(AF3)的蛋白质结构预测模型。AlphaFold3是DeepMind开发的先进蛋白质结构预测工具,能够预测蛋白质与其他生物分子(如配体、核酸、抗体-抗原复合物)的相互作用结构,但其代码和训练细节并未完全公开,限制了科研界的广泛使用。Protenix的目标是解决这一问题,提供完整的训练代码、预处理数据和优化方法,以促进生物计算和AI交叉领域的研究
为Protenix项目创建和配置conda环境
1. 创建conda环境
首先创建一个Python 3.10的conda环境:
# 创建新的conda环境
conda create -n protenix python=3.10 -y
# 激活环境
conda activate protenix
2. 安装基础依赖
由于项目使用PyTorch 2.3.1,建议先安装PyTorch及其相关依赖:
# 安装PyTorch(根据你的CUDA版本选择)
# 对于CUDA 12.1
conda install pytorch==2.3.1 torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
# 或者对于CPU版本
# conda install pytorch==2.3.1 torchvision torchaudio cpuonly -c pytorch
3. 安装项目依赖
有两种方式安装项目依赖:
方式1:直接安装protenix包
# 激活环境后直接安装
pip install protenix
方式2:从源码安装 ✅
这里因为我要对项目进行开发,因此我下载的源码
git clone https://github.com/bytedance/Protenix.git
# 进入项目目录
cd Protenix
# 安装依赖
pip install -r requirements.txt
# 开发模式安装(推荐用于开发)
pip install -e .
# 或者CPU版本(如果不需要GPU)
python setup.py develop --cpu
4. 验证安装
验证安装是否成功:
# 测试protenix命令
protenix --help
# 测试Python导入
python -c "import protenix; print('Protenix installed successfully')"
5. 可选:安装额外工具
根据项目需要,可能还需要安装一些额外工具:
# 如果需要使用Jupyter notebook
conda install jupyter ipywidgets -y
# 如果需要可视化
pip install py3Dmol matplotlib
# 如果需要开发工具
pip install flake8 pre-commit
6. 环境配置文件(可选)
你也可以创建一个environment.yml文件来管理环境:
使用environment.yml文件创建环境:
# 使用配置文件创建环境
conda env create -f environment.yml
# 激活环境
conda activate protenix
7. 常见问题解决
-
CUDA版本问题:
- 检查你的CUDA版本:
nvidia-smi
- 根据CUDA版本选择合适的PyTorch版本
- 检查你的CUDA版本:
-
内存不足:
- 项目需要较大内存,建议至少16GB RAM
- 对于训练,可能需要更多内存
-
依赖冲突:
- 如果遇到依赖冲突,可以尝试创建新的干净环境
- 使用
conda clean --all
清理缓存
8. 测试环境 🥳🥳🥳
创建并激活环境后,可以运行项目提供的demo脚本测试:
# 测试推理
sh inference_demo.sh
# 或者使用命令行
protenix predict --input examples/example.json --out_dir ./output --seeds 101
8.1 🐛BUG1🚫:AssertionError: if use ds4sci, set CUTLASS_PATH environment variable
需要设置CUTLASS_PATH环境变量。这是DeepSpeed的evo attention功能需要的。
-
检查系统中是否已经有CUTLASS安装:
find /usr/local /opt /home -name "*cutlass*" -type d 2>/dev/null
-
找到了几个CUTLASS安装路径。让我使用其中一个来设置CUTLASS_PATH环境变量。
Protenix/inference_demo.sh:
增加这样一行:
export CUTLASS_PATH=/home/xxxx/projects/cutlass
-
再重新运行
-
✅ 推理作业成功运行中!
生成的结果:
5个结构预测文件(.cif格式):7pzb_seed_101_sample_0.cif 到 7pzb_seed_101_sample_4.cif
5个置信度摘要文件(.json格式):每个样本都有对应的置信度评估
总结
推荐的完整安装流程:
conda create -n protenix python=3.10 -y
conda activate protenix
conda install pytorch==2.3.1 torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
pip install protenix
protenix --help
(验证安装)
或者使用我创建的environment.yml文件:
conda env create -f environment.yml
conda activate protenix
protenix --help
(验证安装)
这样你就可以开始使用Protenix进行蛋白质结构预测了!