Введение

Сборник инструментов Python с открытым исходным кодом для вычислительной биологии.

История

Разработка Biopython началась в 1999 году, а первый релиз состоялся в июле 2000 года. Она велась параллельно и с аналогичными целями с другими проектами, добавлявшими возможности биоинформатики в соответствующие языки программирования, такими как BioPerl, BioRuby и BioJava. Среди первых разработчиков проекта были Джефф Чанг, Эндрю Далк и Брэд Чепмен, однако на сегодняшний день вклад в него внесли более 100 человек. В 2007 году был создан схожий проект на Python – PyCogent. Изначально Biopython был ориентирован на доступ, индексацию и обработку файлов биологических последовательностей. Хотя это направление остается ключевым, в последующие годы добавленные модули расширили его функциональность, охватив и другие области биологии (см. Основные возможности и примеры). Начиная с версии 1.77, Biopython прекращает поддержку Python 2.

Филогения

Модуль Bio.Phylo предоставляет инструменты для работы с филогенетическими деревьями и их визуализации. Поддерживаются различные форматы файлов для чтения и записи, включая Newick, NEXUS и phyloXML. Распространенные манипуляции с деревьями и обходы поддерживаются через объекты Tree и Clade. Примеры включают преобразование и объединение файлов деревьев, извлечение подмножеств из дерева, изменение корня дерева и анализ характеристик ветвей, таких как длина или оценка. Деревья с корнем можно отобразить в формате ASCII или с помощью matplotlib (см. Рисунок 1), а библиотека Graphviz может использоваться для создания макетов без корня (см. Рисунок 2).

Диаграммы генома

Модуль GenomeDiagram предоставляет методы визуализации последовательностей в Biopython. Последовательности могут быть отображены в линейной или круговой форме (см. рисунок 3), поддерживаются различные форматы вывода, включая PDF и PNG. Диаграммы создаются путем добавления треков, а затем – элементов последовательности на эти треки. Перебирая элементы последовательности и используя их атрибуты для определения, добавлять ли их на треки диаграммы и как, можно добиться значительного контроля над внешним видом итоговой диаграммы. Возможно построение перекрестных ссылок между разными треками, что позволяет сравнивать несколько последовательностей на одной диаграмме.

Макромолекулярная структура

Модуль Bio.PDB может загружать молекулярные структуры из файлов PDB и mmCIF и был добавлен в Biopython в 2003 году. Объект Structure является центральным в этом модуле и организует макромолекулярную структуру иерархически: объекты Structure содержат объекты Model, которые содержат объекты Chain, которые содержат объекты Residue, которые содержат объекты Atom. Неупорядоченные остатки и атомы имеют собственные классы DisorderedResidue и DisorderedAtom, описывающие их неопределенные положения. С помощью Bio.PDB можно перемещаться по отдельным компонентам файла макромолекулярной структуры, например, просматривать каждый атом в белке. Можно выполнять стандартные анализы, такие как измерение расстояний или углов, сравнение остатков и вычисление глубины остатков.

Генетика популяций

Био. Модуль PopGen добавляет поддержку Biopython для Genepop – программного пакета для статистического анализа популяционной генетики. Это позволяет проводить анализ равновесия Харди — Вайнберга, неравновесия сцепления и других характеристик частот аллелей в популяции. Этот модуль также может выполнять популяционно-генетические симуляции, используя теорию коалесценции с программой fastsimcoal2.

Оболочки для инструментов командной строки

Многие модули Biopython содержат обертки для командной строки для часто используемых инструментов, позволяя использовать эти инструменты непосредственно из Biopython. Эти обертки включают BLAST, Clustal, PhyML, EMBOSS и SAMtools. Пользователи могут создавать подклассы от базового класса обертки, чтобы добавить поддержку любого другого инструмента командной строки.