Biopython - Đối tượng Motif
Mô típ trình tự là mô hình trình tự nucleotit hoặc axit amin. Các mô típ trình tự được hình thành bởi sự sắp xếp ba chiều của các axit amin có thể không liền nhau. Biopython cung cấp một mô-đun riêng biệt, Bio.motifs để truy cập các chức năng của mô típ trình tự như được chỉ định bên dưới:
from Bio import motifs
Tạo mô hình DNA đơn giản
Hãy để chúng tôi tạo một chuỗi mô típ DNA đơn giản bằng lệnh dưới đây:
>>> from Bio import motifs
>>> from Bio.Seq import Seq
>>> DNA_motif = [ Seq("AGCT"),
... Seq("TCGA"),
... Seq("AACT"),
... ]
>>> seq = motifs.create(DNA_motif)
>>> print(seq) AGCT TCGA AACT
Để đếm các giá trị chuỗi, hãy sử dụng lệnh dưới đây:
>>> print(seq.counts)
0 1 2 3
A: 2.00 1.00 0.00 1.00
C: 0.00 1.00 2.00 0.00
G: 0.00 1.00 1.00 0.00
T: 1.00 0.00 0.00 2.00
Sử dụng mã sau để đếm 'A' trong chuỗi:
>>> seq.counts["A", :]
(2, 1, 0, 1)
Nếu bạn muốn truy cập các cột đếm, hãy sử dụng lệnh dưới đây:
>>> seq.counts[:, 3]
{'A': 1, 'C': 0, 'T': 2, 'G': 0}
Tạo biểu trưng trình tự
Bây giờ chúng ta sẽ thảo luận về cách tạo Biểu trưng trình tự.
Hãy xem xét trình tự dưới đây -
AGCTTACG
ATCGTACC
TTCCGAAT
GGTACGTA
AAGCTTGG
Bạn có thể tạo biểu trưng của riêng mình bằng liên kết sau: http://weblogo.berkeley.edu/
Thêm trình tự trên và tạo một logo mới và lưu hình ảnh có tên seq.png trong thư mục biopython của bạn.
seq.png
Sau khi tạo hình ảnh, bây giờ hãy chạy lệnh sau:
>>> seq.weblogo("seq.png")
Mô típ trình tự DNA này được biểu diễn dưới dạng biểu trưng trình tự cho mô típ liên kết LexA.
Cơ sở dữ liệu JASPAR
JASPAR là một trong những cơ sở dữ liệu phổ biến nhất. Nó cung cấp các phương tiện của bất kỳ định dạng motif nào để đọc, viết và quét trình tự. Nó lưu trữ siêu thông tin cho mỗi mô típ.The module Bio.motifs contains a specialized class jaspar.Motif to represent meta-information attributes.
Nó có các loại thuộc tính đáng chú ý sau:
- matrix_id - ID mô típ JASPAR duy nhất
- tên - Tên của mô típ
- tf_family - Họ mô típ, ví dụ: 'Helix-Loop-Helix'
- data_type - kiểu dữ liệu được sử dụng trong motif.
Hãy để chúng tôi tạo một định dạng trang web JASPAR có tên trong sample.sites trong thư mục biopython. Nó được định nghĩa dưới đây -
sample.sites
>MA0001 ARNT 1
AACGTGatgtccta
>MA0001 ARNT 2
CAGGTGggatgtac
>MA0001 ARNT 3
TACGTAgctcatgc
>MA0001 ARNT 4
AACGTGacagcgct
>MA0001 ARNT 5
CACGTGcacgtcgt
>MA0001 ARNT 6
cggcctCGCGTGc
Trong tệp trên, chúng tôi đã tạo các thể hiện mô típ. Bây giờ, chúng ta hãy tạo một đối tượng motif từ các trường hợp trên -
>>> from Bio import motifs
>>> with open("sample.sites") as handle:
... data = motifs.read(handle,"sites")
...
>>> print(data)
TF name None
Matrix ID None
Matrix:
0 1 2 3 4 5
A: 2.00 5.00 0.00 0.00 0.00 1.00
C: 3.00 0.00 5.00 0.00 0.00 0.00
G: 0.00 1.00 1.00 6.00 0.00 5.00
T: 1.00 0.00 0.00 0.00 6.00 0.00
Tại đây, dữ liệu đọc tất cả các phiên bản motif từ tệp sample.sites.
Để in tất cả các phiên bản từ dữ liệu, hãy sử dụng lệnh dưới đây:
>>> for instance in data.instances:
... print(instance)
...
AACGTG
CAGGTG
TACGTA
AACGTG
CACGTG
CGCGTG
Sử dụng lệnh dưới đây để đếm tất cả các giá trị -
>>> print(data.counts)
0 1 2 3 4 5
A: 2.00 5.00 0.00 0.00 0.00 1.00
C: 3.00 0.00 5.00 0.00 0.00 0.00
G: 0.00 1.00 1.00 6.00 0.00 5.00
T: 1.00 0.00 0.00 0.00 6.00 0.00
>>>