Ontology for Biomedical Investigations (OBI) は、アッセイ、デバイス、目的などに関する 2500 以上の用語を定義することで、科学的調査について明確に伝えるのに役立ちます。
これは OBI の開発者リポジトリです。ここから最新の OBI 製品をダウンロードし、ドキュメントを通じて OBI について詳しく学ぶことができます。
私たちのオントロジー用語は 3 つのグループに分かれています。編集または追加する用語の種類に応じて、異なるルートをたどる必要があります。
外部条件 (他のオントロジーから): インポートには 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
その他の用語: Protege でsrc/ontology/obi-edit.owl
を編集します。
ファイルの完全なリスト、ビルド手順、OBI での Git および GitHub の使用手順については、以下を参照してください。
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シートを作成します。ローカルの OBI git ディレクトリで次のコマンドを実行して、 obi.xlsx
というファイルを作成します。
make obi.xlsx
次に、Excel (または任意のエディター) でobi.xlsx
開きます。このスプレッドシートには、各 OBI テンプレート (「研究設計」、「アッセイ」など) のタブが含まれています。編集する必要があるテンプレートに対応するタブを見つけて変更を加え、Excel スプレッドシートを同じ場所 ( obi.xlsx
) に保存します。最後に、次のコマンドを実行して、テンプレートの TSV バージョンを更新します。
make update-tsv
これにより、 obi.xlsx
内のタブが TSV に変換され、 src/ontology/templates/
ディレクトリ内の既存の TSV が変更内容で上書きされます。変更内容 ( git diff
) を確認し、プル リクエストを作成します。
用語が存在する場所を見つけるには、 src/scripts/locate.py
使用できます。
次に、スクリプトを実行して、スペース区切りのリストとして渡すことにより、ID またはラベルで用語を検索できます。次に例を示します。
src/scripts/locate.py OBI:0000070 CHMO:0000087 GO:0000785
ラベルは二重引用符で囲む必要があります。
src/scripts/locate.py "assay" "fluorescence microscopy" "chromatin"
OBI リポジトリには、開発者がobi-edit.owl
と OBI テンプレートの両方を効率的に編集するのに役立ついくつかの Python スクリプトが含まれています。これらのスクリプトには Python 3 が必要です。
また、スクリプトでは、最初に 2 つのデータベース (OBI 編集から 1 つと OBI のマージ バージョンから 1 つ) を構築する必要があります。
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
OBI の最新リリースMakefile
スクリプトviews/
さまざまな専門ビューobi.obo
.obo
ファイル形式の OBI の最新リリースobi_core.owl
OBI Core の最新リリース: ~100 の重要な用語src/
ontology/
ソース ファイルobi-edit.owl
メイン OBI OWL ファイルcore.txt
OBI コア用語のリストexternal-byhand.owl
他のオントロジーからのいくつかのカスタムインポートcatalog-v001.xml
OWLインポートオーバーライドのアーティナルリストtemplates/
ROBOT テンプレート ファイルmodules/
ROBOT テンプレートの結果OntoFox_inputs/
他のオントロジーからインポートするための OntoFox 設定ファイルOntoFox_outputs/
OntoFox 結果ファイルsparql/
OBI を構築および検証するための SPARQL クエリscripts/
ユーティリティ スクリプトviews/
ビューの構成Makefile
OBI を構築するためのスクリプトが含まれています。 macOS または Linux では、 make
または以下の特定のタスクの 1 つを実行できるはずです。 Windows では、Docker や Vagrant などの何らかの Linux 仮想マシンの使用を検討してください。ほとんどの結果はbuild/
ディレクトリにあります。問題がある場合は、James に連絡してください。
make test
マージし、SPARQL テストを実行します (これは GitHub へのプッシュごとに実行されます)make sort
、引用符と行末を修正するmake imports
OntoFoxインポートを更新しますmake modules
ROBOT テンプレートを更新しますmake obi.owl
リリースファイルをビルドします。推論には10分ほどかかる場合がありますmake views
ROBOT テンプレートの更新make all
、 imports
、 modules
、 test
、 obi.owl
、およびviews
を実行します。make build/obi_merged.owl
obi-edit.owl
を 1 つのファイルにマージします。理由は考えません。make clean
OBI の開発には git と GitHub を使用します。どちらについても優れたドキュメントがたくさんあります。
OBI を使用して開発を開始する前に、いくつかの初期設定を行う必要があります。
GitHub アカウントにサインアップする
Git コマンド ライン ツール、GitHub デスクトップ アプリ、または選択した別の Git クライアントをインストールします。
自分の名前とメールアドレスを使用して Git を設定する
OBIリポジトリのクローンを作成する
macOS と Excel を使用している場合は、プリコミット フックをセットアップします (詳細については以下を参照)。
ln -s ../../src/scripts/check-line-endings.sh .git/hooks/pre-commit
変更は、管理可能な部分で行う必要があります。たとえば、用語を 1 つ追加したり、関連する用語をいくつか編集したりするなどです。ほとんどの変更は、トラッカー上の 1 つの問題に対応する必要があります。
OBI リポジトリのmaster
ブランチのローカル コピーから開始します。ローカル コピーが最新であることを確認してください。新しいブランチで変更を加えます。新しい ID を管理するには、OBI Term ID 予約シートを使用してください。
準備ができたら、ブランチを OBI リポジトリにプッシュし、GitHub Web サイトでプル リクエスト (PR) を作成します。 PR は、ブランチをmaster
にマージし直すリクエストです。あなたの PR はテストされ、議論され、必要に応じて調整され、その後統合されます。その後、あなたまたは他の開発者が行う次の変更に対してこのサイクルを繰り返すことができます。
これらは CLI コマンドを使用した手順です。 GUI アプリケーションを使用する場合も手順は同じです。
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 にプッシュしますプル リクエストは自動的にテストされます。問題がある場合は、ブランチを更新します。すべてのテストに合格すると、OBI 開発者によって PR がレビューされます。そのレビューが完了すると、上級 OBI 開発者が PR をマージします。洗い流して繰り返します!
src/ontology/template/
ファイルを編集する最も簡単な方法は Excel を使用することです。残念ながら、Excel にはセル値を引用符で囲むための特異なルールがいくつかあり、macOS では古い行末が使用されます。これらの両方により、差分が乱雑で混乱します。
クリーンな差分を得るために、ID でソートされたテンプレートも除外したいと考えています。 make sort
コマンドは、Python スクリプトを通じてすべてのテンプレートを実行することにより、行末と並べ替えを修正します。