Monthly Archives: March 2013

Парсинг fastq файлов от 454 Life Sciences с помощью biopythonParsing fastq (*.fna) files from 454 Life Sciences using biopython

Некоторое время назад на сайте был задан вопрос: можно ли переделать скрипт для парсинга больших объемов данных из GenBANK так, чтобы из большого fasta/fastq файла выбрать все записи с определенным(и) идентификатором(ами)? Например, из данных от 454 Life Sciences нужно экстрагировать только последовательности (риды) соотвествующие некоторому идентификатору.

Для того, чтобы выполнить такую задачку проще написать небольшой парсер на python (скачать все тестовые файлы и скрипт; логин – public@phylogenetics.ru; пароль: cornus). Такой парсер на входе будет принимать  (1) файл со списком идентификаторов, по которым мы будем осуществлять отбор ридов  из fasta/fastq файла, (2) сам fasta/fastq файл с данными секвенирования, (3) имя выходного файла.

Скрипт состоит из двух функций:

  • seq_dict считывает список идентификаторов и траснформирует его в форму словаря (dictionary).
  • parse_data открывает fasta/fastq файл и проверяет идентификатор каждой записи. Если идентификатор присутствует в словаре, рид записывается в выходной файл

Для того, чтобы запустить скрипт вам потребуется установленная библиотека Biopython. Прочитать как ее установить можно на сайте библиотеки. Обязательно проверьте, что библиотека установлена и работает (это можно сделать запустив команду вызова библиотеки из рабочего окна Python: from Bio.Seq import Seq). Кроме того, рекомендую прописать в переменных среды (если вы работаете под Windows) путь к Python.exe, чтобы программа запускалась из любой директории на любом диске.

После того, как вы убедились, что библиотека Biopython установлена, запустить скрип можно следующим образом.

  1. Вызываете командную строку (например для Windows XP: Start->Run-> в строке набрать cmd)
    pr26_1

  2. pr26_2
  3. С помощью команды cd переходите в директорию, где лежит скрипт и тестовые файлы (cd /D D:\site\practicle26\)pr26_3
  4. В директории набираем python.exe extract454.py data.fna codes.txt  output.fna или (если путь к Python.exe не прописан в переменных среды) C:\Python27\python.exe extract454.py data.fna codes.txt  output.fnapr26_4
  5. Ждем выполнения скрипта

    pr26_5

После этого в файле Output.fna должны остаться только записи, соответствующие идентификаторам.