Оболочка 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.
Проект BioRuby был впервые запущен в 2000 году Тошиаки Катаямой как Ruby реализация подобных пакетов биоинформатики, таких как BioPerl и BioPython. Первоначальный выпуск версии 0.1 часто обновлялся участниками как неофициально, так и на организованных «хакатонах», последний выпуск версии 1.4.3.0001 состоялся в мае 2013 года.
В июне 2005 года BioRuby финансировалась IPA как исследовательский программный проект, кульминацией которого стал выпуск версии 1.0.0 в феврале 2006 года.
BioRuby был в центре внимания ряда проектов Google Summer of Code, включая:
Приведенный выше список выпусков сокращен; полный список можно найти здесь.
BioRuby может быть установлен на любой экземпляр Ruby; поскольку Ruby является языком с высокой степенью кросс-платформенности, BioRuby доступен в большинстве современных операционных систем.
Перед установкой BioRuby необходимо установить Ruby.
В macOS по умолчанию установлены Ruby и RubyGems, а для Unix / Linux рекомендуется установка RubyGems.
Если установлены Ruby и RubyGems, BioRuby можно установить с помощью этой команды через терминал;
% sudo gem install bio
Если вам нужно установить из дистрибутива исходного кода, получите последний пакет из архива и в исходном каталоге bioruby выполните следующие команды;
% su # ruby setup.rb
Настоятельно рекомендуется установка через RubyGems; для этого необходимо установить Ruby и RubyGems, а затем выполнить следующую команду в командной строке;
>gem install bio
Доступ к BioRuby можно получить через терминал, Ruby IDE или через реализацию BioRubyOnRails. Инструкции по установке и использованию BioRubyOnRails можно найти по адресу bioruby.open-bio.org/w/BioRubyOnRails.
Ниже приведены примеры основных манипуляций с последовательностью с использованием BioRuby. Вы можете найти больше примеров синтаксиса на bioruby.open-bio.org/w/SampleCodes#.
Анализ строки в объект 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"
Это пример, демонстрирующий простоту BioRuby. Для преобразования объекта последовательности в строку не требуется вызова какого-либо метода.
Разбор объекта последовательности в строку.
#! / Usr / bin / env ruby # вы можете использовать объект Bio :: Sequence как объект String для печати, без проблем dna = Bio :: Sequence :: NA.new ("atgc") помещает dna # =>"atgc" str = dna.to_s put str # =>"atgc"
Нет необходимости преобразовывать последовательность ДНК к последовательности РНК или наоборот до ее трансляции в 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"
Чтобы распечатать любой объект 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 для чтения и выполняет итерацию по каждой последовательности в файле.
#! / 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 предоставляет набор инструментов для биоинформатиков, которые хотят кодировать приложение или библиотеку, использующую или расширяющую базовую библиотеку BioRuby, а также делиться кодом как драгоценным камнем на rubygems.org. Любой драгоценный камень, опубликованный через платформу Biogem, также указан на biogems.info.
Цель Biogem - продвигать модульный подход к пакету BioRuby и упростить создание модулей за счет автоматизации процесса создания скаффолдинга каталогов / файлов., репозиторий git и выпуск онлайн-баз данных пакетов.
Biogem использует github.com и rubygems.org и требует настройки уникальных учетных записей на этих веб-сайтах.
# | Biogem | Описание | Версия |
---|---|---|---|
1 | bio | Библиотека биоинформатики | 1.4.3.0001 |
2 | биоразнообразие | Синтаксический анализатор научных названий | 3.1.5 |
3 | Простой экстрактор электронных таблиц | Базовое извлечение содержимого электронных таблиц с использованием Apache poi | 0.13.3 |
4 | Bio gem | Программный генератор для Ruby | 1.36 |
5 | Bio samtools | Связыватель samtools для Ruby | 2.1.0 |
6 | t2 server | Поддержка взаимодействия с сервером taverna 2 | 1.1.0 |
7 | bio ucsc api | Ruby ucsc api | 0.6.2 |
8 | entrez | http-запрос к entrez e-utilities | 0.5.8.1 |
9 | био-гаджет | Гаджет для биоинформатики | 0,4.8 |
10 | сервер последовательностей | Быстрый поиск - это просто! | 0.8.7 |
BioRuby будет иметь законченную систему плагинов в версии 1.5.