بایوپایتون ابزاری پیتون منبع باز است که عمدتاً در زمینه بیوانفورماتیک استفاده میشود. این آموزش اصول اولیه بستهBiopython، بررسی اجمالی بیوانفورماتیک، دستکاری توالی و رسم، ژنتیک جمعیت، تجزیه و تحلیل خوشه، تجزیه و تحلیل ژنوم، اتصال به پایگاه دادههای BioSQL را مرور میکند و در پایان با چند مثال به پایان میرسد.
این آموزش برای حرفهایهایی که قصد دارند در زمینه برنامه نویسی بیوانفورماتیک با استفاده از پایتون به عنوان ابزار برنامه نویسی فعالیت کنند، تهیه شده است. این آموزش به منظور راحتی شما در شروع کار با مفاهیم بایوپایتون و توابع مختلف آن است.
قبل از ادامه کار و ارئه انواع مفاهیم در این آموزش، فرض بر این است که خوانندگان از قبل در مورد بیوانفورماتیک آگاهی داشتهاند. علاوه بر این، اگر خوانندگان دانش کاملی در مورد پایتون داشته باشند، بسیار مفید خواهد بود.
اجازه دهید ایجاد یک برنامه ساده در برنامه نویسی بایوپایتون برای تجزیه یک فایل بیوانفورماتیک و چاپ محتوا ایجاد کنیم. این به ما کمک میکند تا مفهوم کلی بایوپایتون و چگونگی کمک به آن را در زمینه بیوانفورماتیک درک کنیم.
مرحله ۱ – ابتدا، یک نمونه فایل توالی، “example.fasta” ایجاد کنید و محتوای زیر را در آن قرار دهید
>sp|P25730|FMS1_ECOLI CS1 fimbrial subunit A precursor (CS1 pilin)
MKLKKTIGAMALATLFATMGASAVEKTISVTASVDPTVDLLQSDGSALPNSVALTYSPAV
NNFEAHTINTVVHTNDSDKGVVVKLSADPVLSNVLNPTLQIPVSVNFAGKPLSTTGITID
SNDLNFASSGVNKVSSTQKLSIHADATRVTGGALTAGQYQGLVSIILTKSTTTTTTTKGT
>sp|P15488|FMS3_ECOLI CS3 fimbrial subunit A precursor (CS3 pilin)
MLKIKYLLIGLSLSAMSSYSLAAAGPTLTKELALNVLSPAALDATWAPQDNLTLSNTGVS
NTLVGVLTLSNTSIDTVSIASTNVSDTSKNGTVTFAHETNNSASFATTISTDNANITLDK
NAGNTIVKTTNGSQLPTNLPLKFITTEGNEHLVSGNYRANITITSTIKGGGTKKGTTDKK
پسوند fasta به قالب فایل توالی اشاره دارد. FASTA از نرم افزار بیوانفورماتیک FASTA نشات گرفته است. قالب FASTA دارای چندین توالی است که یک به یک مرتب شدهاند و هر دنباله شناسه، نام، توضیحات و دادههای توالی واقعی خود را دارد.
مرحله ۲ – یک اسکریپت پایتون جدید ایجاد کنید، * simple_example.py “و کد زیر را وارد کنید و آن را ذخیره کنید.
from Bio.SeqIO import parse
from Bio.SeqRecord import SeqRecord
from Bio.Seq import Seq
file = open("example.fasta")
records = parse(file, "fasta") for record in records:
print("Id: %s" % record.id)
print("Name: %s" % record.name)
print("Description: %s" % record.description)
print("Annotations: %s" % record.annotations)
print("Sequence Data: %s" % record.seq)
print("Sequence Alphabet: %s" % record.seq.alphabet)
اجازه دهید کمی بیشتر کد را بررسی کنیم.
خط ۱- کلاس تجزیه موجود در ماژول Bio.SeqIO را وارد میکند. ماژول Bio.SeqIO برای خواندن و نوشتن فایل توالی در قالبهای مختلف و کلاس “تجزیه” (`parse’) برای تجزیه محتوای فایل توالی استفاده میشود.
خط ۲- کلاس SeqRecord موجود در ماژول Bio.SeqRecord را وارد میکند. این ماژول برای دستکاری سوابق توالی و کلاس SeqRecord برای نشان دادن یک توالی خاص موجود در فایل توالی استفاده میشود.
* خط ۳- کلاس Seq موجود در ماژول Bio.Seq را وارد میکند. این ماژول برای دستکاری دادههای توالی و کلاس Seq برای نشان دادن دادههای توالی یک رکورد توالی خاص موجود در پرونده توالی استفاده میشود.
خط ۵ – با استفاده از تابع منظم پایتون، پرونده “example.fasta” را باز میکند.
خط ۷ – محتوای فایل توالی را تجزیه میکند و محتوا را به عنوان لیستشی SeqRecord برمی گرداند.
خط ۹-۱۵ با استفاده از python for loop بر روی سوابق حلقه می زند و ویژگیهای رکورد توالی (SqlRecord) مانند شناسه، نام، توضیحات، دادههای توالی و غیره را چاپ میکند.
خط ۱۵- نوع توالی را با استفاده از کلاس Alphabet چاپ میکند.
مرحله ۳ – یک خط فرمان باز کنید و به پوشه حاوی فایل توالی، “example.fasta” بروید و دستور زیر را اجرا کنید –
> python simple_example.py
مرحله ۴ – پایتون اسکریپت را اجرا میکند و تمام دادههای توالی موجود در فایل نمونه را چاپ میکند، “example.fasta”. خروجی مشابه محتوای زیر خواهد بود.
Id: sp|P25730|FMS1_ECOLI
Name: sp|P25730|FMS1_ECOLI
Decription: sp|P25730|FMS1_ECOLI CS1 fimbrial subunit A precursor (CS1 pilin)
Annotations: {}
Sequence Data: MKLKKTIGAMALATLFATMGASAVEKTISVTASVDPTVDLLQSDGSALPNSVALTYSPAVNNFEAHTINTVVHTNDSD
KGVVVKLSADPVLSNVLNPTLQIPVSVNFAGKPLSTTGITIDSNDLNFASSGVNKVSSTQKLSIHADATRVTGGALTA
GQYQGLVSIILTKSTTTTTTTKGT
Sequence Alphabet: SingleLetterAlphabet()
Id: sp|P15488|FMS3_ECOLI
Name: sp|P15488|FMS3_ECOLI
Decription: sp|P15488|FMS3_ECOLI CS3 fimbrial subunit A precursor (CS3 pilin)
Annotations: {}
Sequence Data: MLKIKYLLIGLSLSAMSSYSLAAAGPTLTKELALNVLSPAALDATWAPQDNLTLSNTGVSNTLVGVLTLSNTSIDTVS
IASTNVSDTSKNGTVTFAHETNNSASFATTISTDNANITLDKNAGNTIVKTTNGSQLPTNLPLKFITTEGNEHLVSGN
YRANITITSTIKGGGTKKGTTDKK uence Alphabet: SingleLetterAlphabet()
ما در این مثال سه کلاس parse، SeqRecord و Seq را دیدهایم. این سه کلاس بیشتر قابلیتها