يرجى الاطلاع على: https://github.com/DominikBuchner/BOLDigger3
برنامج Python أفضل للاستعلام عن ملفات .fasta مقابل قاعدة بيانات COI الخاصة بـ www.boldsystems.org
غالبًا ما تشتمل مجموعات بيانات تشفير الحمض النووي على مئات من وحدات التصنيف التشغيلية (OTUs)، مما يتطلب الاستعلام عن قواعد البيانات للتخصيص التصنيفي. يعد نظام الباركود لبيانات الحياة (BOLD) قاعدة بيانات مستخدمة على نطاق واسع لهذا الغرض بين علماء الأحياء. ومع ذلك، فإن منصة BOLD على الإنترنت تقيد المستخدمين بتحديد دفعات مكونة من 50 تسلسلًا فقط في المرة الواحدة. بالإضافة إلى ذلك، فإن استخدام واجهة برمجة التطبيقات الخاصة بـ BOLD لا يعالج هذه المشكلة بشكل كامل لأنه لا يوفر الوصول إلى البيانات الخاصة وبيانات الإصدار المبكر.
يهدف BOLDigger2، خليفة BOLDigger، إلى التغلب على هذه القيود. باعتباره برنامج Python خالصًا، يقدم BOLDigger2 ما يلي:
ومن خلال الاستفادة من هذه الميزات، يعمل BOLDigger2 على تبسيط عملية تحديد OTU، مما يجعلها أكثر كفاءة وشمولاً.
identify
، والتي تقوم تلقائيًا بتحديد الهوية وتنزيل البيانات الإضافية واختيار النتيجة الأفضل. وهذا يتيح التنفيذ المباشر في خطوط الأنابيب.identify
في BOLDigger2 وسيطة واحدة فقط: المسار إلى ملف FASTA المراد تعريفه. يقوم بحفظ كافة النتائج في نفس المجلد.يتطلب BOLDigger2 إصدار Python 3.10 أو أعلى ويمكن تثبيته بسهولة باستخدام النقطة في أي سطر أوامر:
pip install boldigger2
سيقوم هذا الأمر بتثبيت BOLDigger2 مع كافة تبعياته.
لتشغيل وظيفة التعريف، استخدم الأمر التالي:
boldigger2 identify PATH_TO_FASTA
لأتمتة وظيفة التعريف في مسارات المعلومات الحيوية، يمكن أيضًا تمرير بيانات اعتماد BOLD مباشرة كوسيطات اختيارية
boldigger2 identify PATH_TO_FASTA -username USERNAME -password PASSWORD
لتخصيص الحدود المطبقة للاحتياجات الخاصة بالمستخدم، يمكن تمرير العتبات كوسيطة إضافية (مرتبه). يمكن تجاوز ما يصل إلى 5 عتبات مختلفة للمستويات التصنيفية المختلفة (النوع، الجنس، العائلة، الرتبة، الطبقة). سيتم استبدال العتبات التي لم يتم تجاوزها افتراضيًا، ولكن BOLDigger2 سيخبرك أيضًا بهذا الأمر.
boldigger2 identify PATH_TO_FASTA -thresholds 99 97
الإخراج:
19:16:16: Default thresholds changed!
19:16:16: Species: 99, Genus: 97, Family: 90, Order: 85, Class: 50
19:16:16: Trying to log in.
BOLD username:
سيطالبك BOLDigger2 بإدخال اسم المستخدم وكلمة المرور الخاصين بك، ثم سيقوم بإجراء عملية التعريف.
عندما يتم إصدار إصدار جديد، يمكنك تحديث BOLDigger2 عن طريق كتابة:
pip install --upgrade boldigger2
Buchner D, Leese F (2020) BOLDigger – حزمة Python لتحديد وتنظيم التسلسلات باستخدام أنظمة الباركود لبيانات الحياة. Metabarcoding و Metagenomics 4: e53535. https://doi.org/10.3897/mbmg.4.53535
تعمل خوارزمية BOLDigger2 وفقًا للمخطط الانسيابي التالي:
تسجيل الدخول إلى BOLD:
إنشاء روابط تنزيل للرموز الشريطية على مستوى الأنواع:
تنزيل أفضل 100 زيارة:
"top_100_hits_unsorted"
.تحديد التسلسلات دون الوصول إلى مستوى الأنواع:
إنشاء روابط التنزيل لجميع السجلات:
تنزيل أفضل 100 نتيجة لجميع السجلات:
"top_100_hits_unsorted"
.فرز وحفظ أفضل النتائج:
"top_100_hits_sorted"
.حفظ البيانات الإضافية:
"top_100_hits_additional_data"
.تصدير بيانات إضافية إلى Excel:
حساب وحفظ أفضل النتائج:
identification_result.xlsx
) وتنسيق Parquet ( identification_result.parquet.snappy
) لمزيد من المعالجة السريعة.يتم استخدام عتبات مختلفة (97%: مستوى الأنواع، 95%: مستوى الجنس، 90%: مستوى العائلة، 85%: مستوى الرتبة، <85% و>= 50: مستوى الفئة) للمستويات التصنيفية للعثور على أفضل نتيجة مناسبة . بعد تحديد العتبة لجميع النتائج، سيتم تحديد النتيجة الأكثر شيوعًا فوق العتبة. لاحظ أنه بالنسبة لجميع النتائج التي تقل عن العتبة، سيتم تعديل القرار التصنيفي وفقًا لذلك (على سبيل المثال، بالنسبة لنسبة 96%، سيتم تجاهل المعلومات على مستوى الأنواع، وسيتم استخدام المعلومات على مستوى الجنس كأدنى مستوى تصنيفي).
تعمل خوارزمية BOLDigger2 على النحو التالي:
تحديد الحد الأقصى للتشابه : ابحث عن الحد الأقصى لقيمة التشابه بين أفضل 100 نتيجة قيد النظر حاليًا.
تعيين العتبة : قم بتعيين العتبة على مستوى التشابه الأقصى هذا. قم بإزالة كافة النتائج التي لها تشابه أقل من هذا الحد. على سبيل المثال، إذا كانت أعلى نتيجة لها تشابه بنسبة 100%، فسيتم تعيين الحد إلى 97%، وستتم إزالة جميع النتائج التي تقل عن هذا الحد مؤقتًا.
التصنيف والفرز : عد جميع التصنيفات الفردية وفرزها حسب الوفرة.
تصفية البيانات المفقودة : قم بإسقاط جميع التصنيفات التي تحتوي على بيانات مفقودة. على سبيل المثال، إذا كانت النتيجة الأكثر شيوعًا هي "Arthropoda --> Insecta" مع تشابه بنسبة 100% ولكن تفتقد قيم الترتيب والعائلة والجنس والأنواع.
تحديد النتيجة الشائعة : ابحث عن النتيجة الأكثر شيوعًا التي لا تحتوي على قيم مفقودة.
إرجاع النتيجة : إذا تم العثور على نتيجة لا تحتوي على قيم مفقودة، فقم بإرجاع تلك النتيجة.
تعديل الحد : إذا لم يتم العثور على نتيجة بدون قيم مفقودة، فقم بزيادة الحد إلى المستوى الأعلى التالي وكرر العملية حتى يتم العثور على نتيجة.
يستخدم BOLDigger2 نظام تمييز لتسليط الضوء على شروط معينة، مما يشير إلى درجة من عدم اليقين في النتيجة المحددة. حاليًا، هناك خمس علامات تم تنفيذها، والتي يمكن تحديثها حسب الحاجة:
تصنيف BIN العكسي : يتم رفع هذه العلامة إذا كانت أفضل 100 نتيجة تمثل المطابقة المحددة تستخدم تصنيف BIN العكسي. يقوم تصنيف BIN العكسي بتعيين أسماء الأنواع للتسلسلات المودعة على BOLD والتي تفتقر إلى معلومات الأنواع، مما قد يؤدي إلى عدم اليقين.
معلومات تصنيفية مختلفة : إذا كان هناك مدخلان أو أكثر بمعلومات تصنيفية مختلفة فوق العتبة المحددة (على سبيل المثال، نوعان فوق 97%)، يتم تشغيل هذه العلامة، مما يشير إلى وجود تناقضات محتملة.
البيانات الخاصة أو بيانات الإصدار المبكر : إذا كانت جميع أفضل 100 نتيجة تمثل النتيجة الأولى هي نتائج خاصة أو بيانات إصدار مبكر، فسيتم رفع هذه العلامة، مما يشير إلى محدودية إمكانية الوصول إلى البيانات.
النتيجة الفريدة : تشير هذه العلامة إلى أن نتيجة النتيجة الأعلى تمثل نتيجة فريدة من بين أفضل 100 نتيجة، مما قد يتطلب مزيدًا من التدقيق.
أرقام التعريف المصرفية المتعددة : إذا كانت النتيجة المحددة على مستوى الأنواع مكونة من أكثر من رقم تعريف شخصي واحد، فسيتم رفع هذه العلامة، مما يشير إلى التعقيدات المحتملة في التعيين التصنيفي.
نظرًا لوجود هذه العلامات، فمن المستحسن إجراء فحص دقيق لجميع النتائج التي تم وضع علامة عليها لفهم أي شكوك في النتيجة المحددة ومعالجتها بشكل أفضل.