我正在编写一个生物进化模拟器。目前,我的所有代码都是用Python编写的。在大多数情况下,这很好,一切都运作良好。但是,这个过程有两个步骤需要很长时间,我想在Scala中重写。
第一个问题领域是序列进化。想象一下,您将获得一个与大量蛋白质相关的系统发育树。每个分支的长度代表父母和孩子之间的进化距离。树的根用单个序列播种,然后使用进化模型(例如http://en.wikipedia.org/wiki/Models_of_DNA_evolution)沿树结构进化序列;考虑到分支长度。 PyCogent需要很长时间才能执行此步骤,我相信合理的Java / Scala实现会明显加快。您知道任何实现此类功能的库吗?我想在Scala中编写应用程序,因此,由于互操作性,任何Java库都足够了。
第二个问题区域是生成序列的比较。问题是,给定一组不同现存物种中的蛋白质序列,试图使用该序列重建与物种相关的系统发育树。这个问题本质上是计算上要求很高的,因为基本上必须在现存物种中的所有序列之间进行成对比较。然而,在这里,我觉得Java / Scala实现的执行速度明显快于Python实现,如果不是因为不幸的是,在Python中循环速度很慢。这部分我可以比序列演化部分更容易从头开始编写,但是如果存在一个好的库,我也愿意使用它。
谢谢, 罗布