Die Ontologie für biomedizinische Untersuchungen (OBI) hilft Ihnen, klar über wissenschaftliche Untersuchungen zu kommunizieren, indem sie mehr als 2500 Begriffe für Tests, Geräte, Ziele und mehr definiert.
Dies ist das Entwickler-Repository für OBI. Hier können Sie die aktuellsten OBI-Produkte herunterladen und in unserer Dokumentation mehr über OBI erfahren.
Unsere Ontologiebegriffe sind in drei Gruppen unterteilt. Je nachdem, welche Art von Begriff Sie bearbeiten oder hinzufügen möchten, müssen Sie unterschiedliche Wege gehen:
externe Begriffe (aus anderen Ontologien): Für Importe nutzen wir OntoFox. Bearbeiten Sie die entsprechende Datei src/ontology/OntoFox_inputs/
.
Vorlagenbedingungen: Wir verwenden ROBOT-Vorlagen, um Tabellenkalkulationen in OWL zu konvertieren. Bearbeiten Sie die entsprechende src/ontology/templates/
-Datei:
obsolete.tsv
für veraltete Begriffeassays.tsv
für allgemeine Testsepitope-assays.tsv
speziell für Immunepitoptestsvalue-specifications.tsv
specimens.tsv
für Probenmedical-history.tsv
für Klassifikationen der Krankengeschichte und zugehörige Auswahlkriterienstudy-designs.tsv
für Studiendesignsdata-sets.tsv
für Datensätze andere Begriffe: Bearbeiten Sie src/ontology/obi-edit.owl
in Protege.
Unten finden Sie eine vollständige Liste der Dateien, Build-Anweisungen und Anweisungen zur Verwendung von Git und GitHub für OBI.
Wenn Sie Begriffe aus einer Ontologie importieren möchten, für die OBI derzeit keine OntoFox-Importdatei ( src/ontology/OntoFox_inputs/
) hat, gehen Sie folgendermaßen vor:
catalog-v001.xml
um die neue Importdatei so aufzulisten, wie sie die vorhandenen Importdateien auflistet.obi-edit.owl
eine Importanweisung hinzu.src/ontology/OntoFox_outputs/
, um beispielsweise eine gefälschte Ausgabe für foo.owl-Importe zu erstellen: touch src/ontology/OntoFox_outputs/foo_imports.owl
make imports
make obi.owl
Wenn Sie eine oder mehrere Vorlagen in Excel bearbeiten möchten, anstatt die Vorlage zu kopieren und einzufügen, bitten wir Sie, diesem Arbeitsablauf zu folgen, um die Angebotserstellung beizubehalten. Das Hin und Her mit Excel kann zu unbeabsichtigten Änderungen an doppelten Anführungszeichen in Vorlagen führen.
Installieren Sie zunächst die Python-Anforderungen:
python3 -m pip install -r requirements.txt
Erstellen Sie dann die Excel-Tabelle. Führen Sie in Ihrem lokalen OBI-Git-Verzeichnis den folgenden Befehl aus, um eine Datei mit dem Namen obi.xlsx
zu erstellen:
make obi.xlsx
Öffnen Sie als Nächstes obi.xlsx
in Excel (oder einem anderen Editor Ihrer Wahl). Diese Tabelle enthält eine Registerkarte für jede OBI-Vorlage (z. B. „Studiendesign“, „Assays“ usw.). Suchen Sie die Registerkarte, die der Vorlage entspricht, die Sie bearbeiten müssen, nehmen Sie Ihre Änderungen vor und speichern Sie die Excel-Tabelle am selben Speicherort ( obi.xlsx
). Führen Sie abschließend Folgendes aus, um die TSV-Versionen der Vorlagen zu aktualisieren:
make update-tsv
Dadurch werden die Tabs in obi.xlsx
wieder in TSVs konvertiert und die vorhandenen TSVs im Verzeichnis src/ontology/templates/
mit Ihren Änderungen überschrieben. Überprüfen Sie Ihre Änderungen ( git diff
) und stellen Sie Ihre Pull-Anfrage.
Um herauszufinden, wo ein Begriff lebt, können Sie src/scripts/locate.py
verwenden.
Anschließend können Sie das Skript ausführen, um Begriffe anhand ihrer ID oder Bezeichnung zu finden, indem Sie sie als durch Leerzeichen getrennte Liste übergeben, zum Beispiel:
src/scripts/locate.py OBI:0000070 CHMO:0000087 GO:0000785
Beschriftungen sollten in doppelte Anführungszeichen gesetzt werden:
src/scripts/locate.py "assay" "fluorescence microscopy" "chromatin"
Das OBI-Repo enthält einige Python-Skripte, die Entwicklern dabei helfen, sowohl obi-edit.owl
als auch OBI-Vorlagen effizient zu bearbeiten. Diese Skripte erfordern Python 3.
Die Skripte erfordern außerdem, dass Sie zunächst zwei Datenbanken erstellen (eine aus der OBI-Bearbeitung und eine aus einer zusammengeführten Version von OBI):
make obi-dbs
Da Beschriftungen in Vorlagen verwendet werden, kann das manuelle Suchen und Ersetzen aller Verwendungen eines Begriffs schwierig und mühsam sein. Stattdessen können Sie src/scripts/relabel.py
verwenden, um die Bezeichnung eines Begriffs und seine Verwendungen automatisch zu aktualisieren.
Sie können dies ausführen, indem Sie den zu aktualisierenden Begriff und die neue Bezeichnung übergeben:
src/scripts/relabel.py CHMO:0000087 "microscopy with fluorescence"
Sie können das alte Label auch als erstes Argument übergeben, sofern es in doppelte Anführungszeichen gesetzt wird:
src/scripts/relabel.py "fluorescence microscopy" "microscopy with fluorescence"
Stellen Sie sicher, dass Sie alle geänderten Dateien festschreiben, um sicherzustellen, dass alle Verwendungen aktualisiert werden.
README.md
dieses Übersichtsdokumentsobi.owl
die neueste Version von OBIMakefile
Skripte zum Erstellen von OBIviews/
verschiedene Fachansichten von OBIobi.obo
die neueste Version von OBI im .obo
Dateiformatobi_core.owl
die neueste Version von OBI Core: ~100 Schlüsselbegriffesrc/
ontology/
Quelldateien für OBIobi-edit.owl
die Haupt-OBI-OWL-Dateicore.txt
die Liste der OBI Core-Begriffeexternal-byhand.owl
einige benutzerdefinierte Importe aus anderen Ontologiencatalog-v001.xml
eine künstliche Liste von OWL-Importüberschreibungentemplates/
ROBOT-Vorlagendateien für verschiedene Zweige von OBImodules/
die Ergebnisse der ROBOT-VorlagenOntoFox_inputs/
OntoFox-Konfigurationsdateien zum Importieren aus anderen OntologienOntoFox_outputs/
OntoFox-Ergebnisdateiensparql/
SPARQL-Abfragen zum Erstellen und Validieren von OBIscripts/
Dienstprogrammskripteviews/
Konfiguration für Ansichten Das Makefile
enthält Skripte zum Erstellen von OBI. Unter macOS oder Linux sollten Sie lediglich make
oder eine der folgenden spezifischen Aufgaben ausführen können. Erwägen Sie unter Windows die Verwendung einer virtuellen Linux-Maschine wie Docker oder Vagrant. Die meisten Ergebnisse befinden sich im Verzeichnis build/
. Wenn Sie Probleme haben, wenden Sie sich an James.
make test
zusammenführen und SPARQL-Tests ausführen (dies wird bei jedem Push an GitHub ausgeführt)make sort
Sortiervorlagen und korrigieren Sie Anführungszeichen und Zeilenendenmake imports
um OntoFox-Importe zu aktualisierenmake modules
ROBOT-Vorlagen aktualisierenmake obi.owl
die Release-Datei erstellen. Die Argumentation kann etwa 10 Minuten dauernmake views
um ROBOT-Vorlagen zu aktualisierenmake all
auf eine Veröffentlichung vor, führt imports
, modules
, test
, obi.owl
und views
ausmake build/obi_merged.owl
obi-edit.owl
in einer einzigen Datei zusammenführen, ohne Grundmake clean
temporäre Dateien entfernenWir verwenden Git und GitHub, um OBI zu entwickeln. Zu beiden gibt es eine Menge guter Dokumentation:
Bevor Sie mit der Entwicklung mit OBI beginnen können, müssen Sie einige Ersteinstellungen vornehmen:
Melden Sie sich für ein GitHub-Konto an
Installieren Sie das Git-Befehlszeilentool, die GitHub-Desktop-App oder einen anderen Git-Client Ihrer Wahl
Konfigurieren Sie Git mit Ihrem Namen und Ihrer E-Mail-Adresse
Klonen Sie das OBI-Repository
Wenn Sie macOS und Excel verwenden, richten Sie einen Pre-Commit-Hook ein (Einzelheiten siehe unten):
ln -s ../../src/scripts/check-line-endings.sh .git/hooks/pre-commit
Änderungen sollten in überschaubaren Teilen vorgenommen werden, z. B. durch Hinzufügen eines Begriffs oder Bearbeiten einiger verwandter Begriffe. Die meisten Änderungen sollten einem einzelnen Problem auf dem Tracker entsprechen.
Beginnen Sie mit einer lokalen Kopie des master
-Zweigs des OBI-Repositorys. Stellen Sie sicher, dass Ihre lokale Kopie auf dem neuesten Stand ist. Nehmen Sie Ihre Änderungen in einem neuen Zweig vor. Bitte verwenden Sie das OBI-Term-ID-Reservierungsblatt, um neue IDs zu verwalten.
Wenn Sie bereit sind, übertragen Sie Ihren Branch in das OBI-Repository und stellen Sie einen Pull Request (PR) auf der GitHub-Website. Ihre PR ist eine Aufforderung, Ihren Zweig wieder mit master
zusammenzuführen. Ihre PR wird getestet, besprochen, ggf. angepasst und anschließend zusammengeführt. Dann kann sich der Zyklus für die nächste Änderung wiederholen, die Sie oder ein anderer Entwickler vornehmen.
Dies sind die Schritte mit ihren CLI-Befehlen. Bei Verwendung einer GUI-Anwendung sind die Schritte dieselben.
git fetch
sicher, dass Ihre lokale Kopie auf dem neuesten Stand istgit checkout master
startet im master
-Zweiggit checkout -b your-branch-name
erstellt einen neuen Branch mit dem Namen für die Änderung, die Sie vornehmenmake sort
und Normalisieren von Tabellen für sauberere Unterschiedegit status
und git diff
überprüfen Ihre Änderungengit add --update src/
fügt alle aktualisierten Dateien im Verzeichnis src/
zum Staging hinzugit commit --message "Description, issue #123"
Überträgt gestaffelte Änderungen mit einer Nachricht; Es ist gut, eine Problemnummer anzugebengit push --set-upstream origin your-branch-name
pushen Sie Ihren Commit an GitHubIhr Pull Request wird automatisch getestet. Sollte es Probleme geben, aktualisieren wir Ihre Filiale. Wenn alle Tests bestanden sind, wird Ihre PR von OBI-Entwicklern überprüft. Wenn diese Überprüfung abgeschlossen ist, wird ein leitender OBI-Entwickler die PR zusammenführen. Spülen und wiederholen!
Der einfachste Weg, unsere src/ontology/template/
-Dateien zu bearbeiten, ist mit Excel. Leider gibt es in Excel einige eigenwillige Regeln für die Anführungszeichen von Zellenwerten und unter macOS werden alte Zeilenenden verwendet. Beides macht unsere Unterschiede chaotisch und verwirrend.
Für saubere Unterschiede halten wir auch gerne nach ID sortierte Vorlagen fern. Der Befehl make sort
korrigiert Zeilenenden und Sortierung, indem alle Vorlagen über ein Python-Skript ausgeführt werden.