UniDesign

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重新编译即可使用。

步骤:

  1. sourceforge下载MinGw [下载链接 MinGW-w64 - for 32 and 64 bit Windows from SourceForge.net](https://sourceforge.net/projects/mingw-w64/files/Toolchains targetting Win64/Personal Builds/mingw-builds/8.1.0/threads-win32/seh/x86_64-8.1.0-release-win32-seh-rt_v6-rev0.7z/download)
  2. 解压该文件,并将bin目录添加到系统环境变量
  3. 双击UniDesign文件夹下的build.sh
  4. 运行成功之后,./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
2
3
./UniDesign --command=ProteinDesign --ppint --pdb=proteinID_AB.pdb --design_chains=A --resfile=RESFILE.txt --ntraj=10
Or:
./UniDesign --command=ProteinDesign --ppint --pdb=proteinID_ABC.pdb --design_chains=AB --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 文件中,每个配体构象出现在MODELENDMDL之间

1
2
3
4
5
6
7
8
9
10
MODEL 1
[The atomic coordinates of model1 here]
ENDMDL
MODEL 2
[The atomic coordinates of model2 here]
ENDMDL
….
MODEL 10
[The atomic coordinates of model10 here]
ENDMDL

设计酶

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 使用固定骨架最小化来减小或者消除空间碰撞。可以先RepairStructureMinimize蛋白结构

构建突变结构模型

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
2
3
4
# 突变位点信息
QA22D; # Chain A Glu22 突变为 ASP
HA18F,QA22D; # 双突变 Chain A His18 突变为Phe;GLu22 突变为Asp
HA18F,MB20A;

一行代表一个突变,每行以分号结束。
如果一个突变集包含多个突变,以逗号分隔。

添加极性氢

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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# resfile 格式
SITES_DESIGN_START # designable
A 782 ACDEFGHIKLMNPQRSTVWY
A 785 ACDEFGHIKLMNPQRSTVWY
… …
A 991 ACDEFGHIKLMNPQRSTVWY
A 993 ACDEFGHIKLMNPQRSTVWY
SITES_DESIGN_END
SITES_REPACK_START
A 37
A 783
… …
A 1022
A 1024
SITES_REPACK_END
SITES_FIX_START
A 806
A 819
… …
A 980
A 981
SITES_FIX_END