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

3 سال پیش

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

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

پیشنهاد ویژه : آموزش طراحی وب سایت با پایتون

توالی مجموعه ای از حروف است که برای نشان دادن پروتئین، DNA یا RNA ارگانیسم استفاده می شود. توسط کلاس Seq نشان داده می شود. کلاس Seq در ماژول Bio.Seq تعریف شده است.

بیایید یک توالی ساده در بایوپایتون ایجاد کنیم همانطور که در زیر نشان داده شده است –

>>> from Bio.Seq import Seq 
>>> seq = Seq("AGCT") 
>>> seq 
Seq('AGCT') 
>>> print(seq) 
AGCT

 

در اینجا، ما یک توالی پروتئین ساده AGCT ایجاد کرده ایم و هر حرف آلانین ، گلیسین ، سیستئین و ترئونین را نشان می دهد.

هر شی Seq دارای دو ویژگی مهم است –

  1. dat – رشته توالی واقعی (AGCT)
  2. alphabet – برای نشان دادن نوع توالی استفاده می شود. به عنوان مثال، توالی DNA ، توالی RNA و … به طور پیش فرض، هیچ توای ای را نشان نمی دهد و ماهیتی عمومی دارد.

 

ماژول alphabet

شی Seq حاوی ویژگی Alphabet برای تعیین نوع توالی، حروف و عملکردهای احتمالی هستند. این در ماژول Bio.Alphabet تعریف شده است. alphabet را می توان به صورت زیر تعریف کرد

 

>>> from Bio.Seq import Seq 
>>> myseq = Seq("AGCT") 
>>> myseq 
Seq('AGCT') 
>>> myseq.alphabet 
Alphabet()

 

ماژول alphabet کلاس های زیر را برای نمایش انواع مختلف توالی ارائه می دهد.

Alphabet – کلاس پایه برای انواع alphabet.

SingleLetterAlphabet : الفبای عمومی با حروف یک اندازه. این از Alphabet و سایر انواع Alphabet از آن گرفته می شود.

 

>>> from Bio.Seq import Seq 
>>> from Bio.Alphabet import single_letter_alphabet 
>>> test_seq = Seq('AGTACACTGGT', single_letter_alphabet) 
>>> test_seq 
Seq('AGTACACTGGT', SingleLetterAlphabet())

 

ProteinAlphabet – الفبای پروتئین تک حرفی عمومی.

>>> from Bio.Seq import Seq 
>>> from Bio.Alphabet import generic_protein 
>>> test_seq = Seq('AGTACACTGGT', generic_protein) 
>>> test_seq 
Seq('AGTACACTGGT', ProteinAlphabet())

 

 

NucleotideAlphabet – الفبای عمومی تک حرف نوکلئوتید.

 

>>> from Bio.Seq import Seq 
>>> from Bio.Alphabet import generic_nucleotide 
>>> test_seq = Seq('AGTACACTGGT', generic_nucleotide) >>> test_seq 
Seq('AGTACACTGGT', NucleotideAlphabet())

 

 DNAAlphabet – الفبای DNA تک حرفی عمومی.

 

>>> from Bio.Seq import Seq 
>>> from Bio.Alphabet import generic_dna 
>>> test_seq = Seq('AGTACACTGGT', generic_dna) 
>>> test_seq 
Seq('AGTACACTGGT', DNAAlphabet())

 

 RNAAlphabet – الفبای RNA تک حرف عمومی.

>>> from Bio.Seq import Seq 
>>> from Bio.Alphabet import generic_rna 
>>> test_seq = Seq('AGTACACTGGT', generic_rna) 
>>> test_seq 
Seq('AGTACACTGGT', RNAAlphabet())

 

ماژول Biopython ، Bio.Alphabet.IUPAC انواع توالی پایه را به عنوان تعریف شده توسط جامعه IUPAC فراهم می کند. این شامل کلاسهای زیر است –

 

  • (IUPACProtein (protein – الفبای پروتئین IUPAC از ۲۰ اسید آمینه استاندارد.
  • (ExtendedIUPACProtein (extended_protein – پروتئین بزرگ IUPAC با حروف الفبا شامل X.
  • ( DNA_ IUPACAmbiguousDNA (ambiguous_dna -مبهم IUPAC بزرگ.
  • (DNA _ IUPACUnambiguousDNA (unambiguous_dna بدون ابهام IUPAC بزرگ (GATC).
  • ExtendedIUPACDNA (Extended_dna) – الفبای DNA IUPAC توسعه یافته.
  • (RNA  _IUPACAmbiguousRNA (ambiguous_rna مبهم بزرگ IUPAC.
  •   (RNA _ IUPACUnambiguousRNA (unambiguous_rna بدون ابهام IUPAC بزرگ (GAUC).

 

همانطور که در زیر نشان داده شده است، یک مثال ساده برای کلاس پروتئین IUPAC در نظر بگیرید –

 

>>> from Bio.Alphabet import IUPAC 
>>> protein_seq = Seq("AGCT", IUPAC.protein) 
>>> protein_seq 
Seq('AGCT', IUPACProtein()) 
>>> protein_seq.alphabet

 

همچنین، بایوپایتون تمام داده های پیکربندی مربوط به بیوانفورماتیک را از طریق ماژول Bio.Data در معرض دید قرار می دهد. به عنوان مثال ، IUPACData.protein_letters حروف احتمالی الفبای پروتئین را دارد.

>>> from Bio.Data import IUPACData 
>>> IUPACData.protein_letters 
'ACDEFGHIKLMNPQRSTVWY

 

 

 عملیات کلی

این بخش به طور خلاصه در مورد تمام عملیات کلی موجود در کلاس Seq توضیح می دهد. توالی ها شبیه رشته های پایتون است. ما می توانیم عملیات رشته پایتون مانند برش، شمارش، الحاق، پیدا کردن، تقسیم و نوار را به ترتیب دنبال کنیم.

 

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

 

برای بدست آوردن اولین مقدار توالی.

>>> seq_string = Seq("AGCTAGCT") 
>>> seq_string[0] 
'A'

 

برای چاپ دو مقدار اول.

>>> seq_string[0:2] 
Seq('AG')

 

 برای چاپ همه مقادیر.

>>> seq_string[ : ] 
Seq('AGCTAGCT')

 

برای انجام عملیات طول و شمارش.

>>> len(seq_string) 
۸ 
>>> seq_string.count('A') 
۲

 

 

برای اضافه کردن دو توالی.

>>> from Bio.Alphabet import generic_dna, generic_protein 
>>> seq1 = Seq("AGCT", generic_dna) 
>>> seq2 = Seq("TCGA", generic_dna)
>>> seq1+seq2 
Seq('AGCTTCGA', DNAAlphabet())

 

در اینجا، دو شی توالی فوق،seq1 ، seq2 توالی های DNA عمومی هستند و بنابراین می توانید آنها را اضافه کرده و توالی جدید تولید کنید. نمی توانید توالی هایی با حروف ناسازگار مانند توالی پروتئین و توالی DNA به شرح زیر اضافه کنید –

 

>>> dna_seq = Seq('AGTACACTGGT', generic_dna) 
>>> protein_seq = Seq('AGUACACUGGU', generic_protein) 
>>> dna_seq + protein_seq 
..... 
..... 
TypeError: Incompatible alphabets DNAAlphabet() and ProteinAlphabet() 
>>>

 

 

برای افزودن دو یا چند توالی، ابتدا آن را در لیست پایتون ذخیره کنید، سپس با استفاده از ‘for loop’ آن را بازیابی کنید و در آخر همانطور که در زیر نشان داده شده است، با هم اضافه کنید –

 

>>> from Bio.Alphabet import generic_dna 
>>> list = [Seq("AGCT",generic_dna),Seq("TCGA",generic_dna),Seq("AAA",generic_dna)] 
>>> for s in list: 
... print(s) 
... 
AGCT 
TCGA 
AAA 
>>> final_seq = Seq(" ",generic_dna) 
>>> for s in list: 
... final_seq = final_seq + s 
... 
>>> final_seq 
Seq('AGCTTCGAAAA', DNAAlphabet())

 

در بخش زیر، کدهای مختلفی برای بدست آوردن خروجی بر اساس نیاز داده شده است.

 

برای تغییر مورد توالی.

>>> from Bio.Alphabet import generic_rna 
>>> rna = Seq("agct", generic_rna) 
>>> rna.upper() 
Seq('AGCT', RNAAlphabet())

 

برای بررسی عضویت و هویت عملگر پایتون.

>>> rna = Seq("agct", generic_rna) 
>>> 'a' in rna 
True 
>>> 'A' in rna 
False 
>>> rna1 = Seq("AGCT", generic_dna) 
>>> rna is rna1 
False

 

 

برای پیدا کردن یک حرف یا توالی حرف در داخل توالی داده شده.

>>> protein_seq = Seq('AGUACACUGGU', generic_protein) 
>>> protein_seq.find('G') 
۱ 
>>> protein_seq.find('GG') 
۸

 

برای انجام عملیات تقسیم.

>>> protein_seq = Seq('AGUACACUGGU', generic_protein) 
>>> protein_seq.split('A') 
[Seq('', ProteinAlphabet()), Seq('GU', ProteinAlphabet()), 
   Seq('C', ProteinAlphabet()), Seq('CUGGU', ProteinAlphabet())]

 

برای انجام عملیات نوار به ترتیب.

>>> protein_seq = Seq('AGUACACUGGU', generic_protein) 
>>> protein_seq.split('A') 
[Seq('', ProteinAlphabet()), Seq('GU', ProteinAlphabet()), 
   Seq('C', ProteinAlphabet()), Seq('CUGGU', ProteinAlphabet())]

 

منبع.

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

  1. آموزش برنامه نویسی بایوپایتون (Biopython)
  2. معرفی برنامه نویسی بایوپایتون
  3. آموزش نصب بایوپایتون
  4. ایجاد یک برنامه ساده در برنامه نویسی بایوپایتون
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه