написание программы python для управления файлом fasta - PullRequest
0 голосов
/ 16 июня 2020

Предположим, у меня есть следующий файл fasta и текстовый файл:

#fasta
>seq1
AAATTTCCC
>seq2
CCCGGGTTT

#txt (tab seperated)
seq1 3
seq2 4

Мне нужна помощь в попытке написать программу, которая будет повторять строку для каждой seq в fasta n раз. Заранее спасибо!

#output fasta
>seq1
AAATTTCCCAAATTTCCCAAATTTCCC
>seq2
CCCGGGTTTCCCGGGTTTCCCGGGTTTCCCGGGTTT 

1 Ответ

1 голос
/ 16 июня 2020

Попробуйте следующее:

with open('fasta.txt') as fp, open('seq.txt') as fp2:
    data = [line.strip() for line in fp if line.strip()]
    seq = [line.split() for line in fp2 if line.strip()]
data = dict([(data[i], data[i + 1]) for i in range(0, len(data), 2)])

with open('output.txt', 'w') as fw:
    for x in seq:
        key = '>' + x[0]
        fw.write(key + '\n' + data[key] * int(x[1]) + '\n')

#output.txt
#>seq1
#AAATTTCCCAAATTTCCCAAATTTCCC
#>seq2
#CCCGGGTTTCCCGGGTTTCCCGGGTTTCCCGGGTTT

...