|
ifdef 语句GROMACS 有一个非常强大的功能,你可以在top文件中使用 #ifdef 语句。 通过使用这一语句以及与之相关的#define语句,像之前在 amber99.ff/forcefield.itp 文件中看到的那样,在同一个top文件可以为分子使用不同的参数。 下面给出 TFE 的一个例子,其中的一个选项控制了原子使用哪种电荷:De Loof 等人给出的电荷还是 Van Buuren 和 Berendsen 给出的电荷。 实际上,你可以使用 C 预处理器 cpp 的大部分功能,因为grompp包含了类似的预处理函数用以扫描文件。 使用 #ifdef 选项的方法如下: • 在mdp文件(包含grompp的输入参数)中使用 define = -DDeLoof 选项,或者,在top或itp文件中提前使用 #define DeLoof 语句 • 将 #ifdef 语句放在top中,如下所示: pdb2gmx使用同样的机制来实现是否使用位置限制(位置限制一节),具体作法是通过使用#include 来包含itp 文件,而此文件只有设置了特定的 #define (并且拼写正确!)时才会有意义。
|
