У меня проблема с записью списка в файл.Я аннотирую определенные файлы, чтобы изменить их в определенный формат, поэтому я читаю файлы выравнивания последовательности, сохраняю их в списках, выполняю необходимое форматирование, а затем записываю их в новый файл.Проблема в том, что, хотя мой список, содержащий выравнивания последовательностей, структурирован правильно, выходные данные, полученные при записи их в новые файлы, являются неправильными (он не повторяет структуру моего списка).Я включаю только часть моего вывода и как он должен выглядеть, потому что сам список слишком длинный, чтобы публиковать.
ВЫХОД, ПИСАННЫЙ НА ФАЙЛ:
>
TRFE_CHICK
From XALIGN
MKLILCTVLSLGIAAVCFAAP (seq spans multiple lines) ...
ADYIKAVSNLRKCS--TSRLLEAC*> (end of sequence, * should be on a newline, followed by > on a newline as well)
ВЫХОД, ПИСЬМО ПОДПИСАН НА КАК:
>
TRFE_CHICK
From XALIGN
MKLILCTVLSLGIAAVCFAAP (seq spans many lines) ...
ADYIKAVSNLRKCS--TSRLLEAC
*
>
Это делает это неверное форматирование несколько раз.Я пробовал мариновать и разбирать список, но это еще больше его не форматирует.
Мой код для создания списка и записи в файл:
new = []
for line in alignment1:
if line.endswith('*\n'):
new.append(line.strip('*\n'))
new.append('*')
else:
new.append(line)
new1 = []
for line in new:
if line.startswith('>'):
twolines = line[0] + '\n' + line[1:]
new1.append(twolines)
continue
else:
new1.append(line)
for line in new1:
alignfile_annot.write(line)
По сути, я кодировал его так, чтобы он читал файл выравнивания, вставлял строку между концом последовательности исимвол * и также>, за которым следует код ID, всегда в новых строках.Это способ построения моего списка, а не его запись в файл.Кто-нибудь знает, почему неформат?Извиняюсь за длинный текст, я старался сделать его как можно более коротким, чтобы прояснить мою проблему: я использую Python 2.6.5