معلومة

المسافة المقطوعة بين خيطين من الحمض النووي

المسافة المقطوعة بين خيطين من الحمض النووي



We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

حسب التعريف من ويكيبيديا ، فإن مسافة هامنج بين سلسلتين متساويتين في الطول هي عدد المواضع التي تختلف فيها الرموز المقابلة. بمعنى آخر ، هو عدد الاستبدالات المطلوبة لتحويل سلسلة إلى أخرى. بالنظر إلى خيطين متساويين في الطول ، احسب مسافة هامنج.

إذن ، للعثور على عدد الاختلافات الموجودة بين سلسلتين ، لنفترض أن لدينا سلسلتين من الحمض النووي A و B:

A = TGACCCGTTATGCTCGAGTTCGGTCAGCGTCATTGCGAGTAGTAGTCGTTGCTTTCTCAAACTCC B = GAGCGATTAAGCGTGACAGCCCCAGGGAACCCACAAAACGTGATCGCAGTCCATCCGATCATACA

قم برميها إلى صفيفين A و B. لذلك ، إذا

(= عدد 0) (cond [(الرمز =؟ A [1] B [1]) / لا تفعل شيئًا ، فقط انتقل إلى الزوج التالي من السلسلة] [else (add1 count)] ؛؛ counter: = counter + 1؛

سيكون الإخراج العداد.

هل هذا هو التدفق المنطقي الصحيح للتعامل مع هذه المشكلة؟ أي اقتراح لكتابة هذا على بيثون أو مخطط؟


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

def hamming_distance (s1، s2): #Return the Hamming Distance بين التسلسلات متساوية الطول إذا كان len (s1)! = len (s2): رفع ValueError ("غير محدد للتسلسلات ذات الطول غير المتكافئ") مجموع الإرجاع (ch1! = ch2 من أجل ch1، ch2 in zip (s1، s2))

مسافة المطرقة

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

أحد التطبيقات الرئيسية في نظرية التشفير ، وبشكل أكثر تحديدًا لرموز الكتلة ، حيث تكون السلاسل المتساوية الطول نواقل على مجال محدود.


مسافات هامشية بين سلسلتين من الحمض النووي - علم الأحياء

لا توجد تعريفات في هذا الملف.

1 مساهم

المستخدمون الذين ساهموا في هذا الملف

#! / usr / bin / env python
# عد طفرات نقطة
# ========================
#
# بالنظر إلى سلسلتين s و t متساويتين في الطول ، فإن مسافة هامينج بين s و
# t ، يُشار إليه بـ dH (s ، t) ، هو عدد الرموز المقابلة التي تختلف في s
# و ت. انظر الشكل 2.
#
# معطى: سلسلتان من الحمض النووي s و t متساويان الطول (لا يتجاوزان 1 كيلو بايت).
#
# العودة: مسافة هامنج dH (s ، t).
#
# عينة مجموعة بيانات
# --------------
# GAGCCTACTAACGGAT
# كاتكجتاتجاكجككت
#
# إخراج العينة
# -------------
# 7
def hamming_distance (s ، t):
dh = 0
بالنسبة لـ i ، c في التعداد (s):
إذا كان c! = t [i]:
د + = 1
العودة د
إذا __name__ == & quot__main __ & quot:
small_dataset = & quot & quot & quot
GAGCCTACTAACGGAT
كاتكجتاتجاكجككت
& quot & quot & quot
large_dataset = open (& # 39datasets / rosalind_hamm.txt & # 39). اقرأ ()
s ، t = مجموعة البيانات الكبيرة. الانقسام ()
dist = hamming_distance (s ، t)
طباعة توزيع

لا يمكنك تنفيذ هذا الإجراء في الوقت الحالي.

لقد قمت بتسجيل الدخول بعلامة تبويب أو نافذة أخرى. أعد تحميل لتحديث جلستك. لقد قمت بتسجيل الخروج في علامة تبويب أو نافذة أخرى. أعد تحميل لتحديث جلستك.


3 إجابات 3

الكود الخاص بك هو حقًا كل ما في الأمر. إنه واضح ومختصر: طريقة واحدة للتحقق من صحة المدخلات (ValidateInputs) وبقية الطريقة لحساب مسافة Hamming بحلقة بسيطة.

في حالة المدخلات ذات الأطوال المختلفة ، فأنت (بحق) ترمي IllegalArgumentException مثل هذا:

هذا هو IllegalArgumentException عام بدون رسالة. قد ترغب في إضافة رسالة بحيث يكون من الواضح للمتصل الخطأ الذي حدث ، كما أنه سيساعد في تصحيح الأخطاء (تخيل تطبيقًا أكبر).

لتشبه ما تم إجراؤه بواسطة فئة الكائنات الموجودة ، يمكنك إعادة تسمية طريقة التحقق الخاصة بك لتتطلبSameLength وإرجاع الطول:

هذا له ميزة أن اسم الطريقة أصبح الآن توثيقًا ذاتيًا ويعيد القيمة الصحيحة ، مما يعني أنه يمكننا تسلسل النتيجة (تمامًا مثل needNonNull الذي يُرجع القيمة غير الفارغة أو يطرح استثناء).

استيراد java.util.Optional ليس مطلوبًا ، فأنت لا تستخدمه.

إذا كنت تستخدم Java 8 ، فيمكنك كتابة هذا بشكل أقصر قليلاً باستخدام Stream API:

يقوم بتعيين كل فهرس إلى 0 أو 1 بناءً على ما إذا كانت سلسلتا الإدخال تحتويان على أحرف متساوية في هذا الفهرس ، ويقوم بجمع النتيجة.


أساليب

مسافة المطرقة هي عدد حالات عدم التطابق في سلسلتين متساويتين في الطول. بناءً على مسافة المطرقة ، نحدد بذور HD (بذور المسافة المطرقة) كصفقة ثنائية & # x0003cلام ، ت& # x0003e، حيث L طول البذرة و T هي العتبة. بذرة هامينغ & # x0003cلام ، ت& # x0003e زوج من الأوتار متساوية الطول L إذا كانت مسافة هامنج بين مدخلين مساوية أو أقل من تي. وفقًا لتعريف مسافة هامنج ، يمكن مطابقة أي زوج من سلاسل الإدخال بطول L مع تشابه تسلسل على الأقل L - T L بواسطة بذرة HD & # x0003cلام ، ت& # x0003e. وبالتالي ، من خلال اختيار L و T المناسبين ، يمكننا استخدام مطابقة بذور HD كخطوة ترشيح لتحديد مواقع ncRNAs الممكنة مع الحفاظ على التسلسل المنخفض. ثم نمد البذرة إلى كلا الاتجاهين ونطبق طريقة محاذاة هيكلية محلية بالقرب من ضربة البذرة من أجل فحص ncRNA أكثر حساسية. يتم توضيح خط أنابيب هذه الطريقة في الشكل & # x200B الشكل 3 3.

إطار بحث ncRNA على نطاق الجينوم باستخدام بذور HD. في الخطوة الأولى ، يتم تحديد ضربات بذور HD (ممثلة بخطوط قطرية). ثم يتم تطبيق أدوات المحاذاة الهيكلية المحلية الأكثر حساسية مثل FOLDALIGN و PLAST-ncRNA في المنطقة المحيطة بضربة البذور. يمكن إجراء التحليل اللاحق على إخراج المرحلة الثانية.

في الجزء المتبقي من هذا القسم ، وصفنا أولاً نظام الترميز الذي يمكن أن يميز الانتقال من التحويل في بذور مسافة هامنج. ثم نقدم الجيل الأمثل لبذور HD.

تصميم نظام تشفير للتمييز بين الانتقال من الانقلاب

من غير المرجح أن تؤدي الطفرات الانتقالية إلى تغيرات في الأحماض الأمينية. وبالتالي ، من المتوقع أن يتم ملاحظة التحولات بتردد أعلى من عمليات الانتقال في جينات ترميز البروتين المتجانسة. تم تبني هذه الحقيقة من خلال أدوات محاذاة التسلسل مثل BLASTZ لتحسين أداء بحث التماثل. تم إجراء ملاحظات مماثلة في ncRNAs متماثل أيضًا. في جدول النتائج RIBOSUM الذي صممه Klein و Eddy [24] ، فإن التحولات في كل من المناطق التي تقطعت بهم السبل وبين أزواج القواعد لها درجات أعلى من عمليات الانتقال. أفاد هيجز [20] أن معدل الاستبدال بين زوج أساسي (مثل AU) وزوج قاعدته الانتقالية المزدوجة (مثل GC) أعلى بكثير من الطفرات الأخرى. وبالتالي ، فمن المستحسن التمييز بين الانتقال من الانقلاب في بذور HD لدينا. ومع ذلك ، فإن مسافة هامنج المحددة على قواعد الحمض النووي أو الحمض النووي الريبي تعامل كل عدم تطابق على قدم المساواة. من أجل تفضيل الانتقال على التحويل في بذور HD ، نقوم بصياغة مشكلة الترميز التالية.

أولاً ، يتم ترميز جميع القواعد بواسطة سلاسل ثنائية متساوية الطول. دع الطول يكون س. لكل قاعدة x ، دع الرمز x يشير إلى السلسلة الثنائية المشفرة. اجعل الدالة D (x ، y) هي مسافة المطرقة لرمز x ورمز y ، حيث أن & # x000d7 و y هما قاعدتان. بالنسبة للقواعد A و C و G و T ، نحتاج إلى تحديد أكوادها بحيث يتم استيفاء المعادلات التالية:

توجد أكواد متعددة. يتم عرض أقصر الرموز للمشكلة أعلاه في الجدول & # x200B Table1. 1. في السلاسل الثنائية المشفرة ، تكون مسافة التطابق التام هي صفر ، والمسافة الخاصة بالانتقال هي 2 ، ومسافة التحويل هي 3. ونتيجة لذلك ، لا تعتمد مسافة هامينج فقط على عدد الاستبدالات في زوج من سلاسل الإدخال ، ولكن أيضًا نسبة الانتقال إلى التحويل. على سبيل المثال ، تحتوي السلسلة "CCCCC" على مسافة هامنج 3 مع كل من "CUCUU" و "CGCGG". بعد التشفير ، يكون لسلاسل البت المقابلة مسافات هامينج 6 و 9 على التوالي. بشكل عام ، لتسلسلتين جينوميتين متساويتين في الطول ، إن وجدت x1 اعواد الكبريت، x2 الانتقالات و x3 مستعرضات ، مسافة HD هي 2x2 + 3x3 على خيطين ثنائيين بطول 4 & # x000d7 (x1 + x2 + x3).

الجدول 1

تحويل القواعد إلى بت

يدق تصميم البذور المسافة

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

i.i.d. يُعرَّف النموذج ℳ بأنه 3-tuple & # x0003cp1, ص2, ص3& # x0003e، أين ص1, ص2، و ص3 هي احتمالات المطابقة التامة ، والانتقال ، والانعكاس ، على التوالي. هكذا، ص1 + ص2 + ص3 = 1.0. من أجل حساب احتمال المطابقة لبذرة HD & # x0003cلام ، ت& # x0003e، نبدأ باحتمالية وجود زوج من المتواليات من الطول ل يحتوي x1 تطابق تام ، x2 الانتقالات و x3 استعالات على النحو التالي:

أين ل = x1 + x2 + x3. نظرًا لأننا نقوم بتحويل القواعد إلى أكواد ثنائية وفقًا للقواعد الواردة في الجدول & # x200B Table1 1 قبل تطبيق مطابقة بذور HD ، فإن احتمالية المطابقة لبذور HD & # x0003cلام ، ت& # x0003eيمكن تمثيلها باستخدام صص ℳ (x1, x2, x3) على النحو التالي:

للحصول على بذور HD & # x0003cلام ، ت& # x0003e، هناك مجموعات متعددة من x1, x2، و x3 إرضاء المعادلة أعلاه. يجب أن يجمع احتمال المطابقة على كل المجموعات. في المعادلات أعلاه ، ل هو عدد القواعد في التسلسل الجيني و إل هو عدد البتات بعد الترميز.

يعتمد اختيار L و T بشكل كبير على احتمالات المطابقة والانتقال في ℳ. لحساب احتمالات المطابقة في متماثلات ncRNA الحقيقية ، نقوم بتدريب ℳ على محاذاة ncRNA الزوجية من عائلات البذور في الإصدار 10 من Rfam.& # x0003c0.683, 0.154, 0.163& # x0003e. من أجل حساب احتمال مطابقة بذور HD في تسلسلات عشوائية ، مما يشير إلى المعدل الإيجابي الخاطئ ، نفترض أن القواعد الأربعة تحدث بنفس الاحتمال. وهكذا ، في i.i.d. نموذج ℳ , ص1 = 0.25, ص2 = 0.25 و ص3 = 0.5. من خلال تطبيق ℳ و ℳ إلى Eqn. 3 ، يمكننا استخدام قيم صص ℳ (إل, تي) و صص (إل, تي) لتقدير أداء بذور HD ذات الطول والعتبة المختلفة. يوجد إجمالي 5551 بذرة HD مختلفة بطول أصغر من 60 قاعدة (أي 240 بت). بعد إزالة البذور التي يمكن أن تحمل معدل FP بالقرب من 1 أو حساسية بالقرب من 0 ، نرسم صص ℳ (إل, تي) و صص (إل, تي) للبذور المتبقية في الأشكال & # x200B الأشكال 4 و & # x200B و 5. 5. يوضح هذان الشكلان كيف يؤثر طول البذرة والعتبة على احتمالات مطابقة البذرة.

مطابقة احتمالات بذور HD ذات أطوال مختلفة L وعتبة T في متماثلات ncRNA الحقيقية. لجعل النقاط قابلة للتمييز ، لا يتم عرض عدد كبير من البذور ذات احتمالية مطابقة قريبة من الصفر (أي حساسية منخفضة).

مطابقة احتمالات بذور HD ذات أطوال مختلفة L وعتبة T في متواليات عشوائية. لجعل النقاط قابلة للتمييز ، لا يتم عرض عدد كبير من البذور ذات احتمالية مطابقة قريبة من 1 (أي معدل FP مرتفع).

بناءً على الشكلين ، نحدد L و T بأفضل مقايضة بينهما صص ℳ (إل, تي) و صص (إل, تي). البذرة المختارة & # x0003c200,55& # x0003e، والتي تم تمييزها في الأشكال & # x200B الأشكال 4 و & # x200B و 5. 5. احتمال المطابقة في متماثلات ncRNA الحقيقية هو 0.906 واحتمال المطابقة في التسلسلات العشوائية هو 1.45E-07. البذور & # x0003c200,55& # x0003eيمثل تشابه 200 - 55200 = 72. 5٪ على سلاسل البت المشفرة. وفقًا لجدول الترميز & # x200B Table1 ، 1 ، للتسلسل الجيني بطول 50 = 200/4 ، البذرة & # x0003c200,55& # x0003eيسمح بـ 26 طفرة انتقالية وطفرة تحويل واحدة. يعطي هذا المزيج أدنى تشابه على مستوى الحمض النووي 46٪ = (50 - 26 - 1)/50. وهكذا ، فإن هذه البذرة المختارة قادرة على الكشف عن الحمض النووي الريبي عالي التنظيم الذي يتميز بحفظ تسلسل منخفض للغاية.

برامج لمطابقة البذور عالية الدقة والمحاذاة الهيكلية المحلية

هناك عدد من الأدوات التي يمكنها تنفيذ مطابقة البذور عالية الدقة. اخترنا خوارزمية عشوائية LSH-ALL-PAIRS [25] ، والتي تعتمد على تجزئة حساسية المنطقة. على الرغم من أنها خوارزمية تقريبية ، إلا أنها حققت حساسية عالية في الكشف عن متماثلات الحمض النووي التي لها تشابه منخفض يصل إلى 63٪. والأهم من ذلك ، أنه سريع بما يكفي لتطبيقه على الجينوم الكامل حتى عند زيادة البدائل المسموح بها (أي T في بذور HD).

بالنسبة إلى زوج من السلاسل الفرعية التي تحتوي على تطابق لبذرة HD ، نطبق نوعين من برامج المحاذاة المحلية. الأول هو FOLDALIGN ، والذي يمكنه إجراء محاذاة هيكلية محلية. والثاني هو PLAST-ncRNA ، والذي يستخدم الاحتمالات الخلفية لإجراء المحاذاة. يمكن لكل من هاتين الأداتين اكتشاف ncRNAs المتجانسة ذات التشابهات المنخفضة في التسلسل.

تم تنزيل LSH-ALL-PAIRS و FOLDALIGN و PLAST-ncRNA من مواقع المؤلفين.

التجارب والنتائج

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

تركز التجربة الأولى على البحث عن ncRNAs الهيكلية المفترضة في المناطق الجينومية في الإنسان والتي لا يمكن أن تتماشى مع الماوس. Torarinsson et al. [15] طبق FOLDALIGN مباشرة لبحث ncRNA في مجموعة من المناطق الجينية في الجينومين. تم الكشف عن ncRNAs الهيكلية بثقة عالية. من موقع الويب الخاص بالورقة ، قمنا بتنزيل 1297 محاذاة ، والتي لها احتمالات عالية لتكون ncRNAs وظيفية. تتميز أزواج ncRNA هذه بأوجه تشابه منخفضة في التسلسل (48 ٪ في المتوسط) ولا يمكن محاذاة معظمها بواسطة BLAST. نطبق بذور BLAST و BlastZ و Hamming على مجموعة البيانات هذه ونحدد كميتها حساسية و معدل FP (معدل إيجابي كاذب). تقوم الحساسية بتقييم النسبة المئوية للمتماثلين الحقيقيين (أي 1297 محاذاة) التي يمكن مواءمتها بواسطة هذه البرامج. يقيم معدل FP عدد أزواج التسلسلات العشوائية التي يمكن محاذاة هذه البرامج. من أجل حساب معدل FP ، أنشأنا 10000 زوج من التسلسلات العشوائية بافتراض أن كل قاعدة لها نفس الاحتمال. تم تلخيص الحساسية ومعدل FP في الجدول & # x200B Table2. 2. وفقًا للجدول & # x200B Table2 ، 2 ، تتمتع بذور HD بأفضل حساسية ومعدل FP منخفض أيضًا. يتمتع BlastZ بحساسية أعلى من BLAST. تُظهر هذه التجربة أن استخدام بذور HD لتحديد متماثلات ncRNA المحتملة أكثر حساسية من استخدام برامج مقارنة التسلسل التقليدية.

الجدول 2

مقارنة بين بذور هامينج ، بلاست ، وبلاست زد

بحث NcRNA في جينوم Burkholderia cenocepacia J2315

في التجربة الثانية نركز على تحديد ncRNA في Burkholderia cenocepacia جينوم J2315 بمقارنته بـ Ralstonia solanacearum الجينوم. Burkholderia cenocepacia مهم سريريًا لأنه يمكن أن يسبب التهابات الرئة لدى مرضى التليف الكيسي [16]. هناك عدة أعضاء في Burkholderia cenocepacia. كويني وآخرون. أجرى بحث ncRNA عن طريق تطبيق BLAST و QRNA بين B. cenocepacia سلالة J2315 والجينومات ذات الصلة بما في ذلك Ralstonia solanacearum الجينوم. نظرًا لأن BLAST يمكن أن يغيب عن ncRNAs عالي التنظيم ، فقد أجرينا تحليلًا تكميليًا باستخدام بذور HD وبرامج محاذاة ncRNA بما في ذلك FOLDALIGN و PLAST-ncRNA. قمنا بتطبيق كلتا الأداتين على مناطق حول ضربات بذور HD وقارننا مخرجات FOLDALIGN و PLAST-ncRNA. قمنا بتنزيل الكروموسومات الثلاثة (معرفات الانضمام: <"type": "entrez-nucleotide" ، "attrs": <"text": "NC_011000" ، "term_id": "206558403" ، "term_text": "NC_011000" >> NC_011000، <"type": "entrez-nucleotide"، "attrs": <"text": "NC_011001"، "term_id": "206561868"، "term_text": "NC_011001" >> NC_011001، NC 011002) من Burkholderia cenocepacia جينوم J2315 من NCBI. أحجامها 3،870،082 نانومتر ، 3،217،062 نانومتر ، و 875،977 نانومتر ، على التوالي. وبالمثل قمنا بتنزيل ملف Ralstonia solanacearum جينوم GMI1000 (<"type": "entrez-nucleotide"، "attrs": <"text": "NC_003295"، "term_id": "17544719"، "term_text": "NC_003295" >> NC_003295) من NCBI. يبلغ طول الكروموسوم الفردي 3،716،413 nt. باستخدام BLAST و QRNA ، Coenye et al. [16] ذكرت 78 و 116 و 19 ncRNAs مفترضة على الكروموسومات الثلاثة لـ J2315.

قمنا أولاً بإخفاء جميع التكرارات منخفضة التعقيد وجينات ترميز البروتين المشروحة في تسلسل الإدخال. ثم طبقنا بذور HD المصممة & # x0003c200,55& # x0003eبين الكروموسومات الثلاثة Burkholderia cenocepacia J2315 وجينوم Ralstonia solanacearum. بين كل زوج من متواليات الإدخال ، يتم تقييد العدد الإجمالي لمواضع المطابقة الممكنة بمنتج أحجام تسلسلات الإدخال. على سبيل المثال ، بالنسبة لبذرة بحجم 50 قاعدة ، يمكن أن يكون هناك على الأكثر (3 ، 870 ، 082 - 49) & # x000d7 (3, 716, 413 - 49) أماكن مطابقة البذور المتميزة. وبالتالي ، بشكل عام ، عندما تزداد أحجام تسلسل الإدخال ، من المتوقع المزيد من ضربات البذور. العدد الإجمالي لضربات البذور وتلك التي تتداخل مع ncRNAs المفترضة التي تم الإبلاغ عنها بواسطة Coenye et al. ملخصة في الجدول & # x200B Table3. 3. اكتشفت بذور HD الخاصة بنا جميع ncRNAs المفترضة على الكروموسوم 1 و 3. فاتت بذرة HD 10 ncRNAs مفترضة على الكروموسوم 2 لأنها إما مقنعة على أنها تكرارات منخفضة التعقيد أو تتداخل بشدة مع مناطق الترميز المشروحة. وبالتالي يتم إخفاء المناطق المقابلة ولن يتم مسحها ضوئيًا بواسطة بذور HD. تشير الأدبيات السابقة [15] حول البحث في ncRNA إلى أن معظم ncRNAs موجودة في مناطق متداخلة الجينات في الجينوم البكتيري. يحتاج الأمر إلى تحقيق مكثف فيما إذا كانت جينات ncRNA تتداخل مع جينات ترميز البروتين في الجينوم البكتيري.

الجدول 3

مقارنة بين ضربات بذور HD مع ncRNAs المفترضة التي أبلغ عنها Coenye et al.

نظرًا لأن الغرض من هذه التجربة هو تحديد ncRNAs الهيكلية للغاية التي قد تفوتها أدوات البحث المتماثلة ncRNA الحالية مثل مزيج BLAST و QRNA ، فنحن مهتمون فقط بضربات البذور ذات الهوية التي لا تزيد عن 60 ٪. لكل بذرة جينية مصابة بهوية لا تزيد عن 60٪ ، قمنا بتمديدها إلى اليسار واليمين لـ 100 قاعدة في كل إدخال. ثم تم إجراء المحاذاة المحلية بين السلاسل الفرعية الممتدة باستخدام FOLDALIGN أو PLAST-ncRNA. نظرًا لأن الكروموسوم 2 والكروموسوم 3 أكبر بكثير من الكروموسوم 3 وقد يحتويان على عدد أكبر من ncRNAs المفترضة ، فإننا نقدم فقط نتائج البحث على الكروموسوم 1 والكروموسوم 2. تعمل جميع البرامج على مجموعة مكونة من 128 عقدة ، حيث تحتوي كل عقدة على 2 ثنائي النواة تعمل AMD Opterons بسرعة 2.2 جيجاهرتز مع ذاكرة 8 جيجابايت. يبلغ وقت تشغيل مطابقة بذور HD باستخدام LSH-ALL-PAIRS 8250 و 6850 ثانية للكروموسوم 1 والكروموسوم 2 ، على التوالي. أوقات تشغيل FOLDALIGN في المناطق المحيطة بمباريات البذور هي 15 ساعة و 14 ساعة للكروموسوم 1 والكروموسوم 2 ، على التوالي. تبلغ أوقات تشغيل PLAST-ncRNA في المناطق المحيطة بمطابقات البذور على الكروموسوم 1 والكروموسوم 2 697 ثانية و 501 ثانية على التوالي. نظرًا لأن FOLDALIGN يعتمد على خوارزمية محاذاة هيكلية مكثفة حسابيًا بواسطة Sankoff [17] ، فإنه يستغرق وقت تشغيل أطول بكثير من PLAST-ncRNA المستند إلى الاحتمالية اللاحقة. ومع ذلك ، يمكن أن ينتج FOLDALIGN كلاً من المحاذاة والهيكل الثانوي الإجماعي لكل زوج إدخال بينما لا يوفر PLAST-ncRNA اشتقاقًا ثانويًا للهيكل. هناك حاجة إلى برامج إضافية للتنبؤ بهيكل ncRNA لمعالجة إخراج PLAST-ncRNA عند الحاجة إلى معلومات الهيكل.

بالنسبة لجميع محاذاة الإخراج بواسطة FOLDALIGN و PLAST-ncRNA ، نزيل المحاذاة إذا استوفت أحد الشروط التالية: 1) تتداخل المحاذاة مع جينات ترميز البروتين المجاورة 2) درجة المحاذاة أصغر من حد معين و 3) طول المحاذاة أصغر من 55. يحتوي PLAST-ncRNA على حد للاحتمال الخلفي المتوسط ​​، وهو الاحتمال الخلفي المقيس على طول المحاذاة. القطع الافتراضي لـ PLAST-ncRNA هو 0.1. لا يوجد حد افتراضي للنتيجة لـ FOLDALIGN عندما نجري المحاذاة باستخدام الوضع "المحلي". يوفر وضع "الفحص" قيم p ، والتي تفسر أهمية درجات المحاذاة بطريقة أفضل من النتائج الأولية. وفقًا للافتراض الذي قدمه FOLDALIGN بأن درجات المحاذاة تتبع توزيعًا ذا قيمة قصوى ، قمنا بتصميم حد للنتيجة يتوافق مع القيمة p 10 - 8. على وجه التحديد ، أنشأنا 50000 تسلسل عشوائي بطول 200 وقمنا بمحاذاة كل أزواج منهم. ثم أجرينا تركيب المنحنى باستخدام درجات المحاذاة العشوائية وحددنا درجة القطع للقيمة p المختارة. الحد الأقصى للنتيجة المحسوبة لـ FOLDALIGN هو 450.

