آموزش ژنتیک جمعیت در برنامه نویسی بایوپایتون

3 سال پیش

آموزش ژنتیک جمعیت در برنامه نویسی بایوپایتون

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

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

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

بایوپایتون ماژول Bio.PopGen را برای ژنتیک جمعیت فراهم می کند و عمدتا از `GenePop` ، یک پکیج ژنتیکی محبوب تهیه شده توسط میشل ریموند و فرانسوا روست پشتیبانی می کند.

تجزیه کننده ساده

اجازه دهید یک برنامه ساده برای تجزیه و تحلیل قالب GenePop و درک مفهوم آن بنویسیم.

فایل genePop ارائه شده توسط تیم بایوپایتون را در پیوند موجود در زیر دانلود کنید −https: //raw.githubusercontent.com/biopython/biopython/master/Tests/PopGen/c3line.gen

ماژول GenePop را با استفاده از قطعه کد زیر بارگیری کنید –

from Bio.PopGen import GenePop

 

فایل را با استفاده از روش GenePop.read به شرح زیر تجزیه کنید:

record = GenePop.read(open("c3line.gen"))

 

مکان ها و اطلاعات جمعیت را به شرح زیر نشان دهید:

>>> record.loci_list 
['۱۳۶۲۵۵۹۰۳', '۱۳۶۲۵۷۰۴۸', '۱۳۶۲۵۷۶۳۶'] 
>>> record.pop_list 
['۴', 'b3', '5'] 
>>> record.populations 
[[('۱', [(۳, ۳), (۴, ۴), (۲, ۲)]), ('۲', [(۳, ۳), (۳, ۴), (۲, ۲)]), 
   ('۳', [(۳, ۳), (۴, ۴), (۲, ۲)]), ('۴', [(۳, ۳), (۴, ۳), (None, None)])], 
[('b1', [(None, None), (4, 4), (2, 2)]), ('b2', [(None, None), (4, 4), (2, 2)]), 
   ('b3', [(None, None), (4, 4), (2, 2)])], 
[('۱', [(۳, ۳), (۴, ۴), (۲, ۲)]), ('۲', [(۳, ۳), (۱, ۴), (۲, ۲)]), 
   ('۳', [(۳, ۲), (۱, ۱), (۲, ۲)]), ('۴', 
   [(None, None), (4, 4), (2, 2)]), ('5', [(3, 3), (4, 4), (2, 2)])]] 
>>>

 

در اینجا، سه جایگاه در فایل وجود دارد و سه مجموعه از جمعیت: جمعیت اول ۴ رکورد، جمعیت دوم ۳ رکورد و جمعیت سوم ۵ رکورد دارد. record.populations تمام مجموعه های جمعیت را با داده های آلل برای هر منبع نشان می دهد.

دستکاری فایل GenePop 

بایوپایتون گزینه هایی برای حذف مکان و داده های جمعیت را فراهم می کند.

حذف جمعیت تعیین شده توسط موقعیت 

>>> record.remove_population(0) 
>>> record.populations 
[[('b1', [(None, None), (4, 4), (2, 2)]), 
   ('b2', [(None, None), (4, 4), (2, 2)]), 
   ('b3', [(None, None), (4, 4), (2, 2)])], 
   [('۱', [(۳, ۳), (۴, ۴), (۲, ۲)]), 
   ('۲', [(۳, ۳), (۱, ۴), (۲, ۲)]), 
   ('۳', [(۳, ۲), (۱, ۱), (۲, ۲)]), 
   ('۴', [(None, None), (4, 4), (2, 2)]), 
   ('۵', [(۳, ۳), (۴, ۴), (۲, ۲)])]]
>>>

 

حذف یک مکان را بر اساس موقعیت

>>> record.remove_locus_by_position(0) 
>>> record.loci_list 
['۱۳۶۲۵۷۰۴۸', '۱۳۶۲۵۷۶۳۶'] 
>>> record.populations 
[[('b1', [(4, 4), (2, 2)]), ('b2', [(4, 4), (2, 2)]), ('b3', [(4, 4), (2, 2)])], 
   [('۱', [(۴, ۴), (۲, ۲)]), ('۲', [(۱, ۴), (۲, ۲)]), 
   ('۳', [(۱, ۱), (۲, ۲)]), ('۴', [(۴, ۴), (۲, ۲)]), ('۵', [(۴, ۴), (۲, ۲)])]]
>>>

 

حذف منبع با نام 

>>> record.remove_locus_by_name('136257636') >>> record.loci_list 
['۱۳۶۲۵۷۰۴۸'] 
>>> record.populations 
[[('b1', [(4, 4)]), ('b2', [(4, 4)]), ('b3', [(4, 4)])], 
   [('۱', [(۴, ۴)]), ('۲', [(۱, ۴)]), 
   ('۳', [(۱, ۱)]), ('۴', [(۴, ۴)]), ('۵', [(۴, ۴)])]]
>>>

 

رابط کاربری با نرم افزار GenePop

بایوپایتون رابط هایی را برای تعامل با نرم افزار GenePop فراهم می کند و از این طریق قابلیت های زیادی را از آن نشان می دهد. برای این منظور از ماژول Bio.PopGen.GenePop استفاده می شود. یکی از رابط های آسان برای استفاده، EasyController است. اجازه دهید نحوه تجزیه فایل GenePop را بررسی کنیم و با استفاده از EasyController برخی از تجزیه و تحلیل ها را انجام دهیم.

ابتدا نرم افزار GenePop را نصب کرده و پوشه نصب را در مسیر سیستم قرار دهید. برای به دست آوردن اطلاعات اولیه در مورد فایل GenePop، یک شی EasyController ایجاد کنید و سپس متد get_basic_info فراخوانی کنیدد که در زیر مشخص شده است:

>>> from Bio.PopGen.GenePop.EasyController import EasyController 
>>> ec = EasyController('c3line.gen') 
>>> print(ec.get_basic_info()) 
(['۴', 'b3', '5'], ['136255903', '136257048', '136257636'])
>>>

 

در اینجا، مورد اول لیست جمعیت و مورد دوم لیست مکان است.

برای به دست آوردن لیست آلل های یک مکان خاص، با عبور از نام مکان به شرح زیر، متد get_alleles_all_pops را فراخوانی کنید –

>>> allele_list = ec.get_alleles_all_pops("136255903") 
>>> print(allele_list) 
[۲, ۳]

 

برای به دست آوردن لیست آلل ها بر اساس جمعیت و مکان خاص، با عبور از نام مکان و موقعیت جمعیت به شرح زیرget_alleles را فراخوانی کنید:

>>> allele_list = ec.get_alleles(0, "136255903") 
>>> print(allele_list) 
[] 
>>> allele_list = ec.get_alleles(1, "136255903") 
>>> print(allele_list) 
[] 
>>> allele_list = ec.get_alleles(2, "136255903") 
>>> print(allele_list) 
[۲, ۳] 
>>>

 

به همین ترتیب، EasyController بسیاری از ویژگی ها را به نمایش می گذارد: فرکانس آلل، فرکانس ژنوتیپ، آمار چند کانونی F، تعادل هاردی-وینبرگ، عدم تعادل پیوند، و غیره.

منبع.

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

  1. آموزش برنامه نویسی بایوپایتون (Biopython)
  2. معرفی برنامه نویسی بایوپایتون
  3. آموزش نصب بایوپایتون
  4. ایجاد یک برنامه ساده در برنامه نویسی بایوپایتون
  5. آموزش دنباله در برنامه نویسی بایوپایتون
  6. عملیات توالی پیشرفته در برنامه نویسی بایوپایتون
  7. آموزش توالی ورودی/خروجی در برنامه نویسی بایوپایتون
  8.  آموزش هم‌ترازسازی توالی در برنامه نویسی بایوپایتون
  9. بررسی اجمالی BLAST در برنامه نویسی بایوپایتون
  10. بررسی پایگاه داده Entrez در برنامه نویسی بایوپایتون
  11. آموزش ماژول PDB در برنامه نویسی بایوپایتون
  12. آموزش اشیا موتیف در برنامه نویسی بایوپایتون
  13. آموزش ماژول BioSQL در برنامه نویسی بایوپایتون
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه