BioRuby

редактировать
BioRuby
Bioruby package logo.png
Оболочка BioRuby на Rails Оболочка BioRuby на Rails
Стабильный выпуск 1.5.2 / 19 ноября 2018 г.; 22 месяца назад (2018-11-19)
Репозиторий Отредактируйте это в Викиданных
Написано наRuby
Тип Биоинформатика
Лицензия GPL
Веб-сайтbioruby.open-bio.org

BioRuby представляет собой сборник с открытым исходным кодом Код Ruby, содержащий классы вычислительной молекулярной биологии и биоинформатики. Он содержит классы для анализа последовательностей ДНК и белков , выравнивания последовательностей, синтаксического анализа биологических баз данных, структурной биологии и других задач биоинформатики.

BioRuby - это выпущен под GNU GPL версией 2 или лицензией Ruby и является одним из ряда проектов Bio *, предназначенных для уменьшения дублирования кода.

В 2011 году BioRuby Проект представил систему плагинов для программного обеспечения Biogem и перечислены на biogems.info, с добавлением двух или трех новых плагинов каждый месяц.

Управление BioRuby осуществляется через веб-сайт bioruby.org и репозиторий BioRuby GitHub.

Содержание
  • 1 История
    • 1.1 BioRuby
    • 1.2 История версий
  • 2 Установка
    • 2.1 Установка BioRuby
      • 2.1.1 macOS / Unix / Linux
      • 2.1.2 Windows
    • 2.2 Использование
  • 3 Базовый синтаксис
    • 3.1 Основные манипуляции с последовательностью
      • 3.1.1 Строка в объект Bio :: Sequence
      • 3.1.2 Объект Bio :: Sequence в строку
    • 3.2 Трансляция
      • 3.2.1 Трансляция последовательности ДНК или РНК или списка символов в оротеин
      • 3.2.2 Трансляция один кодон для одной аминокислоты
    • 3.3 Ввод-вывод последовательности
      • 3.3.1 Запись последовательностей в формате Fasta
      • 3.3.2 Чтение в файле Fasta
  • 4 Классы и модули
    • 4.1 Основные классы
      • 4.1.1 Базовая структура данных
      • 4.1.2 Базы данных и форматы файлов последовательностей
      • 4.1.3 Оболочка и парсеры для инструмента биоинформатики
      • 4.1.4 Файловый, сетевой и базовый ввод-вывод
  • 5 Biogem
    • 5.1 Популярные Biogems
  • 6 Плагины
  • 7 См. Также
    • 7.1 BioRuby
    • 7.2 Ссылки на Ruby / биоинформатика
    • 7.3 Сестринские проекты
    • 7.4 Блоги
  • 8 Ссылки
  • 9 Внешние ссылки
История

BioRuby

Проект BioRuby был впервые запущен в 2000 году Тошиаки Катаямой как Ruby реализация подобных пакетов биоинформатики, таких как BioPerl и BioPython. Первоначальный выпуск версии 0.1 часто обновлялся участниками как неофициально, так и на организованных «хакатонах», последний выпуск версии 1.4.3.0001 состоялся в мае 2013 года.

В июне 2005 года BioRuby финансировалась IPA как исследовательский программный проект, кульминацией которого стал выпуск версии 1.0.0 в феврале 2006 года.

BioRuby был в центре внимания ряда проектов Google Summer of Code, включая:

История версий

  • 0.7.0 18 декабря 2005 г. (438 КБ)
  • 1.0.0 26 февраля 2006 г. (528 КБ)
  • 1.4.3.0001 24 мая 2013 г. (1,42 МБ)

Приведенный выше список выпусков сокращен; полный список можно найти здесь.

Установка

BioRuby может быть установлен на любой экземпляр Ruby; поскольку Ruby является языком с высокой степенью кросс-платформенности, BioRuby доступен в большинстве современных операционных систем.

Перед установкой BioRuby необходимо установить Ruby.

Установка BioRuby

macOS / Unix / Linux

В macOS по умолчанию установлены Ruby и RubyGems, а для Unix / Linux рекомендуется установка RubyGems.

Если установлены Ruby и RubyGems, BioRuby можно установить с помощью этой команды через терминал;

% sudo gem install bio

Если вам нужно установить из дистрибутива исходного кода, получите последний пакет из архива и в исходном каталоге bioruby выполните следующие команды;

% su # ruby ​​setup.rb

Windows

Настоятельно рекомендуется установка через RubyGems; для этого необходимо установить Ruby и RubyGems, а затем выполнить следующую команду в командной строке;

>gem install bio

Использование