بناءً على معايير الترشيح المذكورة أعلاه ، احتفظنا بمحاذاة 8،112 و 6،506 FOLDALIGN على الكروموسوم 1 و 2 ، على التوالي. بالنسبة إلى PLAST-ncRNA بموجب الحد الافتراضي 0.1 ، احتفظنا بـ 9263 و 7233 محاذاة على الكروموسوم 1 و 2 ، على التوالي. من خلال مقارنة مواضع المحاذاة الخاصة بهم ، وجدنا أن هناك تداخلًا كبيرًا بين مجموعتي محاذاة الإخراج بواسطة FOLDALIGN و PLAST-ncRNA. يوضح الشكل & # x200B الشكل 6 تعريفنا للمحاذاة المتداخلة. بالنظر إلى محاذيتين محددتين من خلال مواضع البداية والنهاية ، نحسب النسبة المئوية المتداخلة في كل تسلسل إدخال. باتباع الرموز الخاصة بمثال المحاذاة في الشكل & # x200B الشكل 6 ، 6 ، النسبة المئوية المتداخلة في التسلسل فيما يليها1 هي N 1 دقيقة ((E 1 - S 1 + 1) ، (E 3 - S 3 + 1)). وبالمثل ، النسبة المئوية المتداخلة في التسلسل فيما يليها2 هو N 2 دقيقة ((E 2 - S 2 + 1) ، (E 4 - S 4 + 1)). تتداخل محاذيتان إذا كانت النسب المئوية المتداخلة في كلا التسلسلين 50٪ على الأقل. وفقًا لمعيار المحاذاة المتداخلة ، تتم مشاركة 7،910 و 6،346 محاذاة بواسطة FOLDALIGN و PLAST-ncRNA للكروموسوم 1 و 2 ، على التوالي. على الرغم من أن FOLDALIGN و PLAST-ncRNA يتم تنفيذهما على أساس منهجيات مختلفة للغاية ، إلا أنهما يقدمان دليلًا ثابتًا للبحث عن ncRNA. نظرًا لأن PLAST-ncRNA يقترب من ضعفين من حيث الحجم أسرع من FOLDALIGN ، فإننا نجري فحصًا دقيقًا لمخرجات PLAST-ncRNA.

