论文部分内容阅读
随着计算机辅助药物设计(CADD)和计算生物学的不断发展,国内外涌现出了大量的研究小组和机构致力于相关软件包和程序的开发,而AMBER无疑是其中最为成功的实例之一。AMBER由若干功能不同的部分构成,其中XLEAP主要用来对分子结构进行操作以及为后续的分子模拟生成所需的坐标文件和参数文件。然而,XLEAP虽然采用了面向对象的设计思想,使用的编程语言却是不支持面向对象编程的C语言,导致了其源代码很难被理解及拓展。因此,使用合理的设计方法开发一个新的类似于XLEAP的程序库将会给科学研究者带来极大的方便,也会为后序的程序开发提供很好的基础。因此,我们开发了面向CADD的C++基础库MORT(Molecular Object and Relevant Templates)。在本论文中,我们首先介绍了MORT的基本结构,包括数据结构和应用的算法。通过使用这些数据结构和算法,开发了大量用于处理分子结构和计算能量的函数。这些函数大致可以分为两种类型,一类是与待处理的对象(原子、残基等)相关的函数,这些函数用来对这些对象进行包括增加、删除、修改等操作。另一类函数则用来处理这些对象的各类性质,例如计算能量、生成拓扑文件等等。MORT采用了C++进行编写,使用了关系模型而不是层次模型来存储分子信息,从而使得该程序库更加易于被理解和拓展。其次,基于MORT,我们发展了小分子键型预测算法Fixbond。在使用基于分子力场的模拟方法时,键的类型与参数的选择是密切相关的。该算法主要使用三种规则来进行键型的自动预测,分别为:1.硬规则;2.长度规则;3.共轭规则。这三个规则的组合使用使得我们的算法在预测键型方面比其他程序具有更高的预测精度。虽然Fixbond在处理若干结构比较古怪的分子键型时还存在一定的问题,但它已经能够很好地处理有坐标错误的结构。在未来,我们计划在从以下两个方面对算法进行改进:1.在确定键的连接方面,我们计划设计和使用更好的规则来检测那些本应该相连但是被忽略的键的连接,并且减少过连接的键;2.更精确地定义键熵,为了达到这个目的,在对大量的数据集进行测试的基础上,对一些参数或者公式做出相应的修改。