يساعدك علم الوجود للتحقيقات الطبية الحيوية (OBI) على التواصل بوضوح حول التحقيقات العلمية من خلال تحديد أكثر من 2500 مصطلحًا للمقايسات والأجهزة والأهداف والمزيد.
هذا هو مستودع المطورين لـ OBI. يمكنك تنزيل أحدث منتجات OBI هنا ومعرفة المزيد حول OBI من خلال وثائقنا.
مصطلحات الأنطولوجيا لدينا تأتي في ثلاث مجموعات. اعتمادًا على نوع المصطلح الذي تريد تعديله أو إضافته، يتعين عليك اتباع طرق مختلفة:
المصطلحات الخارجية (من الأنطولوجيات الأخرى): نستخدم 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
لمجموعات البيانات مصطلحات أخرى: تحرير src/ontology/obi-edit.owl
في Protege.
انظر أدناه للحصول على قائمة كاملة بالملفات وتعليمات البناء وتعليمات حول استخدام Git وGitHub لـ OBI.
إذا كنت ترغب في استيراد مصطلحات من علم الوجود الذي لا يحتوي 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 إلى حدوث بعض التغييرات غير المقصودة لعلامات الاقتباس المزدوجة داخل القوالب.
أولاً، قم بتثبيت متطلبات بايثون:
python3 -m pip install -r requirements.txt
ثم قم بعمل ورقة Excel. في دليل OBI git المحلي لديك، قم بتشغيل الأمر التالي لإنشاء ملف يسمى obi.xlsx
:
make obi.xlsx
بعد ذلك، افتح obi.xlsx
في Excel (أو أي محرر تفضله). يحتوي جدول البيانات هذا على علامة تبويب لكل قالب OBI (على سبيل المثال، "تصميم الدراسة"، "الاختبارات"، وما إلى ذلك). ابحث عن علامة التبويب التي تتوافق مع القالب الذي تريد تعديله، وقم بإجراء التغييرات، واحفظ جدول بيانات Excel في نفس الموقع ( obi.xlsx
). أخيرًا، قم بتشغيل ما يلي لتحديث إصدارات TSV من القوالب:
make update-tsv
سيؤدي هذا إلى تحويل علامات التبويب الموجودة في obi.xlsx
مرة أخرى إلى TSVs والكتابة فوق TSVs الموجودة في الدليل src/ontology/templates/
بالتغييرات التي أجريتها. قم بمراجعة تغييراتك ( git diff
) وقم بتقديم طلب السحب الخاص بك.
للعثور على مكان وجود المصطلح، يمكنك استخدام src/scripts/locate.py
.
ثم يمكنك تشغيل البرنامج النصي للعثور على المصطلحات حسب المعرف أو التسمية عن طريق تمريرها كقائمة مفصولة بمسافات، على سبيل المثال:
src/scripts/locate.py OBI:0000070 CHMO:0000087 GO:0000785
يجب أن تكون التسميات محاطة بعلامتي اقتباس مزدوجتين:
src/scripts/locate.py "assay" "fluorescence microscopy" "chromatin"
يتضمن OBI repo بعض نصوص Python لمساعدة المطورين على تحرير قوالب obi-edit.owl
وOBI بكفاءة. تتطلب هذه البرامج النصية 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
هو الإصدار الأخير من OBIMakefile
لبناء OBIviews/
وجهات النظر المتخصصة المختلفة لـ OBIobi.obo
هو الإصدار الأحدث من OBI بتنسيق ملف .obo
obi_core.owl
الإصدار الأحدث من OBI Core: ~100 مصطلح رئيسيsrc/
ontology/
الملفات المصدرية لـ OBIobi-edit.owl
هو ملف OBI OWL الرئيسيcore.txt
قائمة مصطلحات OBI الأساسيةexternal-byhand.owl
بعض الواردات المخصصة من الأنطولوجيات الأخرىcatalog-v001.xml
قائمة حرفية لتجاوزات استيراد OWLtemplates/
ملفات قوالب ROBOT لمختلف فروع OBImodules/
نتائج قوالب ROBOTOntoFox_inputs/
ملفات التكوين OntoFox للاستيراد من الأنطولوجيات الأخرىOntoFox_outputs/
ملفات النتائج OntoFoxsparql/
SPARQL لبناء OBI والتحقق من صحتهscripts/
البرامج النصية فائدةviews/
تكوين طرق العرض يحتوي Makefile
على نصوص برمجية لبناء OBI. في نظام التشغيل macOS أو Linux، يجب أن تكون قادرًا فقط على تشغيل make
أو إحدى المهام المحددة أدناه. على نظام التشغيل Windows، فكر في استخدام نوع ما من أجهزة Linux الافتراضية مثل Docker أو Vagrant. ستكون معظم النتائج في دليل build/
. إذا كان لديك مشكلة، اتصل بجيمس.
make test
وتشغيل اختبارات SPARQL (يتم تشغيل هذا عند كل دفعة إلى GitHub)make sort
، وإصلاح علامات الاقتباس ونهايات الأسطرmake imports
تحديث واردات OntoFoxmake modules
تقوم بتحديث قوالب ROBOTmake obi.owl
يبني ملف الإصدار؛ يمكن أن يستغرق التفكير حوالي 10 دقائقmake views
تحديث قوالب ROBOTmake all
للإصدار، وتشغيل imports
، modules
، test
، و obi.owl
، views
make build/obi_merged.owl
يدمج obi-edit.owl
في ملف واحد، لا داعي لذلكmake clean
وإزالة الملفات المؤقتةنحن نستخدم git وGitHub لتطوير OBI. هناك الكثير من الوثائق الجيدة على حد سواء:
قبل أن تتمكن من البدء في التطوير باستخدام OBI، ستحتاج إلى القيام ببعض الإعداد الأولي:
قم بالتسجيل للحصول على حساب جيثب
قم بتثبيت أداة سطر أوامر Git، أو تطبيق GitHub Desktop، أو عميل Git آخر من اختيارك
قم بتكوين Git باستخدام اسمك وبريدك الإلكتروني
استنساخ مستودع OBI
إذا كنت تستخدم macOS وExcel، فقم بإعداد ربط الالتزام المسبق (انظر أدناه للحصول على التفاصيل):
ln -s ../../src/scripts/check-line-endings.sh .git/hooks/pre-commit
يجب إجراء التغييرات في أجزاء يمكن التحكم فيها، على سبيل المثال إضافة مصطلح واحد أو تعديل بعض المصطلحات ذات الصلة. يجب أن تتوافق معظم التغييرات مع مشكلة واحدة في جهاز التعقب.
ابدأ من نسخة محلية من الفرع master
لمستودع OBI. تأكد من تحديث نسختك المحلية. قم بإجراء تغييراتك على فرع جديد. يرجى استخدام ورقة حجوزات معرف مصطلح OBI لإدارة المعرفات الجديدة.
عندما تكون جاهزًا، ادفع فرعك إلى مستودع OBI وقم بتقديم طلب سحب (PR) على موقع GitHub الإلكتروني. العلاقات العامة الخاصة بك هي طلب لدمج فرعك مرة أخرى في master
. سيتم اختبار علاقاتك العامة ومناقشتها وتعديلها إذا لزم الأمر، ثم دمجها. ومن ثم يمكن تكرار الدورة للتغيير التالي الذي ستجريه أنت أو مطور آخر.
هذه هي الخطوات مع أوامر CLI الخاصة بهم. عند استخدام تطبيق واجهة المستخدم الرسومية، ستكون الخطوات هي نفسها.
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. عند اكتمال هذه المراجعة، سيقوم أحد كبار مطوري OBI بدمج العلاقات العامة. شطف وكرر!
أسهل طريقة لتحرير ملفات src/ontology/template/
هي باستخدام Excel. لسوء الحظ، يحتوي برنامج Excel على بعض القواعد الفريدة لاقتباس قيم الخلايا، ويستخدم نظام التشغيل macOS نهايات الأسطر القديمة. كلا الأمرين يجعلان اختلافاتنا فوضوية ومربكة.
للحصول على فروق واضحة، نود أيضًا أن نمنع القوالب التي تم فرزها حسب المعرف. سيقوم أمر make sort
بإصلاح نهايات الأسطر وفرزها عن طريق تشغيل جميع القوالب من خلال برنامج Python النصي.