我不是这个主题的专家,所以请在回答时考虑到这一点。
我正在读两篇论文
lazy val
和
Succinct de Bruijn Graphs
我无法理解这两种方法之间的差异,那么有谁能帮助我理解这两种算法之间的区别?或建议进一步阅读以区分两者。
是否有任何Java实现的Succinct de Bruijn Graphs(作者在python中编写了一个)或任何其他有效的语言
提前致谢。
答案 0 :(得分:1)
压缩 de Bruijn图是与de Bruijn图不同的对象。在后者中,所有节点都是k-mers(长度为k),而在前者中,节点是通过原始de Bruijn图的路径压缩来创建的。因此,压缩图中的节点长度为k或更大。
在此上下文中,路径压缩意味着内部节点具有一个邻居和一个外邻居的每个最大长度路径被缩减为单个节点。
虽然我说两个图表都不同,但它们代表完全相同的信息(这是一组k-mers),因此我们经常非正式地引用" de Bruijn图表"对于其中任何一个。
简洁表示(对于这些对象中的任何一个)是指使用少量内存的数据结构。
我不知道sDBG的Java实现,但是在C ++中有:https://github.com/cosmo-team/cosmo