Biopython не может найти файл

Я пытаюсь запустить qblast из командной строки Python, и после импорта всех необходимых мне библиотек Python не может найти мой файл:

>>> record = SeqIO.read(open("sinchimeras_1.fasta"), format="fasta")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IOError: [Errno 2] No such file or directory: 'sinchimeras_1.fasta'

Я попытался записать весь маршрут для файла ("/Users/imac...") и переместить файл в папки Python и в папки Biopython, и я получаю то же сообщение.

Где я должен сохранить свой файл? Что я делаю не так?


person Ma_fermar    schedule 17.09.2012    source источник


Ответы (1)


Вам нужно переместить этот файл в рабочий каталог или использовать абсолютный путь.

Эта проблема не зависит от Biopython; IOError исходит от open("sinchimeras_1.fasta").

Объяснение

Когда вы предоставляете Python относительный путь «sinchimeras_1.fasta», он ищет такой файл в текущем каталоге. Таким образом, вместо того, чтобы перемещать файл Fasta в папку Python/Biopython, убедитесь, что он находится в вашем рабочем каталоге (os.getcwd() может оказаться полезным).

В качестве альтернативы вы можете указать абсолютный путь к файлу вместо «sinchimeras_1.fasta» (например, open("/Users/imac.../sinchimeras_1.fasta")).

person David Cain    schedule 18.09.2012
comment
Я пытался записать абсолютный путь, и это все еще не работает... Сейчас я проверяю, есть ли проблема с форматом файла или что-то в этом роде, но я не думаю, что это проблема. - person Ma_fermar; 18.09.2012
comment
На самом деле была проблема с моим файлом :S Теперь я пробую другой подход, рассматривая его как строку (у меня есть несколько последовательностей в одном файле fasta), но я думаю, что теперь есть одна проблема с командой read(). - person Ma_fermar; 18.09.2012