今天我们来介绍rfdiffusion的第一个简单的功能:
- Unconditional protein generation
无条件蛋白生成
先看官方的介绍:
Let's first look at how you would do unconditional design of a protein of length 150aa. For this, we just need to specify three things:
- The length of the protein
- The location where we want to write files to
- The number of designs we want
代码:
代码语言:javascript复制./scripts/run_inference.py 'contigmap.contigs=[150-150]' inference.output_prefix=test_outputs/test inference.num_designs=10
这段代码 虽然很长 但是通过原文的解释我们可以知道 有三个重要的参数分别是蛋白质的长度,文件的输出位置,我们想要的蛋白质个数
这虽然是官方文档,但是在运行这句指令之前,需要先解压rfdiffusion提供的一些模板案例:在项目的文件夹里输入:
代码语言:javascript复制tar -xvf examples/ppi_scaffolds_subset.tar.gz -C examples/
执行本操作可以产生一个新的文件夹,然后解压出来很多新的demo,可以供我们测试使用
解压过程很快:
然后我们继续往下执行:
这里加一张官方的说明图,介绍了加噪和去噪的过程,本模型使用的是高斯噪声
也是通过时间步一步一步的迭代,然后得到我们想要的蛋白质
执行了本文第一行代码之后的运行效果是这样的:
然后在我们的输出文件夹那里就能看到五个生成的蛋白质
我们可以随便打开一个看一下
一共生成了10个蛋白质 因为我们在运行的时候指定了参数
inference.num_designs=10
生成的每一个蛋白质的结构都不相同,但都包含了很多α螺旋和β折叠
我们再看其他:
其他的结构我们就不多介绍,rfdiffusion的第一个功能我们就介绍到此
论文:https://www.biorxiv.org/content/10.1101/2022.12.09.519842v1