нет вывода для существующей подстроки — это основная строка python [closed]

Я создаю код для печати строк, если подстрока существует в определенном разделе основной строки. У меня есть файл, как показано ниже, и я создаю 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)
```

0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *