هم‌ترازسازی چند توالی
هم‌ترازسازی چند توالی (Multiple Sequence Alignment)، هم تراز کردن توالی سه یا بیشتر توالی‌های بیولوژیکی - که به‌طور کلی شامل پروتئین، DNA و RNA می‌شود- است. در بسیاری از حالات، فرض شده‌است که مجموعهٔ ورودی از توالی‌های درخواستی یک رابطهٔ تکاملی با هم دارند به‌طوری‌که همهٔ آن‌ها اجداد یک جد مشترک هستند. از روی نتایج MSA، می‌توان به تشابه توالی پی برد و همچنین آنالیز تکامل نژادی می‌تواند به ارزیابی منشأ تکاملی مشترک توالی‌ها منجر شود. شکل سمت چپ نمایشی از هم تراز سازی را نشان می‌دهد که در آن جهش‌ها از قبیل جهش‌های نقطه‌ای (تغییر در تنها یک آمینو اسید یا نوکلئتید) به صورت تفاوت در کاراکترهای یک ستون، یا جهش‌های رخنه‌ای یا حذفی (indel) به صورت خط تیره در یک یا چند توالی ظاهر شده‌اند. هم تراز کردن چند توالی غالباً برای ارزیابی کانزرویشن توالی از نواحی پروتئینی، ساختارهای دوم یا سوم و حتی برای یک آمینو اسید یا یک نوکلئوتید استفاده می‌شود. از آنجا که همتراز سازی سه یا بیشتر توالی‌های با طول بیولوژیکی توسط دست کاری بس دشوار و زمانبر است، الگوریتم‌های محاسباتی برای تولید و آنالیز همترازی‌ها (alignments) استفاده می‌شوند. MSAها به متدلوژی‌های پیچیده تری نسبت به همترازسازی دوبدو نیاز دارند، زیرا که از لحاظ محاسباتی پیچیده ترند. اکثر برنامه‌های هم تراز کردن چند توالی از روش‌های اکتشافی (heuristic methods) به جای روش‌های بهینهٔ کلی (global optimization) استفده می‌کند چون تعیین همترازسازی بهینه بین تعدادی از توالی‌های با طول متوسط از نظر محاسباتی غیرممکن و پرهزینه‌است.
یک روش مستقیم برای تولید MSA استفاده از تکنیک برنامه‌نویسی پویاست که می‌تواند جواب بهینه برای همتراز سازی را مشخص کند. برای پروتئین‌ها این روش معمولاً شامل دو مجوعه پارامتر است: جریمهٔ پرش (gap penalty) و ماتریس جانشانی (substitution matrix) که به هر جفت ممکن آمینواسیدی یک امتیاز یا احتمال بر اساس شباهت خواص شیمیایی آمینواسیدها و احتمال تکامل جهش‌ها می‌دهد. برای توالی‌های نوکلئوتیدی از یک جریمهٔ پرش یکسان استفاده می‌شود، اما معمولاً یک ماتریس جانشینی ساده‌تر که فقط در آن تطابق‌های یکسان (identical match) و عدم تطابق‌ها (mismatch) در نظر گرفته شده‌اند به کار گرفته می‌شود. امتیازهای ماتریس جانشینی در حالتی که همترازسازی کلی مد نظر است می‌تواند یا همه مثبت باشند یا ترکیبی از امتیازهای مثبت و منفی باشد، اما در حالت همترازسازی محلی حتماً باید ترکیبی از امتیازهای مثبت و منفی باشد. برای 'n' توالی منفرد، یک روش ساده و ابتدایی احتیاج به ساختن ماتریس n بعدی متناظر با ماتریسی که در همترازسازی دوبدو استاندارد تشکیل می‌شود، دارد. بنابراین فضای جستجو با افزایش مقدار n به صورت نمایی افزایش می‌یابد و علاوه بر این به طول توالی شدیداً وابسته‌است. اگر بخواهیم با نماد Oی بزرگ که معمولاً برای اندازه‌گیری پیچیدگی محاسباتی استفاده می‌شود میزان پیچیدگی یک MSA ساده و ابتدایی را بیان کنیم به اندازهٔ (O(Length زمان می‌برد. نشان داده شده‌است که این روش برای یافتن بهینهٔ کلی برای n توالی یک مسئلهٔ NP-complete است. در ۱۹۸۹، براساس الگوریتم کاریلو-لیپمن، التسکال یک روش عملی ارائه داد که از همترازسازی دوبدو برای محدود کردن فضای جستجو n بعدی می‌کرد. در این روش بر روی هر جفت توالی از مجموعهٔ ورودی همترازسازی دوبدو به صورت برنامه‌نویسی پویا اعمال می‌شود، و فقط فضای n بعدیِ نزدیک به تقاطع این همترازسازی‌ها جستجو می‌شود. لگوریتم MSA حاصلجمع تمام جفت کاراکترهای هر موقعیت در همترازسازی را بهینه می‌کند و در یک برنامهٔ نرم افزاری پیاده‌سازی شده‌است.. پراستفاده‌ترین روش برای هم تراز کردن چند توالی از یک جستجوی اکتشافی به نام تکنیک جلورونده (روش سلسله مراتبی یا درختی) استفاده می‌کند، که MSA نهایی را از روی ترکیب همترازسازی دوبدوهایی که با شبیه‌ترین جفت شروع می‌شوند و تا دورترین جفت‌ها ادامه پیدا می‌کند، می‌سازد. تمام همترازسازی جلورونده به دو مرحله احتیاج دارند: مرحلهٔ اول که در آن رابطهٔ بین توالی‌ها به وسیلهٔ یک درخت که درخت راهنما نام دارد نمایش داده می‌شود و مرحلهٔ دوم که در آن MSA با توجه به درخت راهنما و از اضافه کردن توالی‌ها به یکدیگر بدست می‌آید. درخت راهنمای اولیه توسط یک روش کارآمد خوشه بندی مانند neighbor-joining یا UPGMA تعیین می‌شود. همترازسازی جلورونده نمی‌توانند بهینهٔ کلی باشند. مشکل اصلی این است که وقتی خطاهایی در هر یک از مراحل ساخت MSA رخ می‌دهد، این خطاها به مراحهٔ نهایی انتشار پیدا می‌کنند. همچنین زمانی که توالی‌ها نسبتاً از هم دورند راندمان بد می‌شود. اکثر روش‌های جلورونده تابع امتیازدهی شان را از روی یک تابع وزن دهی ثانویه تغییر می‌دهند. این تابع وزن دهی ثانویه به هر یک از اعضای مجموعهٔ درخواستی یک فاکتور مقیاس گذاری غیرخطی انتساب می‌دهد که این مقدار از روی فاصلهٔ فیلوژنتیکی از نزدیکترین همسایه‌ها بدست می‌آید. این کار باعث اصلاح انتخاب غیر تصادفی از توالی‌های داده شده، برای ورودی دادن به برنامهٔ همتراز سازی می‌شود. روش‌های همترازسازی جلورونده به اندازهٔ کافی کارآمد هستند که روی مقیاس‌های بزرگ (100 تا 1000) از تعداد توالی‌ها پیاده‌سازی شوند. سرویس‌های همترازسازی جلورونده بر روی وب سرورهای عمومی دردسترس هستند بنابراین لازم نیست که کاربران به‌طور محلی برنامه‌های کاربردی موردنظر خود را نصب کنند. معروف‌ترین روش همترازسازی جلورونده خانوادهٔ Clustal هستند، به خصوص انواع وزندار آن ClustalW>. روش ClustalW به‌طور گسترده برای ساخت درخت فیلوژنتیک به کار می‌رود. یکی دیگر از رایجترین روش‌های همترازسازی جلورونده روش تی-کافی است که البته از روش Clustal و مشتقاتش کندتر است اما به‌طور کلی همترازهای دقیق تری برای توالی‌هایی که از هم دورند تولید می‌کند. این روش از خروجی الگوریتم Clustal و برنامهٔ همترازسازی محلی LALIGAN که نواحی‌هایی از همترازسازی محلی را بین دو توالی پیدا می‌کند، استفاده می‌کند. از همترازسازی حاصل و همچنین درخت فیلوژنتیک به عنوان راهنمایی برای تولید فاکتورهای وزنی بیشتر و دقیق تر استفاده می‌شود. چون روش‌های جلورونده اکتشافی هستند و هیچ تضمینی وجود ندارد که به جواب بهینهٔ کلی همگرا شوند، ارزیابی کیفیت همترازسازی دشوار خواهد بود و مفهوم واقعی بایولوژیکی آن گنگ و مبهم خواهد بود. یک متد نیمه جلورونده که کیفیت همترازسازی را ارتقا می‌دهد و همچنین از روش اکتشافی پراتلاف استفاده نمی‌کند و در عین حال در زمان چندجمله‌ای اجرا می‌شود در برنامهٔ PSAlign PSAlign . پیاده‌سازی شده‌است. مجموعه‌ای از روش‌های تولید MSA که خطاهای ناشی از الگوریتم‌های جلورونده را کاهش می‌دهند در زمرهٔ روش‌های تکراری قرار می‌گیرند چونکه عملکردشان بسیار شبیه به روش‌های جلورونده‌است با این تفاوت که مرتباً توالی‌های اولیه را دوباره همترازسازی می‌کند و به MSA اضافه می‌کند. یکی از دلایلی که روش‌های جلورونده شدیداً وابسته به توالی با کیفیت بسیار بالای اولیه هستند این است که همیشه جواب نهایی از روی این توالی‌ها بدست می‌آید. این تخمین کارایی را به قیمت دقت بهبود می‌دهد. در مقابل، روش‌های تکراری می‌توانند به همترازسازی دوبدوهای محاسبه شدهٔ قبلی یا زیر MSAهای بدست آمده رجوع کنند و بدین وسیله تابع هدف کلی را که می‌تواند برای مثال یافتن امتیاز همترازسازی با کیفیت بالا باشد بهینه کند. روش‌های تکراری متعددی که تفاوت‌های جرئی با هم دارند در بسته‌های نرم افزاری موجود هستند: بازبینی‌ها و مقایسه‌ها مفیدند اما اینکه کدام یک بهترین تکنیک هستند را تعیین نمی‌کنند. بستهٔ نرم افزاری PRRN/PRRP از یک الگوریتم تپه نوردی برای بهینه کردن امتیاز همترازسازی MSA استفاده می‌کند و به صورت تکراری هم وزن‌های همترازسازی و هم ناحیه‌های پرش دارِ MSA را بهینه می‌کند. اگر همترازسازی ای که پیشتر به آن اشاره شد را با یک روش سریع تر جایگزین کنیم PRRP بهترین عملکرد را خواهد داشت. یکی دیگر از برنامه‌هایی که به صورت تکراری عمل می‌کنند، DIALING است که از یک روش غیرمعمول بهره می‌گیرد به اینصورت که بدون ارائهٔ جریمهٔ پرش تمرکز دقیقی روی همترازهای محلی بین زیرقطعات یا توالی‌های موتیف می‌کند. سپس همترازسازی هر یک از موتیف‌ها با استفاده از یک ماتریس نمایش دهی مانند ماتریس رسم نقطه‌ای (dot plot) که در همترازسازی دوبدو به کار گرفته می‌شد، بدست می‌آید. روش دیگری که از همترازسازی محلی سریع به عنوان نقاط لنگری استفاده می‌کند در سری برنامه‌های CHAOS/DIALING پیاده‌سازی شده‌اند. سومین روش معروفِ برمبنای تکرار MUSCLE(multiple sequence alignment by log-expectation) نام دارد که از یک معیار دقیق تر اندازه‌گیری فاصله برای محاسبهٔ میزان مرتبط بودن توالی‌ها استفاده می‌کند. مقدار فاصله در هر دور تکرار به روز می‌شود. مدل‌های مارکوف پنهان (HMM) مدل‌های احتمالی ای هستند که می‌توانند برای تمام حالات ممکن از ترکیب پرش‌ها، تطابق‌ها و عدم تطابق‌ها احتمالاتی (likelihood) را نسبت دهند تا محتمل‌ترین MSA یا مجموعه‌ای از MSA‌ها را تعیین کنند. HMM‌ها می‌توانند تنها یک امتیازدهی با بالاترین مقدار راتولید کنند اما در عین حال می‌توانند خانواده‌ای از همتراز سازی‌های ممکن را که از نظر بایولوژیکی قابل ملاحظه هستند نیز تولید کنند. HMM‌ها هم می‌توانند همترازسازی‌های محلی و هم کلی را تولید کنند. اگرچه روش‌های مبتنی بر HMM نسبتاً به تازگی توسعه پیدا کرده‌اند، اما پیشرفت‌های قابل ملاحظه‌ای در سرعت محاسبات داشته‌اند، مخصوصاً در مورد توالی‌هایی که حاوی نواحی همپوشانی دار هستند. معمولاً روش‌های مبتنی بر HMM به اینگونه کار می‌کنند که MSA را به صورت یک گراف جهتدار بدون دور نمایش می‌دهند که شامل یک سری از گره هاست که نشان دهندهٔ ستون‌های محتمل برای یک MSA هستند. در این نحوهٔ نمایش دادن ستونی که به‌طور قطع حفظ شده‌است (به این معنی که تمام توالی‌های یک MSA در یک کاراکتر خاص و در یک مکان خاص با هم مشترکند) به عنوان گره‌ای که به تعداد کاراکترهای ممکن از ستون بعدیِ هم ترازسازی ارتباط خروجی دارد، کد می‌شود. بر حسب مدل مارکوف پنهان، وضعیت‌های مشاهده شده همان ستون‌های همترازسازی و وضعیت‌های پنهان معرف اجداد توالی‌هایی از مجموعهٔ درخواستی هستند که مفروض به داشتن نوادگان می‌باشند. یکی از انواع جستجوی کارآمد برنامه‌نویسی پویا، معروف به الگوریتم ویتربای، برای همتراز کردن MSA در حال توسعه با توالی‌های بعدی از مجموعهٔ درخواستی به منظور تولید MSA جدید استفاده می‌شود.. برنامه‌های نرم افزاری متعددی برای انواع روش‌های مبتنی بر HMM پیاده‌سازی شده‌اند و از نظر مقیاس پذیری و کارایی مورد ملاحظه قرار گرفته‌اند، اگرچه استفادهٔ صحیح از HMM به مراتب پیچیده تر از روش‌های جلوروندهٔ معمولی است. ساده‌ترین این برنامه‌ها POA(partial-order alignment) است؛ یک روش مشابه اما کلی تر در بسته‌های SAM (Sequence Alignment and Modeling System).] و HMMER and HMMER پیاده‌سازی شده‌است. SAM به عنوان منبعی برای پیش بینی ساختار پروتئین مورد استفاده قرار می‌گیرد و از آن در آزمایش‌های پیش‌بینی ساختار CASP و توسعهٔ پایگاه داده‌ای از ساختارهای پیش‌بینی شده در گونه‌های مخمر "ساکارومایسس سرویزیه"کمک گرفته می‌شود. بستهٔ نرم افزاریِ HHsearch توالی‌های پروتئینی ای که از هم دورند را بر اساس مقایسهٔ دوبدوی HMM‌ها پیدا می‌کند. از الگوریتم ژنتیک برای تو لید MSA برای شبیه سازی فرآیند تکاملی ای که منجر ایجاد به داده‌های متنوع و واگرا در مجموعهٔ درخواستی شده‌است، استفاده می‌شود. این روش یه اینگونه عمل می‌کند که MSA‌های ممکن را به چندین بخش تقسیم می‌کند و مرتباً با ایجاد پرش در جاهای مختلف از این بخش‌ها آن‌ها را بازچینی می‌کند. در طی فرآیند شبیه سازی یک تابع هدف کلی بهینه می‌شود، به‌طور کلی این تابع همان تابع «حاصلجمع جفت هاًست که در قسمت برنامه‌نویسی پویا معرفی شد و قصد بر این است که مقدار این تابع ماکزیمم شود. تکنیکی برای توالی‌های پروتئینی در برنامه نرم افزاری SAGA (Sequence Alignment by Genetic Algorithm) و معادل آن برای RNA در RAGA پیاده‌سازی شده‌است. تکنیک تبرید شبیه سازی شده با یک MSA موجود که در ابتدا از یک روش دیگر تولید شده‌است کار را آغاز می‌کند و با اعمال یک سری بازچینی‌های طراحی شده سعی در یافتن فضاهای همترازسازی بهتری نسبت به آنچه که همترازسازی ورودی در حال حاضر اشغال کرده‌است، می‌کند. روش تبرید شبیه سازی شده نیز همانند الگوریتم ژنتیک یک تابع هدف را (مثل تابع حاصلجمع جفت‌ها) ماکزیمم می‌کند. این روش در برنامهٔ MSASA (Multiple Sequence Alignment by Simulated Annealing) پیاده‌سازی شده‌است.
موتیف یابی یا تحلیل پروفایل، روش یافتن توالی‌های موتیف در MSA‌های کلی است که هم روشی برای تولید MSA‌های بهتری و هم وسیله‌ای برای و هم وسیله‌ای برای تولید ماتریس نمره دهی برای جستجوی موتیف‌های مشابه در سایر توالی هاست. در تحلیل پروفایل استاندارد، برای هر کاراکتر ممکن و هم پرش درایه‌ای در ماتریس اختصاص داده می‌شود. از طرف دیگر، همترازسازی‌های الگویابی آماری، می‌توانند به جای یافتن مشتقات MSA موتیف‌هایی که پیشرو هستند را بیابند. در مواقعی که مجموعهٔ درخواستی صرفاً شامل تعداد کمی توالی یا توالی‌های به شدت به هم وابسته هست، سودونات اضافه می‌کنند تا توزیعی که در ماتریس نمره دهی وجود دارد نرمال شود. تحلیل بلاک روشی برای موتیف یابی است که موتیف‌ها را محدود به نواحی بدون پرش در همترازسازی می‌کند. بلاک‌ها می‌توانند از روی MSA تولید شوند یا از روی توالی‌های همتراز نشده‌استخراج شوند. تطابق الگوی آماری هم توسط الگوریتم ماکزیمم سازی انتظار و هم توسط نمونه برداری گیبز پیاده‌سازی شده‌است. یکی از معروف‌ترین ابزارهای موتیف یابی MEME می‌باشد که از ماکزیمم سازی انتظار و مدل مارکوف‌های مخفی استفاده می‌کند تا موتیف‌هایی را تولید کند که از آن پس به همراه MAST که در مجموعهٔ MEME/MAST موجود است برای ابزارهای جستجو استفاده شود. استفاده از روش‌های اکتشافی برای همترازسازی چند توالی به این معنی است که برای هر مجموعهٔ دلخواه از پروتئین‌ها همیشه این شانس وجود دارد که همترازسازی با خطا همراه باشد. ناظران همترازسازی چند توالی این امکان را فراهم کرده‌اند که همترازسازی‌ها به صورت شهودی و بصری قابل بازبینی باشند. علاوه بر این برخی این قابلیت را فراهم کرده‌اند که بتوان خطاها را (معمولاً خطاهای کوچک و جرئی) را اصلاح کرد. همترازسازی چند توالی می‌تواند در ساخت درخت فیلوژنتیک استفاده شود. به دو دلیل این کار امکانپذیر است. دلیل اول اینکه نواحی کارکردی که در توالی‌های تفسیر شده شناخته شده هستند می‌توانند برای همترازسازی توالی‌های تفسیر نشده به کار گرفته شوند. دلیل دیگر این است که نواحی حفظ شده‌ای که می‌دانیم از لحاظ کاکردی مهم هستند را می‌توان یافت. بنابراین این امکان فراهم می‌شود که همترازسازی چند توالی برای تحلیل و یافتن روابط تکاملی بین توالی‌ها استفاده شود. جهش‌های نقطه‌ای و درج و حذف‌ها می‌توانند معلوم شوند. شاخه‌بندی هم ترازسازی درختی تعمیم یافته فیلوژنتیک نرم افزار همترازسازی توالی ناظران همترازسازی چند توالی همترازسازی ساختاری