آموزش ژنتیک جمعیت در برنامه نویسی بایوپایتون
آموزش ژنتیک جمعیت در برنامه نویسی بایوپایتون
در این درس از آموزش های برنامه نویسی سایت سورس باران، ما در مورد آموزش ژنتیک جمعیت در برنامه نویسی بایوپایتون بحث خواهیم کرد.
پیشنهاد ویژه : پکیج آموزش پروژه محور پایتون
ژنتیک جمعیت نقش مهمی در نظریه تکامل بازی می کند. ژنتیک جمعیت، تفاوت ژنتیکی بین گونه ها و همچنین دو یا چند فرد در یک گونه را تجزیه و تحلیل می کند.
بایوپایتون ماژول Bio.PopGen را برای ژنتیک جمعیت فراهم می کند و عمدتا از GenePop
، یک پکیج ژنتیکی محبوب تهیه شده توسط میشل ریموند و فرانسوا روست پشتیبانی می کند.
تجزیه کننده ساده
اجازه دهید یک برنامه ساده برای تجزیه و تحلیل قالب GenePop و درک مفهوم آن بنویسیم.
فایل genePop ارائه شده توسط تیم بایوپایتون را در پیوند موجود در زیر دانلود کنید −https: //raw.githubusercontent.com/biopython/biopython/master/Tests/PopGen/c3line.gen
ماژول GenePop را با استفاده از قطعه کد زیر بارگیری کنید –
1 |
from Bio.PopGen import GenePop |
فایل را با استفاده از روش GenePop.read به شرح زیر تجزیه کنید:
1 |
record = GenePop.read(open("c3line.gen")) |
مکان ها و اطلاعات جمعیت را به شرح زیر نشان دهید:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
>>> record.loci_list ['136255903', '136257048', '136257636'] >>> record.pop_list ['4', 'b3', '5'] >>> record.populations [[('1', [(3, 3), (4, 4), (2, 2)]), ('2', [(3, 3), (3, 4), (2, 2)]), ('3', [(3, 3), (4, 4), (2, 2)]), ('4', [(3, 3), (4, 3), (None, None)])], [('b1', [(None, None), (4, 4), (2, 2)]), ('b2', [(None, None), (4, 4), (2, 2)]), ('b3', [(None, None), (4, 4), (2, 2)])], [('1', [(3, 3), (4, 4), (2, 2)]), ('2', [(3, 3), (1, 4), (2, 2)]), ('3', [(3, 2), (1, 1), (2, 2)]), ('4', [(None, None), (4, 4), (2, 2)]), ('5', [(3, 3), (4, 4), (2, 2)])]] >>> |
در اینجا، سه جایگاه در فایل وجود دارد و سه مجموعه از جمعیت: جمعیت اول 4 رکورد، جمعیت دوم 3 رکورد و جمعیت سوم 5 رکورد دارد. record.populations تمام مجموعه های جمعیت را با داده های آلل برای هر منبع نشان می دهد.
دستکاری فایل GenePop
بایوپایتون گزینه هایی برای حذف مکان و داده های جمعیت را فراهم می کند.
حذف جمعیت تعیین شده توسط موقعیت
1 2 3 4 5 6 7 8 9 10 11 |
>>> 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)])], [('1', [(3, 3), (4, 4), (2, 2)]), ('2', [(3, 3), (1, 4), (2, 2)]), ('3', [(3, 2), (1, 1), (2, 2)]), ('4', [(None, None), (4, 4), (2, 2)]), ('5', [(3, 3), (4, 4), (2, 2)])]] >>> |
حذف یک مکان را بر اساس موقعیت
1 2 3 4 5 6 7 8 |
>>> record.remove_locus_by_position(0) >>> record.loci_list ['136257048', '136257636'] >>> record.populations [[('b1', [(4, 4), (2, 2)]), ('b2', [(4, 4), (2, 2)]), ('b3', [(4, 4), (2, 2)])], [('1', [(4, 4), (2, 2)]), ('2', [(1, 4), (2, 2)]), ('3', [(1, 1), (2, 2)]), ('4', [(4, 4), (2, 2)]), ('5', [(4, 4), (2, 2)])]] >>> |
حذف منبع با نام
1 2 3 4 5 6 7 |
>>> record.remove_locus_by_name('136257636') >>> record.loci_list ['136257048'] >>> record.populations [[('b1', [(4, 4)]), ('b2', [(4, 4)]), ('b3', [(4, 4)])], [('1', [(4, 4)]), ('2', [(1, 4)]), ('3', [(1, 1)]), ('4', [(4, 4)]), ('5', [(4, 4)])]] >>> |
رابط کاربری با نرم افزار GenePop
بایوپایتون رابط هایی را برای تعامل با نرم افزار GenePop فراهم می کند و از این طریق قابلیت های زیادی را از آن نشان می دهد. برای این منظور از ماژول Bio.PopGen.GenePop استفاده می شود. یکی از رابط های آسان برای استفاده، EasyController است. اجازه دهید نحوه تجزیه فایل GenePop را بررسی کنیم و با استفاده از EasyController برخی از تجزیه و تحلیل ها را انجام دهیم.
ابتدا نرم افزار GenePop را نصب کرده و پوشه نصب را در مسیر سیستم قرار دهید. برای به دست آوردن اطلاعات اولیه در مورد فایل GenePop، یک شی EasyController ایجاد کنید و سپس متد get_basic_info فراخوانی کنیدد که در زیر مشخص شده است:
1 2 3 4 5 |
>>> from Bio.PopGen.GenePop.EasyController import EasyController >>> ec = EasyController('c3line.gen') >>> print(ec.get_basic_info()) (['4', 'b3', '5'], ['136255903', '136257048', '136257636']) >>> |
در اینجا، مورد اول لیست جمعیت و مورد دوم لیست مکان است.
برای به دست آوردن لیست آلل های یک مکان خاص، با عبور از نام مکان به شرح زیر، متد get_alleles_all_pops را فراخوانی کنید –
1 2 3 |
>>> allele_list = ec.get_alleles_all_pops("136255903") >>> print(allele_list) [2, 3] |
برای به دست آوردن لیست آلل ها بر اساس جمعیت و مکان خاص، با عبور از نام مکان و موقعیت جمعیت به شرح زیرget_alleles را فراخوانی کنید:
1 2 3 4 5 6 7 8 9 10 |
>>> 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) [2, 3] >>> |
به همین ترتیب، EasyController بسیاری از ویژگی ها را به نمایش می گذارد: فرکانس آلل، فرکانس ژنوتیپ، آمار چند کانونی F، تعادل هاردی-وینبرگ، عدم تعادل پیوند، و غیره.
لیست جلسات قبل آموزش برنامه نویسی بایوپایتون
- آموزش برنامه نویسی بایوپایتون (Biopython)
- معرفی برنامه نویسی بایوپایتون
- آموزش نصب بایوپایتون
- ایجاد یک برنامه ساده در برنامه نویسی بایوپایتون
- آموزش دنباله در برنامه نویسی بایوپایتون
- عملیات توالی پیشرفته در برنامه نویسی بایوپایتون
- آموزش توالی ورودی/خروجی در برنامه نویسی بایوپایتون
- آموزش همترازسازی توالی در برنامه نویسی بایوپایتون
- بررسی اجمالی BLAST در برنامه نویسی بایوپایتون
- بررسی پایگاه داده Entrez در برنامه نویسی بایوپایتون
- آموزش ماژول PDB در برنامه نویسی بایوپایتون
- آموزش اشیا موتیف در برنامه نویسی بایوپایتون
- آموزش ماژول BioSQL در برنامه نویسی بایوپایتون
دیدگاه شما