ای‌ام چندگانه برای استخراج موتیف

**ای‌ام چندگانه برای استخراج موتیف**  یا به اختصار ام‌ای‌ام‌ای (MEME) ابزاری است ریاضی برای پیدا کردن موتیف در مجموعه‌ای از رشته‌های پروتئین یا دی‌ان‌ای به هم مرتبط.

موتیف یک الگو است که به صورت تکراری در مجموعه‌ای از رشته‌های پروتئین یا دی‌ان‌ای به‌هم‌مرتبط وجود دارد. الگوریتم بیشینه کردن امید ریاضی (ای‌ام، EM) موتیف‌ها را در قالب یک ماتریس نمایش می‌دهد. ماتریسی که موقعیت‌ها را مستقل فرض کرده و درایه‌هایش احتمال وقوع هر حرف (در دی‌ان‌ای اسید نوکلئیک و در پروتئین اسید آمینه) در هر موقعیت الگو را نشان می‌دهد. موتیف‌های تکی در ام‌ای‌ام‌ای دارای گپ نیستند و الگوهایی که دارای گپ‌هایی با سایزهای متغیر هستند، توسط ام‌ای‌ام‌ای به دو یا چند موتیف تکی شکسته می‌شوند.
ام‌ای‌ام‌ای مجموعه‌ای از رشته‌های پروتئین یا دی‌ان‌ای را ورودی می‌گیرد و به تعداد خواسته شده موتیف برمی‌گرداند. این الگوریتم برای پیدا کردن بهترین طول برای موتیف‌ها، تعداد تکرار آن‌ها و شرح هر موتیف از روش‌های آماری استفاده می‌کند.

## تعریف
از دو منظر می‌توان عمل الگوریتم ام‌ای‌ام‌ای را بررسی کرد. از دیدگاه زیستی، ام‌ای‌ام‌ای موتیف‌های مشترک در مجموعه‌ای از رشته‌های تراز نشده را تشخیص داده و پیدا می‌کند. از دیدگاه علوم کامپیوتر، ام‌ای‌ام‌ای مجموعه‌ای از زیر رشته‌هایی که تقریباً به هم شباهت داشته و هم پوشانی ندارند را در مجموعه‌ای از رشته‌های ورودی پیدا می‌کند.

## کاربرد
به کمک ام‌ای‌ام‌ای می‌توان ساختار و عملکردهای زیستی مشابهی را در رشته‌های متفاوت پیدا کرد. باید توجه داشت که رشته‌های ورودی ممکن است بسیار با هم متفاوت بوده و طول موتیف‌هایی که در آن‌ها پیدا می‌شود بسیار کوتاه باشد. همچنین ممکن است محل چسبیدن پروتئین‌ها بسیار خاص باشد. در واقع برای بهتر پیدا کردن موتیف‌ها از دیدگاه زیستی، می‌توانیم با دقت یکی از پارامترهای زیر را انتخاب کنیم:
* بهترین طول برای موتیف
* تعداد تکرار موتیف در یک رشته
* ترکیب هر موتیف

## اجزای الگوریتم
الگوریتم از چند تابع شناخته شده‌استفاده می‌کند:
* الگوریتم بیشینه کردن امید ریاضی
* اکتشافی بیشینه کردن امید ریاضی برای انتخاب نقطهٔ شروع بیشینه کردن امید ریاضی
* درست نمایی بیشینه
* شروع از چندین نقطه برای پیدا کردن موتیف‌ها با سایزهای مختلف
* الگوریتم حریصانه برای پیدا کردن موتیف‌های متفاوت
در حالت کلی مشخص نیست موقعیت شروع کجاست. چندین امکان وجود دارد:
* هر رشته دقیقاً یک موتیف داشته باشد.
* هر رشته صفر یا یک موتیف داشته باشد.
* هر رشته به هر میزانی موتیف داشته باشد.

## مثال
در مثال زیر، ماتریس وزن به ازای ۳ رشتهٔ متفاوت بدون گپ در اختیار است.

حال با شمردن تعداد اسید نوکلئیک‌ها در هر رشته ماتریس زیر شکل می‌گیرد:

حال از جمع کل داریم ۲۷ = ۵+۱۲+۳+۷. که با گذاشتن آن در مخرج به احتمال هر اسید نوکلئیک می‌رسیم.

A: 7/27 = ۰٫۲۶

C: 3/27 = ۰٫۱۱

G: 12/27 = ۰٫۴۴

T: 5/27 = ۰٫۱۹

با تقسیم تک تک درایه‌های ماتریس وزن بر تعداد کل رشته‌ها (در مثال ما ۳) ماتریس وزن را بازنویسی می‌کنیم:
A: 0.33 0.66 0.00 0.00 0.00 0.66 0.66 0.00 0.00
C: 0.66 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.33
G: 0.00 0.33 1.00 1.00 0.00 0.33 0.00 1.00 0.33
T: 0.00 0.00 0.00 0.00 1.00 0.00 0.33 0.00 0.33

سپس درایه‌های ماتریس وزن در موقعیت xi را تقسیم بر احتمال اسید نوکلئیک x می‌کنیم.
A: 1.27 2.30 0.00 0.00 0.00 2.30 2.30 0.00 0.00
C: 6.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 3.00
G: 0.00 0.75 2.27 2.27 0.00 0.75 0.00 2.27 0.75
T: 0.00 0.00 0.00 0.00 5.26 0.00 1.74 0.00 1.74

به‌طور کلی می‌توان احتمالات را در هم ضرب کرد. در این‌جا برای هر اسید نوکلئیک یک درایهٔ صفر وجود دارد، به همین دلیل از همهٔ درایه‌ها لگاریتم گرفته و تعریف می‌کنیم log(0)= -۱۰

حال ماتریس وزن مورد نیاز در الگوریتم را در اختیار داریم که به کمک آن می‌توان به یک رشتهٔ پروموتور امتیاز اختصاص داد. برای این کار باید اعدادی که در موقعیت xi ماتریس هستند را با هم جمع کرد. به‌طور مثال برای پروموتور AGGCTGATC داریم:
۰٫۱۰–۰٫۱ + ۰٫۳۶–۱۰ + ۰٫۷۲–۰٫۱ + ۰٫۳۶–۱۰ + ۰٫۴۸ = -۱۸٫۱۸
که با تقسیم بر تعداد درایه‌ها (در اینجا ۹) به امتیاز نهایی می‌رسیم: -۲٫۰۲.

## معایب
الگوریتم MEME چندین نقطهٔ ضعف دارد از جمله:
* درج/جایگزینی/گپ مجاز نیست.
* هرگاه موتیف جدیدی پیدا شد داده‌های ورودی را پاک می‌کند (فرض می‌کند موتیف جدید صحیح است).
* پیچیدگی زمانی الگوریتم بسیار زیاد است.

## منابع

رده:بیوانفورماتیک