معلومة

2.5: خوارزمية Needleman-Wunsch - علم الأحياء


سنستخدم الآن البرمجة الديناميكية لمعالجة المشكلة الأصعب المتمثلة في محاذاة التسلسل العام. تُعرف الخوارزمية التي سنطورها في الأقسام التالية لحل محاذاة التسلسل باسم خوارزمية Needleman-Wunsch.

البرمجة الديناميكية مقابل الحفظ

قبل أن نغوص في الخوارزمية ، هناك ملاحظة أخيرة حول الحفظ بالترتيب. تمامًا مثل مشكلة فيبوناتشي ، يمكن حل مشكلة محاذاة التسلسل إما من أعلى إلى أسفل أو من أسفل إلى أعلى.

في نهج تعاودي من أعلى إلى أسفل يمكننا استخدام memoization لإنشاء قاموس كبير يحتمل أن يكون مفهرسًا بواسطة كل من المشكلات الفرعية التي نقوم بحلها (التسلسلات المحاذاة). يتطلب هذا مساحة (O left (n ^ {2} m ^ {2} right) ) إذا قمنا بفهرسة كل مشكلة فرعية من خلال نقطتي البداية والنهاية للنتائج اللاحقة التي يجب حساب المحاذاة المثلى لها. الميزة هي أننا نحل كل مشكلة فرعية مرة واحدة على الأكثر: إذا لم تكن موجودة في القاموس ، فسيتم حساب المشكلة ثم إدراجها في القاموس لمزيد من المرجع.

في النهج التكراري التصاعدي يمكننا استخدام البرمجة الديناميكية. نحدد ترتيب المشكلات الفرعية الحاسوبية بطريقة يتم فيها حساب حل المشكلة بمجرد حل المشكلات الفرعية ذات الصلة. على وجه الخصوص ، ستأتي المشكلات الفرعية الأبسط قبل المشكلات الأكثر تعقيدًا. هذا يزيل الحاجة إلى تتبع المشكلات الفرعية التي تم حلها (يتحول القاموس في الحفظ إلى مصفوفة) ويضمن عدم وجود عمل مكرر (يتم حساب كل محاذاة فرعية مرة واحدة فقط).

وبالتالي ، في هذه الحالة بالذات ، فإن الاختلاف العملي الوحيد بين التذكر والبرمجة الديناميكية هو تكلفة المكالمات المتكررة المتكبدة في حالة الذاكرة (استخدام المساحة هو نفسه).

عرض المشكلة

لنفترض أن لدينا محاذاة مثالية لتسلسلتين (S_ {1 ldots n} ) و (T_ {1 ldots m} ) حيث تطابق Si Tj. الفكرة الأساسية هي أن هذه المحاذاة المثالية تتكون من محاذاة مثالية بين ( left (S_ {1} و ldots و S_ {i-1} right) ) و ( left (T_ {1} ، ldots و T_ {i-1} right) ) ومحاذاة مثالية بين ( left (S_ {i + 1} و ldots و S_ {n} right) ) و ( left (T_) {j + 1} ، ldots ، T_ {m} right) ). يأتي هذا من وسيطة القص واللصق: إذا كانت إحدى هذه المحاذاة الجزئية دون المستوى الأمثل ، فإننا نقوم بقص ولصق محاذاة أفضل بدلاً من المحاذاة دون المثالية. هذا يحقق درجة أعلى من المحاذاة الشاملة وبالتالي يتعارض مع الأمثلية المحاذاة العالمية الأولية. بمعنى آخر ، يجب أن يكون كل مسار فرعي في المسار الأمثل هو الأمثل أيضًا. لاحظ أن الدرجات مضافة ، وبالتالي فإن درجة المحاذاة الكلية تساوي إضافة درجات محاذاة التكرارات اللاحقة. يفترض هذا ضمنيًا أن المشكلات الفرعية لحساب محاذاة التسجيل المثلى للتكرارات اللاحقة مستقلة. نحن بحاجة إلى التحفيز بيولوجيًا على أن مثل هذا الافتراض يؤدي إلى نتائج ذات مغزى.

مساحة فهرس المشاكل الفرعية

نحتاج الآن إلى فهرسة مساحة المشكلات الفرعية. لنفترض (F_ {i، j} ) أن تكون نتيجة المحاذاة المثلى لـ ( left (S_ {1} و ldots و S_ {i} right) ) و ( left (T_ {1) } ، ldots ، T_ {i} right) ). مساحة المشكلات الفرعية هي ( left {F_ {i، j}، i in [0، | S |]، j in [0، | T |] right } ). هذا يسمح لنا بالحفاظ على ((م + 1) × (n + 1) ) مصفوفة F مع الحلول (أي الدرجات المثلى) لجميع المشكلات الفرعية.

أمثلية محلية

يمكننا حساب الحل الأمثل لمشكلة فرعية عن طريق اتخاذ خيار محلي مثالي بناءً على النتائج من المشكلات الفرعية الأصغر. وبالتالي ، نحتاج إلى إنشاء دالة تكرارية توضح كيف يعتمد حل مشكلة معينة على مشكلاتها الفرعية. ونستخدم هذا التعريف العودي لملء الجدول F بطريقة تصاعدية.

يمكننا النظر في الاحتمالات الأربعة (إدراج ، حذف ، استبدال ، تطابق) وتقييم كل منها بناءً على النتائج التي قمنا بحسابها للمشكلات الفرعية الأصغر. لتهيئة الجدول ، قمنا بتعيين (F_ {0، j} = −j · d ) و (F_ {i، 0} = −i · d ) لأن هذه هي درجات المحاذاة ( left ( T_ {1} ، ldots ، T_ {i} right) ) مع فجوات j و ( يسار (S_ {1} ، ldots ، S_ {i} right) ) مع (i ) فجوات (ويعرف أيضًا باسم التداخل الصفري بين التسلسلين). ثم نجتاز عمود المصفوفة بعمود لحساب الدرجة المثلى لكل مشكلة فرعية للمحاذاة من خلال النظر في الاحتمالات الأربعة:

• يحتوي التسلسل S على فجوة في موضع المحاذاة الحالي.

• يحتوي التسلسل T على فجوة في موضع المحاذاة الحالي.

• هناك طفرة (استبدال النيوكليوتيدات) في الوضع الحالي.

• هناك تطابق في الموقف الحالي.

ثم نستخدم الاحتمالية التي تنتج الدرجة القصوى. نعبر عن هذا رياضيًا بالصيغة العودية لـ (F_ {i، j} ):

[F (0،0) = 0 nonumber ]

[التهيئة: F (i، 0) = F (i - 1، 0) - d nonumber ]

[F (0، j) = F (0، j - 1) - d nonumber ]

