Я создаю код для печати строк, если подстрока существует в определенном разделе основной строки. У меня есть файл, как показано ниже, и я создаю 5 подстрок алфавита (5mers) из seq11_rv.
>seq11_fw
TCAGATGTGTATAAGAGACAGTTATTAGCCGGTTCCAGGTATGCAGTATGAGAA
>seq11_rv
GAGATTATGTGGGAAAGTTCATGGAATCGAGCGGAGATGTGTATAAGAGACAGTGCCGCGCTTCACTAGAAGTCATACTGC
Затем я делаю обратное дополнение этих 5меров и добавляю их в список. Затем я заглянул в seq11_fw и если позиция [42:51] (GCAGTATGA в seq11_fw) имеет любой из элементов списка, тогда должно быть напечатано подтверждение.
Чтобы облегчить понимание последних 5-ти членов seq11_rv является ACTGC что его обратное дополнение становится GCAGT и если вы проверите seq11_fw[42:51] это GCAGT существует внутри этого места, но я не получаю никаких результатов.
Любая помощь будет оценена по достоинству.
вот мой код:
from Bio import SeqIO
from Bio.Seq import Seq
with open(file, 'r') as f:
lst = []
for record in SeqIO.parse(f, 'fasta'):
if len(record.seq) == 81:
for i in range(len(record.seq)):
kmer = str(record.seq[i:i + 5])
if len(kmer) == 5:
C_kmer = Seq(kmer).complement()
lst.append(C_kmer[::-1])
cnt=0
if len(record.seq) == 54 and any(str(items) in str(record.seq[42:51]) for items in lst):
cnt +=1
if cnt == 1:
print(record.id)
print(record.seq)
print(lst)
```
![нет вывода для существующей подстроки - это основная строка python [closed] TheFAQ.ru](https://thefaq.ru/wp-content/uploads/2023/01/logo-250.png)