450 likes | 729 Views
يافتن جفتهاي ماكزيمال با فاصله محدود. ارائه دهنده: پويا داودي استاد راهنماي اول: دكتر عباس نوذري استاد راهنماي دوم: دكتر مهدي صادقي بهمن 1385. زيستشناسي و بيوانفورماتيك.
E N D
يافتن جفتهاي ماكزيمال با فاصله محدود ارائه دهنده: پويا داودي استاد راهنماي اول: دكتر عباس نوذري استاد راهنماي دوم: دكتر مهدي صادقي بهمن 1385
زيستشناسي و بيوانفورماتيك • زيستشناسي (بيولوژي) عبارت است از شناخت موجودات زنده؛ اينكه اين موجودات در زندگي خود چه رفتاري دارند و بدنشان از چه ساختاري تشكيل شده است. • بيوانفورماتيك، علمي است كه در آن با روشهاي محاسباتي به حل مسائل مطرح در زيستشناسي ميپردازند. • در اثر اين شناخت، شباهتهايي بين موجودات كشف شدهاند، كه دو نمونه از اين شباهتها عبارتند از: • بدن تمام موجودات از واحدهاي كوچكي به نام سلول تشكيل شده است. • بسياري از اتفاقات درون سلولهاي بدن، توسط پروتئينها انجام ميگيرند.
پروتئين: مهمترين مولكول در سلول • پروتئينها، وظايف متعددي را در بدن موجودات زنده بر عهده دارند كه برخي از آنها عبارتند از: • ايجاد خواص ظاهري و رفتاري در بدن موجودات مانند رنگ چشم، اندازة قد و يا تن و بم بودن صدا • حركت دادن ماهيچهها • توليد پادتنها • سرعت بخشيدن به واكنشهاي شيمياييِ درون سلول • انتقال برخي مواد در بدن، از نقطهاي به نقطهاي ديگر • كمك به انتقال اطلاعات ژنتيكي از DNA به RNA و از RNA به پروتئين
سوالاتي كه پيرامون پروتئينها مطرح بوده و هست • پروتئينها به دليل وظايف متعددشان، بيش از بقية مولكولها، مورد توجه زيستشناسان قرار دارند و مسائل متعددي در مورد آنها مطرح ميباشند: • هر پروتئينِ خاص چه نقشي در بدن دارد. • چرا در بدن بعضي موجودات، برخي پروتئينها وجود دارند و در بدن بعضي ديگر وجود ندارند. • چه تفاوتي بين فرمول شيميايي يا ساختار فيزيكي پروتئينهاي مختلف وجود دارد كه باعث تفاوت در عملكرد آنها ميشود. • يك پروتئين به چه نحوي و تحت چه شرايطي و با دخالت چه موادي ساخته ميشود. • چرا در برخي سلولها، پروتئينهايي وجود دارند كه در سلولهاي ديگر از بدن همان موجود وجود ندارند.
DNA: يك مولكول مهم ديگر • DNA يك مولكول ميباشد كه از تعداد زيادي واحد كوچكتر به نام نوكلئوتيد تشكيل شده است و داخل هستة همة سلولهاي بدن وجود دارد. • هر پروتئين با استفاده از اطلاعاتي كه بر روي DNA هر سلول قرار دارد، ساخته ميشود، به همين دليل، DNA نيز جزء مهمترين مولكولهاي داخل سلول شناخته ميشود.
DNA به عنوان يك دنباله • به تعدادي كاراكتر كه به طور مرتب و پشتِ سر هم قرار گرفتهاند، يك دنباله (توالي) گفته ميشود. • اگر هر كدام از نوكلئوتيدها (A، C، G و T) يك كاراكتر فرض شوند به طوريكه A مكمل T و C مكمل G باشد، آنگاه: • DNA از دو دنباله با طول يكسان تشكيل شده است كه در كنار هم قرار دارند و كاراكترهاي روبرو به هم در دو دنباله، مكمل يكديگر ميباشند: ......AGCCTGC :دنبالة اول ......TCGGACG :دنبالة دوم
ساخته شدن پروتئين با استفاده از ژن • هر دنباله DNA را ميتوان به تكههاي مختلف تقسيم كرد. • اين تكهها دو دسته ميباشند: 1) تكههايي كه به هر كدام از آنها ژن گفته ميشود. 2) تكههاي غير ژن • هرگاه از روي يك ژن، يك پروتئين ساخته شود، اصطلاحاً گفته ميشود كه آن ژن بيان شده است. ژن فعال ژن خاموش غير ژن ژن فعال غير ژن پروتئين پروتئين از روي هر ژن، پروتئيني خاص ساخته ميشود. پروتئين
مراحل ساخته شدن پروتئين • ساخته شدن پروتئين در 2 مرحله انجام ميگيرد: 1) رونويسي (Transcription): ساخته شدن RNA با استفاده از ژنها 2) ترجمه (Translation): ساخته شدن پروتئين با استفاده از RNAهاي ساخته شده • در مرحله اول از ساخته شدن پروتئين (رونويسي)، پروتئينهاي متعددي به نواحي كناري ژن متصل ميشوند و سپس آنزيم RNA پليمراز به ساختن RNA اقدام ميكند. • به اين ناحية حول ژن كه پروتئينها به آنجا متصل ميشوند، پروموتر گفته ميشود. • به اين پروتئينهاي متصل شونده، فاكتور رونويسي (TF) گفته ميشود.
مهمترين عامل در تنظيم بيان ژن=TFBS • هر TF به محلي بر روي پروموتر به نام TFBS متصل ميشود. • هر كدام از TFBSها معمولاً طولشان بين 6 تا 10 نوكلئوتيد ميباشد. • يكي از مشهورترين TFBSها، TATAAT ميباشد اما بسياري از TFBSها در ناحية پروموتريِ ژنهاي مختلف، هنوز كشف نشدهاند. فاكتورهاي رونويسي (TF) RNA پليمراز DNA عوامل تنظيمكننده (TFBS) پروموتر ژن
مسأله از ديد زيستشناسان • امروزه تقريباً مشخص است كه مراحل بيان شدن يك ژن چيست اما اينكه ”در يكسلول خاص از يك موجود خاص، در چه زماني و تحت چه شرايط خاصي، چه ژنهايي بيان ميشوند“ جزء مسائل حل نشدة زيستشناسي مولكولي ميباشد. • هرگاه در ناحيه پروموتر يك ژن، يك TFBS خاص وجود داشته باشد، ميتوان گفت كه در صورت موجود بودن TF مربوط به آن TFBS، ژن مورد نظر بيان ميشود. • بنابراين ميتوان ژنها را بر اساس TFBSهايي كه در ناحيه پروموتر خود دارند، دستهبندي كرد. • بسياري از TFBSها هنوز كشف نشدهاند و توالي آنها هنوز مشخص نيست. • زيستشناسان سعي ميكنند با روشهاي آزمايشگاهي، به حل اين مسأله اقدام كنند و محققين بيوانفورماتيك، در پي حل اين مسأله به روشهاي محاسباتي (كامپيوتري) ميباشند.
مسأله از ديد كامپيوتريها • مسأله عبارت است از يافتن TFBSها در ناحيه پروموتري يك ژن. اما چون تواليِ اغلبِ اين TFBSها معلوم نيست، مسأله به اين سادگي حل نميشود. • امروزه زيستشناسان ميتوانند به طرق مختلف حدس بزنند كه چه ژنهايي همزمان و تحت شرايط يكساني بيان ميشوند (به اين ژنها، ژنهاي با هم تنظيم شونده (Co-Regulated) گفته ميشود). • ژنهاي با هم تنظيم شونده وجود TFBSهاي يكسان در پروموترهاي همان ژنها • بنابراين، ميتوان پروموترهاي ژنهاي با هم تنظيم شونده را جدا كرد و سپس به دنبال رشتههايي گشت كه در تمام پروموترها وجود داشته باشند. • به اين مسأله، مسألة كشف الگو گفته ميشود كه منظور از الگو در اينجا همان TFBSها هستند.
خطا در TFBSها • در اغلب مواقع، TFBSهاي يكساني كه در پروموترهاي مختلف وجود دارند، تفاوتهايي با هم دارند كه به اين تفاوتها، خطا هم گفته ميشود. • بنابراين هر TF، قابليت متصل شدن به رشتههاي مختلفي را دارد كه اين رشتهها، اختلافات اندكي با هم دارند. • اين دو رشته در حقيقت يك TFBS ميباشند كه در 3 موقعيت با هم اختلاف دارند: AGGTCCTTGC TGCTCATTGC
موتيف (سيگنال) • به هر كدام از TFBSهايي كه به عنوان الگو، مورد جستجو قرار ميگيرند، موتيف يا سيگنال هم گفته ميشود. • به زيررشتههاي مختلف از هر كدام از موتيفها كه در موقعيتهايي با هم اختلاف دارند وقوعهاي مختلف از آن موتيف گفته ميشود و هر كدام از اين وقوعها در مكانهايي از پروموترها رخ ميدهند. • اين دو زيررشته، دو وقوع مختلف از يك موتيف ميباشند كه در 3 موقعيت با هم اختلاف دارند: AGGTCCTTGC TGCTCATTGC
مدلهاي نمايش موتيفها • نشان دادن يك موتيف عبارت است از ارائه ساختاري كه با داشتن آن ساختار بتوان به وقوعهاي مختلف از آن موتيف پي برد. • تا به حال دو روش مختلف براي نمايش دادن موتيفها ارائه شده است: 1) روش رشتة توافقي 2) روش ماتريس پروفايل • مدل بهتر، مدلي است كه بهتر بتواند وقوعهاي يك موتيف را از غيروقوعها جدا كند.
رشتة توافقي (Consensus Seq.) • در اين روش، براي نشان دادن هر موتيف از رشتهاي استفاده ميشود كه بتوان از با استفاده از آن رشته (رشتة توافقي) به تمام وقوعهاي موتيف پي برد. • اما روشهاي مختلفي براي ساختن رشتة توافقي وجود دارد. • در اين مثال براي 8 وقوع مختلف از يك موتيف، يك رشتة توافقي ساخته شده است. • به اين صورت كه در هر موقعيت، نوكلئوتيدي كه بيش از بقيه نوكلئوتيدها رخ داده است، در نظر گرفته ميشود. رشتة توافقي
ساختن رشتة توافقي با روش آيوپَك • در اين روش، علاوه بر چهار كاراكتر موجود، 11 كاراكتر ديگر نيز براي نشان دادن ابهام در موقعيتها در نظر گرفته ميشوند. • در اين مثال براي 6 وقوع مختلف از يك موتيف، يك رشتة توافقي ساخته شده است كه در آن R به معناي {A,G} و N به معناي هر نوكلئوتيدي ميباشند. رشتة توافقي
مدل پروفايل • با استفاده از يك رشتة توافقي نميتوان به طور كامل، رشتههاي وقوع و غيروقوع از يك موتيف را از يكديگر جدا كرد. • در روش پروفايل، به هر موتيف به جاي يك رشته، يك ماتريس (PWM) نسبت داده ميشود كه با استفاده از آن ماتريس، بهتر ميتوان به وقوع يا غيروقوع بودن هر رشته دلخواهي پي برد. • در هر ستون از اين ماتريس درصد رخ دادنِ نوكلئوتيدِ مربوط به آن سطر نوشته ميشود.
ماتريسِ وزنيِ شباهتِ لُگاريتمي (LLWM) • هرگاه ماتريس B به شكل زير باشد، ميتوان با استفاده از فرمول زير يك ماتريس ديگري ساخت به نام LLWM (A ماتريس PWM مربوط به يك موتيف ميباشد):
آنتروپي نسبي (محتواي اطلاعاتي) • آنتروپي نسبي را ميتوان با روش زير محاسبه كرد. • هرچه آنتروپي نسبي چند رشتة مختلف، بيشتر باشد، احتمال اينكه اين چند رشته، وقوعهاي مختلف از يك موتيف باشند نيز بيشتر خواهد بود.
تعريف مسأله كشف الگويِ دقيق • ورودي: k تا رشته با نامهايکه طول هر کدام n ميباشد (به اين k تا رشته، نمونه هم گفته ميشود). • خروجي: ليستي از تمام زيررشتههايي که بدون خطا در تمام رخ دادهاند به همراه موقعيت رخ دادن هرکدام. • در حقيقت هر كدام از رشتههاي ناحيه پروموتر مربوط به يك ژن ميباشند. • معمولاً الگوريتمهايي كه براي حل اين مسأله طراحي ميشوند، به پيدا كردن زيررشتههايي با يك طول خاص اقدام ميكنند.
الگوريتم كشف الگويِ دقيق • اين الگوريتم بر مبناي رشتة توافقي ميباشد. • پيچيدگي زماني اين الگوريتم ميباشد.
مشكلات الگوريتمها در پيدا كردن TFBSها • الگوريتمِ گفته شده پيچيدگي زماني خوبي دارد، اما با مشكلاتي مواجه است. • دو مشكل: 1) تنها موتيفهايي را پيدا ميكند كه وقوعهاي آن موتيف به طور دقيق در نمونه رخ داده باشند. 2) اگر الگوريتم بخواهد بروز خطا را نيز در نظر بگيرد، به دليل كوتاهي طول موتيفها (TFBSها)، حتي وجود اندكي خطا هم تأثير زيادي در الگوريتم ميگزارد. • اما چارهاي جز پذيرش اين مشكلات نيست.
پارامترهاي بيشتر در مسأله • براي در نظر گرفتن خطاهاي گفته شده و البته واقعيتر كردن مسأله، معمولاً علاوه بر پارامترهاي n، k و ، پارامترهاي ديگري نيز به مسأله اضافه ميشوند: • d: تعداد موقعيتهايي در يك موتيف كه رخ دادن خطا در آنها مجاز ميباشد. • بر همين اساس يك رشته را در d-همسايگي يك رشتة ديگر ميگويند هرگاه اختلاف اين دو رشته، حداكثر در d موقعيت باشد. • اين دو رشته در 3–همسايگي يكديگر قرار دارند: AGGTCCTTGC TGCTCATTGC • q: اغلب مواقع، TFBSها در تمام kتا رشته ورودي وجود ندارند و بهتر است الگوريتمها به دنبال موتيفهايي بگردند كه حداقل در qتا از رشتههاي ورودي رخ دهند.
الگوريتم الگوگرا • اين الگوريتم، تمام رشتة حرفي ممكن را مورد بررسي قرار ميدهد. • در مثال زير اگر 3= و 1d= باشند، تمام 64 رشتة حرفي ممكن و همسايههايشان مورد بررسي قرار ميگيرند و زيررشتهاي كه بيش از بقيه در نمونه رخ داده است، به عنوان الگو معرفي ميشود. مثلاً زيررشتة ACG و همسايههايش 4بار در نمونه رخ دادهاند. = AGGCGA = TTACGA = GTCGTA • در بين الگوهايي كه اين الگوريتم پيدا ميكند، الگوهايي هم هستند كه حتي يك بار هم بدون خطا در نمونه رخ ندادهاند بلكه فقط همسايههاي آنها در نمونه رخ دادهاند. • پيچيدگي زماني الگوريتم، ميباشد كه خيلي زياد است.
الگوريتم الگوگرا • اين الگوريتم بر مبناي رشتة توافقي ميباشد.
الگوريتمهاي نمونهگرا • اين الگوريتمها، تنها الگوهايي را پيدا ميكنند كه حداقل يك بار به طور دقيق در نمونه رخ داده باشند. • در حقيقت تكتك زيررشتههاي موجود در نمونه و همسايههاي آنها را امتيازدهي ميكنند، نه تمام زيررشتههاي حرفي ممكن را. • پيچيدگي زماني يك نمونه از اين الگوريتمها ميباشد. به طوريكه عبارت است از تعداد d-همسايههاي يك رشتة l حرفي كه برابر است با
الگوريتم وينووِر • هرگاه فاصلة هر يك از وقوعهاي يك موتيف با رشتة توافقي آن حداكثر d باشد، فاصلة خود آن وقوعها با هم حداكثر 2d خواهد بود. وقوع A G C T A C A A d 2d رشته توافقي A G A T G C C A d وقوع A C A A G C C A
الگوريتم وينووِر وقوع A G C T A C A A d 2d 2d رشته توافقي A G A T G C C A d d 2d A C A T T C T A A C A A G C C A وقوع وقوع
تبديل به مسأله پيدا كردن خوشه بيشينه • در اين الگوريتم به ازاي هر يك از زيررشتههاي حرفي موجود در نمونه، يك رأس در نظر گرفته ميشود و سپس هر دو رأسي كه دو زيررشتة مربوط به آنها متعلق به يك رشته نباشند و فاصلهشان از هم نيز كمتر از يا مساوي با 2d باشد، بوسيلة يك يال به هم متصل ميشوند. • در اين گراف، هر k-خوشه ميتواند نشاندهندة k وقوع مختلف از يك موتيف باشد. اما از آنجا كه اين مسأله NP-Complete ميباشد و تعداد زيادي يالهاي تصادفي در گراف وجود دارند، با روشي به حذف يالهاي اضافي ميپردازد. • يک رأس u، همسايه يک خوشه c گفته ميشود هرگاه تمام رئوس موجود در c به همراه u باز هم يک خوشه بسازند: • يک خوشه را قابل توسعه مينامند هرگاه در هر يک از بخشهاي يک گرافِ چند بخشي، حداقل يک همسايه داشته باشد.
الگوريتم CONSENSUS • اين الگوريتم، به روش حريصانه زيررشتههايي را پيدا ميكند كه آن زيررشتهها بيشترين آنتروپي نسبي را دارند. • پيچيدگي زماني الگوريتم ميباشد.
الگوريتم Gibbs Sampler • اين الگوريتم با يك روش مكاشفهاي مرحلهاي، سعي در پيدا كردن زيررشتههايي دارد كه داراي بيشترين آنتروپي نسبي هستند. • پيچيدگي زماني اين الگوريتم در هر مرحله از حلقه repeat، ميباشد.
تست كردن الگوريتمها • دو شيوه براي اين كار وجود دارد: 1) تست با دادههاي واقعي: در اين روش مجموعهاي از پروموترهاي مربوط به ژنهاي با هم تنظيم شونده از داخل پايگاه دادههاي مخصوصي برداشته شده و به همراه برخي اطلاعات ديگر به الگوريتم داده ميشوند و پاسخ الگوريتم با پاسخهاي موجود در همان پايگاه دادههامقايسه ميگردد. 2) تست با دادههاي شبيهسازي شده: موتيفهايي ساخته ميشوند و در موقعيتهايي از رشتههايي كه آنها هم ساخته شدهاند، قرار داده ميشوند و سپس پاسخهاي الگوريتم با اطلاعاتي كه در دست هستند مقايسه ميگردد.
مسأله پيدا كردن جفتهاي ماكزيمال با فاصله محدود • در رشتههاي DNA جفتهاي فراواني وجود دارند. • يك جفت را به شكل نشان ميدهند: • يك جفت، بيشينه از راست گفته ميشود هرگاه اولين کاراکتر سمت راست هر دوي زيررشتهها مخالف هم باشند: • يك جفت، بيشينه از چپگفته ميشود هرگاه اولين کاراکتر سمت چپ هر دوي زيررشتهها مخالف هم باشند:
a a bc c bc c abcacbc$ abcacbc$ cbc$ $ acbc$ bcacbc$ $ bc$ acbc$ $ $ bcacbc$ cbc$ acbc$ bc$ acbc$ پيدا كردن تمام جفتهاي بيشينه از راست • ابتدا براي رشته ورودي يك درخت پسوندي دودويي ساخته ميشود. درخت پسوندي براي رشتة aabcacbc$ درخت پسوندي دودويي
الگوريتم پيدا كردن تمام جفتهاي بيشينه از راست • پيچيدگي زماني اين الگوريتم ميباشد.
فاصله بين دو جفت • بايد الگوريتم را طوري تغيير داد كه فاصله بين دو جفت در بازة قرار داشته باشد.
الگورتيم پيدا كردن جفتهاي بيشينه از راست با فاصله محدود • اعضاي موجود در به سه دسته تقسيم ميشوند: 1) آنهايي كه در فاصلة قانوني يعني و قرار دارند. 2) آنهايي كه از كوچكترين عنصر موجود در يا از كوچكترين عنصر موجود در ، كوچكتر ميباشند. 3) آنهايي كه از بزرگترين عنصر موجود در يا از بزرگترين عنصر موجود در ، نيز بزرگتر ميباشند.
الگورتيم پيدا كردن جفتهاي بيشينه از راست با فاصله محدود • پيمايش درخت و صدا زدن تابع Report به ازاي جفتها • پيچيدگي زماني اين تابع O(nlogn+z) ميباشد. تشخيص سمت چپترين جفت، در بازة مجاز
پيدا كردن جفتهاي بيشينه با فاصله محدود • انديسهاي موجود در هر كدام از درختهاي AVL، به چندين بلاك تقسيم ميشوند و انديس ابتدايي هر كدام از بلاكها در يك درخت AVL ديگر قرار ميگيرند. • انديسهايي در يك بلاك قرار ميگيرند كه كاراكتر موجود در سمت چپ آنها يكي باشد.
اين الگوريتم نيز در زمان O(nlogn+z) تمام جفتهاي بيشينة با فاصله محدود را به خروجي ميفرستد. تشخيص سمت چپترين جفت، در بازة مجاز تشخيص سمت چپترين بلاك، در بازة مجاز
تابع مربوط به گزارش خروجي تشخيص بيشينه از چپ بودن حركت به بلاكهاي بعدي