PS2-Bioinformatics-v2.pdf

‫تمرین دوم درس بیوانفورماتیک‬
‫آذرماه ‪39‬‬
‫‪ -1‬دو رشته ‪ DNA‬به طول 𝑛 را به صورت تصادفی تولید نمایید و با استفاده از الگوریتم ‪ Needleman-Wunsch‬جدول‬
‫پویای آنها را طبق تابع امتیاز زیر کامل کنید‪.‬‬
‫‪1‬‬
‫𝑏 = 𝑎 𝑓𝑖‬
‫{ = )𝑏 ‪𝜎(𝑎,‬‬
‫𝑒𝑠𝑖𝑤𝑟𝑒‪0 𝑜𝑡ℎ‬‬
‫با توجه به تابع امتیاز باال‪ ،‬مقدار خانهی پایین‪-‬سمت راست جدول پویا نشان دهندهی میزان شباهت دو رشتهی همردیف‬
‫شده است‪ .‬از تقسیم این عدد بر 𝑛‪ ،‬نسبت شباهت دو رشته به دست میآید‪.‬‬
‫الف) برنامهی باال را ‪ 111‬مرتبه به ازای ‪ n = 1, 2, … ,1000‬اجرا کنید و متوسط نسبت شباهت دو رشته را به ازای ‪n‬های‬
‫مختلف بدست آورید و نمودار آن را بر حسب ‪ n‬ترسیم کنید‪ .‬با توجه به این نمودار‪ ،‬حدودا به ازای ‪ n‬های بزرگ چند‬
‫درصد از دو رشته پس از همردیفی با یکدیگر شبیه میشود؟‬
‫ب) به صورت تحلیلی بدست آورید که میانگین نسبت شباهت دو رشتهی تصادفی بزرگ پس از همردیفی طبق تابع امتیاز باال‬
‫چقدر است؟‬
‫‪-2‬‬
‫الف) الگوریتمی ارائه کنید که تعداد همردیفی های بهینه دو رشته به طول ‪ m‬و ‪ n‬را بدست آورد‪.‬‬
‫ب) الگوریتم خود را به کد نوشته شده برای سوال ‪ 1‬بیفزایید‪.‬‬
‫ت) اگر تابع جریمه به صورت زیر باشد‬
‫𝑏 = 𝑎 𝑓𝑖‬
‫" ‪𝑖𝑓 𝑎 ≠ 𝑏 𝑎𝑛𝑑 𝑎, 𝑏 ≠ " −‬‬
‫" ‪𝑖𝑓 𝑎 = " − " 𝑜𝑟 𝑏 = " −‬‬
‫‪0‬‬
‫‪𝜎(𝑎, 𝑏) = { 1‬‬
‫𝛼‬
‫که ‪ α‬از مجموعه زیر انتخاب میشود‪،‬‬
‫}𝑁 ∈ 𝑥 ‪∝= {𝑥 | 1 ≤ 𝑥 ≤ 100 , 𝑥 ∈ 𝑁} ∪ {𝑥−1 | 1 ≤ 𝑥 ≤ 100,‬‬
‫به ازای هریک از مقادیر ‪ 111 ،α‬مرتبه الگوریتم را به ازای رشته های تصادفی به طول یکسان اجرا کنید (طول دو دنباله را در‬
‫همه تکرارها یکسان و مقداری ثابت در نظر بگیرید‪ ،‬انتخاب این مقدار ثابت با تشخیص خودتان)‪ .‬نمودار تعداد همردیفی های‬
‫بهینه بر حسب ‪ α‬را ترسیم کنید‪.‬‬
‫ث) چگونه این نمودار را توجیه می کنید؟ می توانید رابطه ای برای تخمین آن پیدا کنید؟‬
‫‪ -9‬فرض کنید برای دو رشته‪ ،‬همردیفی انجام شده است‪ .‬حال تابع جریمه مربوط به همردیفی عوض شده است (‪ 9‬نوع جریمه‬
‫مطابق سوال ‪.)2‬‬
‫الف) چه شرطی می توان برای تغییر تابع جریمه در نظر گرفت که حداقل یک همردیفی بهینه در حالت قبل‪ ،‬در حالت‬
‫جدید نیز بهینه باشد؟‬
‫ب) فرض کنید جدول برنامه نویسی پویا مربوط به همردیفی دو رشته در اختیار ماست‪ .‬حال مقادیر جریمه های این جدول‬
‫تغییر یافته است‪ .‬چگونه می توان از جدول قبل برای کاهش حجم محاسبات برای بدست آوردن همردیفی بهینه در حالت‬
‫جدید استفاده کرد؟‬
‫‪ -4‬کروموزومهای باکتریها به طور معمول حلقوی است‪ .‬فرض نمایید که کروموزومهای دو باکتری که دارای طول های ‪ m‬و ‪n‬‬
‫می باشند را به صورت خطی داریم و میخواهیم آنها را هم ردیف نماییم‪.‬‬
‫الف) روشی ارائه دهید که این کار را در زمان )𝑛𝑚}𝑛 ‪ 𝑂(𝑚𝑖𝑛{𝑚,‬انجام دهد‪.‬‬
‫ب) اگر تنها بخواهیم یکسان بودن این دو رشته را تشخیص دهیم‪ ،‬در آن صورت پیچیدگی زمانی چقدر است؟‬
‫‪ -5‬در بسیاری از موارد عالقه مندیم که شباهت های درون یک رشته ‪ DNA‬را بیابیم‪.‬‬
‫الف) آیا می توان یک رشته خاص را توسط الگورریتم ‪ Smith-Waterman‬با خود همردیف کرد؟ چرا؟‬
‫پ) برای یافتن شباهتهای درون یک رشته‪ ،‬چه تغییری در الگوریتم ‪ Smith-Waterman‬باید ایجاد کرد؟‬
‫ب) آیا الگوریتم پیشنهادی شما دو ناحیه شبیه به هم که روی یکدیگر هستند را مییابد؟‬
‫پ) ‪ E-Coli‬یک باکتری حلقوی به طول ژنوم ‪ 4.6 ∗ 106‬است‪ .‬میزان حافظه و زمان یافتن نواحی مشابه را با توجه به الگوریتم‬
‫پیشنهادی تخمین بزنید‪.‬‬