当前位置: 首页 > 科技观察

首个大众可用PyTorch版AlphaFold2复现,哥大开源,star量破千

时间:2023-03-23 11:15:22 科技观察

第一个公开可用的PyTorch版本的AlphaFold2已经复现,哥伦比亚大学开源,星数超过1000模型是AlphaFold2的可训练PyTorch版本。MohammedAlQuraishi还表示,这是第一个公开可用的AlphaFold2复制品。AlphaFold2能够以原子精度周期性预测蛋白质结构,技术上采用多序列比对和深度学习算法设计,结合蛋白质结构的物理和生物学知识,提高预测效果。它在2/3的蛋白质结构预测中取得了优异的成绩,并在去年的《自然》杂志上得到了专题报道。更令人惊喜的是,DeepMind团队不仅开源了模型,还将AlphaFold2预测数据做成了免费开放的数据集。但是,开源并不意味着好用、好用。事实上,AlphaFold2软件系统的部署难度极高,对硬件的要求高、数据集下载周期长、占用空间大,每一项都让普通开发者望而却步。因此,开源社区一直在努力实现AlphaFold2的可用版本。此次,哥伦比亚大学MohammedAlQuraishi教授等人实现的OpenFold总训练时间约为10万个A100小时,但在约3000小时内达到了90%的准确率。OpenFold的准确率与原来的AlphaFold2相当,甚至略胜一筹,可能是因为OpenFold的训练集更大:OpenFold的主要优点是推理速度有显着提升。对于较短的蛋白质序列,OpenFold的推理速度可以达到AlphaFold2的两倍。次。此外,由于自定义CUDA内核,OpenFold可以使用更少的内存推断更长的蛋白质序列。OpenFold引入OpenFold来重现原始开源推理代码(v2.0.1)的几乎所有功能,除了“模型集成”功能已经趋于被淘汰,在DeepMind自己的消融测试中表现不佳。OpenFold可以使用或不使用DeepSpeed以全精度或bfloat16进行训练。为了达到AlphaFold2的原始性能,团队从头开始训练OpenFold,模型权重和训练数据现已公开。其中,训练数据包含约40万个MSA和PDB70模板文件。OpenFold还支持使用AlphaFold的官方参数进行蛋白质推断。与其他实现相比,OpenFold具有以下优势:短序列推理:在GPU上加速推理小于1500个氨基酸残基的链;long-sequenceinference:low-memoryattentionthroughthisstudyattention)reasoningonultimatelylongchains,OpenFold可以预测单个A100上超过4000个残基的序列结构,甚至可以借助CPUoffload预测更长的序列;在训练和推理自定义CUDA注意内核期间,内存效率在FastFold内核的基础上进行了修改,使用的GPU内存分别比同等的FastFold和现有PyTorch实现少4倍和5倍;高效的对齐脚本:该团队使用原始的AlphaFoldHHblits/JackHMMER管道或带有MMseqs2的ColabFold,已经生成了数百万个对齐。Linux下安装使用开发组提供了一个脚本,可以在本地安装Miniconda,创建conda虚拟环境,安装所有Python依赖,下载有用的资源,包括两套模型参数。运行以下命令:scripts/install_third_party_dependencies.sh使用以下命令激活环境:sourcescripts/activate_conda_env.sh停用命令:sourcescripts/deactivate_conda_env.sh在激活的环境中编译OpenFold的CUDA内核python3setup.pyinstallin/usr/在bin路径下安装HH-suite:#scripts/install_hh_suite.sh使用如下命令下载训练OpenFold和AlphaFold的数据库:bashscripts/download_data.shdata/如果你想使用一套DeepMindpre对于一个或多个序列的训练参数,可以运行如下代码:python3run_pretrained_openfold.py\fasta_dir\data/pdb_mmcif/mmcif_files/\--uniref90_database_pathdata/uniref90/uniref90.fasta\--mgnify_database_pathdata/mgnify/mgy_clusters_2018_12。fa\--pdb70_database_path/pdb70/pdb70\--uniclust30_database_path数据/uniclust30/uniclust30_2018_08/uniclust30_2018_08\--output_dir./\--bfd_database_path数据/bfd/bfd_metaclust_clu_complete_id30_c90_final_seq.sorted_opt\--model_device"cuda:0"\--jackhmmer_binary_pathlib/conda/envs/openfold_venv/bin/jackhmmer\--hhblits_binary_pathlib/conda/envs/openfold_venv/bin/hhblits\--hhsearch_binary_pathlib/conda/envs/openfold_venv/bin/hhsearch\--kalign_binary_pathlib/conda/envs/openfold_venv/bin/kalign--config_preset"model_1_ptm"--openfold_checkpoint_pathopenfold/resources/openfold_params/finetuning_2_ptm.pt更多详情请参考GitHub:https://github.com/aqlaboratory/openfold延伸阅读:高效预测几乎所有人类蛋白质的结构,AlphaFold再入Nature,所有数据库免费开放生物计算专家AlphaFold2论文超详细解读:模型架构及应用如何使用DeepMind的开源AlphaFold?打开Colab就可以在线使用了