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

3 سال پیش

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

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

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

 

نقشه برداری 

Matplotlib یک کتابخانه رسم نمودار در پایتون است که ارقام با کیفیت را در قالب های مختلف تولید می کند. ما می توانیم انواع مختلفی از نمودارها مانند نمودار خط، هیستوگرام، نمودار میله ای، نمودار دایره ای، نمودار پراکندگی و غیره را ترسیم کنیم.

pyLab ماژولی است که متعلق به matplotlib است و ماژول عددی numpy را با ماژول رسم نمودار pyplot ترکیب می کند. بایوپایتون از ماژول pylab برای ترسیم توالی استفاده می کند. برای انجام این کار، باید کد زیر را وارد کنیم –

import pylab

 

قبل از وارد کردن، ما باید پکیج matplotlib را با استفاده از دستور pip با دستور زیر تعریف کنیم:

pip install matplotlib

 

نمونه فایل ورودی

یک فایل نمونه به نام plot.fasta در فهرست Biopython خود ایجاد کنید و تغییرات زیر را اضافه کنید:

>seq0 FQTWEEFSRAAEKLYLADPMKVRVVLKYRHVDGNLCIKVTDDLVCLVYRTDQAQDVKKIEKF 
>seq1 KYRTWEEFTRAAEKLYQADPMKVRVVLKYRHCDGNLCIKVTDDVVCLLYRTDQAQDVKKIEKFHSQLMRLME 
>seq2 EEYQTWEEFARAAEKLYLTDPMKVRVVLKYRHCDGNLCMKVTDDAVCLQYKTDQAQDVKKVEKLHGK 
>seq3 MYQVWEEFSRAVEKLYLTDPMKVRVVLKYRHCDGNLCIKVTDNSVCLQYKTDQAQDV
>seq4 EEFSRAVEKLYLTDPMKVRVVLKYRHCDGNLCIKVTDNSVVSYEMRLFGVQKDNFALEHSLL 
>seq5 SWEEFAKAAEVLYLEDPMKCRMCTKYRHVDHKLVVKLTDNHTVLKYVTDMAQDVKKIEKLTTLLMR 
>seq6 FTNWEEFAKAAERLHSANPEKCRFVTKYNHTKGELVLKLTDDVVCLQYSTNQLQDVKKLEKLSSTLLRSI 
>seq7 SWEEFVERSVQLFRGDPNATRYVMKYRHCEGKLVLKVTDDRECLKFKTDQAQDAKKMEKLNNIFF 
>seq8 SWDEFVDRSVQLFRADPESTRYVMKYRHCDGKLVLKVTDNKECLKFKTDQAQEAKKMEKLNNIFFTLM 
>seq9 KNWEDFEIAAENMYMANPQNCRYTMKYVHSKGHILLKMSDNVKCVQYRAENMPDLKK
>seq10 FDSWDEFVSKSVELFRNHPDTTRYVVKYRHCEGKLVLKVTDNHECLKFKTDQAQDAKKMEK

 

نمودار خطی

حال، اجازه دهید یک نمودار خطی ساده برای فایل fasta فوق ایجاد کنیم.

مرحله ۱ – برای خواندن فایل fasta ماژول SeqIO را وارد کنید.

>>> from Bio import SeqIO

 

مرحله ۲ – فایل ورودی را تجزیه کنید.

>>> records = [len(rec) for rec in SeqIO.parse("plot.fasta", "fasta")] 
>>> len(records) 
۱۱ 
>>> max(records) 
۷۲ 
>>> min(records) 
۵۷

 

مرحله ۳ – ماژول pylab را وارد کنیم.

>>> import pylab

 

مرحله ۴ – با اختصاص تگ های محور x و y نمودار خطی را پیکربندی کنید.

>>> pylab.xlabel("sequence length") 
Text(0.5, 0, 'sequence length') 

>>> pylab.ylabel("count") 
Text(0, 0.5, 'count') 
>>>

 

مرحله ۵ – نمودار خطی را با تنظیم صفحه نمایش پیکربندی کنید.

>>> pylab.grid()

 

مرحله ۶ – با فراخوانی متد نمودار و تهیه رکوردها به عنوان ورودی نمودار خطی ساده رسم کنید.

