随机序列与最小编辑距离的时间的高NR我需要创建一个程序/脚本用于创建高数量的随机序列中的(20信基于4个不同的字母长的序列)与之间的最小编辑距离所有序列。 “高”在这里将是至少100k的序列,但如果可能的话高达100万。创建高效
我开始与刚产生随机20个字母序列的简单方法,并且对于每个序列,计算所述序列和已创建并存储所有其它序列之间的编辑距离。如果新序列超过了我的阈值,则存储它,否则丢弃。如你所知,这对于较高数量的序列非常不利。高达10K是相当好的,但试图获得100K,这开始变得麻烦。
我真的只需要一次创建序列和存储输出,所以今天我真的没有那么挑剔的速度,但使百万在这个速度仅仅是没有可能的。
一直在努力思考的替代品,以加快这一进程,如建立序列是最小的ED的“块”,然后合并,但没有拿出任何解决方案。
想知道,难道任何人有任何聪明的想法/方法可以实施创造如此高的数量以最小的ED更多的时间有效的序列?
干杯, JB
你有什么(简短)的背景知道你打算如何使用这些序列/为什么他们需要随机,但在编辑距离接近?从不同角度处理问题总是有可能比优化当前的解决方案更有效。 – Bilkokuya
当然,让我澄清,编辑距离应该高于给定的阈值(在这种情况下> 4)。背景是在模拟中使用的DNA测序“条形码”,序列需要不相似,但也需要ED>〜4,以便在一个或两个字母中进行替换(在模拟期间引入错误介绍)不会使其等于我的序列集合中的另一个序列。 –