GMX中的特殊分组

Gromacs中的角度,距离等分析工具的使用都涉及到特殊的分组方法,能不能以合适的格式分组是计算成功的关键。

选取分组主要有两种方法,一是直接在命令中使用Select语法进行分组,二是建立相应的索引文件。

第一种方法更加灵活并支持动态选区,可以在命令中直接用''括起来放入其中。当然前提是整个体系中原子命名等信息不能有重复。例如在一条碳链中,每个碳最好分别命名为"C1""C2"...而不能统一命名为"C",这样将很难通过Select语法来甄别。例如,要是要计算一条碳链与z轴之间的夹角,则可以使用命令gmx gangle -f ..xtc -s ..tpr -n ..ndx -g1 vector -group1 'name C1 C5 permute 1 2' -g2 z -oav -oall -oh。此处的'name C1 C5 permute 1 2'意为从名为C1的原子指向名为C5原子的向量,1 2表明向量的方向从第一组指向第二组。有关Select详细的语法和使用实例在李老师的博文中有详细的介绍,感兴趣的可以访问这里GROMACS选区(selection)语法及用法

若是没有明智地提前将原子名称区分好,或是即使用Select语法也无法选定特定的组,就只好通过建立相应的索引文件了。在distance与gangle等命令中所用的组往往需要选定两个位置,这两个位置应当在索引文件中成对出现。若是作为向量,则是从第一个向量指向第二个向量。同理,对于需要三个位置的组,则应三个为一行。下面是个简单的例子:
[ Vector1 ] 1 5 2 6 3 7 ... [ Plane1 ] 1 3 5 2 4 6 ...

这样,在做好相应的索引文件后,就可以直接在命令执行时选择相应的组就可以了。这时,上述的例子就可以写成: gmx gangle -f ..xtc -s ..tpr -n ..ndx -g1 vector -group1 -g2 z -oav -oall -oh,在执行命令后会出现选择分组的提示,根据提示选择相应的组就可以了。

另外,在建立特定索引组的过程中,可以寻求出序号之间的规律,写一个小程序直接生成。索引文件的格式很简单,保证组名和数字就好。并不是非得使用gmx make_ndx工具的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 最近在写个性化推荐的论文,经常用到Python来处理数据,被pandas和numpy中的数据选取和索引问题绕的比较...
    shuhanrainbow阅读 10,063评论 6 19
  • 一. Java基础部分.................................................
    wy_sure阅读 9,305评论 0 11
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,676评论 18 399
  • 夜色那么凄美,犹如转瞬即逝的人生,苦短却韵味十足。不知还要像断线的风筝一样漂泊多久,我才能彻底的挣脱那根寂寥的线...
    竹鸿初阅读 1,639评论 0 0
  • 大学的时候在幼儿园实习,有次去一个班听课,老师手里拿一张小红花贴纸,只要孩子答对问题老师便给额头贴一朵花,孩子很开...
    田雪源阅读 1,328评论 0 1

友情链接更多精彩内容