Jump to content

Биопитон

(Перенаправлено с BioPython )
Биопитон
Оригинальный автор(ы) Чепмен Б., Чанг Дж. [ 1 ]
Первоначальный выпуск 17 декабря 2002 г .; 21 год назад ( 17 декабря 2002 )
Стабильная версия
1.81 [ 2 ]  Отредактируйте это в Викиданных
Репозиторий https://github.com/biopython/biopython [ 3 ]  Отредактируйте это в Викиданных
Написано в Питон и Си
Платформа Кроссплатформенность
Тип Биоинформатика
Лицензия Лицензия Биопитона
Веб-сайт биопитон .org

Проект Biopython — это с открытым исходным кодом коллекция некоммерческих инструментов Python для вычислительной биологии и биоинформатики , созданная международной ассоциацией разработчиков. [ 1 ] [ 4 ] [ 5 ] Он содержит классы для представления биологических последовательностей и аннотаций последовательностей , а также способен читать и записывать файлы различных форматов. Это также позволяет использовать программные средства доступа к онлайновым базам данных биологической информации , например, к базам данных NCBI . Отдельные модули расширяют возможности Biopython по выравниванию последовательностей , структуре белков , популяционной генетике , филогенетике , мотивам последовательностей и машинному обучению . Biopython — один из нескольких проектов Bio*, призванных уменьшить дублирование кода в вычислительной биологии . [ 6 ]

Разработка Biopython началась в 1999 году и впервые была выпущена в июле 2000 года. [ 7 ] Он был разработан в те же сроки и с теми же целями, что и другие проекты, которые добавляли возможности биоинформатики в соответствующие языки программирования, включая BioPerl , BioRuby и BioJava . Среди первых разработчиков проекта были Джефф Чанг, Эндрю Далк и Брэд Чепмен, хотя на сегодняшний день свой вклад внесли более 100 человек. [ 8 ] В 2007 году был создан аналогичный проект Python , а именно PyCogent . [ 9 ]

Первоначальная область применения Biopython включала доступ, индексирование и обработку файлов биологических последовательностей. Хотя этому по-прежнему уделяется большое внимание, в последующие годы добавленные модули расширили свою функциональность, чтобы охватить дополнительные области биологии (см. Основные функции и примеры ).

Начиная с версии 1.77, Biopython больше не поддерживает Python 2. [ 10 ]

Везде, где это возможно, Biopython следует соглашениям, используемым в языке программирования Python, чтобы облегчить работу пользователям, знакомым с Python. Например, Seq и SeqRecord объектами можно манипулировать с помощью Slicing , аналогично строкам и спискам Python. Он также функционально аналогичен другим проектам Bio*, таким как BioPerl. [ 7 ]

Biopython может читать и записывать файлы наиболее распространенных форматов для каждой из своих функциональных областей, а его лицензия является разрешительной и совместима с большинством других лицензий на программное обеспечение, что позволяет использовать Biopython в различных программных проектах. [ 5 ]

Ключевые особенности и примеры

[ редактировать ]

Последовательности

[ редактировать ]

Основной концепцией Biopython является биологическая последовательность, и она представлена Seq сорт. [ 11 ] Биопитон Seq Объект во многих отношениях похож на строку Python: он поддерживает нотацию срезов Python, может быть объединен с другими последовательностями и является неизменяемым. Кроме того, он включает методы, специфичные для последовательностей, и определяет конкретный используемый биологический алфавит.

>>> # This script creates a DNA sequence and performs some typical manipulations
>>> from Bio.Seq import Seq
>>> dna_sequence = Seq("AGGCTTCTCGTA", IUPAC.unambiguous_dna)
>>> dna_sequence
Seq('AGGCTTCTCGTA', IUPACUnambiguousDNA())
>>> dna_sequence[2:7]
Seq('GCTTC', IUPACUnambiguousDNA())
>>> dna_sequence.reverse_complement()
Seq('TACGAGAAGCCT', IUPACUnambiguousDNA())
>>> rna_sequence = dna_sequence.transcribe()
>>> rna_sequence
Seq('AGGCUUCUCGUA', IUPACUnambiguousRNA())
>>> rna_sequence.translate()
Seq('RLLV', IUPACProtein())

Аннотация последовательности

[ редактировать ]

The SeqRecord Класс описывает последовательности вместе с такой информацией, как имя, описание и функции, в форме SeqFeature объекты. Каждый SeqFeature Объект определяет тип объекта и его местоположение. Типами объектов могут быть «ген», «CDS» (кодирующая последовательность), «repeat_region», «mobile_element» и другие, а положение объектов в последовательности может быть точным или приблизительным.

>>> # This script loads an annotated sequence from file and views some of its contents.
>>> from Bio import SeqIO
>>> seq_record = SeqIO.read("pTC2.gb", "genbank")
>>> seq_record.name
'NC_019375'
>>> seq_record.description
'Providencia stuartii plasmid pTC2, complete sequence.'
>>> seq_record.features[14]
SeqFeature(FeatureLocation(ExactPosition(4516), ExactPosition(5336), strand=1), type='mobile_element')
>>> seq_record.seq
Seq("GGATTGAATATAACCGACGTGACTGTTACATTTAGGTGGCTAAACCCGTCAAGC...GCC", IUPACAmbiguousDNA())