Доступ к BioRuby можно получить через терминал, Ruby IDE или через реализацию BioRubyOnRails. Инструкции по установке и использованию BioRubyOnRails можно найти по адресу bioruby.open-bio.org/w/BioRubyOnRails.

Базовый синтаксис

Ниже приведены примеры основных манипуляций с последовательностью с использованием BioRuby. Вы можете найти больше примеров синтаксиса на bioruby.open-bio.org/w/SampleCodes#.

Basic Sequence Manipulation

String to Bio :: Sequence object

Анализ строки в объект Bio :: Sequence.

#! / Usr / bin / env ruby ​​require 'bio' # создать объект последовательности ДНК из строки dna = Bio :: Sequence :: NA.new ("atcggtcggctta") # создать объект последовательности РНК из строки rna = Bio :: Sequence :: NA.new ("auugccuacauaggc") # создать последовательность белка из строки aa = Bio :: Sequence :: AA.new ("AGFAVENDSA") # вы можете проверить, содержит ли последовательность недопустимые символы # который не является допустимым символом IUB для этого символа # (также следует подготовить метод Bio :: Sequence :: AA # незаконные_символы) помещает dna.illegal_bases # переводит и объединяет последовательность ДНК в последовательность белка newseq = aa + dna.translate помещает newseq # =>"AGFAVENDSAIGRL"

Объект Bio :: Sequence в String

Это пример, демонстрирующий простоту BioRuby. Для преобразования объекта последовательности в строку не требуется вызова какого-либо метода.

Разбор объекта последовательности в строку.

#! / Usr / bin / env ruby ​​# вы можете использовать объект Bio :: Sequence как объект String для печати, без проблем dna = Bio :: Sequence :: NA.new ("atgc") помещает dna # =>"atgc" str = dna.to_s put str # =>"atgc"

Translation

Перевод последовательности ДНК или РНК или списка символов в оротеин

Нет необходимости преобразовывать последовательность ДНК к последовательности РНК или наоборот до ее трансляции в BioRuby. Вы можете просто вызвать метод translate для объекта Bio :: Sequence :: NA.

#! / Usr / bin / env ruby ​​require 'bio' # создать последовательность ДНК seq = Bio :: Sequence :: NA.new ("atggccattgaatga") # перевести в протеин prot = seq.translate # доказать, что это worker put seq # =>"atggccattgaatga" put prot # =>"MAIE *"

Перевод одного кодона в отдельную аминокислоту

Общий пример перевода показывает, как использовать метод translate в Bio: : Sequence :: NA, но большая часть происходящего скрыта за вспомогательным методом. Если вы хотите преобразовать только один кодон в одну аминокислоту, вы получите немного больше кровавых деталей, но также получите возможность узнать больше о том, что происходит под капотом.

#! / Usr / bin / env ruby ​​require 'bio' # создаем 'codon' codon = Bio :: Sequence :: NA.new ("uug") # вы можете перевести кодон, как описано в предыдущем разделе. put codon.translate # =>"L"

Другой способ сделать это:

#! / usr / bin / env ruby ​​require 'bio' # make a 'codon' codon = Bio :: Sequence: : NA.new ("uug") # выберите стандартную таблицу кодонов codon_table = Bio :: CodonTable [1] # Вам нужно преобразовать кодоны РНК в алфавиты ДНК, потому что # CodonTable в BioRuby реализована как статический хеш с выраженными ключами # в алфавитах ДНК (не алфавитах РНК). codon2 = codon.dna # получить представление этого кодона и преобразовать его в аминокислоту. amino_acid = codon_table [codon2] помещает amino_acid # =>"L"

Ввод / вывод последовательности

Запись последовательностей в формате Fasta

Чтобы распечатать любой объект Bio :: Sequence в формате FASTA, Все, что вам нужно, - это вызвать "Puts objectName.is_fasta ()"

#! / Usr / bin / env ruby ​​require 'bio' # Генерирует образец последовательности 100bp. seq1 = Bio :: Sequence :: NA.new ("aatgacccgt" * 10) # Назовите эту последовательность "testseq" и распечатайте в формате FASTA # (сгибая по 60 символов в строке). помещает seq1.to_fasta ("testseq", 60)

Чтение в файле Fasta

Эта программа открывает файл формата FASTA для чтения и выполняет итерацию по каждой последовательности в файле.

#! / Usr / bin / env ruby ​​require 'bio' file = Bio :: FastaFormat.open (ARGV.shift) file.each do | entry | # делать что-нибудь в конце каждой записи последовательности fasta

Эта программа автоматически обнаруживает и считывает файлы формата FASTA, указанные в качестве аргументов.

