AFsample2:AlphaFold2 的多样性扩展
AFsample2 是一个基于 AF2 开发的生成性蛋白质结构预测工具。通过引入扰动机制,它能够在给定蛋白质序列的基础上生成显著不同的构象模型,从而帮助科研人员更全面地了解蛋白质的功能状态和潜在结构。
关键特点:
- 生成多样化的结构模型:利用随机化 MSA(多序列比对)等方法,AFsample2 可以探索更广阔的构象空间。
- 构象多样性分析:结合参考状态,量化生成结构的差异,并识别可能的功能性构象。
- 聚类与下游分析:通过 Rosetta 等工具对模型进行聚类,提取生物学意义显著的构象状态。
快速上手:安装与配置
AFsample2 提供了详细的 GitHub 指南,方便科研人员快速配置环境并开始使用。
安装步骤
- 安装 Miniconda:用于管理 Python 环境。
- 克隆代码库:
git clone https://github.com/iamysk/AFsample2.git
cd AFsample2/
- 创建环境并安装依赖:
conda env create -n <env_name> --file=environment.yaml
conda activate <env_name>
python -m pip install -r requirements.txt
- 设置数据库:
- 确保所有序列数据库按照官方 AlphaFold 指南准备妥当。
- 使用脚本下载所需数据:
cd scripts chmod +x download_all_data.sh
./download_all_data.sh <data_path> reduced_dbs
- [可选] 安装 Rosetta:
- 用于对生成的模型进行聚类分析。需要安装 C++ 编译器并编译 Rosetta 脚本:
tar -xvzf rosetta[releasenumber].tar.gz
cd rosetta*/main/source
./scons.py -j <num_cores> mode=release bin/rosetta_scripts.mpi.linuxgccrelease
如何使用 AFsample2?
AFsample2 的核心功能围绕以下三步展开:生成多样化模型、多样性分析和下游聚类分析。
Step 1: 生成多样化结构模型
使用以下命令,快速生成蛋白质的多样化构象:
python AF_multitemplate/run_afsample2.py --method afsample2 \
--fasta_paths examples/protein.fasta \
--flagfile AF_multitemplate/monomer_full_dbs.flag \
--nstruct 5 \ --msa_rand_fraction 0.2 \
--model_preset=monomer \
--output_dir output/
主要参数:
--method
:选择运行方法(例如afsample2
、af2
等)。--fasta_paths
:输入蛋白质序列的.fasta
文件路径。--nstruct
:生成的模型数量。--msa_rand_fraction
:MSA 随机化比例,用于增加多样性。
Step 2: 多样性分析与状态识别
生成模型后,可以对其进行多样性分析,量化其与参考状态的差异:
python src/analyse_models.py --afout_path output/ \
--pdb_state1 examples/reference_state1.pdb \
--pdb_state2 examples/reference_state2.pdb \
--jobid protein \
--clustering=False \
--ncpu=16
说明:
- 如果没有参考状态,可跳过
--pdb_state1
和--pdb_state2
参数,仅进行聚类分析。
Step 3: 聚类分析
结合 Rosetta,对生成的模型进行聚类,筛选出具有代表性的构象状态:
python src/analyse_models.py
--afout_path output/
--clustering=True
--ncpu=16
AFsample2 的潜在应用
- 蛋白质功能研究
- 预测功能相关的构象状态,探索构象与功能的联系。
- 药物靶点开发
- 在药物研发中,识别蛋白质的关键结合构象对药物设计至关重要。
- 动态行为建模
- 模拟蛋白质在不同条件下的动态行为,揭示其分子机制。
获取 AFsample2
你可以通过以下方式获取和使用 AFsample2:
- GitHub 仓库:AFsample2 项目主页
下载代码并按照指南快速配置。 - 技术支持:项目主页提供详细的文档和示例,帮助用户快速上手。