A Ontologia para Investigações Biomédicas (OBI) ajuda você a comunicar claramente sobre investigações científicas, definindo mais de 2.500 termos para ensaios, dispositivos, objetivos e muito mais.
Este é o repositório do desenvolvedor para OBI. Você pode baixar os produtos OBI mais atualizados aqui e aprender mais sobre o OBI por meio de nossa documentação.
Nossos termos de ontologia vêm em três grupos. Dependendo do tipo de termo que você deseja editar ou adicionar, você terá que seguir diferentes caminhos:
termos externos (de outras ontologias): Usamos OntoFox para importações. Edite o arquivo src/ontology/OntoFox_inputs/
correspondente.
termos de modelo: usamos modelos ROBOT para converter planilhas em OWL. Edite o arquivo src/ontology/templates/
relevante:
obsolete.tsv
para termos obsoletosassays.tsv
para ensaios geraisepitope-assays.tsv
especificamente para ensaios de epítopos imunológicosvalue-specifications.tsv
specimens.tsv
para amostrasmedical-history.tsv
para classificações de histórico médico e critérios de seleção relacionadosstudy-designs.tsv
para desenhos de estudodata-sets.tsv
para conjuntos de dados outros termos: Edite src/ontology/obi-edit.owl
no Protege.
Veja abaixo uma lista completa de arquivos, instruções de construção e instruções sobre como usar Git e GitHub para OBI.
Se você deseja importar termos de uma ontologia para a qual o OBI não possui atualmente um arquivo de importação OntoFox ( src/ontology/OntoFox_inputs/
), siga estas etapas:
catalog-v001.xml
para listar o novo arquivo de importação da mesma forma que lista os arquivos de importação existentes.obi-edit.owl
.src/ontology/OntoFox_outputs/
, por exemplo, para criar uma saída falsa para importações foo.owl: touch src/ontology/OntoFox_outputs/foo_imports.owl
make imports
make obi.owl
Se desejar editar um modelo ou modelos no Excel, em vez de copiar e colar o modelo, pedimos que siga este fluxo de trabalho para preservar as cotações. Ir e voltar no Excel pode causar algumas alterações não intencionais nas aspas duplas nos modelos.
Primeiro, instale os requisitos do python:
python3 -m pip install -r requirements.txt
Em seguida, faça a planilha Excel. No diretório git local do OBI, execute o seguinte comando para criar um arquivo chamado obi.xlsx
:
make obi.xlsx
Em seguida, abra obi.xlsx
no Excel (ou em qualquer editor de sua preferência). Esta planilha contém uma guia para cada modelo OBI (por exemplo, “desenho de estudo”, “ensaios”, etc.). Encontre a guia que corresponde ao modelo que você precisa editar, faça as alterações e salve a planilha do Excel no mesmo local ( obi.xlsx
). Por fim, execute o seguinte para atualizar as versões TSV dos modelos:
make update-tsv
Isso converterá as guias em obi.xlsx
de volta para TSVs e substituirá os TSVs existentes no diretório src/ontology/templates/
com suas alterações. Revise suas alterações ( git diff
) e faça sua solicitação pull.
Para descobrir onde reside um termo, você pode usar src/scripts/locate.py
.
Em seguida, você pode executar o script para localizar termos por ID ou rótulo, passando-os como uma lista separada por espaços, por exemplo:
src/scripts/locate.py OBI:0000070 CHMO:0000087 GO:0000785
Os rótulos devem ser colocados entre aspas duplas:
src/scripts/locate.py "assay" "fluorescence microscopy" "chromatin"
O repositório OBI inclui alguns scripts Python para ajudar os desenvolvedores a editar com eficiência os modelos obi-edit.owl
e OBI. Esses scripts requerem Python 3.
Os scripts também exigem que você primeiro crie dois bancos de dados (um da edição do OBI e outro de uma versão mesclada do OBI):
make obi-dbs
Como os rótulos são usados em modelos, localizar e substituir manualmente todos os usos de um termo pode ser difícil e entediante. Em vez disso, você pode usar src/scripts/relabel.py
para atualizar automaticamente o rótulo de um termo e seus usos.
Você pode executar isso passando o termo que deseja atualizar e o novo rótulo:
src/scripts/relabel.py CHMO:0000087 "microscopy with fluorescence"
Você também pode passar o rótulo antigo como primeiro argumento, desde que esteja entre aspas duplas:
src/scripts/relabel.py "fluorescence microscopy" "microscopy with fluorescence"
Certifique-se de confirmar todos os arquivos alterados para garantir que todos os usos sejam atualizados.
README.md
este documento de visão geralobi.owl
a versão mais recente do OBIMakefile
para construção de OBIviews/
várias visões especializadas do OBIobi.obo
a versão mais recente do OBI no formato de arquivo .obo
obi_core.owl
a versão mais recente do OBI Core: aproximadamente 100 termos-chavesrc/
ontology/
arquivos de origem para OBIobi-edit.owl
o arquivo OBI OWL principalcore.txt
a lista de termos principais do OBIexternal-byhand.owl
algumas importações personalizadas de outras ontologiascatalog-v001.xml
uma lista artesanal de substituições de importação OWLtemplates/
arquivos de modelo ROBOT para vários ramos do OBImodules/
os resultados dos modelos ROBOTOntoFox_inputs/
OntoFox para importação de outras ontologiasOntoFox_outputs/
OntoFoxsparql/
SPARQL para construir e validar OBIscripts/
scripts utilitáriosviews/
configuração para visualizações O Makefile
contém scripts para construir o OBI. No macOS ou Linux, você só poderá executar make
ou uma das tarefas específicas abaixo. No Windows, considere usar algum tipo de máquina virtual Linux, como Docker ou Vagrant. A maioria dos resultados estará no diretório build/
. Se você tiver problemas, entre em contato com James.
make test
e execute testes SPARQL (isso é executado em cada push para GitHub)make sort
modelos de classificação e corrija citações e finais de linhamake imports
atualizarem as importações do OntoFoxmake modules
atualizem os modelos do ROBÔmake obi.owl
construir o arquivo de lançamento; o raciocínio pode levar cerca de 10 minutosmake views
atualizem os modelos do ROBÔmake all
para um lançamento, execute imports
, modules
, test
, obi.owl
e views
make build/obi_merged.owl
mesclar obi-edit.owl
em um único arquivo, não raciocinemake clean
remover arquivos temporáriosUsamos git e GitHub para desenvolver OBI. Há muita documentação boa sobre ambos:
Antes de começar a desenvolver com OBI, você precisará fazer algumas configurações iniciais:
inscreva-se para uma conta GitHub
instale a ferramenta de linha de comando Git, o aplicativo GitHub Desktop ou outro cliente Git de sua escolha
configure o Git com seu nome e email
clonar o repositório OBI
se você estiver usando macOS e Excel, configure um gancho de pré-confirmação (veja detalhes abaixo):
ln -s ../../src/scripts/check-line-endings.sh .git/hooks/pre-commit
As alterações devem ser feitas em partes gerenciáveis, por exemplo, adicionar um termo ou editar alguns termos relacionados. A maioria das alterações deve corresponder a um único problema no rastreador.
Comece com uma cópia local da ramificação master
do repositório OBI. Certifique-se de que sua cópia local esteja atualizada. Faça suas alterações em um novo branch. Use a planilha de reservas de ID de prazo do OBI para gerenciar novos IDs.
Quando estiver pronto, envie seu branch para o repositório OBI e faça um Pull Request (PR) no site do GitHub. Seu PR é uma solicitação para mesclar sua filial novamente em master
. Seu PR será testado, discutido, ajustado se necessário e depois mesclado. Em seguida, o ciclo pode ser repetido para a próxima alteração que você ou outro desenvolvedor fizer.
Estas são as etapas com seus comandos CLI. Ao usar um aplicativo GUI, as etapas serão as mesmas.
git fetch
certifique-se de que sua cópia local esteja atualizadagit checkout master
start no branch master
git checkout -b your-branch-name
crie um novo branch com o nome da alteração que você está fazendomake sort
classificar e normalizar tabelas, para diferenças mais limpasgit status
e git diff
inspecionam suas alteraçõesgit add --update src/
adiciona todos os arquivos atualizados no diretório src/
para testegit commit --message "Description, issue #123"
confirma as alterações preparadas com uma mensagem; é bom incluir um número de problemagit push --set-upstream origin your-branch-name
envie seu commit para o GitHubSua solicitação pull será testada automaticamente. Se houver problemas, atualizaremos sua filial. Quando todos os testes forem aprovados, seu PR será revisado pelos desenvolvedores do OBI. Quando essa revisão for concluída, um desenvolvedor sênior do OBI fundirá o PR. Enxágue e repita!
A maneira mais fácil de editar nossos arquivos src/ontology/template/
é com o Excel. Infelizmente, o Excel tem algumas regras idiossincráticas para citar valores de células e, no macOS, usa finais de linha antigos. Ambas as coisas tornam nossas diferenças confusas e confusas.
Para diferenças limpas, também gostamos de manter modelos classificados por ID. O comando make sort
corrigirá os finais de linha e a classificação executando todos os modelos por meio de um script Python.