Генерация перекрывающихся гэп-кмеров из строк
У меня есть строка как HDHDJDUEUEUD
, из которого я хотел бы сделать всех расстрелянных kmers с заданными k и m (число максимального разрыва между).
Например, при k=3 и m =2 у нас есть две подпоследовательности длины три, разделенные пробелом (может быть представлен как период) длиной 0, 1 или 2, как показано ниже:
HDHDJD, HDH.JDU, HDH..DUE, DHDJDU и т. Д.
Как это можно сделать эффективным способом? У меня есть список из более чем 1 миллиона последовательностей для выполнения этой операции.
Спасибо!