UniDesign是基于命令行的蛋白结构建模和蛋白设计程序。
UniDesign
Definition
UniDesign是基于命令行的蛋白结构建模和蛋白设计程序。 github 仓库链接
Features:
- de novo protein sequence design and protein sequence redesign (ProteinDesign) can be used to design monomer proteins, protein-protein interactions, protein-ligand interactions, protein-nucleic acid interactions, and enzymes
- protein side-chain packing (ProteinDesign in conjuncion with the option --wildtype_only)
- calculate protein fold stability score (ComputeStability)
- calculate protein-protein binding energy score (ComputeBinding)
- repair missing protein side chains (RepairStructure)
- protein structure energy minimization (Minimize)
- build mutant strucure models (BuildMutant)
- add polar hydrogen atoms (AddPolarHydrogen)
- optimize hydrogen's position to maximize hydrogen bonding networks (OptimizeHydrogen)
Installation(windows)
从此链接UniDesign下载代码解压即可。
使用说明见doc/UniDesign_manual.pdf
如果电脑里面库齐全的话,在目标文件夹下使用命令行键入UniDesign.exe -h
,即可看到是否成功。
一般来说很大可能是无法使用的,并提示缺少某些依赖。一个简单方法是安装g++编译器,然后双击build.sh
重新编译即可使用。
步骤:
- sourceforge下载MinGw 下载链接 MinGW-w64 - for 32 and 64 bit Windows from SourceForge.net
- 解压该文件,并将bin目录添加到系统环境变量
- 双击UniDesign文件夹下的
build.sh
- 运行成功之后,
./UniDesign.exe -h
查看是否可以运行。
Usage
查看可用命令
1 | ./UniDesign.exe -h |
设计单体蛋白
1 | ./UniDesign --command=ProteinDesign --monomer --pdb=PDBID.pdb --design_chains=A --resfile=RESFILE.txt --ntraj=10 |
对于单体设计,
--monomer
和--design_chains
可以被忽略
--ntraj
指定生成多少个蛋白轨迹
RESFILE.txt
指定用于设计、修正、修补的氨基酸位置
PDBID.pdb
指定pdb文件名并作为输出文件的前缀
设计蛋白-蛋白相互作用
1 | ./UniDesign --command=ProteinDesign --ppint --pdb=proteinID_AB.pdb --design_chains=A --resfile=RESFILE.txt --ntraj=10 |
第一个命令为二聚体AB设计A链。
第二个命令为三聚体ABC设计AB链。
设计蛋白-配体相互作用
对于蛋白-配体相互作用设计,原子参数和残基拓扑必须预先生成。
使用如下命令生成这两个文件:
1 | ./UniDesign --command=GenLigParamAndTopo --mol2=ligand.mol2 ---lig_atomparam=ligand_atomparam.prm --lig_topology=ligand_topology.inp |
ligand.mol2
文件包括配体的所有原子,包括氢原子。
请确保原子电荷被恰当的出现在@<TRIPOS> ATOM
部分的最后一列。
1 | ./UniDesign --command=ProteinDesign --protlig --pdb=proteinID.pdb --mol2=ligand.mol2 --read_lig_ensemble=LIGAND_CONFORMERS.pdb --resfile=RESFILE.txt --ntraj=10 |
LIGAND_CONFORMERS.pdb
存储的配体构象能够使用对接软件(如:Autodock)生成,此文件中配体氢可以被忽略。
在LIGAND_CONFORMERS.pdb
文件中,每个配体构象出现在MODEL
和ENDMDL
之间
1 | MODEL 1 |
设计酶
1 | ./UniDesign --command=ProteinDesign --enzyme --pdb=enzyme.pdb --mol2=ligand.mol2 --read_lig_ensemble=LIGAND_CONFORMERS.pdb --resfile=RESFILE.txt --cata_cons=CATALYTIC_CONSTRAINTS.txt ---ntraj=10 |
UniDesign使用内部配体摆放程序生成LIGAND_CONFORMERS.pdb
中的配体过渡态。值得注意的是,用于酶设计的配体构象经常是过渡态或者接近攻击构象。
蛋白侧链pack
1 | ./UniDesign --command=ProteinDesign --pdb=PDBID.pdb --wildtype_only |
修复侧链
1 | ./UniDesign --command=RepairStructure --pdb=PDBID.pdb |
UniDesign 只会修复并优化缺失非氢原子的氨基酸侧链,但此过程并不会优化其他氨基酸。
蛋白结构能量最小化
1 | ./UniDesign --command=Minimize --pdb=PDBID.pdb |
UniDesign
使用固定骨架最小化来减小或者消除空间碰撞。可以先RepairStructure
再Minimize
蛋白结构
构建突变结构模型
1 | ./UniDesign --command=BuildMutant --pdb=PDBID.pdb --mutant_file=individual_list.txt |
突变位点信息在individual_list.txt
中。
格式为WT_residue Chain_ID residue_position_in_chain mutant_residue
1 | # 突变位点信息 |
一行代表一个突变,每行以分号结束。
如果一个突变集包含多个突变,以逗号分隔。
添加极性氢
1 | ./UniDesign --command=AddPolarHydrogen --pdb=PDBID.pdb --show_hydrogen |
--show_hydrogen
将氢原子写入到文件中
优化氢原子位置来最大化氢键网络
1 | ./UniDesign --command=OptimizeHydrogen --pdb=PDBID.pdb --show_hydrogen |
计算蛋白折叠稳定性分数
1 | ./UniDesign --command=ComputeStability --pdb=PDBID.pdb |
计算单一蛋白的稳定分数是无用的。 不能直接比较两个蛋白之间的稳定性分数。 计算同一蛋白不同突变的\(ddG_{stability}\)是有意义的 例:使用
BuildMutant
模块突变野生型蛋白,并分别计算它们的稳定性分数。他们的差值即视为\(ddG_{stability}\)。该值越负,突变的稳定性越高
计算蛋白蛋白结合自由能
./UniDesign --command=ComputeBinding --pdb=AB.pdb
如果蛋白拥有两条以上的链,需要进行链分离来计算两部分的结合能:
1 | ./UniDesign --command=ComputeBinding --pdb=ABC.pdb --split_chains=AB,C |
UniDesign 将会计算AB和C之间的结合自由能。如果被链分离,就会分别计算A和B,A和C,B和C的结合自由能
Resfile
当不想整体设计蛋白,只想设计局部时,可以使用Resfile
来指定想要设计和固定的残基。
在UniDesign的程序逻辑中,残基可被分为四种:designable;repacked;fixed;catalytic。前三种可以应用到任何蛋白设计任务中,只用catalytic组能被用于酶设计。
designable: 残基能够被变为任何氨基酸 repacked: 构象可以被改变,但是rotamer type无法改变 fixed: 类型和残基都被固定 catalytic: 指定残基列入催化残基限制
1 | # resfile 格式 |