Ввод и вывод

[ редактировать ]

Biopython может читать и записывать в ряд распространенных форматов последовательностей, включая FASTA , FASTQ , GenBank, Clustal, PHYLIP и NEXUS . При чтении файлов описательная информация в файле используется для заполнения членов классов Biopython, например: SeqRecord. Это позволяет конвертировать записи одного формата файла в другие.

Очень большие файлы последовательностей могут превышать ресурсы памяти компьютера, поэтому Biopython предоставляет различные варианты доступа к записям в больших файлах. Их можно полностью загрузить в память в структурах данных Python, таких как списки или словари , обеспечивая быстрый доступ за счет использования памяти. В качестве альтернативы файлы можно считывать с диска по мере необходимости, что снижает производительность, но требует меньше памяти.

>>> # This script loads a file containing multiple sequences and saves each one in a different format.
>>> from Bio import SeqIO
>>> genomes = SeqIO.parse("salmonella.gb", "genbank")
>>> for genome in genomes:
...     SeqIO.write(genome, genome.id + ".fasta", "fasta")

Доступ к онлайн-базам данных

[ редактировать ]

Через модуль Bio.Entrez пользователи Biopython могут загружать биологические данные из баз данных NCBI. Каждая из функций поисковой системы Entrez доступна через функции этого модуля, включая поиск и загрузку записей.

>>> # This script downloads genomes from the NCBI Nucleotide database and saves them in a FASTA file.
>>> from Bio import Entrez
>>> from Bio import SeqIO
>>> output_file = open("all_records.fasta", "w")
>>> Entrez.email = "[email protected]"
>>> records_to_download = ["FO834906.1", "FO203501.1"]
>>> for record_id in records_to_download:
...     handle = Entrez.efetch(db="nucleotide", id=record_id, rettype="gb")
...     seqRecord = SeqIO.read(handle, format="gb")
...     handle.close()
...     output_file.write(seqRecord.format("fasta"))

Филогения

[ редактировать ]
Рисунок 1: Укорененное филогенетическое дерево, созданное Bio.Phylo, показывающее взаимосвязь между гомологами Apaf-1 разных организмов. [ 12 ]
Рисунок 2. То же дерево, что и выше, нарисованное без корней с помощью Graphviz через Bio.Phylo.

Модуль Bio.Phylo предоставляет инструменты для работы и визуализации филогенетических деревьев . Для чтения и записи поддерживаются различные форматы файлов, включая Newick , NEXUS и phyloXML . Общие манипуляции с деревьями и обходы поддерживаются через Tree и Clade объекты. Примеры включают преобразование и сопоставление файлов дерева, извлечение подмножеств из дерева, изменение корня дерева и анализ таких характеристик ветвей, как длина или оценка. [ 13 ]

Корневые деревья можно рисовать в ASCII или с помощью matplotlib (см. рис. 1), а библиотеку Graphviz можно использовать для создания некорневых макетов (см. рис. 2).

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

[ редактировать ]
Рисунок 3: Схема генов плазмиды pKPS77, [ 14 ] визуализируется с помощью модуля GenomeDiagram в Biopython

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

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

[ редактировать ]

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

Используя Bio.PDB, можно перемещаться по отдельным компонентам файла структуры макромолекул, например, исследовать каждый атом белка. Можно проводить общие анализы, такие как измерение расстояний или углов, сравнение остатков и расчет глубины остатков.

Популяционная генетика

[ редактировать ]

Модуль Bio.PopGen добавляет поддержку Biopython для Genepop, пакета программного обеспечения для статистического анализа популяционной генетики. [ 17 ] Это позволяет анализировать равновесие Харди-Вайнберга , неравновесие по сцеплению в популяции и другие особенности частот аллелей .

Этот модуль также может выполнять популяционно-генетическое моделирование, используя теорию объединения с программой fastsimcoal2. [ 18 ]

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

[ редактировать ]

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

См. также

