La Ontología para Investigaciones Biomédicas (OBI) le ayuda a comunicar claramente sobre las investigaciones científicas al definir más de 2500 términos para ensayos, dispositivos, objetivos y más.
Este es el repositorio de desarrolladores para OBI. Puede descargar los productos OBI más actualizados aquí y obtener más información sobre OBI a través de nuestra documentación.
Nuestros términos de ontología se dividen en tres grupos. Dependiendo de qué tipo de término quieras editar o agregar, tendrás que seguir diferentes rutas:
Términos externos (de otras ontologías): Usamos OntoFox para las importaciones. Edite el archivo src/ontology/OntoFox_inputs/
correspondiente.
Términos de plantilla: utilizamos plantillas ROBOT para convertir hojas de cálculo a OWL. Edite el archivo src/ontology/templates/
relevante:
obsolete.tsv
para términos obsoletosassays.tsv
para ensayos generalesepitope-assays.tsv
específicamente para ensayos de epítopos inmunesvalue-specifications.tsv
specimens.tsv
para especímenesmedical-history.tsv
para clasificaciones de historial médico y criterios de selección relacionadosstudy-designs.tsv
para diseños de estudio.data-sets.tsv
para conjuntos de datos otros términos: Edite src/ontology/obi-edit.owl
en Protege.
Consulte a continuación una lista completa de archivos, instrucciones de compilación e instrucciones sobre el uso de Git y GitHub para OBI.
Si desea importar términos de una ontología para la cual OBI no tiene actualmente un archivo de importación de OntoFox ( src/ontology/OntoFox_inputs/
), siga estos pasos:
catalog-v001.xml
para enumerar el nuevo archivo de importación como enumera los archivos de importación existentes.obi-edit.owl
.src/ontology/OntoFox_outputs/
, por ejemplo, para generar una salida falsa para las importaciones de foo.owl: touch src/ontology/OntoFox_outputs/foo_imports.owl
make imports
make obi.owl
Si desea editar una plantilla o plantillas en Excel, en lugar de copiar y pegar la plantilla, le pedimos que siga este flujo de trabajo para conservar las citas. Ir y venir con Excel puede provocar algunos cambios involuntarios en las comillas dobles dentro de las plantillas.
Primero, instale los requisitos de Python:
python3 -m pip install -r requirements.txt
Luego, haz la hoja de Excel. En su directorio OBI git local, ejecute el siguiente comando para crear un archivo llamado obi.xlsx
:
make obi.xlsx
A continuación, abra obi.xlsx
en Excel (o el editor que prefiera). Esta hoja de cálculo contiene una pestaña para cada plantilla de OBI (p. ej., "diseño de estudio", "ensayos", etc.). Busque la pestaña que corresponde a la plantilla que necesita editar, realice los cambios y guarde la hoja de cálculo de Excel en la misma ubicación ( obi.xlsx
). Finalmente, ejecute lo siguiente para actualizar las versiones TSV de las plantillas:
make update-tsv
Esto convertirá las pestañas en obi.xlsx
nuevamente a TSV y sobrescribirá los TSV existentes en el directorio src/ontology/templates/
con sus cambios. Revise sus cambios ( git diff
) y realice su solicitud de extracción.
Para saber dónde reside un término, puede utilizar src/scripts/locate.py
.
Luego puede ejecutar el script para buscar términos por ID o etiqueta pasándolos como una lista separada por espacios, por ejemplo:
src/scripts/locate.py OBI:0000070 CHMO:0000087 GO:0000785
Las etiquetas deben estar entre comillas dobles:
src/scripts/locate.py "assay" "fluorescence microscopy" "chromatin"
El repositorio de OBI incluye algunos scripts de Python para ayudar a los desarrolladores a editar de manera eficiente las plantillas obi-edit.owl
y OBI. Estos scripts requieren Python 3.
Los scripts también requieren que primero cree dos bases de datos (una desde la edición de OBI y otra desde una versión fusionada de OBI):
make obi-dbs
Dado que las etiquetas se utilizan en plantillas, encontrar y reemplazar manualmente todos los usos de un término puede resultar difícil y tedioso. En su lugar, puede usar src/scripts/relabel.py
para actualizar automáticamente la etiqueta de un término y sus usos.
Puedes ejecutar esto pasando el término que deseas actualizar y la nueva etiqueta:
src/scripts/relabel.py CHMO:0000087 "microscopy with fluorescence"
También puede pasar la etiqueta anterior como primer argumento, siempre que esté entre comillas dobles:
src/scripts/relabel.py "fluorescence microscopy" "microscopy with fluorescence"
Asegúrese de confirmar todos los archivos modificados para garantizar que todos los usos estén actualizados.
README.md
este documento generalobi.owl
la última versión de OBIMakefile
para construir OBIviews/
varias vistas especializadas de OBIobi.obo
la última versión de OBI en formato de archivo .obo
obi_core.owl
la última versión de OBI Core: ~100 términos clavesrc/
ontology/
archivos fuente para OBIobi-edit.owl
el archivo principal OBI OWLcore.txt
la lista de términos principales de OBIexternal-byhand.owl
algunas importaciones personalizadas de otras ontologíascatalog-v001.xml
una lista artesanal de anulaciones de importación de OWLtemplates/
archivos de plantilla ROBOT para varias ramas de OBImodules/
los resultados de las plantillas del ROBOTOntoFox_inputs/
Archivos de configuración de OntoFox para importar desde otras ontologíasOntoFox_outputs/
Archivos de resultados de OntoFoxsparql/
SPARQL para construir y validar OBIscripts/
scripts de utilidadviews/
configuración de vistas El Makefile
contiene scripts para construir OBI. En macOS o Linux, debería poder ejecutar make
o una de las tareas específicas a continuación. En Windows, considere utilizar algún tipo de máquina virtual Linux como Docker o Vagrant. La mayoría de los resultados estarán en el directorio build/
. Si tiene problemas, comuníquese con James.
make test
y ejecutar pruebas SPARQL (esto se ejecuta cada vez que se envía a GitHub)make sort
plantillas de clasificación y corregir comillas y finales de líneamake imports
actualizar las importaciones de OntoFoxmake modules
actualicen las plantillas de ROBOTmake obi.owl
construya el archivo de lanzamiento; el razonamiento puede tardar unos 10 minutosmake views
actualicen las plantillas de ROBOTmake all
se preparen para un lanzamiento, ejecute imports
, modules
, test
, obi.owl
y views
make build/obi_merged.owl
combine obi-edit.owl
en un solo archivo, no razonemake clean
eliminar archivos temporalesUsamos git y GitHub para desarrollar OBI. Hay mucha buena documentación sobre ambos:
Antes de poder comenzar a desarrollar con OBI, deberá realizar una configuración inicial:
registrarse para obtener una cuenta de GitHub
instale la herramienta de línea de comandos de Git, la aplicación GitHub Desktop u otro cliente Git de su elección
configura Git con tu nombre y correo electrónico
clonar el repositorio OBI
Si está utilizando macOS y Excel, configure un enlace de confirmación previa (consulte a continuación para obtener más detalles):
ln -s ../../src/scripts/check-line-endings.sh .git/hooks/pre-commit
Los cambios deben realizarse en partes manejables, por ejemplo, agregar un término o editar algunos términos relacionados. La mayoría de los cambios deberían corresponder a un único problema en el rastreador.
Comience desde una copia local de la rama master
del repositorio OBI. Asegúrese de que su copia local esté actualizada. Realice sus cambios en una nueva rama. Utilice la hoja de Reservas de ID de plazo de OBI para administrar nuevas ID.
Cuando esté listo, envíe su rama al repositorio de OBI y realice una solicitud de extracción (PR) en el sitio web de GitHub. Su PR es una solicitud para fusionar su rama nuevamente con master
. Su PR será probado, discutido, ajustado si es necesario y luego fusionado. Luego, el ciclo puede repetirse para el próximo cambio que usted u otro desarrollador realice.
Estos son los pasos con sus comandos CLI. Cuando utilice una aplicación GUI, los pasos serán los mismos.
git fetch
asegúrese de que su copia local esté actualizadagit checkout master
en la rama master
git checkout -b your-branch-name
crea una nueva rama con el nombre del cambio que estás realizandomake sort
ordenar y normalizar tablas, para obtener diferencias más limpiasgit status
y git diff
inspeccionan sus cambiosgit add --update src/
agrega todos los archivos actualizados en el directorio src/
al staginggit commit --message "Description, issue #123"
confirma los cambios preparados con un mensaje; es bueno incluir un número de problemagit push --set-upstream origin your-branch-name
envía tu compromiso a GitHubSu Pull Request se probará automáticamente. Si hay problemas, actualizaremos su sucursal. Cuando todas las pruebas hayan pasado, los desarrolladores de OBI revisarán su PR. Cuando se complete esa revisión, un desarrollador senior de OBI fusionará el PR. ¡Enjuague y repita!
La forma más sencilla de editar nuestros archivos src/ontology/template/
es con Excel. Desafortunadamente, Excel tiene algunas reglas idiosincrásicas para citar valores de celda y en macOS usa finales de línea antiguos. Ambas cosas hacen que nuestras diferencias sean confusas y confusas.
Para obtener diferencias claras, también nos gusta mantener las plantillas ordenadas por ID. El comando make sort
arreglará los finales de línea y la clasificación ejecutando todas las plantillas a través de un script de Python.