计算化学公社

标题: 求助 请问gromacs top的[atoms]里哪些是必须项? [打印本页]

作者
Author:
lqhenwunai    时间: 2020-8-31 11:28
标题: 求助 请问gromacs top的[atoms]里哪些是必须项?
本帖最后由 lqhenwunai 于 2020-8-31 15:56 编辑

大家好,请问一下在gromacs的top文件里的[atoms]里,哪些是必须的?

我在尝试修改添加力场,其中在修改[atoms]部分时,一个测试是如下所示:


[ atoms ]
;   nr       type  resnr residue  atom   cgnr     charge    mass
     1   OD2C1D      1    LIG           O        1               0     15.5994
     2   CD2O1D      1    LIG           C        1               0     11.611
     3   OD305A      1    LIG           O        1               0     15.5994


另一个测试是删除其中的residue那一列。我原本以为删除residue那列后,会报错,结果在grompp时竟然没有报错。

所以请问一下哪些项是必须的?

从代码看,
    /* Fixed parameters */
    if (sscanf(line, "%s%s%s%s%s%d",
               id, ctype, resnumberic, resname, name, &cgnumber) != 6)
    {
        too_few(wi);
        return;
    }
    sscanf(id, "%d", &atomnr);
    if ((type  = get_atomtype_type(ctype, atype)) == NOTSET)
    {
        gmx_fatal(FARGS, "Atomtype %s not found", ctype);
    }
    ptype = get_atomtype_ptype(type, atype);

    /* Set default from type */
    q0    = get_atomtype_qA(type, atype);
    m0    = get_atomtype_massA(type, atype);
    typeB = type;
    qB    = q0;
    mB    = m0;


似乎这几项是必须的:id , ctype, resnumberic, resname, name, &cgnumber。如果这样的话,那ctype指的是OD2C1D这样的原子类型么?

另外感觉很困惑的是,怎么知道哪一列属于哪个类别呢?比如如果包括residue那一列,那第6列读入的就是charge group number。但如果不包括residue那一列,那读第6列就是charge那一列。这样的话在赋值的时候就有歧义了。我相信在其它地方肯定有验证,但是想不出是怎么验证的。


作者
Author:
sobereva    时间: 2020-8-31 17:48
就照标准格式写就完了,[atoms]字段在手册里都有说明,探究当前这个问题没什么意义。实在不放心的话可以gmx dump把最终得到的tpr里的信息打印出来看




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3