AI-ربط
AI-Bind عبارة عن خط أنابيب للتعلم العميق يوفر تنبؤات ملزمة قابلة للتفسير للبروتينات والروابط التي لم يتم رؤيتها من قبل. AI-Bind قادر على الفحص السريع للمكتبات الكيميائية الكبيرة وتوجيه عمليات محاكاة الإرساء التلقائي المكلفة حسابيًا عن طريق تحديد أولويات أزواج البروتين ليجند للتحقق من صحتها. يتطلب خط الأنابيب ميزات كيميائية بسيطة كمدخلات، مثل تسلسل الأحماض الأمينية للبروتين والابتسامة الأيزومرية للربيطة، مما يساعد على التغلب على القيود المرتبطة بنقص هياكل البروتين ثلاثية الأبعاد المتاحة.
النسخة المسبقة متاحة على: https://arxiv.org/abs/2112.13168
لماذا AI-Bind؟
أوجه القصور في نماذج ML الموجودة في التنبؤ بربط بروتين ليجند
إن اهتمامنا بالتنبؤ بالارتباط بالبروتينات والروابط التي لم يتم رؤيتها من قبل دفعنا إلى تقسيم أداء الاختبار لنماذج التعلم الآلي الحالية (على سبيل المثال، DeepPurpose) إلى ثلاثة مكونات:
(أ) الاختبار التحويلي: عندما تكون البروتينات والروابط من مجموعة بيانات الاختبار موجودة في بيانات التدريب،
(ب) الاختبار شبه الاستقرائي: عندما تكون الروابط من مجموعة بيانات الاختبار موجودة فقط في بيانات التدريب، و
(ج) الاختبار الاستقرائي: عندما تكون البروتينات والروابط من مجموعة بيانات الاختبار غائبة في بيانات التدريب.
نتعلم أن أداء الاختبار الاستقرائي فقط هو مقياس يمكن الاعتماد عليه لتقييم مدى جودة تعلم نموذج التعلم الآلي للربط من السمات الهيكلية للبروتينات والروابط. نلاحظ أن غالبية النماذج تقدم بشكل أساسي أداء اختبار توصيلي، والذي يرتبط بالتنبؤ بالروابط غير المرئية في شبكة تفاعل البروتين يجند المستخدمة في التدريب. نحن نستكشف كيف تحقق نماذج ML أداءً تحويليًا يمكن مقارنته بخوارزميات أبسط بكثير (أي نماذج تكوين الشبكة)، والتي تتجاهل تمامًا الهياكل الجزيئية وتستخدم معلومات الدرجة لعمل تنبؤات ملزمة.
ماذا يقدم AI-Bind؟
يعمل خط أنابيب AI-Bind على زيادة أداء الاختبار الاستقرائي إلى الحد الأقصى من خلال تضمين السلبيات المشتقة من الشبكة في بيانات التدريب وتقديم تدريب مسبق غير خاضع للرقابة للتضمين الجزيئي. يتم التحقق من صحة خط الأنابيب عبر ثلاث بنيات عصبية مختلفة: نموذج VecNet، وVAENet، والنموذج السيامي. أفضل بنية أداء في AI-Bind هي VecNet، والتي تستخدم Mol2vec وProtVec لتضمين البروتينات والروابط، على التوالي. يتم تغذية هذه التضمينات في وحدة فك التشفير (Perseptron متعدد الطبقات)، للتنبؤ باحتمال الارتباط.
إمكانية تفسير AI-Bind وتحديد مواقع الربط النشطة
نقوم بتحويل بعض العناصر الأساسية (ثلاثيات الأحماض الأمينية) لبنية البروتين للتعرف على المناطق التي تؤثر بشكل أكبر على تنبؤات الارتباط وتحديدها كمواقع ربط محتملة. أدناه، نقوم بالتحقق من صحة مواقع الارتباط النشطة المتوقعة لـ AI-Bind على البروتين البشري TRIM59 من خلال تصور نتائج عمليات محاكاة الإرساء التلقائي ورسم خرائط للمواقع المتوقعة لبقايا الأحماض الأمينية حيث ترتبط الروابط. يمكن لمواقع الربط المتوقعة بواسطة AI-Bind توجيه المستخدمين في إنشاء شبكة مثالية لعمليات محاكاة الإرساء التلقائي، مما يقلل وقت المحاكاة بشكل أكبر.
إعداد AI-Bind والتنبؤ بربط البروتين-Ligand (إرشادات للمستخدمين النهائيين)
إعداد الأجهزة لـ AI-Bind
لقد قمنا بتدريب واختبار جميع نماذجنا عبر خادم على Google Cloud Platform باستخدام وحدة المعالجة المركزية Intel Broadwell ووحدة معالجة الرسومات NVIDIA Tesla T4. إصدار Python المستخدم في AI-Bind هو 3.6.6. إصدار CUDA المستخدم هو 9.0.
باستخدام عامل الميناء
الرجاء استخدام عامل الإرساء هذا لتشغيل AI-Bind: https://hub.docker.com/r/omairs/foodome2
باستخدام ملف المتطلبات
جميع وحدات Python والإصدارات المقابلة المطلوبة لـ AI-Bind مدرجة هنا: require.txt
استخدم pip install -r require.txt لتثبيت الحزم ذات الصلة.
إصدار rdkit المستخدم في AI-Bind: '2017.09.1' (للتثبيت، تحقق من الوثائق هنا: https://www.rdkit.org/docs/Install.html، الأمر: conda install -c rdkit rdkit)
تأكد من وجود دفتر الملاحظات VecNet-User-Frontend.ipynb والملفات الثلاثة الموجودة في المجلد AIBind (AIBind.py و init .py وimport_modules.py) في نفس المجلد.
قم بتنزيل وحفظ ملفات البيانات ضمن /data. رابط التحميل: https://zenodo.org/record/7226641
التثبيت البديل باستخدام Docker
- قم بتنزيل ملف عامل الإرساء المسمى "Predictions.dockerfile".
- على جهازك الطرفي، انتقل إلى الدليل الذي يحتوي على ملف dockerfile وقم بتشغيل: docker build -t aibindpred -f ./Predictions.dockerfile ./
- لتشغيل الصورة كحاوية: docker run -it --gpus all --name aibindpredcontainer -p 8888:8888 aibindpred يمكنك استنساخ مستودع git داخل الحاوية، أو إرفاق وحدة التخزين المحلية الخاصة بك أثناء تشغيل الحاوية: docker run -it --gpus الكل --name aibindpredcontainer -p 8888:8888 -v ./local_directory:/home aibindpred
- لتنفيذ أصداف إضافية داخل الحاوية، قم بتشغيل: docker exec -it aibindpredcontainer /bin/bash
- لتشغيل مثيل دفتر Jupyter داخل الحاوية، قم بتشغيل: jupyter Notebook --ip=0.0.0.0 --port=8888 --allow-root ستؤدي الخطوات المذكورة أعلاه إلى تثبيت جميع الحزم الضرورية وإنشاء بيئة لتشغيل تنبؤات الربط باستخدام AI- ربط.
تشغيل التوقعات من الواجهة الأمامية
- قم بتنظيم ملف البيانات الخاص بك بتنسيق dataframe باستخدام الأعمدة "InChiKey" و"SMILE" و"target_aa_code". احفظ إطار البيانات هذا في ملف .csv.
- قم بتشغيل دفتر الملاحظات الذي يحمل عنوان VecNet-User-Frontend.ipynb لإجراء التنبؤات الملزمة. ستكون احتمالات الربط المتوقعة متاحة تحت عنوان العمود "التنبؤات المتوسطة".
الكود والبيانات
ملفات البيانات
جميع ملفات البيانات متاحة هنا: https://zenodo.org/record/7226641
- /data/sars-busters-consolidated/ملفات قاعدة البيانات: تحتوي على بيانات ربط البروتين ليجند المستمدة من DrugBank وBindingDB وDTC (Drug Target Commons).
- /data/sars-busters-consolidated/chemicals: يحتوي على الروابط المستخدمة في تدريب واختبار AI-Bind مع التضمينات.
- /data/sars-busters-consolidated/GitData/DeepPurpose and Configuration Model: بيانات اختبار التدريب المتعلقة بالتحقق المتبادل 5 أضعاف لـ Transformer-CNN (DeepPurpose) ونموذج التكوين المزدوج.
- /data/sars-busters-consolidated/GitData/interactions: يحتوي على مجموعة البيانات السلبية المشتقة من الشبكة المستخدمة في تدريب الشبكات العصبية AI-Bind.
- /data/sars-busters-consolidated/GitData: يحتوي على نموذج VecNet مُدرب، وتنبؤات ملزمة بشأن البروتينات الفيروسية والبشرية المرتبطة بـCOVID-19، وملخصًا لنتائج عمليات محاكاة الإرساء التلقائي.
- /data/sars-busters-consolidated/master_files: يحتوي على أزواج بروتينات ليجند السلبية المطلقة (غير الملزمة) المستخدمة في اختبار AI-Bind.
- /data/sars-busters-consolidated/targets: يحتوي على البروتينات المستخدمة في تدريب واختبار AI-Bind مع التضمينات المرتبطة به.
- /data/sars-busters-consolidated/interactions: يحتوي على أزواج رابطة البروتين الإيجابية (الملزمة) المستمدة من DrugBank، وNCFD (المركبات الطبيعية في قاعدة بيانات الأغذية)، وBindingDB، وDTC.
- /data/sars-busters-consolidated/Auto Docking: يحتوي على جميع الملفات والنتائج الناتجة عن التحقق من صحة AI-Bind على البروتينات الفيروسية والبشرية ذات الصلة بـCOVID-19.
- /data/sars-busters-consolidated/ التحقق من صحة ملف احتمالية الربط: يحتوي على الملفات التي تصور مواقع الربط النشطة من عمليات محاكاة فك التشفير التلقائي.
- /data/sars-busters/Mol2vec: نماذج Mol2vec وProtVec المدربة مسبقًا متاحة هنا.
- /data/sars-busters-consolidated/s4pred: يتضمن التعليمات البرمجية والملفات للتنبؤ بالبنية الثانوية لـ TRIM59.
شفرة
نحن هنا نصف دفاتر Jupyter Notebooks وPython Modules ونصوص MATLAB المستخدمة في AI-Bind.
AIBind
- AIBind.py: يحتوي على فئة Python لـ AI-Bind. يشمل جميع البنى العصبية: VecNet، VAENet وSiamese Model.
- import_modules.py: يحتوي على كافة وحدات Python اللازمة لتشغيل AI-Bind.
تكوين-نموذج-5 أضعاف
- نموذج التكوين - Cross-Validation.ipynb: يحسب أداء التحقق المتبادل 5 أضعاف لنموذج التكوين المزدوج على بيانات BindingDB المستخدمة في DeepPurpose.
- configuration_bipartite.m: يحتوي على تطبيق MATLAB لنموذج التكوين المزدوج.
- runscriptposneg.m: تشغيل نموذج التكوين المزدوج باستخدام درجة تسلسل الروابط والبروتينات. تُستخدم ملفات الإخراج summat10.csv وsummat01.csv في حساب أداء نموذج التكوين.
DeepPurpose-5 أضعاف
- الغرض العميق - مجموعة البيانات النهائية - الأهداف غير المرئية.ipynb: نقوم بتنفيذ تحقق متبادل بخمسة أضعاف على الأهداف غير المرئية (اختبار شبه حثي) على DeepPurpose باستخدام النتائج السلبية المشتقة من الشبكة.
- الغرض العميق - مجموعة البيانات النهائية - العقد غير المرئية.ipynb: نقوم بتنفيذ تحقق متبادل بخمسة أضعاف على العقد غير المرئية (اختبار حثي) على DeepPurpose باستخدام السلبيات المشتقة من الشبكة.
مولترانس
- example_inductive_AI_Bind_data.py: نقوم بإجراء اختبار استقرائي على MolTrans باستخدام العينات السلبية المشتقة من الشبكة والتي تُستخدم في تدريب AI-Bind.
- example_inductive_BindingDB.py: نقوم بإجراء اختبار استقرائي على MolTrans باستخدام بيانات BindingDB المستخدمة في ورقة MolTrans.
- example_semi_inductive.py: يمكن استخدام هذا البرنامج النصي لتشغيل اختبارات شبه حثي على MolTrans.
- example_transductive.py: يمكن استخدام هذا البرنامج النصي لتشغيل الاختبارات التحويلية على MolTrans.
نموذج DeepPurpose وConfiguration
- إعادة تشغيل DeepPurpose - المحول CNN.ipynb: نقوم بتدريب اختبار DeepPurpose باستخدام بيانات BindingDB المعيارية. تم إجراء تجارب متعددة على DeepPurpose هنا، والتي تتضمن خلطًا عشوائيًا للتركيبات الكيميائية وتحليل درجات أداء DeepPurpose.
- نماذج التكوين في بيانات DeepPurpose.ipynb: نستكشف أداء نموذج التكوين المزدوج في مجموعة بيانات BindingDB المستخدمة في DeepPurpose.
EigenSpokes
- تحليل المتحدث الذاتي.ipynb - نقوم بإجراء تحليل المتحدث الخاص هنا على مصفوفة الجوار المدمجة (مصفوفة الجوار المربعة مع الروابط والأهداف في كل من الصفوف والأعمدة).
ظهور الاختصارات
- Without_and_with_constant_fluctuations_p_bind=0.16.ipynb: إنشاء نموذج التكوين وتشغيله على شبكة اللعبة أحادية الجزء استنادًا إلى عينة البروتين في BindingDB. نحن هنا نستكشف سيناريوهين يتعلقان بالارتباط بين الدرجة وثابت التفكك - دون أي تقلبات وتقلبات ثابتة على قيم ثابت التفكك.
- With_varying_fluctuations.ipynb: يقوم بإنشاء وتشغيل نموذج التكوين على شبكة اللعبة أحادية الجزء استنادًا إلى عينة البروتين في BindingDB، حيث تتبع التقلبات على قيم ثابت التفكك اتجاهات مماثلة كما في بيانات BindingDB.
الميزات الهندسية
- فهم الميزات الهندسية.ipynb: نحن نستكشف إمكانية شرح الميزات الهندسية (الميزات البسيطة التي تمثل جزيئات الليجند والبروتين.
- ميزات VecNet الهندسية - الأبعاد المهمة لـ Mol2vec وProtvec.ipynb: يحدد الأبعاد الأكثر أهمية في تضمينات Mol2vec وProtVec، من حيث الارتباط بالبروتين.
- ميزات VecNet الهندسية Concat Original Features.ipynb: يستكشف أداء VecNet بعد تسلسل البروتين الأصلي وعناصر الترابط.
- VecNet Engineered Features.ipynb: يستبدل تضمينات Mol2vec وProtVec بميزات هندسية بسيطة في بنية VecNet ويستكشف أدائها.
تحديد مواقع الربط النشطة
- VecNet-Protein-Trigrams-Study-GitHub.ipynb: نقوم بتحور الأحماض الأمينية ثلاثية الأبعاد على البروتين ونلاحظ التقلبات في تنبؤات VecNet. تساعدنا هذه العملية في تحديد مواقع الارتباط النشطة المحتملة في تسلسل الأحماض الأمينية.
اختبارات الإدخال العشوائية
- VecNet-Unseen_Nodes-RANDOM.ipynb: يقوم بتشغيل VecNet على العقد غير المرئية (اختبار حثي) حيث يتم استبدال الروابط والبروتينات بمدخلات عشوائية غاوسية.
- VecNet-Unseen_Nodes-T-RANDOM-Only.ipynb: يقوم بتشغيل VecNet على العقد غير المرئية (اختبار حثي) حيث يتم استبدال تضمينات البروتين بمدخلات عشوائية غاوسية.
- VecNet-Unseen_Targets-RANDOM.ipynb: يقوم بتشغيل VecNet على أهداف غير مرئية (اختبار شبه حثي) حيث يتم استبدال الروابط والبروتينات بمدخلات عشوائية غاوسية.
- VecNet-Unseen_Targets-T-RANDOM-Only.ipynb: يقوم بتشغيل VecNet على أهداف غير مرئية (اختبار شبه حثي) حيث يتم استبدال تضمينات البروتين بمدخلات عشوائية غاوسية.
سيامي
- Siamese_Unseen_Nodes.ipynb: نقوم بإنشاء مجموعة البيانات السلبية المشتقة من الشبكة وننفذ التحقق المتبادل بخمسة أضعاف على العقد غير المرئية (اختبار حثي) هنا.
- Siamese_Unseen_Targets.ipynb: نقوم بتنفيذ التحقق المتبادل بخمسة أضعاف على الأهداف غير المرئية (اختبار شبه حثي) هنا.
فاي نت
- VAENet-Unseen_Nodes.ipynb: نقوم بإنشاء السلبيات المشتقة من الشبكة وتنفيذ التحقق المتبادل بخمسة أضعاف على العقد غير المرئية (اختبار حثي) هنا.
- VAENet-Unseen_Targets.ipynb: نقوم بتنفيذ التحقق المتبادل بخمسة أضعاف على الأهداف غير المرئية (اختبار شبه حثي) هنا.
تصديق
- تحليل تنبؤات SARS-CoV-2 VecNet.ipynb: التحقق من صحة الالتحام التلقائي لأعلى وأدنى 100 تنبؤ أجرته VecNet على البروتينات الفيروسية لـ SARS-CoV-2 والبروتينات البشرية المرتبطة بـCOVID-19.
- Binding_Probability_Profile_Golden_Standar_Validation.py: التحقق من صحة مواقع الربط المشتقة من AI-Bind باستخدام بيانات ربط البروتين القياسية الذهبية.
فيكنيت
- VecNet-Unseen_Nodes.ipynb: نقوم بإنشاء النتائج السلبية المشتقة من الشبكة، وتنفيذ التحقق المتبادل بخمسة أضعاف على العقد غير المرئية (اختبار حثي)، ووضع تنبؤات بشأن البروتينات الفيروسية لـ SARS-CoV-2 والبروتينات البشرية المرتبطة بـCOVID-19.
- VecNet-Unseen_Targets.ipynb: نقوم بتنفيذ التحقق المتبادل بخمسة أضعاف على الأهداف غير المرئية (اختبار شبه حثي) هنا.
الموارد الخارجية
- تعلم الإرساء التلقائي باستخدام Autodock Vina: https://www.youtube.com/watch?v=BLbXkhqbebs
- تعلم كيفية تصور مواقع الربط النشطة باستخدام PyMOL: https://www.youtube.com/watch?v=mBlMI82JRfI
استشهد بـ AI-Bind
إذا وجدت AI-Bind مفيدًا في بحثك، فيرجى إضافة الاقتباس التالي:
@article{Chatterjee2023,
doi = {10.1038/s41467-023-37572-z},
url = {https://doi.org/10.1038/s41467-023-37572-z},
year = {2023},
month = apr,
publisher = {Springer Science and Business Media {LLC}},
volume = {14},
number = {1},
author = {Ayan Chatterjee and Robin Walters and Zohair Shafi and Omair Shafi Ahmed and Michael Sebek and Deisy Gysi and Rose Yu and Tina Eliassi-Rad and Albert-L{'{a}}szl{'{o}} Barab{'{a}}si and Giulia Menichetti},
title = {Improving the generalizability of protein-ligand binding predictions with {AI}-Bind},
journal = {Nature Communications}
}