У меня есть файл данных, содержащий список последовательностей, каждая длиной 6 аминокислот.Как показано ниже:
QDFRGETW
AQAVRSSS
ANGVELRD
Я хотел бы преобразовать этот файл в:
QAN
DQN
FAG
RVV
GRE
....
WSD
с простым циклом for
и циклом while
.
Вот то, что я попробовал, это работает.
i2 = ''
with open('datafile','r') as f:
for line in f:
i2 += line[2]
То, что я хотел бы сделать, это перебрать индексы и добавить каждую новую строку в словарь.Поэтому я решил попробовать это.
Dict = {}
i = 0
seq = ''
with open ('datafile','r') as f:
while i <= 7:
for line in f:
seq += line[i]
Dict[i] = seq
i += 1
Однако, когда я печатаю Словарь, он показывает только, например: {0:QAN}
и ничего больше.Если я уменьшу отступ для Dict[i]
, теперь у него будут все ключи, но значения QAN вместо 1: DQN и т. Д. *
Странно, даже когда я ввожу этот код:
seq = ''
i = 0
with open ('datafile','r') as f:
while i <= 7:
for line in f:
seq += line[i]
i += 1
print seq
Если также возвращает QAN, а не WSD, как я и ожидал.Следовательно, существует проблема с циклом while.Есть мысли?