تعريف المحاذاة المتداخلة. يتم إخراج محاذاة اثنين عن طريق FOLDALIGN و PLAST-ncRNA. تقع محاذاة FOLDALIGN بين المواضع س1 و ه1 تشغيل تسلسل1 وبين س2 و ه2 تشغيل تسلسل2. تقع محاذاة PLAST-ncRNA بين المواضع س3 و ه3 تشغيل تسلسل1 وبين س4 و ه4 تشغيل تسلسل2. ن1 هي المنطقة المتداخلة على تسلسل1 و ن2 هي المنطقة المتداخلة على تسلسل2.

على الرغم من وجود الآلاف من المحاذاة التي تتجاوز القطع الافتراضي لـ PLAST-ncRNA ، فمن غير المحتمل أن تحتوي جميع المحاذاة على ncRNAs وظيفية. نقوم أولاً بفحص القطع الافتراضي عن طريق إنشاء توزيعات احتمالية خلفية لمحاذاة PLAST-ncRNA للتسلسلات العشوائية و ncRNAs المعروفة ذات أوجه التشابه في التسلسل المنخفض. يوضح الشكل & # x200B الشكل 7 توزيع متوسط ​​الاحتمالات الخلفية للمحاذاة على 5000 تسلسل عشوائي للأطوال بين 60 و 70. هناك 37٪ من المحاذاة بمتوسط ​​احتمال لاحق أعلى من 0.1 ، مما يشير إلى أن القطع الافتراضي 1.0 يمكن أن يؤدي إلى ارتفاع إيجابي كاذب معدل البحث ncRNA. نظرًا لأننا مهتمون فقط بمثيلات ncRNA ذات التشابهات المنخفضة في التسلسل ، فإننا نفحص أيضًا احتمالات PLAST-ncRNA لمتماثلات الحمض الريبي النووي النقال و SECIS بين الإنسان والفأر لأن هذين لهما تحفظات منخفضة التسلسل. الحد الأدنى لمتوسط ​​الاحتمال الخلفي هو 0.35. وبالتالي ، بدلاً من استخدام 0.1 ، اخترنا 0.35 كقطع للبحث عن ncRNA في هذه التجربة. باستخدام قطع أكثر صرامة ، خرج PLAST-ncRNA 954 و 716 محاذاة على الكروموسوم 1 و 2 ، على التوالي. بالنسبة لهذه المحاذاة ، نرسم متوسط ​​الاحتمالات اللاحقة ، وهوية التسلسل ، وطول المحاذاة في الأشكال من الشكل & # x200B الشكل 8 8 إلى الشكل & # x200B الشكل 13.

متوسط ​​توزيع الاحتمال الخلفي لمحاذاة PLAST-ncRNA العشوائية. لكل شريط بين الملصقات & # x000d7 و y ، يحتوي على جميع المحاذاة بمتوسط ​​الاحتمال الخلفي & # x02265 & # x000d7 و & # x0003c ص. يظهر عدد المحاذاة لكل شريط أعلى الشريط.

متوسط ​​توزيع الاحتمال الخلفي لمحاذاة PLAST-ncRNA على الكروموسوم 1.

توزيع طول محاذاة PLAST-ncRNA على الكروموسوم 2.

توزيع طول محاذاة PLAST-ncRNA على الكروموسوم 1.

متوسط ​​توزيع الاحتمال الخلفي لمحاذاة PLAST-ncRNA على الكروموسوم 2.

لاحظ أنه على الرغم من أن أقل هوية تسلسل مسموح بها من قبل بذور HD التي اخترناها & # x0003c200,55& # x0003eهي 46٪ ، يتم تطبيق PLAST-ncRNA على مناطق أكبر حول كل ضربة بذرة. كمحاذاة هيكلية محلية ، يمكن لـ PLAST-ncRNA الإبلاغ عن محاذاة منظمة للغاية مع الحفاظ على التسلسل المنخفض للغاية. يظهر هذا في توزيع الهوية في الأشكال & # x200B الأشكال 9 و & # x200B و 12. 12. العديد من ncRNAs المفترضة على الكروموسوم 1 أطول من ncRNAs الصغيرة المشروحة. هذا يتفق مع الملاحظة السابقة بأن ncRNAs الصغيرة تميل إلى الحفاظ على تسلسل أفضل من ncRNAs الطويلة [7].

توزيع هوية التسلسل لمحاذاة PLAST-ncRNA على الكروموسوم 1.

توزيع هوية محاذاة PLAST-ncRNA على الكروموسوم 2.

نظرًا لأن PLAST-ncRNA لا ينتج البنية الثانوية المتفق عليها ، فإننا نحصل على المعلومات الهيكلية من FOLDALIGN. تُظهِر الأشكال والأشكال # x200B 14 14 و & # x200B و 15 15 الهياكل الثانوية لاثنين من ncRNAs المفترضين. يتم عرض خصائصها بما في ذلك مواقعها وطولها والمسافة إلى جينات ترميز البروتين المجاورة وما إلى ذلك في الجدول & # x200B Table4.

الهيكل الثانوي المتوقع لـ ncRNA 1 المفترض.

الهيكل الثانوي المتوقع لـ ncRNA 2 المفترض.

الجدول 4

خصائص اثنين من ncRNAs المفترضة على الكروموسوم 1 لـ J2315

هوية شخصيةبلاستيكFAيبدأنهايةهويةف القيمة5 'الجين3 'الجين5'3'
نتيجةنتيجة دد
10.392591327858032788490.520.022BCAL2989BCAL29905053
20.3825385483655486540.420BCAL0496BCAL049755267

تم حفظ كل منهم في R. solanacearum.

يشير مصطلح "PLAST" إلى PLAST-ncRNA. "FA" لتقف على FOLDALIGN. 5 'D و 3' D تحتوي على مسافات 5 'و 3' جينات ترميز البروتين المجاورة ، على التوالي.


مسافات هامشية بين سلسلتين من الحمض النووي - علم الأحياء

لا توجد تعريفات في هذا الملف.

