آموزش هم‌ترازسازی توالی در برنامه نویسی بایوپایتون

4 سال پیش
امتیاز دهید post

 آموزش هم‌ترازسازی توالی در برنامه نویسی بایوپایتون

در این درس از آموزش های برنامه نویسی سایت سورس باران، ما در مورد آموزش هم‌ترازسازی توالی در برنامه نویسی بایوپایتون بحث خواهیم کرد.

پیشنهاد ویژه : پکیج آموزش صفر تا صد پایتون

هم‌ترازسازی توالی توالی فرایند تنظیم دو یا چند توالی (از توالی DNA ، RNA یا پروتئین) به ترتیب خاص برای شناسایی منطقه شباهت بین آنها است.

شناسایی منطقه مشابه ما را قادر می سازد اطلاعات زیادی راجع به این که چه صفاتی بین گونه ها حفظ می شود، از نظر ژنتیکی گونه های مختلف چقدر به یکدیگر نزدیک هستند، چگونه تکامل گونه ها و غیره استنباط کنیم.

بیایید برخی از ویژگی های مهم ارائه شده هم‌ترازسازی توالی در برنامه نویسی بایوپایتون در این درس را بیاموزیم.

هم‌ترازسازی توالی تجزیه

بایوپایتون یک ماژول Bio.AlignIO را برای خواندن و نوشتن هم‌ترازسازی توالی توالی فراهم می کند. در بیوانفورماتیک، تعداد زیادی قالب برای تعیین داده های هم‌ترازسازی توالی مشابه داده های توالی قبلی آموخته شده وجود دارد. Bio.AlignIO API مشابه Bio.SeqIO را ارائه می دهد با این تفاوت که Bio.SeqIO روی داده های توالی و Bio.AlignIO روی داده های ترازی توالی کار می کند.

قبل از شروع به یادگیری، اجازه دهید یک نمونه فایل تراز توالی را از اینترنت دانلود کنیم.

برای دانلود فایل نمونه، مراحل زیر را دنبال کنید –

مرحله 1 – مرورگر مورد علاقه خود را باز کرده و به http://pfam.xfam.org/family/browse وب سایت بروید. این همه خانواده های Pfam را به ترتیب حروف الفبا نشان می دهد.

مرحله 2 – هر خانواده ای را انتخاب کنید که تعداد seed کمتری داشته باشد. این شامل حداقل داده ها است و ما را قادر می سازد تا به راحتی با هم ترازی کار کنیم. در اینجا، ما PF18225 را انتخاب و کلیک کرده ایم و به http://pfam.xfam.org/family/PF18225 باز می شود و جزئیات کاملی درباره آن، از جمله هم‌ترازسازی توالی توالی را نشان می دهد.

مرحله 3 – به بخش هم‌ترازسازی بروید و فایل هم‌ترازسازی توالی را در قالب استکهلم دانلود کنید (PF18225_seed.txt).

بیایید سعی کنیم فایل هم‌ترازسازی توالی دانلود را با استفاده از Bio بخوانیم. که به شرح زیر –

وارد کردن ماژول Bio.AlignIO

تراز را با استفاده از روش خواندن بخوانید. متد read برای خواندن داده های هم ترازی واحد موجود در فایل داده شده استفاده می شود. اگر فایل داده شده حاوی هم‌ترازسازی توالی های زیادی باشد، می توانیم از متد parse استفاده کنیم. متد parse شی تراز پذیری قابل تکرار را شبیه به متد parse در ماژول Bio.SeqIO برمی گرداند.

چاپ شی هم تراز 

 

ما همچنین می توانیم توالی (SeqRecord) موجود در هم‌ترازسازی توالی و همچنین زیر را بررسی کنیم –

 

هم‌ترازسازی چند توالی

به طور کلی، بیشتر فایل های هم ترازی توالی حاوی داده های هم ترازی واحد هستند و استفاده از متد read برای تجزیه آنها کافی است. در مفهوم هم ترازی توالی چندگانه، دو یا چند توالی برای بهترین تطابق توالی ای بین آنها مقایسه می شود و منجر به هم‌ترازسازی چند توالی در یک پرونده می شود.

اگر قالب تراز توالی ورودی شامل بیش از یک تراز بندی توالی باشد، بنابراین ما باید به جای متد read که در زیر مشخص شده است، از متد parse استفاده کنیم –

 

در اینجا، متد parse شی هم‌ترازسازی توالی قابل بازگشت را برمی گرداند و می توان برای دستیابی به ترازهای واقعی تکرار کرد.

هم‌ترازسازی توالی جفتی

هم‌ترازسازی توالی جفتی همزمان فقط دو توالی را با هم مقایسه می کند و بهترین ترازهای توالی ممکن را ارائه می دهد. درک جفت آسان و استثنایی است که از هم‌ترازسازی توالی حاصل استنباط می شود.

بایوپایتون یک ماژول ویژه را با نام Bio.pairwise2 برای شناسایی هم‌ترازسازی توالی با استفاده از روش زوجی تهیه می کند. بایوپایتون بهترین الگوریتم را برای یافتن هم‌ترازسازی توالی اعمال می کند و با سایر نرم افزارها هم تراز است.

اجازه دهید مثالی بنویسیم تا تراز دو توالی ساده و فرضی را با استفاده از ماژول جفتی پیدا کنیم. این به ما کمک می کند تا مفهوم هم‌ترازسازی توالی و چگونگی برنامه ریزی آن را با استفاده از بایوپایتون درک کنیم.

 

