Я читал этот пост, и мне интересно, может ли кто-нибудь найти способ уловить повторяющиеся мотивы в более сложную строку.
Например, найдите все повторяющиеся мотивы в
string = 'AAACACGTACGTAATTCCGTGTGTCCCCTATACGTATACGTTT'
Здесь повторяющиеся мотивы: 'AAAC ACGTACGT AATTCC GTGTGT КЦИК TATACGTATACG ТТТ'
Итак, результат должен быть примерно таким:
output = {'ACGT': {'repeat': 2,
'region': (5,13)},
'GT': {'repeat': 3,
'region': (19,24)},
'TATACG': {'repeat': 2,
'region': (29,40)}}
Этот пример исходит из типичных биологических явлений, называемых микросателлитом, который присутствует в ДНК.
UPDATE 1: Звездочки были удалены из строковой переменной. Это была ошибка.
ОБНОВЛЕНИЕ 2: Мотив одиночного символа не учитывается. Например: в ACGUG AAA GUC мотив "A" не учитывается.