[ text {Iteration}: quad F (i، j) = max left { begin {array} {l}
F (i-1، j) -d text {أدخل فجوة في S}
F (i، j-1) -d text {أدخل فجوة في T}
F (i-1، j-1) + s left (x_ {i}، y_ {j} right) text {match or mutation}
نهاية {مجموعة} صحيح. عدد ]

الإنهاء: أسفل اليمين

بعد اجتياز المصفوفة ، يتم إعطاء الدرجة المثلى للمحاذاة العامة بواسطة (F_ {m، n} ). يجب أن يكون ترتيب الاجتياز بحيث يكون لدينا حلول لمشاكل فرعية معينة عندما نحتاج إليها. أي لحساب (F_ {i، j} ) ، نحتاج إلى معرفة القيم الموجودة على اليسار ، والأعلى ، وقطريًا فوق (F_ {i، j} ) في الجدول. وبالتالي يمكننا اجتياز الجدول بترتيب رئيسي في الصف أو العمود أو حتى بشكل مائل من الخلية اليسرى العلوية إلى الخلية اليمنى السفلية. الآن ، للحصول على المحاذاة الفعلية ، علينا فقط أن نتذكر الخيارات التي اتخذناها في كل خطوة.

حل مثالي

تتوافق المسارات عبر المصفوفة (F ) مع محاذاة التسلسل المثلى. عند تقييم كل خلية (F_ {i، j} ) نقوم باختيار من خلال تحديد الحد الأقصى من الاحتمالات الثلاثة. وبالتالي يتم تحديد قيمة كل خلية (غير مهيأة) في المصفوفة إما عن طريق الخلية الموجودة على يسارها ، أو فوقها ، أو بشكل مائل إلى اليسار فوقها. يتم تمثيل كل من المباراة والتبديل على أنهما يسافران في الاتجاه القطري ؛ ومع ذلك ، يمكن تطبيق تكلفة مختلفة لكل منهما ، اعتمادًا على ما إذا كان الزوجان الأساسيان اللذان نقوم بمحاذاةهما متطابقين أم لا. لبناء المحاذاة المثالية الفعلية ، نحتاج إلى التتبع من خلال اختياراتنا في المصفوفة. من المفيد الاحتفاظ بمؤشر لكل خلية أثناء ملء الجدول الذي يوضح الخيار الذي تم إجراؤه للحصول على النتيجة لتلك الخلية. ثم يمكننا فقط اتباع مؤشراتنا للخلف لإعادة بناء المحاذاة المثلى.

تحليل الحل

تحليل وقت تشغيل هذه الخوارزمية بسيط للغاية. يستغرق كل تحديث (O (1) ) وقتًا ، وبما أن هناك مليون عنصر في المصفوفة F ، فإن إجمالي وقت التشغيل هو (O (mn) ). وبالمثل ، فإن إجمالي مساحة التخزين هو O (mn). بالنسبة للحالة العامة حيث تكون قاعدة التحديث أكثر تعقيدًا ، قد يكون وقت التشغيل أكثر تكلفة. على سبيل المثال ، إذا كانت قاعدة التحديث تتطلب اختبار جميع أحجام الفجوات (على سبيل المثال ، تكلفة الفجوة ليست خطية) ، فإن وقت التشغيل سيكون (O (mn (m + n)) ).

Needleman-Wunsch في الممارسة

افترض أننا نريد محاذاة تسلسلين S و T ، حيث

S = AGT

T = AAGC

تتمثل الخطوة الأولى في وضع التسلسلين على طول هوامش المصفوفة وتهيئة خلايا المصفوفة. للتهيئة ، نقوم بتعيين 0 للمدخل الأول في المصفوفة ثم نقوم بملء الصف والعمود الأول بناءً على الإضافة المتزايدة لعقوبات الفجوة ، كما في الشكل 2.9 أدناه. على الرغم من أن الخوارزمية يمكن أن تملأ الصف الأول والعمود من خلال التكرار ، فمن المهم تحديد حدود المشكلة بوضوح وتعيينها.

الخطوة التالية هي التكرار خلال المصفوفة. تستمر الخوارزمية إما على طول الصفوف أو على طول الأعمدة ، مع مراعاة خلية واحدة في كل مرة. يتم حساب ثلاث درجات لكل خلية ، اعتمادًا على درجات ثلاث خلايا مصفوفة متجاورة (على وجه التحديد الإدخال أعلاه ، والواحد قطريًا لأعلى ولليسار ، والآخر على اليسار). يتم تعيين الحد الأقصى من نقاط هذه التتبع المحتملة الثلاثة إلى الإدخال ويتم أيضًا تخزين المؤشر المقابل. يحدث الإنهاء عندما تصل الخوارزمية إلى الزاوية اليمنى السفلية. في الشكل 2.10 ، تم ملء مصفوفة المحاذاة للتسلسل S و T بالدرجات والمؤشرات.

الخطوة الأخيرة من الخوارزمية هي المسار الأمثل لتتبع المسار. في مثالنا ، نبدأ من الركن الأيمن السفلي ونتبع المؤشرات المتاحة في الزاوية اليسرى العليا. من خلال تسجيل قرارات المحاذاة التي تم اتخاذها في كل خلية أثناء التتبع ، يمكننا إعادة بناء محاذاة التسلسل الأمثل من النهاية إلى البداية ثم عكسها. لاحظ أنه في هذه الحالة بالذات ، توجد مسارات مثالية متعددة (الشكل 2.11). تم تضمين تنفيذ الكود الزائف لخوارزمية Needleman-Wunsch في الملحق 2.11.4

التحسينات

تعد الخوارزمية الديناميكية التي قدمناها أسرع بكثير من استراتيجية القوة الغاشمة لتعداد المحاذاة وهي تعمل بشكل جيد للتسلسلات التي يصل طولها إلى 10 كيلو قواعد. ومع ذلك ، على نطاق محاذاة الجينوم الكامل ، فإن الخوارزمية المعطاة غير مجدية. من أجل محاذاة التسلسلات الأكبر بكثير ، يمكننا إجراء تعديلات على الخوارزمية وتحسين أدائها.

البرمجة الديناميكية المقيدة

أحد التحسينات الممكنة هو تجاهل Mildly Boring Alignments (MBAs) ، أو المحاذاة التي تحتوي على الكثير من الفجوات. صراحةً ، يمكننا أن نقصر أنفسنا على مسافة W من القطر في المصفوفة

F من المشاكل الفرعية. بمعنى ، نفترض أن مسار التحسين في F من (F_ {0،0} ) إلى (F_ {m، n} ) يقع على مسافة W على طول القطر. هذا يعني أن العودية (2.2) تحتاج فقط إلى أن يتم تطبيقها على الإدخالات في F ضمن المسافة W حول القطر ، وهذا ينتج عنه تكلفة الوقت / الفضاء من (O ((m + n) W) ) (راجع الشكل 2.12).

لاحظ ، مع ذلك ، أن هذه الإستراتيجية إرشادية ولم تعد تضمن التوافق الأمثل. وبدلاً من ذلك ، تصل إلى حد أدنى على الدرجة المثلى. يمكن استخدام هذا في خطوة لاحقة حيث نتجاهل التكرارات في المصفوفة F والتي ، بالنظر إلى الحد الأدنى ، لا يمكن أن تؤدي إلى محاذاة مثالية.

محاذاة الفضاء الخطية

يمكن حل العودية (2.2) باستخدام مساحة خطية فقط: نقوم بتحديث الأعمدة الموجودة في F من اليسار إلى اليمين والتي نتتبع خلالها فقط آخر عمود تم تحديثه والذي يكلف مساحة (O (m) ). ومع ذلك ، إلى جانب النتيجة (F_ {m، n} ) للمحاذاة المثلى ، نريد أيضًا حساب محاذاة مقابلة. إذا استخدمنا trace back ، فسنحتاج إلى تخزين المؤشرات لكل من الإدخالات في F ، وهذا يكلف مساحة (O (mn) ).

من الممكن أيضًا العثور على محاذاة مثالية باستخدام مساحة خطية فقط! الهدف هو استخدام فرق تسد من أجل حساب بنية المحاذاة المثلى لإدخال مصفوفة واحد في كل خطوة. يوضح الشكل 2.13 العملية. الفكرة الأساسية هي أن محاذاة البرمجة الديناميكية يمكن أن تستمر بنفس السهولة في الاتجاه العكسي ، بدءًا من الزاوية اليمنى السفلية وتنتهي في أعلى اليسار. لذا ، إذا تم تقسيم المصفوفة إلى نصفين ، فيمكن أن يجرى كل من التمريرة الأمامية والممر العكسي في نفس الوقت ويتقاربان في العمود الأوسط. عند نقطة العبور يمكننا جمع درجتي المحاذاة معًا ؛ يجب أن تقع الخلية الموجودة في العمود الأوسط ذات الدرجة القصوى في المسار الأمثل العام.

يمكننا وصف هذه العملية بشكل أكثر رسمية وكمية. قم أولاً بحساب فهرس الصف (u ∈ {1، ...، m} ) الموجود على المسار الأمثل أثناء عبور العمود ( frac {n} {2} th ). بالنسبة إلى (1 ≤ i ≤ m ) و (n ≤ j ≤ n ) دع (C_ {i، j} ) تشير إلى فهرس الصف الموجود على المسار الأمثل لـ (F_ {i، j} ) أثناء عبور العمود ( frac {n} {2} th ). بعد ذلك ، بينما نقوم بتحديث أعمدة F من اليسار إلى اليمين ، يمكننا أيضًا تحديث أعمدة C من اليسار إلى اليمين. لذلك ، في (O (mn) ) الوقت و (O (m) ) الفضاء يمكننا حساب النتيجة (F_ {m، n} ) وأيضًا (C_ {m، n} ) ، والذي يساوي فهرس الصف (u ∈ {1،.، m} ) الموجود على المسار الأمثل أثناء عبور العمود ( frac {n} {2} th ). تبدأ الآن فكرة فرق تسد. نكرر الإجراء أعلاه للمصفوفة الفرعية العلوية اليسرى (u times frac {n} {2} ) من F ونكرر أيضًا الإجراء أعلاه للجزء السفلي الأيمن (( mu) times frac {n} {2} ) مصفوفة فرعية لـ F. يمكن القيام بذلك باستخدام (O (m + n) ) المساحة الخطية المخصصة. وقت تشغيل المصفوفة الفرعية العلوية اليسرى هو (O left ( frac {un} {2} right) ) ووقت التشغيل للمصفوفة الفرعية اليمنى السفلية هو (O left ( frac {(mu) n} {2} right) ) ، اللذان تم إضافتهما معًا يعطي وقت تشغيل (O left ( frac {mn} {2} right) = O (mn) ).

نستمر في تكرار الإجراء أعلاه للحصول على فئات فرعية أصغر وأصغر من F بينما نجمع المزيد والمزيد من إدخالات المحاذاة مع الدرجة المثلى. إجمالي وقت التشغيل هو (O (mn) + O left ( frac {mn} {2} right) + O left ( frac {mn} {4} right) + ldots = O (2mn ) = O (مليون) ). لذلك ، دون التضحية بوقت التشغيل الإجمالي (حتى عامل ثابت) ، تؤدي فرق تسد إلى حل مساحة خطية (انظر أيضًا القسم ؟؟ في المحاضرة 3).


تفاصيل خوارزمية Needleman-Wunsch

أحاول فهم تفاصيل خوارزمية Needleman-Wunsch واستخدام مثال من الكتاب [Nello Cristianini، Matthew W. Hahn. مقدمة في علم الجينوم الحاسوبي. نهج دراسات الحالة ، www.computational-genomics.net].

في رأيي ، لم يتم وصف الخوارزمية بدقة ، لذا فإن السؤال الذي يطرح نفسه.

أيضًا ، حساب درجة الجار المائل واضح أيضًا ،

لأن هذه محاذاة بدون فجوة:

اللحظة غير الواضحة هي محاذاة الجار الأيسر (أو الأعلى). قل ، الجار الأيسر


3.1 خوارزميات المحاذاة والبرمجة الديناميكية

نفذ فلاديمير ليفنشتاين واحدة من أولى المحاولات لمحاذاة تسلسلين في عام 1965 ، ودعا "تعديل المسافة" ، والآن يطلق عليها غالبًا Levenshtein Distance. يتم تعريف مسافة التحرير على أنها عدد عمليات التحرير اللازمة لحرف واحد "لتغيير كلمة إلى أخرى. في البداية ، وصف النصوص والكلمات المكتوبة ، ولكن تم تطبيق هذه الطريقة لاحقًا على التسلسلات البيولوجية. واحدة من الخوارزميات الأكثر استخدامًا لحساب مسافة التحرير هي خوارزمية Wagner-Fischer ، وهي خوارزمية البرمجة الديناميكية.

تعبر البرمجة الديناميكية عن المشكلة الكاملة على النحو الأمثل باعتبارها الحل الأمثل للقطع الأصغر (المشكلات الفرعية). يمكن بعد ذلك التعبير عن المشكلة الإجمالية على أنها مجموعة من المشاكل الفرعية. بالإضافة إلى خوارزمية Wagner-Fischer ، تم تطوير العديد من خوارزميات البرمجة الديناميكية الأخرى لمحاذاة التسلسلات البيولوجية بما في ذلك Needleman-Wunsch [22] وخوارزميات Smith-Waterman [23].


خوارزميات محاذاة التسلسل

خوارزميات البرمجة الديناميكية هي خوارزميات متكررة تم تعديلها لتخزين النتائج الوسيطة ، مما يحسن الكفاءة لبعض المشاكل. تستخدم خوارزمية Smith-Waterman (Needleman-Wunsch) خوارزمية برمجة ديناميكية للعثور على المحاذاة المحلية (العالمية) المثلى لسلسلتين - و. تعتمد خوارزمية المحاذاة على إيجاد عناصر المصفوفة حيث يكون العنصر هو الدرجة المثلى لمحاذاة التسلسل (،.) مع (،.). يحصل اثنان من الأحماض الأمينية المتشابهة (مثل الأرجينين والليسين) على درجة عالية ، ويتلقى اثنان من الأحماض الأمينية المتباينة (مثل الأرجينين والجليسين) درجة منخفضة. كلما زادت درجة المسار عبر المصفوفة ، كانت المحاذاة أفضل. يتم العثور على المصفوفة من خلال إيجاد عناصر المصفوفة تدريجيًا ، بدءًا من اتجاهات الزيادة و. يتم تعيين كل عنصر وفقًا لما يلي:

أين هي درجة التشابه لمقارنة الأحماض الأمينية بالحمض الأميني (تم الحصول عليها هنا من جدول التشابه BLOSUM40) وهي عقوبة فجوة واحدة. تمت تهيئة المصفوفة بـ. عند الحصول على محاذاة Smith-Waterman المحلية ، يتم تعديل:

يمكن تعديل عقوبة الفجوة ، على سبيل المثال ، يمكن استبدالها ، حيث توجد عقوبة فجوة واحدة وعدد الفجوات المتتالية.

بمجرد العثور على درجة المحاذاة المثلى ، يتم العثور على `` traceback '' عبر المسار الأمثل ، والذي يتوافق مع محاذاة التسلسل الأمثل للنتيجة. في المجموعة التالية من التمارين ، ستقوم يدويًا بتنفيذ محاذاة Needleman-Wunsch لزوج من التسلسلات القصيرة ، ثم إجراء محاذاة التسلسل العالمي باستخدام برنامج كمبيوتر تم تطويره بواسطة Anurag Sethi ، والذي يعتمد على خوارزمية Needleman-Wunsch مع عقوبة فجوة أفيني ، حيث يتم تمديد فجوة الجزاء. سيكون ملف الإخراج بتنسيق GCG ، أحد التنسيقين القياسيين في المعلوماتية الحيوية لتخزين معلومات التسلسل (التنسيق القياسي الآخر هو FASTA).

قم بإجراء محاذاة Needleman-Wunsch يدويًا

في التمرين الأول ، ستختبر خوارزمية Smith-Waterman على أجزاء متسلسلة قصيرة من الهيموغلوبين (رمز PDB 1AOW) والميوغلوبين 1 (رمز PDB 1AZI).

    هنا ستقوم بمحاذاة التسلسل HGSAQVKGHG مع التسلسل KTEAEMKASEDLKKHGT.

ح جي س أ س الخامس ك جي ح جي
0 -8 -16 -24 -32 -40 -48 -56 -64 -72 -80
ك -8
تي -16
ه -24
أ -32
ه -40
م -48
ك -56
أ -64
س -72
ه -80
د -88
إل -96
ك -104
ك -112
ح -120
جي -128
تي -136

    تتمثل الخطوة الأولى في ملء درجات التشابه S من البحث عن التطابقات في جدول BLOSUM40 ، الموضح هنا المسمى برموز الأحماض الأمينية المكونة من حرف واحد:

    نقوم بملء درجات التشابه الخاصة بـ BLOSUM40 في الجدول 4.

، باستخدام الاصطلاح القائل بأن القيم تظهر في الجزء العلوي من المربع بحروف كبيرة ، وتظهر القيم في الجزء السفلي من المربع بحروف صغيرة. فجوة الجزاء لدينا هي 8.

ملحوظة: نحن نعتبر أننا `` سلف '' ، لأنه ساعد في تحديد قيمة. في وقت لاحق ، سوف يتأهل أسلافهم ليكونوا على مسار التتبع.

الجدول 4: ورقة عمل درجة المحاذاة. في كل مربعات المحاذاة ، يتم توفير درجة التشابه من بحث مصفوفة BLOSUM40 (نص صغير ، أسفل مربع). يتم توفير أربع درجات محاذاة كأمثلة (نص كبير ، أعلى مربع) ، حاول حساب أربع درجات أخرى على الأقل ، باتباع الاتجاه الوارد في النص للحساب.
ح جي س أ س الخامس ك جي ح جي
0 -8 -16 -24 -32 -40 -48 -56 -64 -72 -80
ك -8
تي -16
ه -24
أ -32
ه -40
م -48
ك -56
أ -64
س -72
ه -80
د -88
إل -96
ك -104
ك -112
ح -120
جي -128
تي -136
الجدول 5: ورقة عمل التتبع. مصفوفة نقاط المحاذاة المكتملة (نص كبير ، أعلى كل مربع) مع درجات بحث BLOSUM40 S (نص صغير ، أسفل كل مربع). للعثور على المحاذاة ، تتبع للخلف بدءًا من أسفل اليمين (T مقابل G ، النتيجة -21) وتابع قطريًا (إلى اليسار وأعلى) أو اليسار أو الأعلى. استمر فقط ، مع ذلك ، إذا كان من الممكن أن يكون المربع في هذا الاتجاه سلفًا ، وفقًا للشروط الموضحة في النص.
ح جي س أ س الخامس ك جي ح جي
0 -8 -16 -24 -32 -40 -48 -56 -64 -72 -80
ك -8
تي -16
ه -24
أ -32
ه -40
م -48
ك -56
أ -64
س -72
ه -80
د -88
إل -96
ك -104
ك -112
ح -120
جي -128
تي -136

    الآن للتحقق من نتائجك مقابل برنامج كمبيوتر. لقد أعددنا زوجًا من برامج محاذاة Needleman-Wunsch الزوجية ، والتي ستطبقها على نفس التسلسلات التي قمت بمحاذاتها يدويًا للتو.

/tbss.work/Bioinformatics/pairData
ثم ابدأ عملية محاذاة الزوج القابلة للتنفيذ عن طريق كتابة:
زوج targlist
. سيتم تنفيذ جميع المحاذاة باستخدام مصفوفة BLOSUM40 ، مع عقوبة فجوة قدرها 8. يتم تحديد المسارات إلى ملفات الإدخال ومصفوفة BLOSUM40 المستخدمة في قائمة أهداف الملف. مصفوفة BLOSUM40 هي أول 25 سطرًا من ملف blosum40. (يمكن العثور على مصفوفات الاستبدال الأخرى على موقع NCBI / Blast.)

ملاحظة: في بعض عمليات التثبيت ، يكون الزوج القابل للتنفيذ
في

/tbss.work/Bioinformatics/pairData وهنا يجب عليك
اكتب ./pair targlist لتشغيله.
إذا لم تتمكن من الوصول إلى الزوج القابل للتنفيذ على الإطلاق ، يمكنك رؤية الإخراج من هذه الخطوة في

العثور على أزواج متجانسة من مركبات الحمض الريبي النووي النقال ClassII

البروتينات المتماثلة هي بروتينات مشتقة من جين سلف مشترك. في هذا التمرين باستخدام خوارزمية Needleman-Wunsch ، ستدرس هوية التسلسل للعديد من تركيبات الحمض النووي الريبي من الفئة الثانية ، والتي تكون إما من Eucarya أو Eubacteria أو Archaea أو تختلف في نوع تفاعل aminoacylation الذي تحفزه. يلخص الجدول 6 نوع التفاعل ، والكائن الحي ورمز دخول PDB واسم السلسلة لمجالات تركيبة الحمض الريبي النووي النقال من الفئة الثانية المستخدمة.

النوعية الكائن الحي كود PDB: سلسلة المجال الحفزي ASTRAL
الأسبارتيل يوبكتيريا 1EQR: ب d1eqrb3
الأسبارتيل العتيقة 1B8A: أ d1b8aa2
الأسبارتيل حقيقيات النوى 1ASZ: d1asza2
جليكل العتيقة 1ATI: d1atia2
الهستيديل يوبكتيريا 1ADJ: ج d1adjc2
ليسل يوبكتيريا 1BBW: أ d1bbwa2
الأسبارتيل يوبكتيريا 1EFW: d1efwa3

    لقد أعددنا برنامج كمبيوتر متعدد يقوم بمحاذاة عدة أزواج من البروتينات.


Indel هو مصطلح يستخدم لكل من عمليات الإدراج والحذف في التسلسلات البيولوجية.

Alsmirat MA، Jararweh Y، Al Ayyoub M، Shehab MA، Gupta BB (2017) تسريع خوارزميات تجزئة التصوير الطبي المكثف باستخدام تطبيقات وحدة المعالجة المركزية (CPU)-gpu. أدوات متعددة الوسائط 76 (3): 3537–3555

Balhaf K، Alsmirat MA، Al Ayyoub M، Jararweh Y، Shehab MA (2017) تسريع levenshtein و damerau تحرير خوارزميات المسافة باستخدام gpu مع ذاكرة موحدة. في: 2017 المؤتمر الدولي الثامن لأنظمة المعلومات والاتصالات (ICICS). IEEE ، الصفحات من 7 إلى 11

Balhaf K، Shehab MA، Wala’a T، Al-Ayyoub M، Al-Saleh M، Jararweh Y (2016) استخدام gpus لتسريع حساب مسافة تعديل levenshtein. في: 2016 المؤتمر الدولي السابع لنظم المعلومات والاتصالات (ICICS). IEEE ، ص 80-84

Butenhof DR (1997) برمجة بخيوط POSIX. أديسون ويسلي بروفيشنال ، بوسطن

Chan S ، Wong A ، Chiu D (1992) مسح لطرق مقارنة التسلسلات المتعددة. Bull Math Biol: 563-598

Cook S (2012) برمجة CUDA: دليل المطور للحوسبة المتوازية باستخدام وحدات معالجة الرسومات. نيونس ، ص 16-25

De Oliveira Sandes E و Miranda G و Martorell X و Ayguade E و Teodoro G و Magalhaes Alves de Melo AC (2016) Cudalign 4.0: التتبع التأملي الإضافي للمحاذاة الدقيقة للكروموسوم في مجموعات GPU. IEEE Trans Parallel Distrib Syst 27 (10): 2838-2850

Durbin R ، Eddy S ، Krogh A ، Mitchison G (1998) تحليل التسلسل البيولوجي. مطبعة جامعة كامبريدج ، كامبريدج

El-Metwally S، Ouda O، Helmy M (2014) الجيل القادم من تقنيات التسلسل والتحديات في التجميع المتسلسل. حافلة Springer Sci 7: 16-25

Fakirah M، Shehab MA، Jararweh Y، Al-Ayyoub M (2015) تسريع خوارزمية المحاذاة العالمية للإبرة مع gpus. في: 2015 المؤتمر الدولي الثاني عشر IEEE / ACS لأنظمة وتطبيقات الكمبيوتر (AICCSA). IEEE ، ص 1-5

Farrar M (2007) يُسرع حداد ووترمان المخطط من عمليات البحث في قاعدة البيانات ست مرات على تطبيقات simd الأخرى. المعلوماتية الحيوية 23 (2): 156–161

جبالي ف (2011) الخوارزميات والحوسبة المتوازية ، المجلد 84. وايلي ، نيويورك

Gotoh O (1982) خوارزمية محسنة لمطابقة التسلسلات البيولوجية. جيه مول بيول .162 (3): 705-708

Jones C ، Pevzner P (2004) مقدمة لخوارزميات المعلوماتية الحيوية. مطبعة معهد ماساتشوستس للتكنولوجيا ، كامبريدج

Katoh K، Toh H (2008) التطورات الأخيرة في برنامج محاذاة التسلسل المتعدد Mafft. موجز Bioinform 92: 86-98

Liu Y، Schmidt B (2015) Gswabe: محاذاة تسلسل أسرع مع gpu مع استعادة المحاذاة المثلى لتسلسلات الحمض النووي القصيرة. كونكور كومبوت: تمرين Exper 27 (4): 958-972

Lomont C (2011) مقدمة في امتدادات المتجهات المتقدمة من إنتل. مستند تقني ، إنتل

Needleman SB، Wunsch CD (1970) طريقة عامة تنطبق على البحث عن أوجه التشابه في تسلسل الأحماض الأمينية لبروتينين. جيه مول بيول 48 (3): 443-453

Rognes T (2011) تبحث قاعدة بيانات Faster-Waterman مع تتابع SIMD المتسلسل. BMC Bioinform 12: 221. https://doi.org/10.1186/1471-2105-12-221

Rognes T ، Seeberg E (2000) تسريع ستة أضعاف لعمليات البحث في قاعدة بيانات تسلسل تسلسل سميث ووترمان باستخدام المعالجة المتوازية على المعالجات الدقيقة الشائعة. المعلوماتية الحيوية 16 (8): 699-706

Sanders J ، Kandrot E (2010) CUDA على سبيل المثال: مقدمة لبرمجة GPU للأغراض العامة. أديسون ويسلي بروفيشنال ، بوسطن

Serrano JP، De Oliveira Sandes E، Magalhaes Alves de Melo A، Ujaldon M (2017) تسريع Smith-Waterman في gpus متعدد: تحليل الأداء لكل واط. في: المعلوماتية الحيوية والهندسة الطبية الحيوية - مؤتمر العمل الدولي الخامس ، IWBBIO 2017 ، غرناطة ، إسبانيا ، 26-28 أبريل 2017 ، الإجراءات ، الجزء الثاني ، ص 512-523

Setubal J ، Meidanis J (1997) مقدمة في علم الأحياء الجزيئي الحسابي. حانة PWS ، بوسطن

شهاب م ع ، الأيوب م ، جاروة ص (2015) تحسين أداء خوارزميات fcm و t2fcm باستخدام gpus لتجزئة الصور الطبية. في: 2015 المؤتمر الدولي السادس لأنظمة المعلومات والاتصالات (ICICS) ، الصفحات 130-135

Siriwardena P، Ranasinghe N (2010) تسريع محاذاة التسلسل العالمي باستخدام وحدة معالجة الرسومات متعددة النواة المتوافقة مع cuda. في: المؤتمر الدولي الخامس للمعلومات والأتمتة من أجل الاستدامة (ICIAFS) ، ص 201-206

Vermij P (2011) محاذاة التسلسل الجيني على منصة الحوسبة الفائقة. أطروحة دكتوراه ، TU Delft ، جامعة دلفت للتكنولوجيا

Wozniak A (1997) استخدام تعليمات الفيديو لتسريع مقارنة التسلسل. Comput Appl Biosci: CABIOS 13 (2): 145-150

Zhou W و Zhanxiu C و Lian B و Wang J و Jianping M (2017) بحث في قاعدة بيانات البروتين عن خوارزمية المحاذاة المختلطة استنادًا إلى تسريع gpu المتوازي. J Supercomput. https://doi.org/10.1007/s11227-017-2030-x

Zhu X و Li K و Salah A و Shi L و Li K (2015) التنفيذ الموازي لـ MAFFT على أجهزة الرسومات التي تدعم cuda. IEEE / ACM Trans Comput Biol Bioinform 12 (1): 205-218. https://doi.org/10.1109/TCBB.2014.2351801


استنتاج

يميز استرشادي فعال لمحاذاة تسلسل RNA الزوجي ، والذي يعتبر جوهريًا أزواج القواعد دون المثلى ، بدقة بين عائلات RNA المنظمة المتميزة. عند دمجها مع خوارزمية تجميع تعتمد على الكثافة المتسامحة للضوضاء ، فإن هذا النهج يحدد أشكال بنية الحمض النووي الريبي المعروفة والجديدة من مجموعة من تسلسلات الإدخال دون معرفة مسبقة. تُستخدم أشكال بنية الحمض النووي الريبي الناتجة لاحقًا لتحديد المتماثلات في الجينوم البشري ، وتحسين شرح lncRNAs وزيادة مخزون العناصر الوراثية الوظيفية.


محاذاة التسلسل وأهميته:

محاذاة التسلسلأو مقارنة التسلسل تقع في قلب المعلوماتية الحيوية ، والتي تصف طريقة ترتيب الحمض النووي / الحمض النووي الريبي أو تسلسل البروتين ، من أجل تحديد مناطق التشابه فيما بينها. يتم استخدامه لاستنتاج العلاقة الهيكلية والوظيفية والتطورية بين المتواليات. تكتشف المحاذاة مستوى التشابه بين تسلسل الاستعلام وتسلسلات قاعدة البيانات المختلفة. تعمل الخوارزمية من خلال نهج البرمجة الديناميكي الذي يقسم المشكلة إلى مشاكل فرعية مستقلة أصغر. يجد المحاذاة أكثر كميًا عن طريق تعيين الدرجات.

عندما يتم العثور على تسلسل جديد ، يمكن بسهولة التنبؤ بالهيكل والوظيفة عن طريق القيام بمحاذاة التسلسل. بما أنه يُعتقد أن التسلسل الذي يشترك في سلف مشترك سيظهر بنية أو وظيفة مماثلة. كلما زاد تشابه التسلسل ، زادت فرصة مشاركتهما في بنية أو وظيفة مماثلة.

طرق محاذاة التسلسل:

هناك طريقتان رئيسيتان لمحاذاة التسلسل:

المحاذاة العالمية: التسلسلات وثيقة الصلة والتي لها نفس الطول مناسبة جدًا للمحاذاة العالمية. هنا ، يتم تنفيذ المحاذاة من بداية التسلسل حتى نهايته لمعرفة أفضل محاذاة ممكنة.

تم تطوير خوارزمية Needleman-Wunsch (صيغة أو مجموعة من الخطوات لحل مشكلة ما) بواسطة Saul B. Needleman و Christian D. Wunsch في عام 1970 ، وهي خوارزمية برمجة ديناميكية لمحاذاة التسلسل. البرمجة الديناميكية تحل المشكلة الأصلية عن طريق تقسيم المشكلة إلى مشاكل فرعية مستقلة أصغر. تُستخدم هذه التقنيات في العديد من جوانب علوم الكمبيوتر المختلفة. تشرح الخوارزمية محاذاة التسلسل العام لمحاذاة تسلسلات النيوكليوتيدات أو البروتينات.

المحاذاة المحلية: يمكن مقارنة التسلسلات المشتبه في تشابهها أو حتى تسلسلها غير المتماثل مع طريقة المحاذاة المحلية. يجد مناطق محلية ذات مستوى عالٍ من التشابه.

يتم تحديد هاتين الطريقتين للمحاذاة بواسطة خوارزميات مختلفة ، والتي تستخدم مصفوفات الدرجات لمحاذاة سلسلتين مختلفتين من الأحرف أو الأنماط (التسلسلات). يتم تحديد طريقتين مختلفتين للمحاذاة في الغالب من خلال نهج البرمجة الديناميكية لمحاذاة تسلسلين مختلفين.

البرمجة الديناميكية:

تستخدم البرمجة الديناميكية للمحاذاة المثلى لتسلسلتين. يجد المحاذاة بطريقة أكثر كمية من خلال إعطاء بعض الدرجات للمطابقات وعدم التطابق (مصفوفات التهديف) ، بدلاً من تطبيق النقاط فقط. من خلال البحث في أعلى الدرجات في المصفوفة ، يمكن الحصول على المحاذاة بدقة. البرمجة الديناميكية تحل المشكلة الأصلية عن طريق تقسيم المشكلة إلى مشاكل فرعية مستقلة أصغر. تُستخدم هذه التقنيات في العديد من جوانب علوم الكمبيوتر المختلفة. يتم تحديد خوارزميات Needleman-Wunsch و Smith-Waterman لمحاذاة التسلسل من خلال نهج البرمجة الديناميكي.

مصفوفات التهديف:

في إجراءات المحاذاة المثلى ، تستخدم خوارزميات Needleman-Wunsch و Smith-Waterman نظام تسجيل النقاط. لمحاذاة تسلسل النوكليوتيدات ، تكون مصفوفات التسجيل المستخدمة أبسط نسبيًا نظرًا لأن تواتر الطفرة لجميع القواعد متساوية. يتم تعيين قيمة موجبة أو أعلى للمطابقة ويتم تعيين قيمة سالبة أو قيمة أقل لعدم التطابق. يمكن استخدام هذه الدرجات القائمة على الافتراض لتسجيل المصفوفات. هناك مصفوفات تسجيل أخرى محددة مسبقًا في الغالب ، تُستخدم في حالة بدائل الأحماض الأمينية.

المصفوفات المحددة مسبقًا المستخدمة بشكل أساسي هي PAM و BLOSUM.

مصفوفات PAM: كانت مارجريت دايهوف أول من طور مصفوفة PAM ، أما PAM فتقف على الطفرات المقبولة بالنقطة. يتم حساب مصفوفات PAM من خلال ملاحظة الاختلافات في البروتينات وثيقة الصلة. تحدد وحدة PAM (PAM1) طفرة نقطة واحدة مقبولة لكل 100 من بقايا الأحماض الأمينية ، أي تغيير بنسبة 1 ٪ ويبقى 99 ٪ على هذا النحو.

الزهرة: استخدمت مصفوفة BLOcks SUbstitution ، التي طورها Henikoff و Henikoff في عام 1992 ، مناطق محمية. هذه المصفوفات هي قيم هوية النسبة المئوية الفعلية. ببساطة أقول ، إنهم يعتمدون على التشابه. Blosum 62 يعني أن هناك تشابه بنسبة 62٪.

نتيجة فجوة أو ركلة جزاء فجوة: تستخدم خوارزميات البرمجة الديناميكية عقوبات فجوة لتعظيم المعنى البيولوجي. يتم طرح عقوبة الفجوة لكل فجوة تم إدخالها. هناك فجوات جزائية مختلفة مثل فتح الفجوة وتمديد الفجوة. تحدد درجة الفجوة العقوبة الممنوحة للمحاذاة عندما يكون لدينا الإدراج أو الحذف. أثناء التطور ، قد تكون هناك حالة يمكننا فيها رؤية فجوات مستمرة على طول التسلسل ، وبالتالي فإن عقوبة الفجوة الخطية لن تكون مناسبة للمحاذاة. وهكذا تم إدخال فجوة مفتوحة وتمديد الفجوة عندما تكون هناك فجوات مستمرة (خمسة أو أكثر). يتم تطبيق العقوبة المفتوحة دائمًا في بداية الفجوة ، ثم تُعطى الثغرات الأخرى التي تليها بعقوبة تمديد فجوة والتي ستكون أقل مقارنة بالعقوبة المفتوحة. القيم النموذجية هي -12 لفتح الفجوة ، و -4 لتوسيع الفجوة.


مقدمة

اليوم ، أصبح مفهوم شبكة إنترنت الأشياء (IoT) جزءًا لا يتجزأ من البنية التحتية للمعلومات الحديثة للمجتمع. إنترنت الأشياء هي شبكة واحدة تربط الأشياء الذكية في العالم الحقيقي والأشياء الافتراضية من حولنا. يستمر عدد وتنوع هذه الأشياء (الأجهزة الذكية) في النمو ، مما يؤثر على جوانب مختلفة من حياة الإنسان ، من المركبات إلى الإلكترونيات المحمولة والرعاية الصحية [26]. In other words, the IoT is not just a set of different devices and sensors connected by wired and wireless communications and the global cyber space of the Internet, but it is a closer integration of the real and virtual worlds, in which communication takes place between people and devices.

The sustainability of IoT is the availability of the system to perform its functions in the context of external influence [6]. Considering that the subsystems and components of the IoT have many horizontal connections, thus forming a heterogeneous cyber infrastructure with a large number of entities, most of which lack built-in protection mechanisms the problem of network security in such networks is especially actual. Main attack vectors are aimed for overtaking the control by the IoT device and capturing the confidential data, as well as the purposeful node deactivation [1]. Not only objects of the virtual world�ta, files, personal information𠅊re under threat, but also physical objects of the real world. According to a report by Kaspersky Laboratory, in the first half of 2019, more than 100 million attacks were detected on the smart IoT devices, which are seven times more than in the <"type":"entrez-nucleotide","attrs":<"text":"H12018","term_id":"876838","term_text":"H12018">> H12018 [10]. Network infrastructure and wireless data transmission channels are the most vulnerable objects of the modern infocommunication environment [27]. Attackers using wireless links can remotely invade a target subnet or device (group of devices), intercept traffic, launch denial of service attacks (including distributed attacks), and take control of the IoT devices to create megabotnets.

In 2020, the world is facing with the COVID-2019 coronavirus pandemic, and life has almost completely moved to the network, people around the world work, study, shop and have fun online. This could not affect the goals of the cybercriminals, medical organizations, educational services, delivery, etc., faced massive DDoS attacks. A large network of hospitals in France fell victim to one of these attacks, when attackers tried to disable the infrastructure of medical institutions. As a result of the attack, hospital staff working remotely was unable to use work programs and corporate e-mail for some time. In Germany, on the first day of distance learning, a distance learning platform was attacked. The service through which teachers exchange teaching materials, homework, and tests with students was not available. In the Netherlands, the food delivery service Thuisbezorgd was unable to process orders as a result of a DDoS attack and had to refund customers. In the first quarter of 2020, there was a significant increase in the number and quality of DDoS attacks. In particular, the popularity of smart attacks that exploit vulnerabilities in the network infrastructure is noted. SYN flood is the leader among the types of attacks (92.6%) the share of attacks via ICMP continued to grow and exceeded the share of UDP and TCP floods (Kaspersky [11].

To counter cyber attacks at the IoT, as in traditional networks, various intrusion detection systems (IDS) are applied (e.g., [17]. There are two main approaches on which most the IoT IDSs are based: anomaly detection and misuse detection. The advantages of the former are a global view on the network, the ability to detect new attacks, and the use of fewer rules (compared to signature methods) their disadvantages include a high level of errors of the first and second kind and low adaptation for changing conditions (new profiles, dynamic anomalies). The advantages of an IDS based on search for abuse are reliability, speed, low false positives for known intrusions. Its disadvantages are the strict dependence on the relevance of the signature base and the impossibility of detecting new attacks.

The work of an IDS usually consists of three stages: (1) monitoring, (2) sequence extraction and misuse detection by pattern matching, (3) signaling of attack to provide the attack response. Matching with attack patterns is currently the main method for IDS when detecting malicious activity [13] however, it has two significant drawbacks. Firstly, the IoT-specific attacks, such as forced power consumption, forced topology change, etc., have a split sequence of operations, time intervals in the chain of actions, and some attacks may also have a non-linear sequence of actions. Secondly, there is a class of polymorphic attacks that have mutations (namely local differences, omissions, delays) in the sequences of actions during the implementation of the attack. These polymorphic attacks adapt to a wide range of conditions, operating systems, and circumstances and try to avoid scanning by defenses to infect endpoints [8]. They are called the polymorphic attacks because they have different signatures that make them difficult to identify using a single signature. For example, in order to disguise ongoing network attacks, attackers can use polymorphic shellcode to create unique attack patterns. This method usually involves encoding the payload, with the decoder placed at the front of the payload before sending it. All known the pattern matching methods do not detect such variations of a single sample.

Our research proposes new, the nature inspired, technologies, namely a genetic sequence alignment computing and a sequence similarity calculation, instead of massive equity checking of multiple packets and signatures traditionally used for the IDS composing. The aim of our research is to assess the prospects of using the biological coded sequence alignment algorithms for solving the task of detection the specific network intrusions. The novelty of our results is the fact that it has been proposed to encode network packets (or the chain of activity acts) into the sequences of the nucleotide codes for their subsequent alignment and matching with patterns. The matching operation is based on the similarity checking, not equity checking, as it was usually applied for the intrusion detection. Therefore, our contribution to the cyber security is the proposed bio-inspired approach that, in contrast to traditional methods, makes it possible to detect new variations of the attacks in the IoT networks, to reduce the signature database, and to increase the detection effectiveness on the low-resource devices.

The following material is organized in the next manner: Sect.ਂ reviews successful cases of applying modern nature-inspired methods in solving cyber security issues Sect.ਃ discusses methods for aligning sequences: global, local, and additive approaches Sect.਄ presents the proposed coding and alignment technique Sect.ਅ presents our results of the experiments on detecting the DDoS attacks using a BoT-IoT dataset on the portative IoT Raspberry Pi4 platform Sect.ਆ presents a discussion of the results of applying the bio-inspired methods Sect.ਇ concludes our contribution.


خلفية

Biological sequence alignment is a cornerstone of bioinformatics and is widely used in such fields as phylogenetic reconstruction, gene finding, genome assembly. The accuracy of the sequence alignments and similarity measures are directly related to the accuracy of subsequent analysis. CDS alignment methods have many important applications for gene tree and protein tree reconstruction. In fact, they are useful to cluster homologous CDS into groups of orthologous splicing isoforms [1, 2] and combine partial trees on orthology groups into a complete protein tree for a gene family [3, 4]. Aligning and measuring the similarity between homologous CDS requires to account for frameshift (FS) translations that cannot be detected at the amino acid (AA) level, but lead to a high similarity at the nucleotide level between functionnaly different sub-sequences.

FS translation consists in alternative AA translations of a coding region of DNA using different translation frames [5]. It is an important phenomenon resulting from different scenarios such as, insertion or deletion of a nucleotide sequence whose length is not a multiple of 3 in a CDS through alternative splicing [6, 7] or evolutionary genomic indels [8, 9], programmed ribosomal frameshifting [10], or sequencing errors [11]. Recent studies have reported the role of FS translations in the appearance of novel CDS and functions in gene evolution [6, 12]. FS translation has also been found to be linked to several diseases such as the Crohn’s disease [13]. The computational detection of FS translations requires the alignment of CDS while accounting for their codon structure. A classical approach for aligning two CDS used in most alignment tools [14, 15] consists in a three-step method, where the CDS are first translated into AA sequences using their actual coding frame, then AA sequences are aligned, and finally the AA alignment is back-translated to a CDS alignment. This approach does not account for alternative AA translations between two CDS and it leads to incorrect alignment of the coding regions subject to FS translation. The opposite problem of aligning protein sequences while recovering their hypothetical nucleotide CDS sequences and accounting for FS translation was also studied in several papers [16, 17].

Here, we consider the problem of aligning two CDS while accounting for FS translation, by simultaneously accounting for their nucleotide and AA sequences. The problem has recently regained attention due to the increasing evidence for alternative protein production through FS translation by eukaryotic gene families [18, 19].

The problem was first addressed by Hein et al. [20, 21] who proposed a DNA/protein model such that the score of an alignment between two CDS of length ن و م is a combination of its score at the nucleotide level and its score at the AA level. They described a ا(ن 2 م 2 ) algorithm in [20], later improved to a ا(nm) algorithm in [21] for computing an optimal score alignment, under the constraint that the search space of the problem is restricted. Arvestad [22] later proposed a CDS alignment scoring model with a ا(nm) alignment algorithm accounting for codon structures and FS translations based on the concept of generalized substitutions introduced in [23]. In this model, the score of a CDS alignment depends on its decomposition into a concatenation of codon fragment alignments, such that a codon fragment of a CDS is defined as a substring of length ث, (0le w le 5) . This decomposition into codon fragment alignments allows to define a score of the CDS alignment at the AA level. More recently, Ranwez et al. [18] proposed a simplification of the model of Arvestad limiting the maximum length of a codon fragment to 3. Under this model, a ا(nm) CDS alignment algorithm was described and extended in the context of multiple sequence alignment [18]. In the models of Arvestad [22] and Ranwez et al. [18], several scores may be computed for the same alignment based on different decompositions into codon fragment alignments. The corresponding algorithms for aligning two CDS then consist in computing an optimal score decomposition of an alignment between the two CDS. This optimal score exclusively accounts for FS translation initiations, i.e a FS translation in an alignment is penalized by adding a constant FS cost, which only penalizes the initiation of the FS, not accounting for the length of this FS translation. However, taking account of FS translation lengths is important in order to increase the precision of CDS alignment scores, as these lengths induce more or less disruptions between the protein sequences.

In this paper, we propose the first alignment algorithm that accounts for both the initiation and the length of FS translations in order to compute the similarity scores of CDS alignments. The remaining of the paper is organized as follows. In the “Motivation”, we illustrate the importance of accounting for FS translation length when aligning CDS. In the “Preliminaries”, we give some preliminary definitions and we introduce a new CDS alignment scoring model with a self-contained definition of the score of an alignment penalizing both the initiation and the extension of FS translations. In the “Methods”, a dynamic programming algorithm for computing an optimal score alignment between two CDS is described. Finally, in the “Results”, we present and discuss the results of a comparison of our method with other CDS alignment methods for a pairwise comparison of CDS from homologous genes of ten mammalian gene families.

Motivation: importance of accounting for FS translation length

The two main goals of aligning biological sequences are to evaluate the similarity and to identify similar regions between the sequences, used thereafter to realize molecular analyses such as evolutionary, functional and structural predictions. In practice, CDS alignment can be used to exhaustively identify the conserved features of a set of proteins. Thus, the definition of CDS similarity must account for sequence conservation and disruptions at both the nucleotide and the protein levels.

Figure 1 illustrates the importance of accounting for AA translations and FS translation length in order to compute an adequate similarity score for a CDS alignment. It describes an example of three CDS Seq1 , Seq2 and Seq3 . Seq1 has a length of 45. The CDS Seq2 has length 60 and is obtained from Seq1 by deleting the nucleotide ‘G’ at position 30 and adding 16 nucleotides at the end. The CDS Seq3 has length 60 and is obtained from Seq1 by deleting the nucleotide ‘G’ at position 15 and adding 16 nucleotides at the end.

قمة an example of three CDS Seq1 , Seq2 and Seq3 . وسط an optimal alignment between Seq1 and Seq2 with a FS translation region of length 15. قاع an optimal alignment between Seq1 and Seq3 with a FS translation region of length 30

When looking at the AA translations of Seq1 , Seq2 and Seq3 , we observe that the similarity between Seq2 and Seq1 is higher than the similarity between Seq3 and Seq1 at the protein level, because Seq1 and Seq2 share a longer AA prefix “M T E S K Q P W H” (amino acids in black characters in the alignments). However, the pairwise CDS alignment algorithms that do not account for the length of FS translations would return the same score for the two following optimal alignments of Seq1 with Seq2 and Seq1 with Seq3 , penalizing only the initiation of one FS translation in both cases (positions marked with a “!” symbol in the alignments), and not penalizing the sequence disruptions at the protein level.

From an evolutionary point of view, a good scoring model for evaluating the similarity between two CDS in the presence of FS translations should then penalize not only the initiation of FS but also the length of FS translations extension (amino acids in gray characters in the alignments). The alignment of Seq1 with Seq2 would then have a higher similarity score than the alignment of Seq1 with Seq3 .

Preliminaries: score of CDS alignment

In this section, we formally describe a new definition of the score of a CDS alignment that penalizes both the initiation and the extension of FS translations.

التعريف 1

[Coding DNA sequence (CDS)] A coding DNA sequence (CDS) is a DNA sequence on the alphabet of nucleotides (Sigma _N=) whose length ن is a multiple of 3. A coding sequence is composed of a concatenation of (frac<3>) codons that are the words of length 3 in the sequence ending at positions 3أنا, (1 le i le frac<3>) . The AA translation of a CDS is a protein sequence of length (frac<3>) on the alphabet (Sigma _A) of AA such that each codon of the CDS is translated into an AA symbol in the protein sequence.

Note that, in practice an entire CDS begins with a start codon “ATG” and ends with a stop codon “TAA” , “TAG” or “TGA” .

التعريف 2

(Alignment between DNA sequences) An alignment between two DNA sequences أ و ب is a pair ((A',B')) where (A') and (B') are two sequences of same length إل derived by inserting gap symbols ('-') in أ و ب, such that (forall i,

1 le i le L) , in the alignment is called a column of the alignment.

Given an alignment ((A',B')) of length إل between two CDS أ و ب, let س be the sequence (A') or (B') . We denote by (S[k

1 le k le l le L) , the substring of س going from position ك to position ل. (left| ight|) denotes the number of letters in () that are different from the gap symbol ('-') . For example, if (A'= exttt) and (B'= exttt) , (|A'[4

8]| = | exttt| = 3) . A codon of أ أو ب يكون grouped in the alignment ((A',B')) if its three nucleotides appear in three consecutive columns of the alignment. For example, the first codon ACC of أ is grouped, while the first codon ACT of ب is not grouped.

An alignment ((A',B')) of length 48 between two CDS, أ (13 codons) and ب (14 codons). ال number arrays indicate the positions of the consecutive alignment columns. Codons of أ و ب نكون colored according to the set to which they belong: IM codons in blue color, FSext codons in red color, InDel codons in green color and FSinit codons in black color. MFS nucleotides contained in FSinit codons are تحتها خط

In the following, we give our definition of the score of an alignment ((A',B')) between two CDS أ و ب. It is based on a partition of the codons of أ (Resp. ب) into four sets depending on the alignment of codons (see Fig. 2 for an illustration):

The set of In-frame Matching codons (IM) contains the codons that are grouped in the alignment and aligned with a codon of the other CDS.

The set of Frameshift extension codons (FSext) contains the codons that are grouped in the alignment and aligned with a concatenation of three nucleotides that overlaps two codons of the other CDS.

The set of Deleted/Inserted codons (InDel) contains the codons that are grouped in the alignment and aligned with a concatenation of 3 gap symbols.

All other codons constitutes Frameshift initiation codons (FSinit) . The set of Matching nucleotides in FSinit codons (MFS) contains all the nucleotides belonging to FSinit codons and aligned with a nucleotide of the other CDS.

The following notations and conventions are used in Definition 3 to denote the different sets of codons and nucleotides in أ و ب. The set of IM codons in أ (Resp. ب) is denoted by ( exttt_) (resp. ( exttt_) ). The set of FSext codons in أ (Resp. ب) is denoted by ( exttt_) (resp. ( exttt_) ). The set of InDel codons in أ (Resp. ب) is denoted by ( exttt_) (resp. ( exttt_) ). The set of MFS nucleotides in أ (Resp. ب) is denoted by ( exttt_) (resp. ( exttt_) ). In these sets, the codons of أ و ب are simply identified by the position (column) of their last nucleotide in the alignment. In this case, we always have ( exttt_ = exttt_) as in the example below. The MFS nucleotides are also identified by their positions in the alignment.

In the alignment scoring model described in Definition 3, the substitutions of IM and FSext codons are scored using an AA scoring function (s_) such that aligned codons with silent nucleotide mutations get the same score as identity. A fixed FS extension cost denoted by fs_extend_cost is added for each FSext codon. The insertions/deletions of InDel codons are scored by adding a fixed gap cost denoted by gap_cost for each InDel codon. The alignment of MFS nucleotides are scored independently from each other, using a nucleotide scoring function (s_). The insertions or deletions of nucleotides in FSinit codons are responsible for the initiation of FS translations. They are then scored by adding a fixed FS opening cost denoted by fs_open_cost for each FSinit codon. Note that, by convention, the values of all penalty costs for gap and FS ( gap_cost , fs_open_cost , fs_extend_cost ) are negative. Note also that the scoring scheme assumes that the AA and the nucleotide scoring functions, (s_) and (s_) , are symmetric.

Definition 3

(Score of an alignment) Let ((A',B')) be an alignment of length إل between two CDS أ و ب. The score of the alignment ((A',B')) is defined by:


Title: Pocket arithmetic and Needleman-Wunsch on Cray Research computers

In the interest of providing more efficient computer-based analysis of DNA and protein sequences, Cray Research has developed a high performance implementation of the sequence alignment method of Needleman and Wunsch using the programming technique of pocket arithmetic. The basis for this implementation is the program SEQHDP, which finds locally homologous subsequences of a protein sequence pair and determines the statistical significance of the homology. Pocket arithmetic takes advantage of the 64-bit width of an operand on the Cray Y-MP by packing more than one integer value per word, then performing logical or integer operations on the packed word to yield multiple results per operation. This technique, in combination with the vector processing capabilities of the Cray Y-MP CPU, produces substantially improved performance over the conventionally coded version of the same algorithm. The authors will introduce the programming technique of pocket arithmetic, then describe its implementation in the Needleman-Wunsch sequence comparison function in SEQHDP. Performance results based on actual protein sequence comparisons are presented.


شاهد الفيديو: Bioinformatics: Sequence Alignment Part 3 Needleman Wunsch Algorithm (كانون الثاني 2022).