مرحله 1
با دستور زیر، ماژول pairwise2  را به صورت جفتی وارد کنید –

 

گام 2
ایجاد دو توالی seq1 و seq2 –

 

مرحله 3
برای یافتن ترازها با استفاده از کد زیر، متد pairwise2.align.globalxx را به همراه seq1 و seq2 فراخوانی کنید –

در اینجا، متد globalxx کار واقعی را انجام می دهد و بهترین ترازهای ممکن را در توالی های داده شده پیدا می کند. در واقع، Bio.pairwise2 مجموعه ای از متد ها را ارائه می دهد که برای یافتن ترازها در سناریوهای مختلف از قرارداد زیر پیروی می کند.

 

در اینجا، نوع هم‌ترازسازی توالی به نوع ترازبندی اشاره دارد که ممکن است جهانی یا محلی (global or local) باشد. نوع جهانی با در نظر گرفتن توالی کامل، تهم‌ترازسازی توالی را پیدا می کند.

نوع محلی هم‌ترازسازی توالی با جستجوی زیر مجموعه توالی های داده شده نیز می باشد. این  روش ممکن است خسته کننده باشد اما ایده بهتری در مورد شباهت بین توالی های داده شده ارائه می دهد.

  • X به نمره تطبیق (matching score) اشاره دارد. مقادیر ممکن عبارتند از x (مطابقت دقیق) ، m (امتیاز براساس کاراکترهای یکسان) ، d (کاربر فرهنگ لغت را با کاراکتر و نمره مطابقت ارائه می دهد) و در آخر c (تابعتعریف شده توسط کاربر برای ارائه الگوریتم امتیازدهی سفارشی).
  • Y به جریمه پرش (gap penalty) اشاره دارد. مقادیر ممکن عبارتند از x (عدم جریمه پرش) ، s (جریمه پرش های یکسان برای هر دو دنباله) ، d (جریمه پرش های مختلف برای هر دنباله) و در نهایت c (تابع تعریف شده توسط کاربر برای ارائه مجازات های شکاف سفارشی)

 

بنابراین، localds نیز یک متد معتبر است ، که هم‌ترازسازی توالی را با استفاده از تکنیک هم ترازی محلی، کاربر فرهنگ لغت را برای مطابقت و جریمه پرش کاربر را برای هر دو توالی پیدا می کند.

 

در اینجا ، blosum62 به واژه نامه موجود در ماژول pairwise2 برای ارائه نمره مطابقت اشاره دارد. 10- به جریمه باز بودن شکاف و 1- به جریمه گسترش فاصله اشاره دارد.

 

مرحله 4

بر روی شی ترازهای قابل تکرار حلقه بزنید و هر شی هم ترازی جداگانه بگیرید و آن را چاپ کنید.

 

مرحله 5
ماژول Bio.pairwise2 یک روش قالب بندی، format_alignment را برای تجسم بهتر نتیجه فراهم می کند:

 

بایوپایتون همچنین ماژول Align را  برای هم‌ترازسازی توالی فراهم می کند. این ماژول مجموعه ای متفاوت از API را فراهم می کند تا به سادگی تنظیم پارامتر مانند الگوریتم، حالت، نمره مطابقت، جزیمه پرش و غیره انجام شود ، یک نگاه ساده به شی Align به شرح زیر است:

 

پشتیبانی از ابزارهای هم‌ترازسازی توالی

بایوپایتون از طریق ماژول Bio.Align.Applications رابط کاربری بسیاری از ابزارهای هم‌ترازسازی توالی را فراهم می کند. برخی از ابزارها در زیر ذکر شده است –

  • ClustalW
  • MUSCLE
  • EMBOSS needle and water

بیایید یک مثال ساده در بایوپایتون بنویسیم تا هم راستایی توالی را از طریق محبوب ترین ابزار هم‌ترازسازی توالی، یعنی ClustalW ایجاد کنیم.

مرحله 1 – برنامه Clustalw را از http://www.clustal.org/download/current/ دانبود کنید و آن را نصب کنید. همچنین، PATH سیستم را با مسیر نصب “clustal” به روز کنید.

مرحله 2 – ClustalwCommanLine را از ماژول Bio.Align.Applications وارد کنید.

 

مرحله 3 – cmd را با فراخوانی ClustalwCommanLine با فایل ورودی، opuntia.fasta موجود در پکیج بایوپایتون تنظیم کنید. https://raw.githubusercontent.com/biopython/biopython/master/Doc/examples/opuntia.fasta

 

مرحله 4 – با فراخوانی ()cmd دستور clustalw را اجرا می کند و از خروجی فایل هم تراز سازی شده، opuntia.aln ، یک خروجی می دهد.

 

مرحله 5 – فایل هم تراز سازی را به صورت زیر بخوانید و چاپ کنید –

 

منبع.

لیست جلسات قبل آموزش برنامه نویسی بایوپایتون

  1. آموزش برنامه نویسی بایوپایتون (Biopython)
  2. معرفی برنامه نویسی بایوپایتون
  3. آموزش نصب بایوپایتون
  4. ایجاد یک برنامه ساده در برنامه نویسی بایوپایتون
  5. آموزش دنباله در برنامه نویسی بایوپایتون
  6. عملیات توالی پیشرفته در برنامه نویسی بایوپایتون
  7. آموزش توالی ورودی/خروجی در برنامه نویسی بایوپایتون

 

امتیاز دهید post
0
برچسب ها :
نویسنده مطلب saber

دیدگاه شما

بدون دیدگاه