آموزش رسم نمودار در برنامه نویسی بایوپایتون
آموزش رسم نمودار در برنامه نویسی بایوپایتون
در این درس از آموزش های برنامه نویسی سایت سورس باران، ما در مورد آموزش رسم نمودار در برنامه نویسی بایوپایتون بحث خواهیم کرد.
پیشنهاد ویژه : پکیج آموزش پروژه محور پایتون
نقشه برداری
Matplotlib یک کتابخانه رسم نمودار در پایتون است که ارقام با کیفیت را در قالب های مختلف تولید می کند. ما می توانیم انواع مختلفی از نمودارها مانند نمودار خط، هیستوگرام، نمودار میله ای، نمودار دایره ای، نمودار پراکندگی و غیره را ترسیم کنیم.
pyLab ماژولی است که متعلق به matplotlib است و ماژول عددی numpy را با ماژول رسم نمودار pyplot ترکیب می کند. بایوپایتون از ماژول pylab برای ترسیم توالی استفاده می کند. برای انجام این کار، باید کد زیر را وارد کنیم –
1 |
import pylab |
قبل از وارد کردن، ما باید پکیج matplotlib را با استفاده از دستور pip با دستور زیر تعریف کنیم:
1 |
pip install matplotlib |
نمونه فایل ورودی
یک فایل نمونه به نام plot.fasta در فهرست Biopython خود ایجاد کنید و تغییرات زیر را اضافه کنید:
1 2 3 4 5 6 7 8 9 10 11 |
>seq0 FQTWEEFSRAAEKLYLADPMKVRVVLKYRHVDGNLCIKVTDDLVCLVYRTDQAQDVKKIEKF >seq1 KYRTWEEFTRAAEKLYQADPMKVRVVLKYRHCDGNLCIKVTDDVVCLLYRTDQAQDVKKIEKFHSQLMRLME >seq2 EEYQTWEEFARAAEKLYLTDPMKVRVVLKYRHCDGNLCMKVTDDAVCLQYKTDQAQDVKKVEKLHGK >seq3 MYQVWEEFSRAVEKLYLTDPMKVRVVLKYRHCDGNLCIKVTDNSVCLQYKTDQAQDV >seq4 EEFSRAVEKLYLTDPMKVRVVLKYRHCDGNLCIKVTDNSVVSYEMRLFGVQKDNFALEHSLL >seq5 SWEEFAKAAEVLYLEDPMKCRMCTKYRHVDHKLVVKLTDNHTVLKYVTDMAQDVKKIEKLTTLLMR >seq6 FTNWEEFAKAAERLHSANPEKCRFVTKYNHTKGELVLKLTDDVVCLQYSTNQLQDVKKLEKLSSTLLRSI >seq7 SWEEFVERSVQLFRGDPNATRYVMKYRHCEGKLVLKVTDDRECLKFKTDQAQDAKKMEKLNNIFF >seq8 SWDEFVDRSVQLFRADPESTRYVMKYRHCDGKLVLKVTDNKECLKFKTDQAQEAKKMEKLNNIFFTLM >seq9 KNWEDFEIAAENMYMANPQNCRYTMKYVHSKGHILLKMSDNVKCVQYRAENMPDLKK >seq10 FDSWDEFVSKSVELFRNHPDTTRYVVKYRHCEGKLVLKVTDNHECLKFKTDQAQDAKKMEK |
نمودار خطی
حال، اجازه دهید یک نمودار خطی ساده برای فایل fasta فوق ایجاد کنیم.
مرحله 1 – برای خواندن فایل fasta ماژول SeqIO را وارد کنید.
1 |
>>> from Bio import SeqIO |
مرحله 2 – فایل ورودی را تجزیه کنید.
1 2 3 4 5 6 7 |
>>> records = [len(rec) for rec in SeqIO.parse("plot.fasta", "fasta")] >>> len(records) 11 >>> max(records) 72 >>> min(records) 57 |
مرحله 3 – ماژول pylab را وارد کنیم.
1 |
>>> import pylab |
مرحله 4 – با اختصاص تگ های محور x و y نمودار خطی را پیکربندی کنید.
1 2 3 4 5 6 |
>>> pylab.xlabel("sequence length") Text(0.5, 0, 'sequence length') >>> pylab.ylabel("count") Text(0, 0.5, 'count') >>> |
مرحله 5 – نمودار خطی را با تنظیم صفحه نمایش پیکربندی کنید.
1 |
>>> pylab.grid() |
مرحله 6 – با فراخوانی متد نمودار و تهیه رکوردها به عنوان ورودی نمودار خطی ساده رسم کنید.
1 2 |
>>> pylab.plot(records) [<matplotlib.lines.Line2D object at 0x10b6869d 0>] |
مرحله 7 – در آخر نمودار را با استفاده از دستور زیر ذخیره کنید.
1 |
>>> pylab.savefig("lines.png") |
نتیجه
پس از اجرای دستور بالا، می توانید تصویر زیر را در دایرکتوری بایوپایتون خود ذخیره کنید.
نمودار هیستوگرام
از هیستوگرام برای داده های پیوسته استفاده می شود. نمودار هیستوگرام همان نمودار خطی است به جز pylab.plot.
در عوض، متد hist ماژول pylab را با رکورد و مقدار custum برای bin ها فراخوانی کنید. کدگذاری کامل به شرح زیر است:
مرحله 1 – برای خواندن فایل fasta ماژول SeqIO را وارد کنید.
1 |
>>> از Bio import SeqIO |
مرحله 2 – فایل ورودی را تجزیه کنید.
1 2 3 4 5 6 7 |
>>> records = [len(rec) for rec in SeqIO.parse("plot.fasta", "fasta")] >>> len(records) 11 >>> max(records) 72 >>> min(records) 57 |
مرحله 3 – ماژول pylab را وارد کنیم.
1 |
>>> import pylab |
مرحله 4 – با اختصاص تگ های محور x و y نمودار خط را پیکربندی کنید.
1 2 3 4 5 6 |
>>> pylab.xlabel("sequence length") Text(0.5, 0, 'sequence length') >>> pylab.ylabel("count") Text(0, 0.5, 'count') >>> |
مرحله 5 – نمودار خطی را با تنظیم صفحه نمایش پیکربندی کنید.
1 |
>>> pylab.grid() |
مرحله 6 – با فراخوانی روش نمودار و تهیه رکوردها به عنوان ورودی نمودار خطی ساده رسم کنید.
1 2 3 4 |
>>> pylab.hist(records,bins=5) (array([2., 3., 1., 3., 2.]), array([57., 60., 63., 66., 69., 72.]), <a list of 5 Patch objects>) >>> |
مرحله 7 – در آخر نمودار را با استفاده از دستور زیر ذخیره کنید.
1 |
>>> pylab.savefig ("hist.png") |
نتیجه
پس از اجرای دستور بالا، می توانید تصویر زیر را در دایرکتوری پایتون خود ذخیره کنید.
درصد GC در توالی
درصد GC یکی از داده های تحلیلی است که معمولاً برای مقایسه توالی های مختلف استفاده می شود. ما می توانیم با استفاده از GC Percentage از مجموعه ای از توالی ها یک نمودار خطی ساده بسازیم و بلافاصله آن را مقایسه کنیم. در اینجا، ما فقط می توانیم داده ها را از طول توالی به درصد GC تغییر دهیم. کدگذاری کامل آن در زیر آورده شده است
مرحله 1 – برای خواندن فایل fasta ماژول SeqIO را وارد کنید.
1 |
>>> از Bio import SeqIO |
مرحله 2 – فایل ورودی را تجزیه کنید.
1 2 |
>>> from Bio.SeqUtils import GC >>> gc = sorted(GC(rec.seq) for rec in SeqIO.parse("plot.fasta", "fasta")) |
مرحله 3 – ماژول pylab را وارد کنیم.
1 |
>>> import pylab |
مرحله 4 – با اختصاص تگ های محور x و y نمودار خط را پیکربندی کنید.
1 2 3 4 5 6 |
>>> pylab.xlabel("Genes") Text(0.5, 0, 'Genes') >>> pylab.ylabel("GC Percentage") Text(0, 0.5, 'GC Percentage') >>> |
مرحله 5 – نمودار خطی را با تنظیم صفحه نمایش پیکربندی کنید.
1 |
>>> pylab.grid() |
مرحله 6 – با فراخوانی روش نمودار و تهیه رکوردها به عنوان ورودی نمودار خط ساده رسم کنید.
1 2 |
>>> pylab.plot(gc) [<matplotlib.lines.Line2D object at 0x10b6869d 0>] |
مرحله 7 – در آخر نمودار را با استفاده از دستور زیر ذخیره کنید.
1 |
>>> pylab.savefig ("gc.png") |
نتیجه
پس از اجرای دستور بالا، می توانید تصویر زیر را در دایرکتوری بایوپایتون خود ذخیره کنید.
لیست جلسات قبل آموزش برنامه نویسی بایوپایتون
- آموزش برنامه نویسی بایوپایتون (Biopython)
- معرفی برنامه نویسی بایوپایتون
- آموزش نصب بایوپایتون
- ایجاد یک برنامه ساده در برنامه نویسی بایوپایتون
- آموزش دنباله در برنامه نویسی بایوپایتون
- عملیات توالی پیشرفته در برنامه نویسی بایوپایتون
- آموزش توالی ورودی/خروجی در برنامه نویسی بایوپایتون
- آموزش همترازسازی توالی در برنامه نویسی بایوپایتون
- بررسی اجمالی BLAST در برنامه نویسی بایوپایتون
- بررسی پایگاه داده Entrez در برنامه نویسی بایوپایتون
- آموزش ماژول PDB در برنامه نویسی بایوپایتون
- آموزش اشیا موتیف در برنامه نویسی بایوپایتون
- آموزش ماژول BioSQL در برنامه نویسی بایوپایتون
- آموزش ژنتیک جمعیت در برنامه نویسی بایوپایتون
- آموزش آنالیز ژنوم در برنامه نویسی بایوپایتون
- آموزش ریزآرایه فنوتیپ در برنامه نویسی بایوپایتون
دیدگاه شما