#python
#питон
Вопрос:
У меня есть файл базы данных SWISS PROT, содержащий несколько файлов SWISS PROT. Они копируются и вставляются друг под друга, так что одна запись швейцарской прибыли следует за другой.
Я хочу записать идентификатор в другой файл в качестве заголовка. Сразу под этим я хочу написать последовательность аминокислот.
До сих пор программа может одновременно считывать только одну запись швейцарской прибыли. Как я могу сделать это для каждой записи швейцарской прибыли в файле?
Мне удалось сначала распечатать заголовок идентификатора, а затем аминокислотные последовательности. Но как мне сделать это последовательно для каждого идентификатора и последовательности аминокислот?
bright_cyan = "33[0;96m" bright_yellow = "33[0;33m" bright_green = "33[0;32m" reset = "33[0m" #-------------------------------------------------------------------- import sys import re #-------------------------------------------------------------------- def read_data(SPROT_FILE): flag = '' try: DNAfile = open(SPROT_FILE , 'r') except IOError as error: print(bright_cyan "double check and see if you entered the correct filename :gt; ", str(error)) sys.exit(1) # create a FASTA file to copy the information to and write. new_outfile = open("first.fsa", 'w') amino_acid_sequence = '' for line in DNAfile: #print(line, end = '') if re.match(r'ID', line): ID = line[5:20] # Stateful Parsing of the amino acid sequence. if re.match(r'//', line): flag = False if flag: amino_acid_sequence = line if re.match(r'SQ', line): flag = True # Find the modified amino acid residue. if re.match(r'FT MOD_RES', line): FT = line position_switch = ','.join(re.findall(r'd ',FT)) header_line = 'gt;' ID.strip() " phospho:" position_switch print(header_line) #print('gt;' ID.strip() " phospho:" position_switch, file = new_outfile) # Print each amino acid sequence outside of the loop. amino_acid_sequence = amino_acid_sequence.replace(' ', '') print(amino_acid_sequence) # Write the amino acid sequence to the file. print(amino_acid_sequence, file = new_outfile) DNAfile.close() new_outfile.close() files = input(bright_yellow 'Type :gt; ').split() # For each file in the input call upon the function for filename in files: read_data(filename)