[ редактировать ]
  1. ^ Jump up to: а б Чепмен, Брэд; Чанг, Джефф (август 2000 г.). «Биопитон: инструменты Python для вычислительной биологии» . Информационный бюллетень ACM SIGBIO . 20 (2): 15–19. дои : 10.1145/360262.360268 . S2CID   9417766 .
  2. ^ «Выпуск biopython-181: зафиксировать выпуск 1.81 (# 4233)» . Проверено 22 апреля 2023 г.
  3. ^ Ошибка: невозможно правильно отобразить ссылку. смотрите в документации . Подробности
  4. ^ Кок, Питер Дж.А.; Антао, Тьяго; Чанг, Джеффри Т; Чепмен, Брэд А; Кокс, Саймон Дж; Далк, Эндрю; Фридберг, Иддо; Хамелрик, Томас; Кауфф, Фрэнк; Вильчинский, Бартек; де Хун, Мишель Дж.Л. (20 марта 2009 г.). «Биопитон: свободно доступные инструменты Python для вычислительной молекулярной биологии и биоинформатики» . Биоинформатика . 25 (11): 1422–3. doi : 10.1093/биоинформатика/btp163 . ПМЦ   2682512 . ПМИД   19304878 .
  5. ^ Jump up to: а б На веб-сайте Biopython можно найти другие статьи, описывающие Biopython , а также список из более чем ста публикаций, использующих или цитирующих Biopython .
  6. ^ Мангалам, Гарри (сентябрь 2002 г.). «Наборы инструментов Bio* — краткий обзор» . Брифинги по биоинформатике . 3 (3): 296–302. дои : 10.1093/нагрудник/3.3.296 . ПМИД   12230038 .
  7. ^ Jump up to: а б Чепмен, Брэд (11 марта 2004 г.), Проект Biopython: Философия, функциональность и факты (PDF) , получено 11 сентября 2014 г.
  8. ^ Список участников Biopython , заархивировано из оригинала 11 сентября 2014 г. , получено 11 сентября 2014 г.
  9. ^ Найт, Р; Максвелл, П; Бирмингем, А; Карнс, Дж; Капорасо, Дж.Г.; Истон, Британская Колумбия; Итон, М; Хамади, М; Линдси, Х; Лю, З; Лозупон, С; Макдональд, Д; Робсон, М; Саммут, Р; Смит, С; Уэйкфилд, MJ; Видманн, Дж; Викман, С; Уилсон, С; Ин, Х; Хаттли, Джорджия (2007). «Py Cogent : набор инструментов для понимания последовательности» . Геномная биология . 8 (8): 171 р. дои : 10.1186/gb-2007-8-8-r171 . ПМК   2375001 . ПМИД   17708774 .
  10. ^ Дэйли, Крис, выпущен Biopython 1.77 , получено 6 октября 2021 г.
  11. ^ Чанг, Джефф; Чепмен, Брэд; Фридберг, Иддо; Хамелрик, Томас; де Хун, Мишель; Кок, Питер; Антао, Тьяго; Талевич, Эрик; Вильчинский, Бартек (29 мая 2014 г.), Учебное пособие и кулинарная книга по Biopython , получено 28 августа 2014 г.
  12. ^ Змасек, Кристиан М; Чжан, Цин; Йе, Южен; Годзик, Адам (24 октября 2007 г.). «Удивительная сложность наследственной сети апоптоза» . Геномная биология . 8 (10): 226 р. дои : 10.1186/gb-2007-8-10-r226 . ПМК   2246300 . ПМИД   17958905 .
  13. ^ Талевич, Эрик; Инверго, Брэндон М; Кок, Питер Дж.А.; Чепмен, Брэд А. (21 августа 2012 г.). «Bio.Phylo: унифицированный набор инструментов для обработки, анализа и визуализации филогенетических деревьев в Biopython» . БМК Биоинформатика . 13 (209): 209. дои : 10.1186/1471-2105-13-209 . ПМЦ   3468381 . ПМИД   22909249 .
  14. ^ «Плазмида pKPS77 штамма Klebsiella pneumoniae KPS77, полная последовательность» . НКБИ . Проверено 10 сентября 2014 г.
  15. ^ Причард, Лейтон; Уайт, Дженнифер А; Берч, Пол Р.Дж.; Тот, Ян К. (март 2006 г.). «GenomeDiagram: пакет Python для визуализации крупномасштабных геномных данных» . Биоинформатика . 22 (5): 616–617. doi : 10.1093/биоинформатика/btk021 . ПМИД   16377612 .
  16. ^ Хамелрик, Томас; Мандерик, Бернар (10 мая 2003 г.). «Парсер файлов PDB и класс структуры, реализованные на Python» . Биоинформатика . 19 (17): 2308–2310. doi : 10.1093/биоинформатика/btg299 . ПМИД   14630660 .
  17. ^ Руссе, Франсуа (январь 2008 г.). «GENEPOP'007: полная повторная реализация программного обеспечения GENEPOP для Windows и Linux». Ресурсы молекулярной экологии . 8 (1): 103–106. дои : 10.1111/j.1471-8286.2007.01931.x . ПМИД   21585727 . S2CID   25776992 .
  18. ^ Экскофье, Лоран; Фолль, Матье (1 марта 2011 г.). «fastsimcoal: непрерывный коалесцентный симулятор геномного разнообразия в условиях произвольно сложных эволюционных сценариев» . Биоинформатика . 27 (9): 1332–1334. doi : 10.1093/биоинформатика/btr124 . ПМИД   21398675 .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 8703c1326f370e875c30e5e12d931c2f__1721794800
URL1:https://arc.ask3.ru/arc/aa/87/2f/8703c1326f370e875c30e5e12d931c2f.html
Заголовок, (Title) документа по адресу, URL1:
Biopython - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)