#! / Usr / bin / env ruby ​​require 'bio' Bio :: FlatFile.auto (ARGF) do | ff | ff.each do | entry | # сделать что-нибудь в конце каждой записи fasta-последовательности end

Аналогично, но явно указать формат FASTA.

#! / Usr / bin / env ruby ​​require 'bio' Bio :: FlatFile.open (Bio :: FastaFormat, ARGV [0]) do | ff | ff.each do | entry | # сделать что-нибудь в конце каждой записи последовательности fasta

См. другие примеры синтаксиса на SampleCodes

Классы и модули

Основные классы

Приведенные ниже классы были идентифицированы группа основных участников кода в качестве основных классов.

Базовая структура данных

Эти классы позволяют эффективно хранить сложную структуру биологических данных.

Имена классовОписание
Bio :: Sequence :: NA, Bio :: Sequence :: AA Нуклеиновые и аминокислотные последовательности
Bio :: Locations, Bio :: Features Местоположение / Аннотации
Bio :: Reference, Bio :: PubMed Литература
Bio :: Pathway, Bio :: RelationГрафики
Bio :: Alignment Выравнивания

Базы данных и форматы файлов последовательностей

Доступ к биологическим базам данных онлайн и чтение из распространенных форматов файлов.

Имена классовОписание
Bio :: GenBank, Bio :: EMBL GenBank / EMBL
Bio :: SPTR, Bio :: NBRF, Bio :: PDB SwissProt и TrEMBL / PIR / PDB
Bio :: FANTOM FANTOM DB (Функциональная аннотация мыши)
Bio :: KEGG Парсеры базы данных KEGG
Bio :: GO, Bio :: GFF Формат Bio :: PROSITE FASTA / мотивы PROSITE
Bio :: FastaFormat, Bio :: PROSITE Формат FASTA / мотивы PROSITE

Обертка и парсеры для инструмента биоинформатики

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

Имена классовОписание
Bio :: Blast, Bio :: Fasta, Bio :: HMMER Сходство последовательностей (BLAST / FASTA / HMMER)
Bio :: ClustalW, Bio :: MAFFT Множественное выравнивание последовательностей (ClustalW / MAFFT)
Bio :: PSORT, Bio :: TargetP Субклеточная локализация белка (PSORT / TargetP)
Bio :: SOSUI, Bio :: TMHMM Прогнозирование трансмембранной спирали (SOSUI / TMHMM)
Bio :: GenScan Поиск генов (GenScan)

Ввод-вывод файлов, сети и базы данных

Имена классовОписание
Bio :: Registry Служба реестра OBDA
Bio :: SQL Схема OBDA BioSQL RDB
Bio :: Fetch OBDA BioFetch через HTTP
Bio :: FlatFileIndex Система индексации плоских файлов OBDA
Система индексации плоских файлов OBDAПлоский файл считыватель с автоматическим определением формата данных
Bio :: DAS Распределенная система аннотаций (DAS)
Bio :: KEGG :: API интерфейс SOAP / WSDL для KEGG

Полный список классов и модулей можно найти на bioruby.org/rdoc/.

Biogem

Biogem предоставляет набор инструментов для биоинформатиков, которые хотят кодировать приложение или библиотеку, использующую или расширяющую базовую библиотеку BioRuby, а также делиться кодом как драгоценным камнем на rubygems.org. Любой драгоценный камень, опубликованный через платформу Biogem, также указан на biogems.info.

Цель Biogem - продвигать модульный подход к пакету BioRuby и упростить создание модулей за счет автоматизации процесса создания скаффолдинга каталогов / файлов., репозиторий git и выпуск онлайн-баз данных пакетов.

Biogem использует github.com и rubygems.org и требует настройки уникальных учетных записей на этих веб-сайтах.

Популярные биогемы

#BiogemОписаниеВерсия
1bio Библиотека биоинформатики1.4.3.0001
2биоразнообразие Синтаксический анализатор научных названий3.1.5
3Простой экстрактор электронных таблиц Базовое извлечение содержимого электронных таблиц с использованием Apache poi0.13.3
4Bio gem Программный генератор для Ruby1.36
5Bio samtools Связыватель samtools для Ruby2.1.0
6t2 server Поддержка взаимодействия с сервером taverna 21.1.0
7bio ucsc api Ruby ucsc api0.6.2
8entrez http-запрос к entrez e-utilities0.5.8.1
9био-гаджет Гаджет для биоинформатики0,4.8
10сервер последовательностей Быстрый поиск - это просто!0.8.7
Плагины

BioRuby будет иметь законченную систему плагинов в версии 1.5.

См. Также

BioRuby

Ruby / bioinformatics ссылки

Сестринские проекты

Блоги

Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-12 06:39:22
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте