【Alphafold】Alphafold2

作者: jjjscuedu | 来源:发表于2021-12-08 14:11 被阅读0次

    题记:

    其实Alphafold2刚出来的时候就看过大佬的报道和文章。2018年的AlphaFold使用的神经网络是类似ResNet的残差卷积网络,到了AlphaFold2则借鉴了AI研究中最近新兴起的Transformer架构。Transformer使用注意力机制兴起于NLP领域,用于处理一连串的文本序列。而氨基酸序列正是和文本类似的数据结构,AlphaFold2利用多序列比对,把蛋白质的结构和生物信息整合到了深度学习算法中。虽然自己也是学计算机的,但是这个算法修为和大佬们相差太远,看的其实也是云里雾里,只是看了个热闹和寂寞而已。除了大拇指点赞,也没有然后了,因为我们还几乎没做关于蛋白的工作。今年因为一些工作牵扯到蛋白预测,以及可能结合的大分子或者小分子的靶标预测,所以才来学习并且实验一下大佬们的成果,看下对我们的工作有没有帮助。

    ===让学界狂热的Alphafold2====

     

    Alphafold2,它作为一个AI模型,为何引起各界狂热?

     

    因为它一出来,就解决了生物学界最棘手的问题之一。这个问题于1972年被克里斯蒂安·安芬森提出,它的验证曾经困扰科学家50年:那就是给定一个氨基酸序列,理论上就能预测出蛋白质的3D结构。

    毕竟蛋白质由氨基酸序列组成,但真正决定蛋白质作用的,是它的3D结构,也就是氨基酸序列的折叠方式。

     

    为了验证这个理论,科学家们尝试了各种手段,但在CASP14(蛋白质结构预测比赛)中,准确性也只达到40分左右(满分100)。

    Alphafold2出现,将这一准确性直接拔高到了92.4/100,和蛋白质真实结构之间只差一个原子的宽度,真正解决了蛋白质折叠的问题。所以很多做蛋白结构的人都在惊叹是不是要失业了。

    目前,AlphaFold2的源代码已经在GitHub上公开,而且现在科学家正在利用AlphaFold2对已有的蛋白数据库进行高通量的预测,建立了一些模式生物物种所有蛋白的AlphaFold2预测结构数据库。除了人类蛋白质组,数据集中还包括大肠杆菌、果蝇、小鼠等20个具有科研常用生物的蛋白质组数据,总计超过35万个蛋白质的结构。

    可以看到,虽然利用AlphaFold2预测了这么重要模式生物的数据库(很多是uniprot中的蛋白),但是还是有一些重要的研究对象的数据库并没有(我们自己的数据集也没有),所以只有搭建本地的AlphaFold2服务,你才能用AlphaFold2随心所欲的预测自己研究蛋白的结构。

    ====下载和安装======

    Alphafold官方给出包需要docker,要求root权限或者设置dock组,正经人一般都是没有root权限,我也没有使用过dock ,这里分享和测试一下大佬用conda安装使用Alphafold。

    git clone https://github.com/kuixu/alphafold.git

    cd alphafold

    说明里让直接执行./install_on_local.sh,我自己怕出问题,所以是分布安装的。

    ======下载程序所需要的库和模型=====

    存储差不多,至少得有三个TB左右。进入scripts这个文件夹里面,运行命令download_all_data.sh <下载目录>,然后程序会自动进行下载。(运行前请确保电脑可以正常上网,下载会用到两个工具aria2和rsync),这个过程大概会下载438GB的文件,得等待很长时间,如果断网的话,你还得把其它的都删掉,重新下载。我是用分程序单独/并行下载的。

    下载完成后,需要解压,不同后缀的压缩文件解压命令不一样,可以自行去百度一下Linux下各种压缩文件的解压缩命令,解压后关注每个文件夹文件大小和文件名是否与上面这张图中列出来的一致。另外,注意!bfd文件夹和small_bfd这两个文件夹是互斥的,大文件夹里面只留一个,bfd是完整的数据库而small_bfd是简化的数据库,如果你的磁盘不够,你就下后者。271.6 GB的bfd文件你就别下了。

    Note: The download directory <DOWNLOAD_DIR> should not be a subdirectory in the AlphaFold repository directory. If it is, the Docker build will be slow as the large databases will be copied during the image creation.//官方网站也建议不要把数据库的这个文件夹放在alphafold的子目录,这样会造成速度比较慢。

    ====alphafold运行和测试======

    可以直接运行run_alphafold.py,直接去预测,参数说明如下:

    也可以封装成为shell脚本,例如用下面的run_alphafold.sh:

    https://github.com/kalininalab/alphafold_non_docker

    # Example run (Uses the GPU with index id 0as default)

    ./run_alphafold.sh -d ./alphafold_data/ -o ./dummy_test/ -f ./example/query.fasta -t 2021-11-01

     

    # OR for CPU only run

    ./run_alphafold.sh -d ./alphafold_data/ -o ./dummy_test/ -f ./example/query.fasta -t 2021-11-01 -g False

    不过真是慢,这么短一个蛋白都跑了好几个小时。

    在运行代码后在outputs里包含多个文件,现在后缀名为pdb的文件在PyMOL工具中打开,可以看到如下:

    本文使用 文章同步助手 同步

    相关文章

      网友评论

        本文标题:【Alphafold】Alphafold2

        本文链接:https://www.haomeiwen.com/subject/wlrtfrtx.html