編集距離が最小のランダムシーケンス(4文字の異なる20文字の長さのシーケンス)を作成するためのプログラム/スクリプトを作成する必要がありますすべての配列。 「高」はここでは100kシーケンスの最小値ですが、可能な場合は100万までです。最小編集距離で効率的なランダムシーケンスを作成する
ランダムな20文字のシーケンスを生成するという単純なアプローチから始まり、シーケンスごとに、すでに作成され保存されている他のすべてのシーケンスとの編集距離を計算します。新しいシーケンスが自分のしきい値を超えた場合は保存し、それ以外の場合は破棄します。
理解していただいたように、これはシーケンスの数が増えるほど非常に大きくなります。最大10kまでは問題ありませんが、100kを取得しようとすると面倒です。
実際にはシーケンスを一度作成して出力する必要があるので、スピードについてはそれほど難しいことではありませんが、今日このレートで100万を作成することは、まったく不可能です。
シーケンスを構築するなどのプロセスをスピードアップするための代替案を考えようとしてきたが、最小限のEDの「ブロック」であり、結合するが、解決策は出ていない。
驚くべきことに、誰かが、最小限のEDで時間のかかる効率的なシーケンスを作成するために実装できるスマートなアイデアや方法はありますか?
乾杯、 JB
これらのシーケンスをランダムにする必要がある理由/編集距離で閉じる必要がある理由について、(短い)文脈がありますか?あなたの現在のソリューションを最適化するよりも、異なる角度から問題を解決する方が効果的です。 – Bilkokuya
もちろん、編集距離が所定のしきい値(この場合は> 4)を超えていることを明確にしてください。状況はDNAシーケンシングであり、シミュレーションで使用される「バーコード」であり、シーケンスは異なっている必要がありますが、1〜2文字の置換(シミュレーション中にエラーの導入が導入される)私の一連のシーケンスの中の別のシーケンスと同じにしてください。 –