OBI(생의학적 조사를 위한 온톨로지)는 분석, 장치, 목표 등에 대한 2500개 이상의 용어를 정의하여 과학적 조사에 대해 명확하게 의사소통하는 데 도움이 됩니다.
OBI용 개발자 저장소입니다. 여기에서 최신 OBI 제품을 다운로드하고 설명서를 통해 OBI에 대해 자세히 알아볼 수 있습니다.
우리의 온톨로지 용어는 세 그룹으로 나뉩니다. 편집하거나 추가하려는 용어 유형에 따라 다른 경로를 거쳐야 합니다.
외부 용어(다른 온톨로지의): 가져오기에 OntoFox를 사용합니다. 해당 src/ontology/OntoFox_inputs/
파일을 편집합니다.
템플릿 용어: 우리는 스프레드시트를 OWL로 변환하기 위해 ROBOT 템플릿을 사용합니다. 관련 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
에 import 문을 추가합니다.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이 필요합니다.
또한 스크립트에서는 먼저 두 개의 데이터베이스(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
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/
SPARQL 쿼리scripts/
유틸리티 스크립트views/
보기 구성 Makefile
OBI 구축을 위한 스크립트가 포함되어 있습니다. macOS 또는 Linux에서는 make
또는 아래의 특정 작업 중 하나를 실행할 수 있어야 합니다. Windows에서는 Docker 또는 Vagrant와 같은 일종의 Linux 가상 머신을 사용하는 것이 좋습니다. 대부분의 결과는 build/
디렉터리에 있습니다. 문제가 있으면 James에게 문의하세요.
make test
SPARQL 테스트를 실행합니다(GitHub에 푸시할 때마다 실행됩니다).make sort
인용 및 줄 끝을 수정합니다.make imports
make 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 데스크톱 앱 또는 선택한 다른 Git 클라이언트를 설치합니다.
이름과 이메일로 Git 구성
OBI 저장소 복제
macOS 및 Excel을 사용하는 경우 사전 커밋 후크를 설정합니다(자세한 내용은 아래 참조).
ln -s ../../src/scripts/check-line-endings.sh .git/hooks/pre-commit
변경은 관리 가능한 부분에서 이루어져야 합니다(예: 하나의 용어를 추가하거나 몇 가지 관련 용어를 편집). 대부분의 변경 사항은 추적기의 단일 문제와 일치해야 합니다.
OBI 저장소 master
분기의 로컬 복사본에서 시작합니다. 로컬 복사본이 최신인지 확인하세요. 새 분기에서 변경사항을 적용하세요. 새로운 ID를 관리하려면 OBI 기간 ID 예약 시트를 사용하세요.
준비가 되면 브랜치를 OBI 리포지토리로 푸시하고 GitHub 웹 사이트에서 PR(Pull Request)을 만드세요. 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에 푸시합니다.귀하의 Pull Request는 자동으로 테스트됩니다. 문제가 있으면 지점을 업데이트하겠습니다. 모든 테스트가 통과되면 OBI 개발자가 PR을 검토합니다. 검토가 완료되면 선임 OBI 개발자가 PR을 병합합니다. 헹구고 반복하세요!
src/ontology/template/
파일을 편집하는 가장 쉬운 방법은 Excel을 사용하는 것입니다. 불행하게도 Excel에는 셀 값을 인용하는 데 몇 가지 특이한 규칙이 있으며 macOS에서는 오래된 줄 끝을 사용합니다. 이 두 가지 모두 diff를 지저분하고 혼란스럽게 만듭니다.
명확한 차이점을 위해 ID별로 정렬된 템플릿을 유지하는 것도 좋아합니다. make sort
명령은 Python 스크립트를 통해 모든 템플릿을 실행하여 줄 끝 및 정렬을 수정합니다.