Онтология биомедицинских исследований (OBI) помогает вам четко рассказывать о научных исследованиях, определяя более 2500 терминов для анализов, устройств, целей и многого другого.
Это репозиторий разработчиков для OBI. Вы можете скачать самые последние версии продуктов OBI здесь и узнать больше об OBI из нашей документации.
Наши термины онтологии делятся на три группы. В зависимости от того, какой тип термина вы хотите отредактировать или добавить, вам придется пройти разными путями:
внешние условия (из других онтологий): для импорта мы используем OntoFox. Отредактируйте соответствующий файл src/ontology/OntoFox_inputs/
.
термины шаблонов: мы используем шаблоны ROBOT для преобразования электронных таблиц в OWL. Отредактируйте соответствующий файл src/ontology/templates/
:
obsolete.tsv
для устаревших терминовassays.tsv
для общих анализовepitope-assays.tsv
специально для анализа иммунных эпитоповvalue-specifications.tsv
specimens.tsv
для образцовmedical-history.tsv
для классификаций историй болезни и связанных с ними критериев выбора.study-designs.tsv
для дизайна исследованийdata-sets.tsv
для наборов данных другие термины: отредактируйте src/ontology/obi-edit.owl
в Protege.
Ниже приведен полный список файлов, инструкции по сборке и инструкции по использованию Git и GitHub для OBI.
Если вы хотите импортировать термины из онтологии, для которой в OBI в настоящее время нет файла импорта OntoFox ( src/ontology/OntoFox_inputs/
), выполните следующие действия:
catalog-v001.xml
, чтобы в нем был указан новый файл импорта так же, как в нем перечислены существующие файлы импорта.obi-edit.owl
.src/ontology/OntoFox_outputs/
, например, чтобы сделать фальшивый вывод для импорта foo.owl: touch src/ontology/OntoFox_outputs/foo_imports.owl
make imports
make obi.owl
Если вы хотите отредактировать шаблон или шаблоны в Excel, а не копировать и вставлять шаблон, мы просим вас следовать этому рабочему процессу, чтобы сохранить цитирование. Переход туда и обратно с Excel может привести к непреднамеренным изменениям в двойных кавычках в шаблонах.
Сначала установите требования Python:
python3 -m pip install -r requirements.txt
Затем создайте лист Excel. В локальном каталоге git OBI выполните следующую команду, чтобы создать файл с именем obi.xlsx
:
make obi.xlsx
Затем откройте obi.xlsx
в Excel (или любом другом редакторе, который вы предпочитаете). Эта электронная таблица содержит вкладку для каждого шаблона ИОБ (например, «дизайн исследования», «анализы» и т. д.). Найдите вкладку, соответствующую шаблону, который нужно отредактировать, внесите изменения и сохраните таблицу Excel в том же месте ( obi.xlsx
). Наконец, выполните следующую команду, чтобы обновить версии шаблонов TSV:
make update-tsv
Это преобразует вкладки в obi.xlsx
обратно в TSV и перезапишет существующие TSV в каталоге src/ontology/templates/
с вашими изменениями. Просмотрите свои изменения ( git diff
) и отправьте запрос на включение.
Чтобы узнать, где находится термин, вы можете использовать src/scripts/locate.py
.
Затем вы можете запустить скрипт для поиска терминов по идентификатору или метке, передав их в виде списка, разделенного пробелами, например:
src/scripts/locate.py OBI:0000070 CHMO:0000087 GO:0000785
Метки должны быть заключены в двойные кавычки:
src/scripts/locate.py "assay" "fluorescence microscopy" "chromatin"
Репозиторий OBI включает в себя несколько скриптов Python, которые помогут разработчикам эффективно редактировать шаблоны obi-edit.owl
и OBI. Для этих сценариев требуется Python 3.
Сценарии также требуют, чтобы вы сначала создали две базы данных (одну из редактирования OBI и одну из объединенной версии OBI):
make obi-dbs
Поскольку в шаблонах используются метки, поиск и замена всех использований термина вручную может оказаться трудным и утомительным занятием. Вместо этого вы можете использовать src/scripts/relabel.py
для автоматического обновления метки термина и его использования.
Вы можете запустить это, передав термин, который хотите обновить, и новую метку:
src/scripts/relabel.py CHMO:0000087 "microscopy with fluorescence"
Вы также можете передать старую метку в качестве первого аргумента, если она заключена в двойные кавычки:
src/scripts/relabel.py "fluorescence microscopy" "microscopy with fluorescence"
Обязательно зафиксируйте все измененные файлы, чтобы обеспечить обновление всех использований.
README.md
этот обзорный документobi.owl
последний выпуск ОБИMakefile
для построения OBIviews/
различные специализированные просмотры ОБИobi.obo
последняя версия OBI в формате файла .obo
obi_core.owl
последняя версия OBI Core: ~100 ключевых терминовsrc/
ontology/
исходные файлы для OBIobi-edit.owl
основной файл OBI OWLcore.txt
список основных терминов OBIexternal-byhand.owl
некоторые пользовательские импорты из других онтологийcatalog-v001.xml
художественный список переопределений импорта OWL.templates/
файлы шаблонов РОБОТОВ для различных филиалов ОБИmodules/
результаты шаблонов РОБОТОВOntoFox_inputs/
Конфигурационные файлы OntoFox для импорта из других онтологийOntoFox_outputs/
Файлы результатов OntoFoxsparql/
SPARQL для построения и проверки OBIscripts/
служебные скриптыviews/
конфигурация для представлений Makefile
содержит сценарии для создания OBI. В macOS или Linux вы сможете просто запустить make
или одну из конкретных задач, указанных ниже. В Windows рассмотрите возможность использования какой-либо виртуальной машины Linux, например Docker или Vagrant. Большинство результатов будет находиться в каталоге build/
. Если у вас возникнут проблемы, свяжитесь с Джеймсом.
make test
и запустить тесты SPARQL (это запускается при каждом отправке на GitHub)make sort
шаблоны сортировки и исправить кавычки и окончания строк.make imports
обновить импорт OntoFoxmake modules
обновлять шаблоны РОБОТОВmake obi.owl
построить файл выпуска; рассуждения могут занять около 10 минутmake views
обновлять шаблоны РОБОТОВmake all
подготовиться к выпуску, запустить imports
, modules
, test
, obi.owl
и views
make build/obi_merged.owl
объединить obi-edit.owl
в один файл, не рассуждайmake clean
удалить временные файлыДля разработки OBI мы используем git и GitHub. По обоим есть много хорошей документации:
Прежде чем вы сможете начать разработку с помощью OBI, вам необходимо выполнить некоторые первоначальные настройки:
зарегистрируйте учетную запись GitHub
установите инструмент командной строки Git, приложение GitHub Desktop или другой клиент Git по вашему выбору.
настройте Git, указав свое имя и адрес электронной почты
клонировать репозиторий OBI
если вы используете macOS и Excel, настройте перехватчик предварительной фиксации (подробности см. ниже):
ln -s ../../src/scripts/check-line-endings.sh .git/hooks/pre-commit
Изменения следует вносить по частям, например, добавлять один термин или редактировать несколько связанных терминов. Большинство изменений должно соответствовать одной проблеме на трекере.
Начните с локальной копии master
ветки репозитория OBI. Убедитесь, что ваша локальная копия обновлена. Внесите изменения в новую ветку. Для управления новыми идентификаторами используйте таблицу резервирования временных идентификаторов OBI.
Когда вы будете готовы, отправьте свою ветку в репозиторий OBI и сделайте запрос на включение (PR) на веб-сайте GitHub. Ваш пиар — это просьба объединить вашу ветку обратно в master
. Ваш пиар будет протестирован, обсужден, при необходимости скорректирован, а затем объединен. Затем цикл может повториться для следующего изменения, которое внесет вы или другой разработчик.
Это шаги с их командами CLI. При использовании приложения с графическим интерфейсом действия будут такими же.
git fetch
убедитесь, что ваша локальная копия обновленаgit checkout master
запускается в master
веткеgit checkout -b your-branch-name
создайте новую ветку, названную в соответствии с вносимым вами изменениемmake sort
и нормализовать таблицы для более чистых различийgit status
и git diff
проверяют ваши измененияgit add --update src/
добавить все обновленные файлы в каталоге src/
в промежуточную версиюgit commit --message "Description, issue #123"
зафиксировать промежуточные изменения с сообщением; хорошо бы указать номер проблемыgit push --set-upstream origin your-branch-name
отправить ваш коммит на GitHubВаш запрос на включение будет автоматически протестирован. Если возникнут проблемы, мы обновим вашу ветку. После прохождения всех тестов ваш PR будет рассмотрен разработчиками ОБИ. Когда эта проверка будет завершена, старший разработчик OBI объединит PR. Промойте и повторите!
Самый простой способ редактировать файлы src/ontology/template/
— использовать Excel. К сожалению, в Excel есть некоторые особые правила цитирования значений ячеек, а в macOS используются старые окончания строк. Обе эти вещи делают наши различия запутанными и запутанными.
Для чистых различий мы также предпочитаем не использовать шаблоны, отсортированные по идентификатору. Команда make sort
исправит окончания строк и сортировку, запустив все шаблоны с помощью скрипта Python.