$ apbs foo.in | tee foo.out
其中foo.in是输入文件,输出文件保存以foo.out。 7.3.5. 启动迁移自由能计算
我们先前讨论过迁移自由能可以用两种方式来衡量。由你自己决定用哪种方法;对两种方法结果进行比较可得到足够好的格点设置。正如前面提到的,直接从总静电能中减除的方法通常是最稳定,在这种方法中所有的计算采用一致的格点和溶质构象。
两种迁移自由能计算方法获得结果的不同,通常都是由于计算中缺乏收敛性导致,这可由降低格点间距解决(比如,增加格点数目)。
如果你选择将迁移自由能分解为溶剂化和库仑能变,除了前面章节列出的APBS计算外,你还需要进行另外两项静电计算 :
? ? ?
首先,你需要在均匀电介质εs = εp 重新运行所有的APBS计算来得到溶剂化能。这可通过修改前面章节中的输入文件来完成。
然后,你需要计算库仑相互作用能。APBS 的 coulomb 程序可衡量真空中一组电荷的库仑定律静电能。该程序的用法是 $ coulomb foo.pqr
其中 foo.pqr是你关注的PQR文件。注意这个程序中有许多扩展选择。不要忘记调整 εp!
7.3.6. 把所有的放到一起
这时,你准备好了计算内禀PKa需要的所有东西。考虑到你又可能出现故障,这里我提供了许多有帮助的例子:
GLU35.pqr, GLH35.pqr, 2LZT-GLH35.pqr, 2LZT-GLU35.pqr, 2LZT-noGLH35.pqr, 2LZT-noGLU35.pqr
上面提到的PQR文件
2LZT-noGLH35.in, 2LZT-GLH35.in, GLH35.in
直接使用总静电能来计算GLH的迁移自由能时需要的APBS 输入文件
2LZT-noGLH35-vac.in, 2LZT-GLH35-vac.in, GLH35-vac.in
使用极性溶剂化能来计算GLH 迁移自由能时需要的APBS输入文件。
2LZT-noGLU35.in, 2LZT-GLU35.in, GLU35.in
直接使用总静电能来计算GLU的迁移自由能时需要的APBS 输入文件。
2LZT-noGLU35-vac.in, 2LZT-GLU35-vac.in, GLU35-vac.in
使用极性溶剂化能来计算GLH 迁移自由能时需要的APBS输入文件。
run-apbs.sh
运行上面列出的所有APBS输入文件的Bash 脚本。假定apbs程序在你的PATH下。
run-coul.sh
用溶剂能来衡量迁移自由能时,运行库仑能量计算的Bash 脚本。假定APBS coulomb 程序 (通常可在apbs/tools/manip中找到) 在你的PATH下。
7.3.7. 接下来是什么?
通过我们简单的介绍,你应该能试着衡量HIS 15和ASP 66的内禀PKa了。你得到的结果与实验结果一致吗?这些残基有什么不同?
到现在为止,我们仅考察了内禀PKa,并且忽略了可滴定基团之间的相互影响。Jens Nielsen 开发了一个非常好的软件包 pKaTool ,你可以用它来探究可滴定位点之间的耦合作用,还有这些耦合作用对蛋白质体系滴定事件的影响。他提供了一本教程tutorial (PDF) ,可用来探究耦合滴定状态和熟悉pKaTool的使用。
[6]
下面的参考文献是对生物分子PKa计算的介绍:
?
?
?
Bashford D, Karplus M. pKa's of ionizable groups in proteins: Atomic detail from a continuum electrostatic model. Biochemistry. 29 (44), 10219-25, 1990.
http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?cmd=Retrieve&db=PubMed&dopt=Citation&list_uids=2271649
Antosiewicz J, McCammon JA, Gilson MK. The determinants of pKas in proteins. Biochemistry. 35 (24), 7819-33, 1996.
http://pubs.acs.org/cgi-bin/pagelookup?bichaw/35/7819
Nielsen JE, Vriend G. Optimizing the hydrogen-bond network in Poisson-Boltzmann equation-based pKa calculations. Proteins-Structure Function and Genetics. 43 (4), 403-12, 2001.
http://www3.interscience.wiley.com/cgi-bin/abstract/78505732/ABSTRACT
[7]
这样的状况在离子和coion浓度极低且没有其它作用种类等条件下可能出现。换言之,对于真实的生物体系,这样的这样的状况几乎遇不到。
[8]
开始vigorous waving of hands... 停止vigorous waving of hands...
[9]
Chapter 8. 我的计算需要的内存太大!
目录
8.1. 并行计算: 示例 8.2. 异步时序计算
APBS 每个格点需要大约200 B的内存。内存用量在进行计算之前就可预测,数据是通过APBS提供的tools/manip/psize.py Python 脚本获得的。 如果你的内存不足以满足计算的需要,你还有其它选择:
? ?
?
APBS 计算可在多个机器上并行运算(共用分散内存!)。这项功能是由关键词mg-para 提供的,下面below我们将详细说明,读者也可参阅APBS用户手册。 APBS 计算可分解成一系列小的异步时序的运算,每个运算需要的内存会小一些。这项功能是由关键词mg-para async提供的,下面below我们将详细说明,读者也可参阅APBS用户手册。
通过 Gemstone 将你的计算任务提交至外部计算资源。
8.1. 并行计算:示例
APBS 源程序 (examples/actin-dimer/complex.pqr)提供的肌动蛋白二聚体的例子是一个很大的体系,也是并行 focusing calculations 的极好例子。这个例子中使用肌动蛋白二聚体复合物PQR文件complex.pqr。
我们将使用8个处理器并行计算来获得该复合物的静电势能图。每个处理器在一个973 网格上使用parallel focusing method (见 Baker et al, PNAS, 2001)来解决整个问题的一部分,相邻处理器网格间有20%的重叠。进行计算需要的输入文件应如下所示(从这里下载 here): read mol pqr complex.pqr end
elec name complex mg-para ofrac 0.1 pdime 2 2 2 dime 97 97 97 fglen 150 115 160 cglen 156 121 162 cgcent mol 1 fgcent mol 1 mol 1 npbe bcfl sdh ion 1 0.150 2.0 ion -1 0.150 2.0
end quit
pdie 2.0 sdie 78.54 srfm mol chgm spl0 srad 1.4 swin 0.3 sdens 10.0 temp 298.15 calcenergy total calcforce no write pot dx pot
其中pdime 2 2 2 定义了8-处理器 的array dimensions,ofrac 0.1 定义了处理器计算之间有20%的重叠, dime 97 97 97 定义了每个处理器计算量的大小。 write pot dx pot 指导APBS输出势能图OpenDX-format ,输出文件为8个 pot#.dx文件,其中 #指具体处理器的编号。 使用MPI版本的APBS来运行这个输入文件,8个并行计算中每个运算都会得到问题域(fglen)不同位置的相当好的解。注意8个OpenDX文件是分别由8个处理器写成的。OpenDX 文件单独写成避免了并行计算时的通信问题,并且单个文件相对来说是比较小的。另外,如果读者对问题域的特定部分感兴趣,仅需少数文件便可获得局部势能信息。
然而,大部分读者更关注整体势能。许多程序 (OpenDX, DataTank)可读入分开的势能文件并且生成整体势能图。对于大多数其它程序,需要读者事先得到重新组成的整体势能图;为此APBS提供了 mergedx 程序。mergedx 可将由并行计算得到的多个OpenDX 文件组合成一张图。这张图可从源分辨率数据中采样得到较粗糙的数据组,以实现粗略而快速的观察等。例如,以下命令
$ mergedx 65 65 65 pot0.dx pot1.dx pot2.dx pot3.dx pot4.dx pot5.dx pot6.dx pot7.dx
将会生成gridmerged.dx文件。这个文件是从8个 OpenDX 文件中采集较粗糙的数据组生成的653 文件,它比较适合于粗略观察。下面是mergedx输出结果的一个例子 (方法见 Section 3.1.4.1, “等势线可视化”) :
Figure 8.1. 并行计算得到的肌动蛋白二聚体等势线
注意采样不是必须的—并且对高质量的观察和定量分析是不适用的。 8.2. 异步时序计算
对于不能进行并行计算的程序,也可通过MPI实现上面章节描述的步骤。特别地,你可以增加 async n
至APBS输入文件的 ELEC mg-para ,使得单处理器模拟进行n 个并行计算中的任务之一。 APBS异步时序运算得到的标量图可由上面提到的mergedx程序整合到一块。目前,对于APBS异步时序运算得到的能量和力,需要手动将单个计算得到的文件合并起来。这可由简单的shell脚本实现。
作为具体的例子,我们可以修改上面的输入文件 。在ELEC 状态中加入async 0命令,这使得APBS 运行并行计算中的第一个处理器。修改后的输入文件应该如下 (可从这里下载here) : read