Biopython - Tạo ứng dụng đơn giản

Hãy để chúng tôi tạo một ứng dụng Biopython đơn giản để phân tích cú pháp tệp tin sinh học và in nội dung. Điều này sẽ giúp chúng ta hiểu được khái niệm chung về Biopython và nó giúp ích như thế nào trong lĩnh vực tin sinh học.

Step 1 - Đầu tiên, tạo một tệp trình tự mẫu, “example.fasta” và đưa nội dung bên dưới vào đó.

>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

Phần mở rộng, fasta đề cập đến định dạng tệp của tệp trình tự. FASTA bắt nguồn từ phần mềm tin sinh học, FASTA và do đó nó có tên như vậy. Định dạng FASTA có nhiều chuỗi được sắp xếp từng cái một và mỗi chuỗi sẽ có id, tên, mô tả và dữ liệu chuỗi thực tế của riêng nó.

Step 2 - Tạo một tập lệnh python mới, * simple_example.py "và nhập mã bên dưới và lưu nó.

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)

Hãy để chúng tôi xem xét sâu hơn một chút về mã -

Line 1nhập lớp phân tích cú pháp có sẵn trong mô-đun Bio.SeqIO. Mô-đun Bio.SeqIO được sử dụng để đọc và ghi tệp trình tự ở định dạng khác nhau và lớp phân tích cú pháp được sử dụng để phân tích nội dung của tệp trình tự.

Line 2nhập lớp SeqRecord có sẵn trong mô-đun Bio.SeqRecord. Mô-đun này được sử dụng để thao tác các bản ghi trình tự và lớp SeqRecord được sử dụng để biểu diễn một trình tự cụ thể có sẵn trong tệp trình tự.

*Line 3"nhập lớp Seq có sẵn trong mô-đun Bio.Seq. Mô-đun này được sử dụng để thao tác dữ liệu trình tự và lớp Seq được sử dụng để biểu diễn dữ liệu trình tự của một bản ghi trình tự cụ thể có sẵn trong tệp trình tự.

Line 5 mở tệp “example.fasta” bằng cách sử dụng hàm python thông thường, mở.

Line 7 phân tích cú pháp nội dung của tệp trình tự và trả về nội dung dưới dạng danh sách đối tượng SeqRecord.

Line 9-15 lặp qua các bản ghi bằng vòng lặp python for và in các thuộc tính của bản ghi trình tự (SqlRecord) như id, tên, mô tả, dữ liệu trình tự, v.v.

Line 15 in kiểu của dãy bằng cách sử dụng lớp Bảng chữ cái.

Step 3 - Mở dấu nhắc lệnh và đi đến thư mục chứa tệp trình tự, “example.fasta” và chạy lệnh dưới đây -

> python simple_example.py

Step 4- Python chạy tập lệnh và in tất cả dữ liệu trình tự có sẵn trong tệp mẫu, “example.fasta”. Kết quả sẽ tương tự như nội dung sau.

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 
Sequence Alphabet: SingleLetterAlphabet()

Chúng ta đã thấy ba lớp, phân tích cú pháp, SeqRecord và Seq trong ví dụ này. Ba lớp này cung cấp hầu hết các chức năng và chúng ta sẽ tìm hiểu các lớp đó trong phần tới.