>>> pylab.plot(records) 
[<matplotlib.lines.Line2D object at 0x10b6869d 0>]

 

مرحله ۷ – در آخر نمودار را با استفاده از دستور زیر ذخیره کنید.

>>> pylab.savefig("lines.png")

 

نتیجه

پس از اجرای دستور بالا، می توانید تصویر زیر را در دایرکتوری بایوپایتون خود ذخیره کنید.

Line Plot

 

نمودار هیستوگرام

از هیستوگرام برای داده های پیوسته استفاده می شود. نمودار هیستوگرام همان نمودار خطی است به جز pylab.plot.

در عوض، متد hist ماژول pylab را با رکورد و  مقدار custum برای bin ها فراخوانی کنید. کدگذاری کامل به شرح زیر است:

مرحله ۱ – برای خواندن فایل fasta ماژول SeqIO را وارد کنید.

>>> از Bio import SeqIO

 

مرحله ۲ – فایل ورودی را تجزیه کنید.

>>> records = [len(rec) for rec in SeqIO.parse("plot.fasta", "fasta")] 
>>> len(records) 
۱۱ 
>>> max(records) 
۷۲ 
>>> min(records) 
۵۷

 

مرحله ۳ – ماژول pylab را وارد کنیم.

>>> import pylab

 

مرحله ۴ – با اختصاص تگ های محور x و y نمودار خط را پیکربندی کنید.

>>> pylab.xlabel("sequence length") 
Text(0.5, 0, 'sequence length') 

>>> pylab.ylabel("count") 
Text(0, 0.5, 'count') 
>>>

 

مرحله ۵ – نمودار خطی را با تنظیم صفحه نمایش پیکربندی کنید.

>>> pylab.grid()

 

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

>>> pylab.hist(records,bins=5) 
(array([2., 3., 1., 3., 2.]), array([57., 60., 63., 66., 69., 72.]), <a list 
of 5 Patch objects>) 
>>>

 

مرحله ۷ – در آخر نمودار را با استفاده از دستور زیر ذخیره کنید.

>>> pylab.savefig ("hist.png")

 

نتیجه

پس از اجرای دستور بالا، می توانید تصویر زیر را در دایرکتوری پایتون خود ذخیره کنید.

Histogram Chart

درصد GC در توالی

درصد GC یکی از داده های تحلیلی است که معمولاً برای مقایسه توالی های مختلف استفاده می شود. ما می توانیم با استفاده از GC Percentage از مجموعه ای از توالی ها یک نمودار خطی ساده بسازیم و بلافاصله آن را مقایسه کنیم. در اینجا، ما فقط می توانیم داده ها را از طول توالی به درصد GC تغییر دهیم. کدگذاری کامل آن در زیر آورده شده است

مرحله ۱ – برای خواندن فایل fasta ماژول SeqIO را وارد کنید.

>>> از Bio import SeqIO

 

مرحله ۲ – فایل ورودی را تجزیه کنید.

>>> from Bio.SeqUtils import GC 
>>> gc = sorted(GC(rec.seq) for rec in SeqIO.parse("plot.fasta", "fasta"))

 

مرحله ۳ – ماژول pylab را وارد کنیم.

>>> import pylab

 

مرحله ۴ – با اختصاص تگ های محور x و y نمودار خط را پیکربندی کنید.

>>> pylab.xlabel("Genes") 
Text(0.5, 0, 'Genes') 

>>> pylab.ylabel("GC Percentage") 
Text(0, 0.5, 'GC Percentage') 
>>>

 

مرحله ۵ – نمودار خطی را با تنظیم صفحه نمایش پیکربندی کنید.

>>> pylab.grid()

 

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

>>> pylab.plot(gc) 
[<matplotlib.lines.Line2D object at 0x10b6869d 0>]

 

مرحله ۷ – در آخر نمودار را با استفاده از دستور زیر ذخیره کنید.

>>> pylab.savefig ("gc.png")

 

نتیجه

پس از اجرای دستور بالا، می توانید تصویر زیر را در دایرکتوری بایوپایتون خود ذخیره کنید.

GC Percentage in Sequence

منبع.

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

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

دیدگاه شما

بدون دیدگاه