Biopython - Hoạt động trình tự nâng cao

Trong chương này, chúng ta sẽ thảo luận về một số tính năng trình tự nâng cao do Biopython cung cấp.

Bổ sung và Bổ sung ngược

Trình tự nucleotide có thể được bổ sung ngược lại để có được trình tự mới. Ngoài ra, trình tự bổ sung có thể được bổ sung ngược lại để có được trình tự ban đầu. Biopython cung cấp hai phương pháp để thực hiện chức năng này -complementreverse_complement. Mã cho điều này được cung cấp dưới đây:

>>> from Bio.Alphabet import IUPAC 
>>> nucleotide = Seq('TCGAAGTCAGTC', IUPAC.ambiguous_dna) 
>>> nucleotide.complement() 
Seq('AGCTTCAGTCAG', IUPACAmbiguousDNA()) 
>>>

Ở đây, phương thức bổ sung () cho phép bổ sung một chuỗi DNA hoặc RNA. Phương thức reverse_complement () bổ sung và đảo ngược chuỗi kết quả từ trái sang phải. Nó được hiển thị bên dưới -

>>> nucleotide.reverse_complement() 
Seq('GACTGACTTCGA', IUPACAmbiguousDNA())

Biopython sử dụng biếniguous_dna_complement được cung cấp bởi Bio.Data.IUPACData để thực hiện hoạt động bổ sung.

>>> from Bio.Data import IUPACData 
>>> import pprint 
>>> pprint.pprint(IUPACData.ambiguous_dna_complement) {
   'A': 'T',
   'B': 'V',
   'C': 'G',
   'D': 'H',
   'G': 'C',
   'H': 'D',
   'K': 'M',
   'M': 'K',
   'N': 'N',
   'R': 'Y',
   'S': 'S',
   'T': 'A',
   'V': 'B',
   'W': 'W',
   'X': 'X',
   'Y': 'R'} 
>>>

Nội dung GC

Thành phần cơ sở DNA bộ gen (hàm lượng GC) được dự đoán sẽ ảnh hưởng đáng kể đến hoạt động của bộ gen và sinh thái loài. Hàm lượng GC là số lượng nucleotide GC chia cho tổng số nucleotide.

Để nhận nội dung nucleotide GC, hãy nhập mô-đun sau và thực hiện các bước sau:

>>> from Bio.SeqUtils import GC 
>>> nucleotide = Seq("GACTGACTTCGA",IUPAC.unambiguous_dna) 
>>> GC(nucleotide) 
50.0

Phiên mã

Phiên mã là quá trình thay đổi chuỗi DNA thành chuỗi RNA. Quá trình phiên mã sinh học thực tế đang thực hiện bổ sung ngược (TCAG → CUGA) để lấy mRNA coi DNA là sợi khuôn. Tuy nhiên, trong tin sinh học và trong Biopython cũng vậy, chúng ta thường làm việc trực tiếp với chuỗi mã hóa và chúng ta có thể nhận được trình tự mRNA bằng cách thay đổi chữ T thành U.

Ví dụ đơn giản cho phần trên như sau:

>>> from Bio.Seq import Seq 
>>> from Bio.Seq import transcribe 
>>> from Bio.Alphabet import IUPAC 
>>> dna_seq = Seq("ATGCCGATCGTAT",IUPAC.unambiguous_dna) >>> transcribe(dna_seq) 
Seq('AUGCCGAUCGUAU', IUPACUnambiguousRNA()) 
>>>

Để đảo ngược phiên mã, T được đổi thành U như trong đoạn mã dưới đây -

>>> rna_seq = transcribe(dna_seq) 
>>> rna_seq.back_transcribe() 
Seq('ATGCCGATCGTAT', IUPACUnambiguousDNA())

Để lấy chuỗi khuôn mẫu DNA, hãy đảo ngược_complement RNA phiên mã phía sau như được đưa ra bên dưới:

>>> rna_seq.back_transcribe().reverse_complement() 
Seq('ATACGATCGGCAT', IUPACUnambiguousDNA())

Dịch

Dịch mã là một quá trình dịch chuỗi RNA sang chuỗi protein. Hãy xem xét một chuỗi RNA như hình dưới đây:

>>> rna_seq = Seq("AUGGCCAUUGUAAU",IUPAC.unambiguous_rna) 
>>> rna_seq 
Seq('AUGGCCAUUGUAAUGGGCCGCUGAAAGGGUGCCCGAUAG', IUPACUnambiguousRNA())

Bây giờ, hãy áp dụng hàm translate () cho đoạn mã trên -

>>> rna_seq.translate() 
Seq('MAIV', IUPACProtein())

Trình tự RNA trên là đơn giản. Xem xét trình tự RNA, AUGGCCAUUGUAAUGGGCCGCUGAAAGGGUGCCCGA và áp dụng dịch () -

>>> rna = Seq('AUGGCCAUUGUAAUGGGCCGCUGAAAGGGUGCCCGA', IUPAC.unambiguous_rna) 
>>> rna.translate() 
Seq('MAIVMGR*KGAR', HasStopCodon(IUPACProtein(), '*'))

Tại đây, các mã dừng được biểu thị bằng dấu sao '*'.

Trong phương thức translate () có thể dừng ở codon dừng đầu tiên. Để thực hiện việc này, bạn có thể gán to_stop = True trong translate () như sau:

>>> rna.translate(to_stop = True) 
Seq('MAIVMGR', IUPACProtein())

Ở đây, codon dừng không được bao gồm trong trình tự kết quả vì nó không chứa mã này.

Bảng dịch

Trang Mã di truyền của NCBI cung cấp danh sách đầy đủ các bảng dịch được Biopython sử dụng. Hãy để chúng tôi xem một ví dụ cho bảng tiêu chuẩn để hình dung mã -

>>> from Bio.Data import CodonTable 
>>> table = CodonTable.unambiguous_dna_by_name["Standard"] 
>>> print(table) 
Table 1 Standard, SGC0
   | T       | C       | A       | G       | 
 --+---------+---------+---------+---------+-- 
 T | TTT F   | TCT S   | TAT Y   | TGT C   | T
 T | TTC F   | TCC S   | TAC Y   | TGC C   | C
 T | TTA L   | TCA S   | TAA Stop| TGA Stop| A
 T | TTG L(s)| TCG S   | TAG Stop| TGG W   | G 
 --+---------+---------+---------+---------+--
 C | CTT L   | CCT P   | CAT H   | CGT R   | T
 C | CTC L   | CCC P   | CAC H   | CGC R   | C
 C | CTA L   | CCA P   | CAA Q   | CGA R   | A
 C | CTG L(s)| CCG P   | CAG Q   | CGG R   | G 
 --+---------+---------+---------+---------+--
 A | ATT I   | ACT T   | AAT N   | AGT S   | T
 A | ATC I   | ACC T   | AAC N   | AGC S   | C
 A | ATA I   | ACA T   | AAA K   | AGA R   | A
 A | ATG M(s)| ACG T   | AAG K   | AGG R   | G 
 --+---------+---------+---------+---------+--
 G | GTT V   | GCT A   | GAT D   | GGT G   | T
 G | GTC V   | GCC A   | GAC D   | GGC G   | C
 G | GTA V   | GCA A   | GAA E   | GGA G   | A
 G | GTG V   | GCG A   | GAG E   | GGG G   | G 
 --+---------+---------+---------+---------+-- 
>>>

Biopython sử dụng bảng này để dịch DNA thành protein cũng như tìm mã số Stop.