2017-02-07 4 views
-1
Metadata = [] 
Sequence = [] 
N=0 
with open(file_location) as f: #opens file 
    content = f.read() #defines file under content 
for char in content: 
    if char == ">": 
     while char != "\n": 
      char.join(metadata[N]) 

Я пытаюсь построить интерпретатор Fasta и и продолжают получать «индекс списка из диапазона» ошибка при попытке проанализировать файл FASTA (formatted like this). Я не уверен, почему у python возникают проблемы с хранением символов в массиве. Могу ли я использовать понимание списка, чтобы определить массив, который достаточно длинный, прежде чем открывать файл?Добавить символы или строки из .read() или .readline() в новый массив в Python

+1

Почему вы не используете biopython? –

+0

Это для некоторой курсовой работы, мы должны сделать это с трудом. Независимо от того, как Асинин. –

ответ

1

Ваша проблема не с content, а с Metadata. Вы создаете его как пустой список, а затем пытаетесь вызвать его N-й элемент.

Инициализируйте его с некоторыми значениями, чтобы ваша программа могла работать.

+0

В конце концов я понял, что могу просто «.append()« весь мой необходимый вывод для метаданных ». Я боялся инициализировать пустой список неизвестной длины. –

Смежные вопросы