Скрипт для быстрого анализа покрытия генов в базе GENBANKBiopython script to analyse gene coverage in GENBANK for a given taxa

By | 5 April 2012

В связи с тем, что объемы информации в базе генетических данных GENBANK растут невероятными темпами, очень часто пользователям приходиться выяснять покрытие генов для определенной таксономической группы. Например, перед тем как провести реконструкцию филогенетического дерева, хочется узнать какие гены являются наиболее полно представленными в базе. При “ручном” решении задача является очень трудоемкой – так как нужно отсмотреть сотни или даже тысячи страниц с результатами поиска вида через интерфейс NCBI, выбрать наиболее представленные гены, определиться с перспективными референсными последовательностями и лишь потом – загрузить сами данные из базы.

Для того, чтобы упростить эту задачу был написан скрипт на biopython, который позволяет автоматически собрать статистику по представленности генов в базе данных GENBANK  в пределах конкретной таксономической группы. В качестве единственного параметра скрипт принимает название таксономической группы (например, вид, род, семейство, порядок, и т.д.). Важно понимать, что скрипт будет загружать на локальный компьютер данные в формате genbank перед тем, как проводить парсинг записей и сбор статистики, поэтому не рекомендуется запращивать, к примеру, все набор данных для Angiosperms – загруженный файл будет огромным по размерам, а ваш IP может быть заблокирован NCBI.

Картинка для featured image поста взята отсюда

Cкрипт ниже написанный на R автоматически обрабатывает выходной файл скрипта на питоне и позволяет сразу получить таблицу, в которой первая колонка будет уникальное название гена, затем сколько раз ген был встречен в данной таксономической группе, ID референсной генетической последовательности (наиболее длинной последовательности) и число уникальных видов для которых был отскевенирован данный ген.

 В связи с тем, что объемы информации в базе генетических данных GENBANK растут невероятными темпами, очень часто пользователям приходиться выяснять покрытие генов для определенной таксономической группы. Например, перед тем как провести реконструкцию филогенетического дерева, хочется узнать какие гены являются наиболее полно представленными в базе. При “ручном” решении задача является очень трудоемкой – так как нужно отсмотреть сотни или даже тысячи страниц с результатами поиска вида через интерфейс NCBI, выбрать наиболее представленные гены, определиться с перспективными референсными последовательностями и лишь потом – загрузить сами данные из базы.

Для того, чтобы упростить эту задачу был написан скрипт на biopython, который позволяет автоматически собрать статистику по представленности генов в базе данных GENBANK  в пределах конкретной таксономической группы. В качестве единственного параметра скрипт принимает название таксономической группы (например, вид, род, семейство, порядок, и т.д.). Важно понимать, что скрипт будет загружать на локальный компьютер данные в формате genbank перед тем, как проводить парсинг записей и сбор статистики, поэтому не рекомендуется запращивать, к примеру, все набор данных для Angiosperms – загруженный файл будет огромным по размерам, а ваш IP может быть заблокирован NCBI.

Картинка для featured image поста взята отсюда

 

Cкрипт ниже написанный на R автоматически обрабатывает выходной файл скрипта на питоне и позволяет сразу получить таблицу, в которой первая колонка будет уникальное название гена, затем сколько раз ген был встречен в данной таксономической группе, ID референсной генетической последовательности (наиболее длинной последовательности) и число уникальных видов для которых был отскевенирован данный ген.

 

2 thoughts on “Скрипт для быстрого анализа покрытия генов в базе GENBANKBiopython script to analyse gene coverage in GENBANK for a given taxa

  1. olga

    Anna, zdravstvujte! U menia slozhnij, no, vozhmozhno, glupij vopros. Mozhno li s pomoshju podobnogo skripta “extragirovat” opredelennie sequensi (znaia nazvania, okolo 2000 raznih) iz 454 Sequensing Report .fna-file?
    Zaranee blagodarna za otvet!
    Olga

    1. Anna Post author

      можно, но надо немного переделать скрипт или даже простенький парсер написать.

      а названия идут в отдельном файле? одна строка – одно название?

      если хотите, пришлите мне на почту пример файла и пример списка, подскажу как переделать скрипт (anna.kostikova [sobaka] gmail.com) – а то тут неудобно выкладывать примеры и принтскрины

Comments are closed.