У меня есть код Python, который переводит аминокислотные последовательности в последовательности ДНК:
# Read the file and get the Peptide string
file = open('../Results/sample_dna2.txt', 'r')
dna = file.read()
#print(dna)
# Protein codon table
protein = {
'A': ('GCC'),
'B': ('GAC'),
'C': ('TGC'),
'D': ('GAC'),
'E': ('GAG'),
'F': ('TTC'),
'G': ('GGC'),
'H': ('CAC'),
'I': ('ATC'),
'K': ('AAG'),
'L': ('CTG'),
'M': ('ATG'),
'N': ('AAC'),
'P': ('CCC'),
'Q': ('CAG'),
'R': ('AGG'),
'S': ('AGC'),
'T': ('ACC'),
'V': ('GTG'),
'W': ('TGG',),
'Y': ('TAC'),
'*': ('TGA'),
}
dna_sequence = ""
# Generate DNA sequence
for i in range(0, len(dna)-(0+len(dna)%1), 1):
dna_sequence += protein[dna[i:i+1]]
# Print the DNA sequence
print (dna_sequence)
Код работает, когда текстовый файл имеет следующий формат:
ABBBC
Но кодне работает, когда текстовый файл выглядит так:
ABBBC
ABBBC
Я получаю следующую ошибку от Python:
KeyError Traceback (most recent call last) <ipython-input-35-8a6fd8cd8220> in <module>
35 # Generate DNA sequence
36 for i in range(0, len(dna)-(0+len(dna)%1), 1): --->
37 dna_sequence += protein[dna[i:i+1]]
38
39 # Print the DNA sequence KeyError: '\n'
Как я могу исправить код, чтобы он проходил новую строкуи перевести следующую пептидную последовательность?Обратите внимание, что я новичок в Python, поэтому любая помощь будет принята с благодарностью.
Я бы хотел, чтобы результат был таким, пожалуйста:
CTGATC
CTGATC