# ترميز = utf8
استيراد النظم
استيراد gzip
استيراد نظام التشغيل. المسار كمسار
من استيراد itertools islice
& quot & quot & quot
العب مع Rosalind http://rosalind.info
& quot & quot & quot
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
def count_DNA (DNA_string):
& quot & quot & quot
عد نيوكليوتيدات الحمض النووي
http://rosalind.info/problems/dna/
مشكلة
السلسلة هي ببساطة مجموعة مرتبة من الرموز المحددة من بعض الأبجدية وتتشكل في كلمة بطول السلسلة هو عدد الرموز التي تحتوي عليها.
مثال على سلسلة DNA بطول 21 (تحتوي أبجديتها على الرموز & # 39A & # 39، & # 39C & # 39، & # 39G & # 39، & # 39T & # 39) هي & quotATGCTTCAGAAAGGTCTTACG. & quot
معطى: سلسلة DNA بطول 1000 nt على الأكثر.
العودة: أربعة أعداد صحيحة (مفصولة بمسافات) تحسب عدد المرات التي تظهر فيها الرموز & # 39A & # 39 و & # 39C & # 39 و & # 39G & # 39 و & # 39T & # 39 في s.
عينة مجموعة البيانات
AGCTTTTCATTCTGACTGCAACGGCAATGTCTCTGTGTGATTAAAAAAAGTGTCTGATAGCAGC
إخراج العينة
20 12 17 21
& gt & gt & gt count_DNA (& quotAGCTTTTCATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATTAAAAAAGTGTCTGATAGCAGC & quot)
(20, 12, 17, 21)
& quot & quot & quot
إرجاع DNA_string. العد (& quotA & quot) ، DNA_string. العد (& quotC & quot) ، DNA_string. العد (& quotG & quot) ، DNA_string. عد (& quotT & quot)
#-------------------------------------------------------------------------------
def نسخ (DNA_string):
& quot & quot & quot
نسخ الحمض النووي إلى الحمض النووي الريبي
http://rosalind.info/problems/rna/
مشكلة
سلسلة RNA هي سلسلة مكونة من الأبجدية تحتوي على & # 39A & # 39 ، & # 39C & # 39 ، & # 39G & # 39 ، و & # 39U & # 39.
بالنظر إلى سلسلة DNA t المقابلة لخيط تشفير ، يتم تشكيل سلسلة RNA المنسوخة الخاصة بها عن طريق استبدال جميع تكرارات & # 39T & # 39 in t بـ & # 39U & # 39 in u.
معطى: سلسلة DNA بطول 1000 nt على الأكثر.
العودة: سلسلة RNA المنسوخة من t.
عينة مجموعة بيانات
GATGGAACTTGACTACGTAAATT
إخراج العينة
GAUGGAACUUGACUACGUAAUU
& gt & gt & gt transcribe (& quotGATGGAACTTGACTACGTAAATT & quot)
& # 39GAUGGAACUUGACUACGUAAAUU & # 39
& quot & quot & quot
إرجاع DNA_string. استبدال (& quotT & quot، & quotU & quot)
#-------------------------------------------------------------------------------
سلسلة الاستيراد
Complete_trans = سلسلة. ماكترانس (& quotATGC & quot، & quotTACG & quot)
def reverse_complement_DNA (DNA_string):
& quot & quot & quot
تكمل حبلا من الحمض النووي
http://rosalind.info/problems/revc/
مشكلة
في سلاسل الحمض النووي ، تعد الرموز & # 39A & # 39 و & # 39T & # 39 مكملة لبعضها البعض ، مثل & # 39C & # 39 و & # 39G & # 39.
المكمل العكسي لسلسلة DNA s هو السلسلة sc المكونة عن طريق عكس رموز s ، ثم أخذ مكمل كل رمز (على سبيل المثال ، المكمل العكسي لـ & quotGTCA & quot هو & quotTGAC & quot).
معطى: سلسلة DNA بطول 1000 نقطة أساس كحد أقصى.
العودة: الشوري التكميلي العكسي لـ s.
عينة مجموعة بيانات
AAAACCCGGT
إخراج العينة
ACCGGGTTTT
& gt & gt & gt reverse_complement_DNA (& quotAAAACCCGGT & quot)
& # 39ACCGGGTTTT & # 39
& quot & quot & quot
إرجاع DNA_string. ترجمة (complete_trans) [:: - 1]
#-------------------------------------------------------------------------------
def max_gc_content (fasta):
& quot & quot & quot
حساب محتوى GC
http://rosalind.info/problems/gc/
تحديد الحمض النووي غير المعروف انقر بسرعة للانهيار
كانت إحدى الطرق السريعة التي استخدمتها برامج الكمبيوتر المبكرة لتحديد لغة جزء معين من النص هي تحليل التردد الذي يظهر به كل حرف في النص. تم استخدام هذه الإستراتيجية لأن كل لغة تميل إلى إظهار ترددات الحروف الخاصة بها ، وطالما أن النص قيد الدراسة طويل بما يكفي ، فإن البرنامج سوف يتعرف على اللغة بشكل صحيح بسرعة وبمعدل خطأ منخفض للغاية. انظر الشكل 1 للحصول على جدول يجمع ترددات الحروف الإنجليزية.
قد تسأل: ما علاقة هذه المشكلة اللغوية بالبيولوجيا؟ على الرغم من أن عضوين من نفس النوع سيكون لهما جينومات مختلفة ، إلا أنهما لا يزالان يتشاركان النسبة الهائلة من الحمض النووي الخاص بهما على وجه الخصوص ، 99.9 ٪ من 3.2 مليار زوج أساسي في الجينوم البشري مشتركة بين جميع البشر تقريبًا (أي باستثناء الأشخاص الذين يعانون من عيوب وراثية كبيرة ). لهذا السبب ، سيتحدث علماء الأحياء عن الجينوم البشري ، أي جينوم متوسط ​​الحالة مشتق من مجموعة من الأفراد. يمكن تجميع جينوم الحالة المتوسطة هذا لأي نوع ، وهو تحد سنناقشه قريبًا.
ينشأ التناظرية البيولوجية لتحديد النص غير المعروف عندما يواجه الباحثون جزيء دنا مشتق من نوع غير معروف. بسبب علاقات الاقتران الأساسية بين خيطي DNA ، سيظهر السيتوزين والجوانين دائمًا بكميات متساوية في جزيء DNA مزدوج الشريطة. وبالتالي ، لتحليل ترددات رمز الحمض النووي للمقارنة مع قاعدة البيانات ، نحسب محتوى جزيء & # 39 s GC ، أو النسبة المئوية لقواعده التي تكون إما سيتوزين أو جوانين.
في الممارسة العملية ، يحوم محتوى GC لمعظم جينومات حقيقية النواة حول 50 ٪. ومع ذلك ، نظرًا لأن الجينوم طويل جدًا ، فقد نتمكن من التمييز بين الأنواع بناءً على التناقضات الصغيرة جدًا في محتوى GC علاوة على ذلك ، تحتوي معظم بدائيات النوى على محتوى GC أعلى بكثير من 50 ٪ ، بحيث يمكن استخدام محتوى GC للتمييز بسرعة العديد من بدائيات النوى وحقيقيات النوى باستخدام عينات DNA صغيرة نسبيًا.
مشكلة
يُعطى محتوى GC لسلسلة DNA من خلال النسبة المئوية للرموز في السلسلة التي هي & # 39C & # 39 أو & # 39G & # 39. على سبيل المثال ، محتوى GC لـ & quotAGCTATAG & quot هو 37.5٪. لاحظ أن المكمل العكسي لأي سلسلة DNA له نفس محتوى GC.
يجب تمييز سلاسل الحمض النووي عند دمجها في قاعدة بيانات. طريقة شائعة الاستخدام لتسمية السلسلة تسمى تنسيق FASTA. في هذا التنسيق ، يتم تقديم السلسلة بواسطة سطر يبدأ بـ & # 39 & gt & # 39 ، متبوعًا ببعض معلومات التسمية. تحتوي الأسطر اللاحقة على السلسلة نفسها ، حيث يشير السطر الأول الذي يبدأ بـ & # 39 & gt & # 39 إلى تسمية السلسلة التالية.
في تطبيق Rosalind & # 39s ، سيتم تسمية سلسلة بتنسيق FASTA بواسطة المعرف & quotRosalind_xxxx & quot ، حيث تشير & quotxxxx & quot إلى رمز مكون من أربعة أرقام بين 0000 و 9999.
معطى: 10 سلاسل DNA على الأكثر بتنسيق FASTA (بطول بحد أقصى 1 كيلو بايت لكل منها).
العودة: معرّف السلسلة التي تحتوي على أعلى محتوى GC ، متبوعًا بمحتوى GC لتلك السلسلة. يسمح Rosalind بحدوث خطأ افتراضي قدره 0.001 في جميع الإجابات العشرية ما لم يُذكر خلاف ذلك ، يرجى الاطلاع على الملاحظة الخاصة بالخطأ المطلق أدناه.
عينة مجموعة البيانات
& GTRosalind_6404
ككتجكجاجاتكجكاكتاجاتاجكاجكاجاككجتتكتكتجاججكتككجككتككك
تككاكاتاتاتكتجاج
& GTRosalind_5959
CCATCGGTAGCGCATCCTAGTCCAATTAAGTCCCTATCCAGGCGCTCCGCCGAAGGTCT
أتاتككاتتجتكاجكاجاكجك
& GTRosalind_0808
CCACCCTCGTGGTATGGCTAGGCATTCAGGAACCGGAGAACGCTTCAGACCAGCCCGGAC
تججاككتجكججكاجتاجتجوات
إخراج العينة
روزاليند_0808
60.919540%
ملاحظة حول الخطأ المطلقانقر للطي
نقول إن العدد x يقع ضمن الخطأ المطلق لـ y للوصول إلى الحل الصحيح إذا كانت x ضمن y للحل الصحيح. على سبيل المثال ، إذا كان الحل الدقيق هو 6.157892 ، فلكي تكون x ضمن الخطأ المطلق 0.001 ، يجب أن يكون لدينا | x − 6.157892 | & lt0.001 ، أو 6.156892 & ltx & lt6.158892.
يعد إحاطة الخطأ أداة عملية حيوية بسبب خطأ التقريب المتأصل في تمثيل الكسور العشرية في الكمبيوتر ، حيث يتم تخصيص عدد محدود فقط من المنازل العشرية لأي رقم. بعد أن يتضاعف خلال عدد من العمليات ، يمكن أن يصبح خطأ التقريب هذا واضحًا. نتيجة لذلك ، بدلاً من اختبار ما إذا كان رقمان متساويان مع x = z ، قد ترغب ببساطة في التحقق من أن | x − z | هي صغيرة جدا.
يخصص المجال الرياضي للتحليل العددي لدراسة طبيعة التقريب الحسابي بدقة.
وGT & GT & GT الصورة = & # 39 & gtRosalind_6404 nCCTGCGGAAGATCGGCACTAGAATAGCCAGAACCGTTTCTCTGAGGCTTCCGGCCTTCCC nTCCCACTAATAATTCTGAGG ن وgtRosalind_5959 nCCATCGGTAGCGCATCCTTAGTCCAATTAAGTCCCTATCCAGGCGCTCCGCCGAAGGTCT nATATCCATTTGTCAGCAGACACGC ن وgtRosalind_0808 nCCACCCTCGTGGTATGGCTAGGCATTCAGGAACCGGAGAACGCTTCAGACCAGCCCGGAC nTGGGAACCTGCGGGCAGTAGGTGGAAT ن & # 39
& gt & gt & gt max_gc_content (s)
روزاليند_0808
60.919540%
& quot & quot & quot
gc = [(seq_name، (seq. count (& quotG & quot) + seq. count (& quotC & quot)) * 100.0 / len (seq)) for seq_name، seq in fasta_iter (fasta)]
seq_name، value = max (gc، key = lambda ln: ln [1])
النتيجة = & quot٪ s n٪ .6f ٪٪ n & quot٪ (seq_name، value)
sys. stdout. اكتب (نتيجة)
sys. stdout. تدفق ()
def fasta_iter (fa ، buffsize = 100000):
& quot & quot & quot
iter فوق ملف fasta أو كائن أو سلسلة تشبه الملف.
الإدخال: يمكن أن يكون fa كائن ملف أو اسم ملف أو سلسلة من تسجيلات fasta
العودة: سجل فاستا: (& quotsequence_name & quot، & quotsequence & quot)
وGT & GT & GT الصورة = & # 39 & gtRosalind_6404 nCCTGCGGAAGATCGGCACTAGAATAGCCAGAACCGTTTCTCTGAGGCTTCCGGCCTTCCC nTCCCACTAATAATTCTGAGG ن وgtRosalind_5959 nCCATCGGTAGCGCATCCTTAGTCCAATTAAGTCCCTATCCAGGCGCTCCGCCGAAGGTCT nATATCCATTTGTCAGCAGACACGC ن وgtRosalind_0808 nCCACCCTCGTGGTATGGCTAGGCATTCAGGAACCGGAGAACGCTTCAGACCAGCCCGGAC nTGGGAACCTGCGGGCAGTAGGTGGAAT ن & # 39
& gt & gt & gt list (fasta_iter (s))
[(& # 39Rosalind_6404 & # 39 & # 39CCTGCGGAAGATCGGCACTAGAATAGCCAGAACCGTTTCTCTGAGGCTTCCGGCCTTCCCTCCCACTAATAATTCTGAGG & # 39)، (& # 39Rosalind_5959 & # 39 & # 39CCATCGGTAGCGCATCCTTAGTCCAATTAAGTCCCTATCCAGGCGCTCCGCCGAAGGTCTATATCCATTTGTCAGCAGACACGC & # 39)، (& # 39Rosalind_0808 & # 39 & # 39CCACCCTCGTGGTATGGCTAGGCATTCAGGAACCGGAGAACGCTTCAGACCAGCCCGGACTGGGAACCTGCGGGCAGTAGGTGGAAT & # 39)]
& quot & quot & quot
basestring_type = basestring إذا كان النظام. version_info [0] == 2 else str
if isinstance (fa، basestring_type): # if fa هو اسم الملف أو سلسلة fasta
إذا كان المسار. موجود (fa): # fa هو ملف على القرص
إذا كرة القدم. endswith (& quot.gz & quot): fobj = gzip. open (fa، & # 39rb & # 39)
آخر: fobj = open (fa)
elif fa == & # 39 - & # 39: # fa هو الإدخال القياسي
fobj = sys. ستدين
Buffsize = 10000 # أرسل الإخراج مسبقًا إذا كان الإدخال sys.stdin
elif fa [0] == & quot & gt & quot و & quot n & quot في fa: # fa هي سلسلة فاستا
fobj = iter (fa. splitlines ())
آخر :
رفع استثناء (& quotDon & # 39t يتعرف على التنسيق. تتضمن التنسيقات الصالحة: سلسلة ، قائمة / مجموعة من السلسلة ، كائن يشبه الملف. & quot)
# if (fa is list أو tuple of string) ، أو (fa is file-like object)
# في كلتا الحالتين ، يمكننا استخدام & quotfor line in fa & quot to iter over fa
elif (hasattr (fa، & # 39__getitem __ & # 39) and callable (fa. __getitem__)) أو (hasattr (fa، & # 39readline & # 39) and callable (fa. readline)):
fobj = fa
آخر :
رفع استثناء (& quotDon & # 39t يتعرف على التنسيق. تتضمن التنسيقات الصالحة: سلسلة ، قائمة / مجموعة من السلسلة ، كائن يشبه الملف. & quot)
chunk = []
احيانا صحيح :
new_data = list (islice (fobj، buffsize))
إن لم يكن new_data: استراحة
قطعة . تمديد (البيانات الجديدة)
idx = [i for i، ln في تعداد (مقطع) إذا ln [0] == & # 39 & gt & # 39]
بالنسبة إلى i ، j في التعداد (idx [: - 1]):
العائد (chunk [j] [1:]. rstrip (& # 39 n & # 39)، & quot & quot. Join (chunk [j + 1: idx [i + 1]]). استبدل (& quot n & quot، & quot & quot ))
chunk = قطعة [idx [- 1]:]
إذا كانت قطعة:
العائد (chunk [0] [1:]. rstrip (& # 39 n & # 39)، & quot & quot. Join (chunk [1:]). replace (& quot n & quot، & quot & quot))
#-------------------------------------------------------------------------------
def count_point_mutation (s، t = None):
& quot & quot & quot
عد الطفرات نقطة
http://rosalind.info/problems/hamm/
مشكلة
بالنظر إلى سلسلتين s و t متساويتين في الطول ، فإن مسافة هامينج بين s و t ، والمشار إليها بـ dH (s ، t) ، هي عدد الرموز المقابلة التي تختلف في s و t. انظر الشكل 2.
معطى: سلسلتان من DNA s و t متساويان الطول (لا يتجاوزان 1 kbp).
العودة: مسافة هامنج dH (s ، t).
عينة مجموعة البيانات
GAGCCTACTAACGGAT
كاتكجتاتجاكجككت
إخراج العينة
7
& gt & gt & gt count_point_mutation (& # 39GAGCCTACTAACGGGAT & # 39، & # 39CATCGTAATGACGGCCT & # 39)
7
& quot & quot & quot
إذا كانت t لا شيء:
s ، t = s. الانقسام ()
إذا كان len (s)! = len (t):
زيادة الاستثناء (& quottwo سلاسل يجب أن تكون بنفس الطول! & quot)
مجموع الإرجاع (1 لـ i في النطاق (len (s)) إذا كان s [i]! = t [i])
#-------------------------------------------------------------------------------
def find_motif (seq ، motif):
& quot & quot & quot
البحث عن الدافع في الحمض النووي
http://rosalind.info/problems/subs/
تمشيط من خلال كومة القش حتى الانهيار
إن العثور على نفس الفاصل الزمني للحمض النووي في جينومات كائنين مختلفين (غالبًا ما يؤخذ من نوعين مختلفين) يوحي بشدة أن الفاصل الزمني له نفس الوظيفة في كلا الكائنين.
نحدد الحافز على أنه فاصل مشترك مشترك من الحمض النووي. من المهام الشائعة في البيولوجيا الجزيئية البحث في جينوم الكائن الحي عن عنصر معروف.
الوضع معقد بسبب حقيقة أن الجينوم مليء بفواصل من الحمض النووي التي تحدث عدة مرات (ربما مع تعديلات طفيفة) ، تسمى التكرارات. تحدث هذه التكرارات في كثير من الأحيان أكثر مما تمليه الصدفة العشوائية ، مما يشير إلى أن الجينومات ليست سوى عشوائية ، وفي الواقع توضح أن لغة الحمض النووي يجب أن تكون قوية للغاية (قارن مع إعادة الاستخدام المتكرر للكلمات الشائعة في أي لغة بشرية).
التكرار الأكثر شيوعًا عند البشر هو تكرار Alu ، والذي يبلغ طوله حوالي 300 نقطة أساس ويتكرر حوالي مليون مرة في كل جينوم بشري. ومع ذلك ، لم يتم العثور على Alu لخدمة غرض إيجابي ، ويبدو في الواقع أنه طفيلي: عندما يتم إدخال تكرار Alu جديد في الجينوم ، فإنه يتسبب في كثير من الأحيان في اضطرابات وراثية.
مشكلة
بالنظر إلى سلسلتين s و t ، فإن t عبارة عن سلسلة فرعية من s إذا تم احتواء t كمجموعة متجاورة من الرموز في s (نتيجة لذلك ، يجب ألا يكون t أطول من s).
موضع رمز في سلسلة هو العدد الإجمالي للرموز الموجودة على يساره ، بما في ذلك نفسه (على سبيل المثال ، مواضع جميع تكرارات & # 39U & # 39 في & quotAUGCUUCAGAAAGGUCUUACG & quot هي 2 و 5 و 6 و 15 و 17 و 18 ). يُشار إلى الرمز الموجود في الموضع i من s بالرمز s [i].
يمكن تمثيل سلسلة فرعية من s كـ s [j: k] ، حيث تمثل j و k مواضع البداية والنهاية للسلسلة الفرعية في s على سبيل المثال ، إذا كانت s = & quotAUGCUUCAGAAAGGUCUUACG & quot ، ثم s [2: 5] = & quotUGCU & quot.
موقع السلسلة الفرعية s [j: k] هو موضع البداية j لاحظ أن t سيكون لها مواقع متعددة في s إذا حدثت أكثر من مرة كسلسلة فرعية من s (انظر النموذج أدناه).
معطى: سلسلتان من DNA s و t (طول كل منهما 1 كيلو بايت على الأكثر).
العودة: جميع مواقع t كسلسلة فرعية من s.
عينة مجموعة البيانات
جاتاتجكاتاكت
أتات
إخراج العينة
2 4 10
& gt & gt & gt find_motif (& # 39GATATGCATATACTT & # 39، & # 39ATAT & # 39)
[2, 4, 10]
& quot & quot & quot
إعادة الاستيراد
عودة [مباراة. ابدأ () + 1 للمباراة في إعادة. مكتشف (r & # 39 (؟ =٪ s) & # 39٪ re. escape (motif)، seq)]
#-------------------------------------------------------------------------------
سلبيات def (ق):
& quot & quot & quot
الإجماع والملف الشخصي
http://rosalind.info/problems/cons/
انقر فوق العثور على الأصل الأكثر شيوعًا للانهيار
في "حساب طفرات نقطة العد" ، قمنا بحساب الحد الأدنى لعدد عدم تطابق الرموز بين سلسلتين متساويتين في الطول لنمذجة مشكلة إيجاد الحد الأدنى من الطفرات النقطية التي تحدث على المسار التطوري بين شريطين متماثلين من الحمض النووي. إذا كان لدينا بدلاً من ذلك العديد من الخيوط المتماثلة التي نرغب في تحليلها في وقت واحد ، فإن المشكلة الطبيعية هي العثور على خيوط متوسطة الحالة لتمثيل السلف الأكثر شيوعًا للخيوط المحددة.
مشكلة
المصفوفة هي جدول قيم مستطيل مقسم إلى صفوف وأعمدة. تحتوي مصفوفة m × n على m من الصفوف و n من الأعمدة. بالنظر إلى المصفوفة A ، نكتب Ai و j للإشارة إلى القيمة الموجودة عند تقاطع الصف i والعمود j.
لنفترض أن لدينا مجموعة من سلاسل DNA ، جميعها لها نفس الطول n. مصفوفة ملفهم الشخصي هي مصفوفة 4 × n P حيث يمثل P1 ، j عدد المرات التي يحدث فيها & # 39A & # 39 في الموضع j لإحدى السلاسل ، P2 ، j يمثل عدد المرات التي يحدث فيها C في jth ، وما إلى ذلك (انظر أدناه).
سلسلة الإجماع c هي سلسلة طولها n مكونة من مجموعتنا عن طريق أخذ الرمز الأكثر شيوعًا في كل موضع ، وبالتالي فإن الرمز jth لـ c يتوافق مع الرمز الذي يحتوي على القيمة القصوى في العمود j من مصفوفة الملف الشخصي. بالطبع ، قد يكون هناك أكثر من رمز واحد أكثر شيوعًا ، مما يؤدي إلى عدة سلاسل إجماع محتملة.
أ ت ج ج أ ج ج ت
G G G C A A C T
أي تي جي جي أي تي سي تي
سلاسل الحمض النووي أ أ ج ج أ ج ج
تي تي جي جي أ سي تي
أيه تي جي سي أي تي تي
أيه تي جي جي سي أ سي تي
أ 5 1 0 0 5 5 0 0
الملف الشخصي ج 0 0 1 4 2 0 6 1
ع 1 6 3 0 1 0 0
المجموع 1 5 0 0 0 1 1 6
إجماع A T G C A C T
معطى: مجموعة مكونة من 10 سلاسل DNA على الأكثر متساوية الطول (بحد أقصى 1 كيلو بايت).
العودة: سلسلة إجماع ومصفوفة ملف تعريف للمجموعة. (في حالة وجود العديد من سلاسل الإجماع المحتملة ، فيمكنك إعادة أي منها.)
عينة مجموعة البيانات
اتكاكاجكت
GGGCAACT
أتجاتكت
AAGCAACC
تججاكت
أتجككات
ATGGCACT
إخراج العينة
أتجكاكت
أ: 5 1 0 0 5 5 0 0
ج: 0 0 1 4 2 0 6 1
G: 1 1 6 3 0 1 0 0
T: 1 5 0 0 0 1 1 6
& gt & gt & gt s = & # 39 & # 39 & # 39
. اتكاكاجكت
. GGGCAACT
. أتجاتكت
. AAGCAACC
. تججاكت
. أتجككات
. ATGGCACT & # 39 & # 39 & # 39
& gt & gt & gt سلبيات (ق)
أتجكاكت
أ: 5 1 0 0 5 5 0 0
ج: 0 0 1 4 2 0 6 1
G: 1 1 6 3 0 1 0 0
T: 1 5 0 0 0 1 1 6
& quot & quot & quot
إذا كان هو (s ، basestring):
د = ق. الانقسام ()
مساواة elif (s، (list، tuple)):
د = ق
آخر :
رفع الاستثناء (& quotinvalid input & quot)
ACGT = & # 39ACGT & # 39
من مجموعات الاستيراد الافتراضي ديكت
mat = defaultdict (قائمة)
الإجماع = []
mat = zip (* [[col. count (C) for C in ACGT] for col in zip (* d)])
الإجماع = & quot & quot. انضم ([ACGT [col. index (max (col))] لـ col in zip (* mat)])
إجماع الطباعة
لـ C ، ln in zip (ACGT ، mat):
طباعة & مثل٪ s:٪ s & quot٪ (C، & quot & quot. انضم (خريطة (str، ln)))
f = open (& # 39cons.txt & # 39، & # 39w & # 39)
F . كتابة (& quot٪ s n & quot٪ إجماع)
لـ C ، ln in zip (ACGT ، mat):
F . اكتب (& quot٪ s:٪ s n & quot٪ (C، & quot & quot. انضم (خريطة (str، ln))))
F . أغلق ()
#-------------------------------------------------------------------------------
بروتين RNA2 = <
& quotUUU & quot: & quotF & quot، & quotCUU & quot: & quotL & quot، & quotAUU & quot: & quotI & quot، & quotGUU & quot: & quotV & quot،
& quotI & quot & quot: & quotF & quot، & quotCUC & quot: & quotL & quot، & quotAUC & quot: & quotI & quot، & quotGUC & quot: & quotV & quot،
& quotUA & quot: & quotL & quot، & quotCUA & quot: & quotL & quot، & quotAUA & quot: & quotI & quot، & quotGUA & quot: & quotV & quot،
& quotUG & quot: & quotL & quot، & quotCUG & quot: & quotL & quot، & quotAUG & quot: & quotM & quot، & quotGUG & quot: & quotV & quot،
& quotUCU & quot: & quotS & quot، & quotCCU & quot: & quotP & quot، & quotACU & quot: & quotT & quot، & quotGCU & quot: & quotA & quot،
& quotUCC & quot: & quotS & quot، & quotCCC & quot: & quotP & quot، & quotACC & quot: & quotT & quot، & quotGCC & quot: & quotA & quot،
& quotUCA & quot: & quotS & quot، & quotCCA & quot: & quotP & quot، & quotACA & quot: & quotT & quot، & quotGCA & quot: & quotA & quot،
& quotUCG & quot: & quotS & quot، & quotCCG & quot: & quotP & quot، & quotACG & quot: & quotT & quot، & quotGCG & quot: & quotA & quot،
& quotUAU & quot: & quotY & quot، & quotCAU & quot: & quotH & quot، & quotAAU & quot: & quotN & quot، & quotGAU & quot: & quotD & quot،
& quotY & quot، & quotY & quot، & quotCAC & quot: & quotH & quot، & quotAAC & quot: & quotN & quot، & quotY & quot: & quotD & quot،
& quotUAA & quot: & quotStop & quot، & quotCAA & quot: & quotQ & quot، & quotAAA & quot: & quotK & quot، & quotGAA & quot: & quotE & quot،
& quotUAG & quot: & quotStop & quot، & quotCAG & quot: & quotQ & quot، & quotAAG & quot: & quotK & quot، & quotGAG & quot: & quotE & quot،
& quotUGU & quot: & quotC & quot، & quotCGU & quot: & quotR & quot، & quotAGU & quot: & quotS & quot، & quotGGU & quot: & quotG & quot،
& quotUGC & quot: & quotC & quot، & quotCGC & quot: & quotR & quot، & quotAGC & quot: & quotS & quot، & quotGGC & quot: & quotG & quot،
& quotUGA & quot: & quotStop & quot، & quotCGA & quot: & quotR & quot، & quotAGA & quot: & quotR & quot، & quotGGA & quot: & quotG & quot،
& quotUGG & quot: & quotW & quot، & quotCGG & quot: & quotR & quot، & quotAGG & quot: & quotR & quot، & quotGGG & quot: & quotG & quot
>
مترجم def (RNA_str):
& quot & quot & quot
ترجمة البروتين
http://rosalind.info/problems/prot/
برنامج الترميز الوراثي للانهيار
الشكل 1. يتكون جزيء الهيموغلوبين البشري من 4 سلاسل متعددة الببتيد - تظهر الوحدات الفرعية باللون الأحمر و الوحدات الفرعية باللون الأزرق
كما أن الأحماض النووية عبارة عن بوليمرات من النيوكليوتيدات ، فإن البروتينات عبارة عن سلاسل من جزيئات أصغر تسمى الأحماض الأمينية 20 حمضًا أمينيًا تظهر بشكل شائع في كل الأنواع. مثلما يتم إعطاء التركيب الأساسي للحمض النووي بترتيب النيوكليوتيدات ، فإن التركيب الأساسي للبروتين هو ترتيب أحماضه الأمينية. تتكون بعض البروتينات من عدة سلاسل فرعية تسمى polypeptides ، بينما يتكون البعض الآخر من عديد ببتيد واحد انظر الشكل 1.
تقوم البروتينات بتشغيل كل وظيفة عملية تقوم بها الخلية ، ومن المفترض أن المفتاح لفهم الحياة يكمن في تفسير العلاقة بين سلسلة من الأحماض الأمينية ووظيفة البروتين التي تبنيها هذه السلسلة من الأحماض الأمينية في النهاية. علم البروتينات هو المجال المخصص لدراسة البروتينات.
كيف يتم تكوين البروتينات؟ تم اكتشاف الكود الجيني خلال عدد من التجارب البارعة في أواخر الخمسينيات من القرن الماضي ، ويوضح تفاصيل ترجمة جزيء RNA يسمى messenger RNA (mRNA) إلى أحماض أمينية لتكوين البروتين. تتمثل الصعوبة الواضحة في الترجمة في أنه بطريقة ما يجب ترجمة 4 قواعد من الحمض النووي الريبي إلى لغة مكونة من 20 حمضًا أمينيًا من أجل إنشاء كل حمض أميني محتمل ، يجب علينا ترجمة سلاسل 3-nucleobase (تسمى الكودونات) إلى أحماض أمينية. لاحظ أن هناك 43 = 64 كودونًا محتملاً ، بحيث يمكن أن تشفر العديد من الكودونات نفس الحمض الأميني. نوعان خاصان من الكودونات هما كود البدء (AUG) ، والذي يشير دائمًا إلى رمز ميثيونين الأحماض الأمينية إلى بداية الترجمة ، وكودونات التوقف الثلاثة (UAA ، UAG ، UGA) ، والتي لا ترمز إلى حمض أميني وتسبب ترجمة حتى النهاية.
إن الفكرة القائلة بأن البروتين يتم إنشاؤه دائمًا من الحمض النووي الريبي ، والذي يتم إنشاؤه دائمًا من الحمض النووي ، يشكل العقيدة المركزية للبيولوجيا الجزيئية. مثل كل العقائد ، لا تصمد دائمًا ، ولكنها تقدم تقريبًا ممتازًا للحقيقة.
عضية حقيقية النواة تسمى الريبوسوم تخلق الببتيدات باستخدام جزيء مساعد يسمى نقل الحمض النووي الريبي (الحمض الريبي النووي النقال). يمتلك جزيء الحمض النووي الريبي الأحادي سلسلة من ثلاثة نيوكليوتيدات RNA على أحد طرفيها (تسمى anticodon) وحمض أميني في الطرف الآخر. يأخذ الريبوسوم جزيء الحمض النووي الريبي المنسوخ من الحمض النووي (انظر 鈥 淭 تفويض الحمض النووي إلى الحمض النووي الريبي 鈥 ؟؟) ، المسمى messenger RNA (mRNA) ، ويفحصه كودون واحدًا في كل مرة. في كل خطوة ، يتم إضافة الحمض النووي الريبي الذي يمتلك روابط مضادات الكودون التكميلية إلى الرنا المرسال في هذا الموقع ، ويتم إضافة الحمض الأميني الموجود على الطرف المقابل من الحمض النووي الريبي إلى سلسلة الببتيد المتنامية قبل إخراج الجزء المتبقي من الحمض النووي الريبي في الخلية ، ويبحث الريبوسوم عن جزيء الحمض الريبي النووي النقال التالي.
لا تُترجم كل قاعدة من قواعد الحمض النووي الريبي (RNA) في النهاية إلى بروتين ، وبالتالي فإن الفاصل الزمني من الحمض النووي الريبي (أو فاصل الحمض النووي المترجم إلى الحمض النووي الريبي) الذي يقوم بتشفير البروتين يعد ذا أهمية بيولوجية كبيرة ، مثل الفاصل الزمني للحمض النووي أو الحمض النووي الريبي يسمى الجين. نظرًا لأن تكوين البروتين يقود العمليات الخلوية ، فإن الجينات تفرق بين الكائنات الحية وتعمل كأساس للوراثة ، أو العملية التي يتم من خلالها توريث السمات.
مشكلة
يتم اختصار الأحماض الأمينية العشرين الشائعة باستخدام 20 حرفًا من الأبجدية الإنجليزية (جميع الأحرف باستثناء B و J و O و U و X و Z). يتم إنشاء سلاسل البروتين من هذه الرموز العشرين. من الآن فصاعدًا ، سيشمل مصطلح السلسلة الجينية سلاسل البروتين جنبًا إلى جنب مع سلاسل الحمض النووي وسلاسل الحمض النووي الريبي.
يحدد جدول كودون الحمض النووي الريبي التفاصيل المتعلقة بتشفير أكواد معينة في أبجدية الأحماض الأمينية.
معطى: سلسلة RNA تتوافق مع خيط من mRNA (بطول بحد أقصى 10 كيلو بايت).
العودة: سلسلة البروتين المشفرة بواسطة s.
عينة مجموعة البيانات
أوجككاوجكجككاجااكوجاجاوكااواواكككجواووااكججوجا
إخراج العينة
MAMAPRTEINSTRING
& gt & gt & gt ترجم (& quotAUGGCCAUGGCGCCCAGAACUGAGAUCAAUAGUACCCGUAUUAACGGGUGA & quot)
& # 39MAMAPRTEINSTRING & # 39
& quot & quot & quot
RNA_str = RNA_str. rstrip ()
إذا كان len (RNA_str)٪ 3: # len (RNA_str)٪ 3! = 0
رفع استثناء (& quotRNA تسلسل يجب أن يكون طويلاً من 3 * N:٪ s & quot٪ RNA_str)
النتيجة = []
بالنسبة لـ i في النطاق (len (RNA_str) // 3):
codon = RNA_str [i * 3: i * 3 + 3]
if codon في (& quotUAA & quot، & quotUAG & quot، & quotUGA & quot):
إذا كان i! = len (RNA_str) // 3-1:
نتيجة الطباعة
طباعة كودون
رفع استثناء (& quotRNA تسلسل (الطول:٪ d) لا ينتهي بكودون إيقاف مناسب:٪ s & quot٪ (len (RNA_str) ، RNA_str))
آخر :
نتيجة . إلحاق (بروتين RNA2 [كودون])
العودة & quot & quot. انضمام (نتيجة)
#-------------------------------------------------------------------------------
#===============================================================================
إذا كان __name__ == & # 39__ الرئيسي __ & # 39:
مذهب الاستيراد
مذهب. testmod ()

لا يمكنك تنفيذ هذا الإجراء في الوقت الحالي.

لقد قمت بتسجيل الدخول بعلامة تبويب أو نافذة أخرى. أعد تحميل لتحديث جلستك. لقد قمت بتسجيل الخروج في علامة تبويب أو نافذة أخرى. أعد تحميل لتحديث جلستك.


الجزء 2 - عد التطابقات من تسلسل إلى الجينوم

عدد التطابقات الصحيحة (جينوم السلسلة ، تسلسل السلسلة 1 ، تعويم min_score)

تأخذ وظيفة countMatches ثلاث معلمات ، وسلسلة تحتوي على الجينوم للبحث ، وسلسلة تحتوي على التسلسل المراد العثور عليه ، وقيمة النقطة العائمة التي تحتوي على الحد الأدنى من نقاط التشابه التي سيتم اعتبارها مطابقة.

تقوم الوظيفة بما يلي:

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

سيقوم COG بتقدير الجزء 2 عن طريق إنشاء تسلسلات عشوائية يمكن العثور عليها في جينوم معين. ستتم مقارنة نتائج وظيفتك بنتائجنا لنفس التسلسلات.


يمكن حساب المسافة الهامشية بين صفوف المصفوفة بسرعة من خلال استغلال حقيقة أن حاصل الضرب النقطي لمتجهين ثنائيين x و (1-y) يحسب العناصر المقابلة التي تختلف بين x و y. يمكن أيضًا استخدام عملية ضرب المصفوفة هذه للمصفوفات التي تحتوي على أكثر من قيمتين محتملتين وأنواع مختلفة من العناصر ، مثل تسلسل الحمض النووي.

تحسب الدالة مسافة هامنج بين جميع أعمدة المصفوفة X ، أو مصفوفتين X و Y. مرة أخرى ، يتم استخدام ضرب المصفوفة ، هذه المرة لحساب عدد الحالات التي يكون فيها للعناصر المقابلة نفس الشيء بين عمودين x و y القيمة (مثل A أو C أو G أو T). يتم إجراء هذا العد لكل من القيم المحتملة على حدة ، مع إضافة النتائج بشكل متكرر. النتيجة النهائية للجمع التكراري هي مجموع كل العناصر المتماثلة المتشابهة ، أي معكوس مسافة هامينغ.لذلك ، فإن الخطوة الأخيرة هي طرح هذه النتيجة النهائية H من أقصى مسافة ممكنة ، وهي عدد صفوف المصفوفة X.

إذا كان تسلسل الحمض النووي لهما طول مختلف ، فسيتم اقتطاع الأطول. يتم تجاهل تسلسل التعرف على إنزيم التقييد الشائع.


محتويات

يمكن تلخيص مشكلة البحث على النحو التالي:

المدخلات هي n سلاسل (s1، س2، … ، سن) بطول م من الأبجدية Σ وعددين صحيحين ل ود. ابحث عن كل السلاسل x مثل | x | = l وكل سلسلة إدخال تحتوي على متغير واحد على الأقل من x على مسافة هامنج على الأكثر d. يشار إلى كل من هذه x على أنها فكرة (ل ، د).

على سبيل المثال ، إذا كانت سلاسل الإدخال هي GCGCGAT و CACGTGA و CGGTGCC ل = 3 و د = 1 ، إذن GGT هو موضوع مثير للاهتمام. لاحظ أن سلسلة الإدخال الأولى تحتوي على GAT كسلسلة فرعية ، وسلسلة الإدخال الثانية بها CGT كسلسلة فرعية ، وسلسلة الإدخال الثالثة تحتوي على GGT كسلسلة فرعية. GAT هو أحد أشكال GGT التي تقع ضمن مسافة هامنج من 1 من GGT ، وما إلى ذلك. قم باستدعاء متغيرات الفكرة التي تحدث في سلاسل الإدخال كمثيلات للعنصر. على سبيل المثال ، GAT هو مثيل لعنصر GGT الذي يحدث في سلسلة الإدخال الأولى.

صفر أو أكثر (ل, د) يتم تضمين الزخارف في أي مجموعة معينة من سلاسل الإدخال. تعتبر العديد من الخوارزميات المعروفة لـ PMS سلاسل الحمض النووي التي =. توجد خوارزميات تتعامل مع سلاسل البروتين أيضًا. تُعرف مشكلة PMS أيضًا باسم (ل, د) -مشكلة البحث عن الفكرة (LDMS).

غالبًا ما يتم استخدام الترميز الرياضي التالي لوصف خوارزميات PMS.

افترض أن S = <س1، س2، س3، …، سن> هي مجموعة معينة من سلاسل الإدخال من الأبجدية Σ. ان ل-مؤلف من أي سلسلة ليس سوى سلسلة فرعية لسلسلة الطول ل. يترك دح(أ ، ب) الوقوف لمسافة هامينج بين أي اثنين ل-مرز أ و ب. يترك أ فاصوليا ل-مر و س تكون سلسلة إدخال. ثم السماح دح(كما) الوقوف لأدنى مسافة هامنج بين أ وأي ل-مر ب من س. لو أ أي ل-مر و س هي مجموعة من سلاسل الإدخال ثم اسمحوا دح(كما) الوقوف لحد أقصىsєSدح(كما). يترك ش كن أي ل-مر. ثم ، د-حي ش، (كما تدل بد(ش)) ، ليست سوى مجموعة كل ل-مرز الخامس مثل ذلك دح(ش ، ت)د. بعبارة أخرى، بد(ش) =ح(ش ، ت) ≤ د>. الرجوع إلى أي من هذا القبيل ل-مر الخامس ك د-جار ش. بد(س ، ص) يستخدم للدلالة على المشترك د-حي x و ذ، أين x و ذ اثنان ل-مرز. بد(س ، ص) ليست سوى مجموعة الكل ل-الأمراء الذين هم على بعد مسافة د من كليهما x و ذ. بصورة مماثلة، بد(س ، ص ، ض)، إلخ.

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

تعديل تقريبي

تتضمن أمثلة الخوارزميات التقريبية (أو الكشف عن مجريات الأمور) الإسقاط العشوائي ، [2] نمط الفروع ، [3] التوافق المتعدد ، [1] التوافق ، [4] و ProfileBranching. [3] وقد تم إثبات أداء هذه الخوارزميات بشكل تجريبي بشكل جيد.

تحرير الإسقاط العشوائي

تعتمد الخوارزمية [2] على توقعات عشوائية. دع الحافز م من الفائدة يكون ل-مر و ج أن تكون مجموعة من جميع ل-مرس من كل ن سلاسل الإدخال. الخوارزمية مشاريع هذه ل-مرز على طول ك المواقف المختارة عشوائيًا (لبعض القيمة المناسبة لـ ك). إسقاط كل ل-mer قد يُنظر إليه على أنه عدد صحيح. القيم المسقطة (وهي ك-mers) وفقًا لقيمها الصحيحة. بمعنى آخر ، قم بتجزئة جميع ملفات ل-مرس الذين يستخدمون كمن أي ل-أكثر من حيث قيمة التجزئة. كل ال ل-المتجرون الذين لديهم نفس قيمة التجزئة يقعون في نفس دلو التجزئة. منذ حالات أي (ل, د) الحافز متشابه مع بعضها البعض ، العديد من هذه الحالات ستقع في نفس المجموعة. لاحظ أن مسافة هامينج بين أي حالتين من (ل, د) الحافز لا يزيد عن 2د. الفكرة الأساسية لهذه الخوارزمية هي فحص تلك المجموعات التي تحتوي على عدد كبير من ل-رسماء فيها. لكل مجموعة من هذه المجموعات ، يتم استخدام خوارزمية تعظيم التوقعات (EM) للتحقق مما إذا كان (ل, د) يمكن العثور على الحافز باستخدام ل- أمراء في الدلو.

تحرير نمط المتفرعة

تحرير دقيق

العديد من الخوارزميات الدقيقة معروفة أيضًا بحل مشكلة PMS. تتضمن الأمثلة تلك الموجودة في (Martinez 1983) ، [5] (Brazma ، وآخرون 1998) ، [6] (Galas ، وآخرون. 1985) ، [7] (Sinha وآخرون 2000) ، [8] ( Staden 1989)، [9] (Tompa 1999)، [10] (Helden، et al. 1998) [11] (Rajasekaran، et al.)، [12] (Davila and Rajasekaran 2006)، [13] (Davila، Balla و Rajasekaran 2006) ، [14] التصويت [15] و RISOTTO. [16]

WINNOWER و SP-STAR Edit

لو م هو (ل, د) عزر وإذا م1, م2، …، و من هي أمثلة م في سلاسل الإدخال ، من الواضح أن هذه الحالات ستشكل زمرة في جي. تتكون خوارزمية WINNOWER من مرحلتين. في المرحلة الأولى ، تحدد المجموعات الكبيرة في جي. في المرحلة الثانية يتم فحص كل زمرة من هذا القبيل لمعرفة ما إذا كان يمكن استخراج فكرة من هذه الزمرة. نظرًا لأن مشكلة CLIQUE مستعصية على الحل ، يستخدم WINNOWER طريقة إرشادية لحل CLIQUE. إنه يبني بشكل متكرر مجموعات ذات أحجام أكبر وأكبر. لو ن = مليون، فإن وقت تشغيل الخوارزمية هو O (N 2 d + 1) )>. تعمل هذه الخوارزمية في فترة زمنية معقولة من الناحية العملية خاصة للقيم الصغيرة لـ د. خوارزمية أخرى تسمى SP-STAR ، [17] أسرع من WINNOWER وتستخدم ذاكرة أقل. تعالج خوارزمية WINNOWER جميع حواف ملفات جي بالتساوي دون التمييز بين الحواف بناءً على أوجه التشابه. SP-STAR يسجل ل- سيدات من ج وكذلك حواف جي بشكل مناسب وبالتالي يزيل حواف أكثر من WINNOWER لكل تكرار.

(Bailey and Elkan، 1994) [18] يستخدم خوارزميات تعظيم التوقع بينما يتم استخدام أخذ عينات Gibbs بواسطة (Lawrence et al.، 1993). [19] MULTIPROFILER [1] MEME ، [20] تُعرف أيضًا بخوارزميات PMS.

تحرير سلسلة PMS

في العقد الماضي ، تم تطوير سلسلة من الخوارزميات مع PMS كبادئة في مختبر Rajasekaran. يتم وصف بعض هذه الخوارزميات أدناه.

تحرير PMS0

يعمل PMSo [12] على النحو التالي. يترك س1, س2, …, سن أن تكون مجموعة معينة من سلاسل الإدخال بطول كل منها م. يترك ج تكون مجموعة ل-مرس في س1. دع C '= ∪شبد(ش). لكل عنصر الخامس من ج ' تحقق مما إذا كان صالحًا (ل, د) -فكرة أم لا. نظرا ل ل-مر الخامس، تحقق مما إذا كان صالحًا (ل, د) - الدافع أم لا يمكن إجراؤه في O (mnl) زمن. وبالتالي ، فإن وقت تشغيل PMS0 ، بافتراض أبجدية بحجم 4 ، هو O (m 2 n l (l d) 3 d) nl < tbinom >3^)> .

تحرير PMS1

تعتمد هذه الخوارزمية [12] على فرز الجذر وتحتوي على الخطوات التالية.

  1. قم بتوليد مجموعة الكل ل-mers في كل سلسلة إدخال. يترك جأنا تتوافق مع ل- سيدات من سأنامن أجل 1≤أنان.
  2. لكل ل-ما ش في جأنا (1 & lt أنا & lt ن)، انشاء بد(ش). يترك إلأنا كن مجموعة من كل هؤلاء الجيران (يتوافق مع جميع ل- سيدات من سأنا).
  3. نوع إلأنا (باستخدام فرز الجذر) وإزالة أي تكرارات.
  4. احسب: ⋂ i = 1 n L i. ^L_.>. يمكن القيام بذلك عن طريق دمج القوائم إل1, إل2, …, إلن. كل ال ل-الروابط في هذا التقاطع صالحة (ل, د) الزخارف.
تحرير PMS2

دع الحافز م تكون ذات أهمية طويلة ل. لو م يحدث في كل سلسلة إدخال ثم أي سلسلة فرعية من م يحدث أيضًا في كل سلسلة إدخال. التواجد هنا يعني الحدوث ضمن مسافة هامنج د. ويترتب على ذلك أن هناك على الأقل ل-ك+1 سلاسل بطول كل منها ككل) بحيث يحدث كل من هذه في كل سلسلة إدخال.

يترك س كن مجموعة من ك-مرس في م. لاحظ أنه في كل سلسلة إدخال سأنا، سيكون هناك منصب واحد على الأقل أناي مثل هذا أ ك- صاحب س يبدأ من أناي. اخر ك- صاحب س يبدأ من أناي +1 وما إلى ذلك ، مع آخر ك-تحدث في أناي + ل - ك. ان ل-mer يمكن الحصول عليها من خلال الجمع بين هذه ك-الأقران التي تحدث ابتداء من كل من هؤلاء أناي.

يعمل PMS2 [12] على النحو التالي. في المرحلة الأولى ، ابحث عن كل (ك, د) الزخارف موجودة في جميع سلاسل الإدخال (لبعض القيمة المناسبة لـ ك& ltل). في المرحلة الثانية ، ابحث عن (ل-ك+1) من هؤلاء (ك, د) الزخارف التي تحدث بدءًا من المواضع المتتالية في كل من سلاسل الإدخال. من كل مجموعة من (ل-ك+1) (ك, د) -دوافع ، ل-يمكن إنشاء -mer (إن أمكن). كل من هذا القبيل ل-مر مرشح (ل, د)-عنصر. لكل فكرة مرشح ، تحقق مما إذا كانت (ل, د) - الدافع أم لا في O (mnl) زمن. هذه ليتم إرجاع -mer كإخراج إذا كان هذا (ل, د)-عنصر.

تحرير PMS3

هذه الخوارزمية [12] تمكن المرء من التعامل مع قيم كبيرة لـ د. يترك د’=د/ 2. يترك م يكون الدافع الذي يمكن العثور عليه مع |م|=ل=2ل"لبعض الأعداد الصحيحة ل". يترك م1 الرجوع إلى النصف الأول من م و م2 يكون النصف التالي. يترك س= أ1أ2…أم كن أحد سلاسل الإدخال. م يحدث في كل سلسلة إدخال. دع حدوث م (ضمن مسافة هامينغ من د) في س ابدأ من الموضع أنا. يترك س’=أأناأأنا + 1…أأنا + l’-1 و س’’ =أأنا + ل'…أأنا + ل -1. وواضح إما أن هامنج المسافة بينهما م1 و سعلى الأكثر دأو مسافة هامينج بين م2 و سعلى الأكثر د". إما م1 أو م2 يحدث في كل سلسلة إدخال على مسافة هامنج على الأكثر د". نتيجة لذلك ، على الأقل نسلاسل (حيث ن’ = ن/ 2) اما م1 أو م2 يحدث مع مسافة هامنج على الأكثر د. تحصل الخوارزمية أولاً على جميع (ل’, د') -المشاعر التي تحدث على الأقل ن/ 2 من سلاسل الإدخال. ثم يستخدم هذه الزخارف والملاحظات المذكورة أعلاه لتحديد كل (ل, د) - الدوافع الموجودة في سلاسل الإدخال.

تحرير PMSPrune

تقدم هذه الخوارزمية بنية شجرة لمرشحي الحافز وتستخدم خوارزمية فرع ومرتبطة لتقليل مساحة البحث. [21] اسمحوا س = <س1، س2، …، سن> أن تكون مجموعة معينة من سلاسل الإدخال. يتبع PMSprune نفس إستراتيجية PMS0: لكل ل-مر ذ في س1، فإنه يولد مجموعة من جيران ذ ولكل منهم ، يتحقق ما إذا كان هذا فكرة أم لا. بعض الخطوات الرئيسية في الخوارزمية هي:

  1. يولد د-حي كل ل-مر ذ في س1 باستخدام شجرة ارتفاع د. سيكون جذر هذه الشجرة ذ. كل ل-ما هو على مسافة 1 من ذ ستكون عقدة في الشجرة على مسافة 1 من الجذر كل ل-ما هو على مسافة 2 من ذ ستكون عقدة في الشجرة على مسافة 2 من الجذر وما إلى ذلك. عندما تتم زيارة عقدة في هذه الشجرة ، تحقق مما إذا كان المقابل ل-مر هو (ل, د)-عنصر. أي ، إذا كان ل-مر هو x، تحقق فيما لو دح(س ، س)د. إذا كان الأمر كذلك ، فقم بإخراج هذا ل-مر. على أي حال ، انتقل إلى العقدة التالية في الشجرة. يتم استكشاف هذه الشجرة بعمق الطريقة الأولى.
  2. إذا تمت زيارة كل عقدة في الشجرة لكل منها ل-مر ذ في س1، فإن وقت تشغيل PMSPrune سيكون على الأقل بقدر وقت PMS0. يستخدم PMSPrune بعض شروط التقليم لتقليم الأشجار الفرعية التي لا يمكن أن تحتوي على أي زخارف فيها.
  3. ل ل-مر x، والتي تتوافق مع عقدة في شبكة فرعية من الارتفاع ح، تستخدم الخوارزمية قيمة دح(س ، س) و ح لتقليم أحفاد x.
  4. يحسب PMSPrune قيمة دح(س ، س) للعقد (x) في الشجرة بطريقة تدريجية ، مع مراعاة الطريقة التي يتم بها إنشاء الجوار.
تحرير PMS4

PMS4 [22] هي تقنية يمكن استخدامها لتسريع أي خوارزمية لمشكلة PMS. في العديد من الخوارزميات المذكورة أعلاه هناك مرحلتان. في المرحلة الأولى ، توصلنا إلى مجموعة من الزخارف المرشحة وفي المرحلة الثانية تحقق ، لكل فكرة مرشح ، إذا كانت صالحة (ل, د)-عنصر. لكل فكرة مرشح يستغرق O (mnl) حان الوقت للتحقق مما إذا كانت فكرة صالحة أم لا. يستخدم PMS4 استراتيجية مماثلة من مرحلتين. يتم شرح هذه المراحل أدناه. دع "أ" يكون أي خوارزمية PMS.

  1. قم بتشغيل الخوارزمية أ ك سلاسل الإدخال (حيث ك & lt ن). القيمة المثلى لـ ك يمكن تحديده تجريبيا. ال ك يمكن انتقاء السلاسل بعدة طرق. على سبيل المثال ، يمكن أن يكونوا أول ك سلاسل عشوائية ك الخيوط ، وما إلى ذلك. يترك ج كن مجموعة من (ل, د) - الدوافع الموجودة في هذه ك سلاسل. بوضوح، ج هي مجموعة شاملة من (ل, د) - الدوافع الموجودة في ن سلاسل الإدخال المعطاة.
  2. لكل ل-مر الخامس في ج فعل
تحرير PMS5 و PMS6

إحدى الخطوات الرئيسية في الخوارزمية هي إجراء فرعي لحساب المشترك د- حي ثلاثة ل-مرز. يترك x, ذ, ض يكون أي ثلاثة ل-مرز. لحساب بد(س ، ص ، ض)، PMS5 يمثل بد(خ) كشجرة تيد(خ). كل عقدة في هذه الشجرة تمثل ل-مر في بد(خ). جذر تيد(خ) لتقف على ل-مر x. تيد(خ) له عمق د. عقد تيد(خ) يتم اجتيازها بطريقة العمق أولاً. العقدة و ل-يمكن استخدام ما يمثله بالتبادل. أثناء عبور الشجرة ، أي عقدة ر سيتم إخراجها إذا ر يقع في B d (y) ⋂ B d (z) (ص) بيجكاب ب_(ض)>. عند أي عقدة ر تمت زيارتها ، تحقق مما إذا كان هناك منحدر ر من ر مثل ذلك ر يقع في B d (y) ⋂ B d (z) (ذ) بيجكاب ب_(ض)>. تقليم الشجرة الفرعية متجذرة في ر إذا لم يكن هناك سليل من هذا القبيل. في PMS5 ، مشكلة التحقق من ر له أي تنازلي في B d (y) ⋂ B d (z) (ص) بيجكاب ب_(ض)> تمت صياغته كبرنامج خطي عدد صحيح (ILP) على عشرة متغيرات. تم حل ILP هذا في وقت O (1). يتم حل مثيلات ILP كخطوة معالجة مسبقة ويتم تخزين النتائج في جدول بحث.

تعد الخوارزمية PMS6 [24] امتدادًا لنظام PMS5 الذي يحسن خطوة المعالجة المسبقة ويستخدم أيضًا تقنيات تجزئة فعالة لتخزين جداول البحث. نتيجة لذلك ، يكون عادةً أسرع من PMS5.

Shibdas Bandyopadhyay ، Sartaj Sahni ، Sanguthevar Rajasekaran ، "PMS6: خوارزمية سريعة لاكتشاف الحافز ،" iccabs ، الصفحات 1-6 ، 2012 المؤتمر الدولي الثاني لـ IEEE حول التقدم الحسابي في العلوم الحيوية والطبية ، 2012

QPMSPrune و qPMS7 تحرير

نظرا لمجموعة س=<س1، س2، …، سن> السلاسل والأعداد الصحيحة ل, د، و ف، و (ل ، د ، ف) - يتم تعريف الدافع على أنه سلسلة م من الطول ل الذي يحدث على الأقل ف التابع ن سلاسل الإدخال ضمن مسافة هامينج د. نظام إدارة الجودة (البحث عن النصاب المزروع) المشكلة هي العثور على كل (ل ، د ، ف) - الدوافع الموجودة في سلاسل الإدخال. تلتقط مشكلة qPMS طبيعة الزخارف بشكل أكثر دقة مما تفعله مشكلة PMS لأنه ، من الناحية العملية ، قد لا تحتوي بعض الزخارف على حالات نموذجية في جميع سلاسل الإدخال. أي خوارزمية لحل مشكلة qPMS (متى فن) عادةً ببادئة "ف '. يعد qPMSPrune أحد الخوارزميات الأولى لمعالجة هذا الإصدار من مشكلة PMS. [21] qPMSPrune يستغل الحقيقة التالية: If م أي (ل ، د ، ف) - فكرة سلاسل الإدخال س1، س2، …، سن، ثم يوجد ملف أنا (مع 1 ≤ أنانف + 1) و ل-mer x ∈ s i < displaystyle >> مثل هذا م في داخل بد(خ) و م هو (ل ، د ، ف-1) - استبعاد السلاسل المدخلات سأنا. تعالج الخوارزمية كل سأنا, 1≤ أنان. أثناء المعالجة سأنا، فهو يعتبر كل ل-مر x من سأنا. عند مراعاة x، فإنه يبني بد(خ) ويحدد عناصر بد(خ) هذا هو (ل ، د ، ف-1) الزخارف (فيما يتعلق بسلاسل الإدخال بخلاف سأنا). بد(خ) يتم تمثيله كشجرة مع x كجذر. سيتم اجتياز هذه الشجرة بعمق أولاً. لا تتجاوز الخوارزمية الشجرة بأكملها. يتم تقليم بعض الأشجار الفرعية باستخدام شروط تقليم فعالة. على وجه الخصوص ، يتم تقليم الشجرة الفرعية إذا أمكن الاستدلال على عدم وجود أي من العقد في هذه الشجرة الفرعية يحمل فكرة مثيرة للاهتمام.

تحرير RISOTTO

يستخدم RISOTTO [16] شجرة لاحقة لتحديد (ل ، د) -دوافع. إنه يشبه إلى حد ما PMS0. لكل ل-مر في س1، فإنه يولد د-الحي ولكل ل-مر في هذا الحي يمشي عبر شجرة لاحقة للتحقق مما إذا كان هذا ل-مر هو (ل ، د)-عنصر. التصويت [15] يشبه PMS1. بدلاً من استخدام فرز الجذر ، فإنه يستخدم التجزئة للحساب إلأناوتقاطعاتهم.

تعديل الأداء النسبي

عادةً ما يتم اختبار خوارزميات PMS على بيانات معيارية عشوائية تم إنشاؤها على النحو التالي: يتم إنشاء عشرين سلسلة كل منها بطول 600 عشوائيًا من الأبجدية ذات الأهمية. الفكرة م يتم إنشاؤه أيضًا بشكل عشوائي ويتم زرعه في كل من سلاسل الإدخال ضمن مسافة هامنج د. يتم أيضًا إنشاء حالات الحافز بشكل عشوائي. حالات معينة من (ل ، د) - تم التعرف على مشكلة الدافع التحدي. لقيمة معينة ل، المثيل (ل ، د) يسمى التحدي إذا د هو أصغر عدد صحيح يتوقع أن العدد (ل ، د) - الدوافع التي تحدث بالصدفة العشوائية (بالإضافة إلى المزروعة) واحدة أو أكثر. على سبيل المثال ، الحالات التالية تمثل تحديًا: (9 ، 2) ، (11 ، 3) ، (13 ، 4) ، (15 ، 5) ، (17 ، 6) ، (19 ، 7) ، إلخ. أداء عادة ما يتم عرض خوارزميات PMS فقط للحالات الصعبة. فيما يلي جدول زمني لمقارنة خوارزميات PMS المختلفة على الحالات الصعبة لتسلسل الحمض النووي للحالة الخاصة. هذا الجدول مأخوذ من ورقة qPMS7. [25] في هذا الجدول ، تمت مقارنة عدة خوارزميات: qPMSPrune ، [21] qPMSPruneI ، [25] Pampa ، [26] التصويت ، [15] RISOTTO ، [16] PMS5 ، [23] PMS6 ، [24] qPMS7. [25]

في الجدول التالي ، الأبجدية ∑ = <أ,ج,جي,تي>, ن=20, م= 600 و ف=ن=20.


محتويات

ال مسافة محدودة يتم تعريف الوظيفة بشكل متكرر على النحو التالي: ، [7]: أ: 11

تتطابق كل مكالمة متكررة مع إحدى الحالات التي تغطيها مسافة Damerau - Levenshtein:

نعرض هنا خوارزميتين: الأولى ، [8] الأبسط ، تحسب ما يعرف بـ مسافة محاذاة السلسلة المثلى أو تعديل المسافة المقيدة، [7] بينما الثانية [9] تحسب مسافة Damerau-Levenshtein مع التبديلات المجاورة. تضيف إضافة التبديلات تعقيدًا كبيرًا. يتمثل الاختلاف بين الخوارزميتين في أن خوارزمية محاذاة السلسلة المثلى يحسب عدد عمليات التحرير اللازمة لجعل السلاسل متساوية بشرط أن لم يتم تحرير أي سلسلة فرعية أكثر من مرة، في حين أن الثاني لا يقدم مثل هذا القيد.

خذ على سبيل المثال تعديل المسافة بين كاليفورنيا و ABC. مسافة Damerau – Levenshtein LD (كاليفورنيا,ABC) = 2 لأن كاليفورنياتيار مترددABC، ولكن مسافة محاذاة السلسلة المثلى OSA (كاليفورنيا,ABC) = 3 لأنه إذا كانت العملية كاليفورنياتيار متردد يستخدم ، لا يمكن استخدامه تيار مترددABC لأن ذلك سيتطلب تحرير السلسلة الفرعية أكثر من مرة ، وهو أمر غير مسموح به في OSA ، وبالتالي فإن أقصر تسلسل للعمليات هو كاليفورنياأABABC. لاحظ أنه بالنسبة لمسافة محاذاة السلسلة المثلى ، فإن متباينة المثلث لا تصمد: OSA (كاليفورنيا,تيار متردد) + OSA (تيار متردد,ABC) & lt OSA (كاليفورنيا,ABC) ، ولذا فهو ليس مقياسًا حقيقيًا.

تعديل مسافة محاذاة السلسلة المثلى

يمكن حساب مسافة محاذاة السلسلة المثلى باستخدام امتداد مباشر لخوارزمية البرمجة الديناميكية Wagner-Fischer التي تحسب مسافة Levenshtein. في الكود الكاذب:

الفرق من خوارزمية مسافة Levenshtein هو إضافة تكرار واحد:

المسافة مع التبديلات المجاورة تحرير

تحسب الخوارزمية التالية مسافة Damerau-Levenshtein الحقيقية مع عمليات النقل المجاورة التي تتطلبها هذه الخوارزمية كمعامل إضافي بحجم الأبجدية Σ ، بحيث تكون جميع إدخالات المصفوفات في [0 ، | |): [7]: أ: 93

لابتكار خوارزمية مناسبة لحساب مسافة Damerau-Levenshtein غير المقيدة ، لاحظ أنه يوجد دائمًا تسلسل مثالي لعمليات التحرير ، حيث لا يتم تعديل الأحرف التي تم نقلها مرة واحدة بعد ذلك. (هذا صحيح طالما أن تكلفة التحويل ، W T > ، على الأقل متوسط ​​تكلفة الإدراج والحذف ، أي 2 W T ≥ W I + W D < displaystyle 2W_ geq W_+ W_>. [9]) وبالتالي ، نحتاج إلى التفكير في طريقتين متماثلتين فقط لتعديل سلسلة فرعية أكثر من مرة: (1) تبديل الأحرف وإدخال عدد عشوائي من الأحرف بينها ، أو (2) حذف سلسلة من الأحرف وتبديل الأحرف التي تصبح متجاورة بعد الحذف. يعطي التنفيذ المباشر لهذه الفكرة خوارزمية التعقيد التكعيبي: O (M ⋅ N ⋅ max (M، N)) ، أين م و ن هي أطوال الأوتار. باستخدام أفكار Lowrance و Wagner ، [9] يمكن تحسين هذه الخوارزمية الساذجة لتصبح O (M ⋅ N) في أسوأ الحالات ، وهو ما سبق الكود الكاذب يفعل.

من المثير للاهتمام أن الخوارزمية النقطية يمكن تعديلها لمعالجة التحويل. راجع قسم استرجاع المعلومات في [1] للحصول على مثال لمثل هذا التعديل.

تلعب مسافة Damerau-Levenshtein دورًا مهمًا في معالجة اللغة الطبيعية. في اللغات الطبيعية ، تكون السلاسل قصيرة ونادرًا ما يتجاوز عدد الأخطاء (الأخطاء الإملائية) 2. في مثل هذه الظروف ، نادرًا ما تختلف مسافة التحرير المقيدة والحقيقية. قام Oommen and Loke [8] بتخفيف قيود مسافة التحرير المقيدة من خلال تقديم التبديلات المعممة. ومع ذلك ، يجب على المرء أن يتذكر أن مسافة التحرير المقيدة عادة لا ترضي متباينة المثلث ، وبالتالي لا يمكن استخدامها مع الأشجار المترية.

تحرير الحمض النووي

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

تحرير كشف الاحتيال

يمكن استخدام الخوارزمية مع أي مجموعة من الكلمات ، مثل أسماء البائعين. نظرًا لأن الإدخال يدوي بطبيعته ، فهناك خطر دخول بائع مزيف. قد يدخل موظف محتال بائعًا حقيقيًا مثل "Rich Heir Estate Services" مقابل بائع مزيف "Rich Hier State Services". يقوم المحتال بعد ذلك بإنشاء حساب مصرفي مزيف ويطلب من الشركة توجيه الشيكات إلى البائع الحقيقي والبائع المزيف. ستقوم خوارزمية Damerau-Levenshtein بالكشف عن الحرف المحول والمسقط وجذب الانتباه إلى العناصر لفاحص الاحتيال.


شاهد الفيديو: أعرف المسافات الأمنة بين بيتك وخطوط الكهرباء حتى تحمى بيتك ولا تخالف القانون (أغسطس 2022).