论文部分内容阅读
化合物的子结构检索在计算机辅助药物设计、波谱学、化学数据库等领域是不可或缺的工具。然而由于子结构检索是NP完备性问题,如何提高检索效率、获得用户可接受的平均检索时间多年来备受研究人员的关注。
本文以满足化学深层网统一检索引擎ChemDB Portal(http://www.chemdb-portal.cn/)未来发展对子结构检索功能的需要为目标,研究了如何利用集群并行、实现化合物规模为百万级的化合物子结构检索的策略,完成了以下研究工作:
1.基于一个5节点的小型集群,设计并实现了主从模式集群并行的ChemDBPortal的化学子结构检索系统。选取10个提问结构,在含有800万个化学结构的数据库中进行了子结构检索测试,以初始单节点时的化学子结构平均检索时间34.1min作为基准,测试结果表明基于集群的化学子结构平均检索时间降低为5节点集群并行时的9.02min,5节点的集群并行能够获得平均3.78倍的检索效率提升。
2.为均衡集群各节点负载和充分利用节点计算资源,对集群并行的化学子结构检索系统进行任务均分及匹配过程多线程优化,优化后5节点的集群平均检索时间由9.02min降低至2.75min,执行效率进一步提高3.28倍,较初始单节点的系统而言,检索效率提高12.4倍。
3.为ChemDB Portal的化学子结构集群并行检索系统添加了从节点状态的动态监听和计算任务的动态调度功能,提高了并行检索系统的可靠性和任务调度的灵活性。
4.比较了开源化学结构处理软件包CDK与MX的子结构检索模块的性能差异,测试结果表明:就检索效率而言,CDK包适用于提问结构的原子数小于200的子结构检索,MX包则更适用于原子数大于200的提问结构。
本文所采用的集群并行技术、任务均分及匹配过程多线程优化等策略不仅适用于ChemDB Portal的化学子结构检索系统,也同样适用于其他涉及到大规模化合物子结构检索的应用。