Tải bản đầy đủ (.doc) (72 trang)

Phân tích trình tự trong tin sinh học và ứng dụng trên cơ sở dữ liệu genome tôm sú

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.64 MB, 72 trang )

1

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

VŨ ĐÌNH GIANG

PHÂN TÍCH TRÌNH TỰ TRONG TIN SINH
HỌC VÀ ỨNG DỤNG TRÊN CƠ SỞ DỮ LIỆU
GENOME TÔM SÚ
CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH
MÃ SỐ : 60.48.01

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

NGƯỜI HƯỚNG DẪN KHOA HỌC
TS. Nguyễn Long Giang

Thái Nguyên - 2014


2

MỤC LỤC
MỤC
LỤC..........................................................................................................................................................1
Danh mục các thuật
ngữ...................................................................................................................................4
Danh sách
bảng..................................................................................................................................................5
Danh sách hình


vẽ..............................................................................................................................................6
MỞ
ĐẦU............................................................................................................................................................7
MỞ
ĐẦU............................................................................................................................................................7
Chương 1. CÁC KHÁI NIỆM CƠ
BẢN....................................................................................................9
1.1. Các khái niệm cơ bản trong sinh học phân tử.............................................................
9
1.2. Các bài toán cơ bản trong tin sinh học ......................................................................
12
1.3. Các ứng dụng của tin sinh học...................................................................................
13
1.4. Một số cơ sở dữ liệu sinh học lớn trên thế giới ........................................................
14
Chương 2. BÀI TOÁN PHÂN TÍCH MỐI QUAN HỆ GIỮA CÁC TRÌNH TỰ
........................19
2.1. Bài toán phân tích mối quan hệ giữa hai trình tự......................................................
19
2.1.1. Giới thiệu bài toán ...........................................................................................19
2.1.2. Phương pháp giải quyết bài toán .....................................................................20
2.1.3. Thuật toán Needleman-Wunsch.......................................................................23

2.2. Bài toán phân tích mối quan hệ cục bộ giữa hai trình tự..........................................
26
2.1.4. Giới thiệu bài toán ...........................................................................................26
2.1.5. Thuật toán phân tích mối quan hệ cục bộ giữa hai trình tự .............................27

2.3. Tìm kiếm trình tự tương đồng bằng BLAST............................................................
31



3

2.3.1. Giới thiệu bài toán ...........................................................................................31
2.3.2. Thuật toán BLAST...........................................................................................31

2.4. Bài toán phân tích mối quan hệ giữa đa trình tự.......................................................
34
2.4.1. Giới thiệu bài toán ...........................................................................................34
2.4.2. Thuật toán quy hoạch động..............................................................................36
2.4.3. Thuật toán ngôi sao..........................................................................................39
2.4.4. Thuật toán sắp hàng lũy tiến ............................................................................42

Chương 3. XÂY DỰNG CSDL HỆ GIEN TÔM SÚ VÀ TÍCH HỢP CÔNG CỤ
BLAST ......48
3.1. Kiến trúc hệ thống ......................................................................................................
48


4

3.2. Thiết kế cơ sở dữ liệu .................................................................................................
49
3.2.1. Nguồn số liệu đầu vào .....................................................................................49
3.2.2. Thiết kế cơ sở dữ liệu ......................................................................................49

3.3. Thiết kế chức năng hệ thống......................................................................................
53
3.3.1. Mô hình phân cấp chức năng ...........................................................................53

3.3.2. Mô hình luồng dữ liệu .....................................................................................55
3.3.3. Đặc tả chi tiết một số chức năng cơ bản ..........................................................57

3.4. Một số giao diện chương trình...................................................................................
64
3.4.1. Giao diện trang chủ ..........................................................................................64
3.4.2. Nạp dữ liệu từ tệp XML...................................................................................64
3.4.3. Nhập dữ liệu các trình tự Protein, Nucleotide, EST ........................................64
3.4.4. Tra cứu thông tin..............................................................................................66
3.4.5. Tìm kiếm chuỗi tương đồng bằng BLAST ......................................................67

KẾT LUẬN......................................................................................................................................................68
Tài liệu tham khảo
...........................................................................................................................................69


5

Danh mục các thuật ngữ
Thuật ngữ tiếng Anh

Thuật ngữ tiếng Việt

Bioinformatics

Tin sinh học

Molecular biology

Sinh học phân tử


Nucleic acid

Axít nuclêic

DNA

AND

RNA

ARN

Nucleotide

Nuclêôtít

Protein

Prôtêin

Amino Acid

Axít amin

Gene

Gien

Genome


Hệ gien

Cromosome

Nhiễm sắc thể

Sequence

Trình tự

Pairwise alignment

Sắp hàng trình tự


6

Danh sách bảng
Bảng 1.1. Tên đầy đủ, tên viết tắt của 5 loại nuclêôtít: ......................................................... 9
Bảng 1.2. Tên đầy đủ, tên viết tắt của 5 loại nuclêôtít......................................................... 11
Bảng 2.1. Hai trình tự AND X và Y ..................................................................................... 19
Bảng 2.2. Hai trình tự



sau khi được sắp hàng ........................................................ 20

Bảng 2.3. Các cách sắp hàng khác nhau hai trình tự X và Y .............................................. 21
Bảng 2.4. Ma trận điểm giữa các nuclêôtít ......................................................................... 22

Bảng 2.5. Các cách sắp hàng khác nhau với tổng điểm khác nhau .................................... 23
Bảng 2.6. Bảng F của thuật toán quy hoạch động trên hai trình tự ADN .......................... 25
Bảng 2.7. Sắp hàng hai trình tự X và Y với tổng điểm lớn nhất.......................................... 26
Bảng 2.8. Ma trận quy hoạch động F của bài toán sắp hàng cục bộ hai trình tự AND X và
Y ................................................................................................................................... 30
Bảng 2.9. Sắp hàng cục bộ hai trình tự X và Y ................................................................... 30
Bảng 2.10. Minh họa ý tưởng của thuật toán BLAST ......................................................... 32
Bảng 2.11. Ba bắt cặp XY, XZ, YZ tương thích với nhau có thể kết hợp thành sắp hàng 3
trình tự ......................................................................................................................... 36
Bảng 2.12. Ba bắt cặp XY, XZ, YZ không tương thích với nhau để kết hợp thành sắp hàng
3 trình tự ...................................................................................................................... 36
Bảng 2.13. Sắp hàng tối ứu ba trình tự X, Y, Z ................................................................... 39


7

Danh sách hình vẽ

Hình 1.1. Minh họa cấu trúc một Axit amin ...................................................................... 10
Hình 1.2. Trung tâm thông tin công nghệ sinh học Hoa Kỳ .............................................. 15
Hình 1.3. Cấu trúc cơ bản của NCBI ................................................................................. 16
Hình 2.1. Sắp hàng lũy tiến với 5 trình tự .......................................................................... 43
Hình 3.1. Kiến trúc hệ thống CSDL hệ gien tôm Sú........................................................... 49
Hình 3.2. Mô hình CSDL hệ gien tôm Sú ........................................................................... 50


8

MỞ ĐẦU
Tin sinh học (bioinformatics) là một lĩnh vực khoa học sử dụng các công nghệ

của các ngành tin học, toán học ứng dụng, thống kê và khoa học máy tính để giải
quyết các bài toán trong sinh học. Tin sinh học bao gồm việc xây dựng, quản lý và
lưu trữ nguồn dữ liệu quy mô toàn cầu liên quan đến sinh học, trên đó xây dựng và
hoàn thiện các chương trình máy tính xử lý dữ liệu, là công cụ hỗ trợ hiệu quả cho
việc nghiên cứu, khám phá bản chất sinh học của giới tự nhiên và sản xuất ra các
sản phẩm sinh học mong muốn phục vụ đời sống con người. Tin sinh học có tính
ứng dụng cao trong cuộc sống, đặc biệt là trong lĩnh vực công nghệ sinh học, nông
nghiệp và y dược. Các bài toán cơ bản trong tin sinh học bao gồm: quản lý và lưu
trữ dữ liệu, phân tích mối quan hệ giữa các trình tự, dự đoán cấu trúc các trình tự,
mô hình hóa, nghiên cứu tiến hóa. [4]
Một trong những bài toán quan trọng trong tin sinh học là phân tích mối quan
hệ giữa các trình tự, gọi tắt là phân tích trình tự. Các bài toán cơ bản trong phân tích
trình tự là: tìm kiếm trình tự tương đồng trong cơ sở dữ liệu; sắp hàng trình tự;
chuyển đổi trình tự. Mục tiêu của phân tích trình tự là:
Xác định các gien và các chức năng của từng gien.
Xác định sự lặp lại của các trình tự.
Xác định protêin dựa trên quy tắc sắp đặt của các biểu thức gien.
Xác định các vùng chức năng khác nhau của ADN.
Mục tiêu của luận văn là:
1) Nắm bắt được các khái niệm cơ bản trong tin sinh học và các cơ sở dữ liệu
sinh học lớn trên thế giới, các phương pháp giải quyết bài toán sắp hàng trình tự,
một trong những bài toán cơ bản trong phân tích trình tự.
2) Xây dựng cơ sở dữ liệu cục bộ lưu trữ các chuỗi gien tôm sú (bao gồm các
chuỗi nuclêôtít, protêin và EST) và tích hợp các công cụ phân tích trình tự nhằm
mục đích làm sáng tỏ các vấn đề nghiên cứu lý thuyết. Dữ liệu được thu thập từ
Phòng công nghệ AND ứng dụng - Viện Công nghệ sinh học (nay là Viện Genome
học) và từ các cơ sở dữ liệu sinh học trên Internet.
Đối tượng nghiên cứu của luận văn là các chuỗi gene tôm Sú được thu thập từ
Viện Công nghệ sinh học và các chuỗi gene tôm Sú từ ngân hàng gene thế giới
(genbank), bao gồm các chuỗi EST, Nucleotide và Protein.



9

Phạm vi nghiên cứu lý thuyết là bài toán phân tích trình tự trong tin sinh học,
phạm vi nghiên cứu thực nghiệm là xây dựng cơ sở dữ liệu và tích hợp công cụ
BLAST tìm kiếm trình tự tương đồng trong cơ sở dữ liệu các trình tự gien tôm Sú
(bao gồm các trình tự nucleôtít, protêin và EST)
Phương pháp nghiên cứu của luận văn là nghiên cứu lý thuyết và nghiên cứu
thực nghiệm. Về nghiên cứu lý thuyết: luận văn thực hiện tổng hợp các khái niệm
và các kết quả nghiên cứu về sắp hàng trình tự. Về nghiên cứu thực nghiệm: luận
văn thực hiện xây dựng cơ sở dữ liệu và tích hợp công cụ tìm kiếm trình tự tương
đồng BLAST trên cơ sở dữ liệu được xây dựng nhằm sáng tỏ các vấn đề về lý
thuyết.
Bố cục của luận văn gồm phần mở đầu và hai chương nội dung, phần kết luận
và danh mục các tài liệu tham khảo.
Chương 1 trình bày các khái niệm cơ bản trong tin sinh học, các bài toán cơ
bản trong tin sinh học, các cơ sở dữ liệu sinh học lớn trên thế giới và một số ứng
dụng của tin sinh học. Chương 2 trình bày bài toán phân tích mối quan hệ giữa các
trình tự và các thuật toán so sánh trình tự. Chương 3 trình bày nội dung về ứng
dụng thử nghiệm làm sáng tỏ các vấn đề nghiên cứu lý thuyết, bao gồm thiết
kế và xây dựng một cơ sở dữ liệu lưu trữ các trình tự gien của con tôm Sú, tích
hợp công cụ tìm kiếm trình tự tương đồng BLAST trên cơ sở dữ liệu cục bộ
được xây dựng.
Cuối cùng, phần kết luận nêu những đóng góp của luận văn, hướng phát triển
tiếp theo.


10


Chương 1. CÁC KHÁI NIỆM CƠ BẢN
1.1.

Các khái niệm cơ bản trong sinh học phân tử

Tin sinh học (Bioinformatics) là lĩnh vực khoa học mới có tính ứng dụng cao
trong cuộc sống, đặc biệt là trong lĩnh vực công nghệ sinh học, nông nghiệp và ydược. Tin sinh học là lĩnh vực khoa học liên ngành, trong đó sinh học và tin học
đóng vai trò chủ đạo. Về cơ bản, tin sinh học tập trung vào nghiên cứu, phát triển
và áp dụng các phương pháp và công cụ tin học để giải quyết các bài toán trong
sinh học.
Tiếp theo, luận văn giới thiệu một số khái niệm cơ bản trong sinh học phân tử.
Sinh học phân tử (molecular biology) là một nhánh của sinh học (biology), tập
trung nghiên cứu các sinh vật ở mức độ phân tử. Cụ thể là, sinh học phân tử tập
trung giải trình tự (sequencing) và phân tích các trình tự nuclêôtít (trình tự ADN),
các trình tự axít amin (trình tự prôtêin). Trong phần này, luận văn tập trung giới
thiệu các kiến thức cơ bản trong sinh học phân tử để sử dụng ở các chương sau.
1) Axít nuclêic và nuclêôtít
Axít nuclêic (nucleic acid) là một đại phân tử sinh học (large biological
molecule) mang thông tin di truyền mã hóa các chức năng, và đặc điểm của mọi
sinh vật sống. Axít nuclêic gồm hai loại: ADN ( Axít Deoxyribo Nuclêic) và ARN
(Axít Ribo Nuclêic).
Thành phần cơ bản cấu tạo một trình tự axít nuclêic là các phân tử hóa học
nuclêotít (nucleotide). Trình tự ADN chứa bốn loại nuclêôtít khác nhau là: Adenine,
Cytosine, Guanine, và Thymine. Trình tự ARN có thành phần tương tự như trình tự
ADN, ngoại trừ nuclêôtít Thymine được thay thế bởi nuclêôtít Uracil. Tức là, ARN
chứa 4 loại nuclêôtít: Adenine, Cytosine, Guanine, và Uracil. Tên đầy đủ, tên viết
tắt của năm loại nuclêôtít được mô tả ở Bảng 1.1.
Bảng 1.1. Tên đầy đủ, tên viết tắt của 5 loại nuclêôtít:
STT
1

2
3
4
5

Tên đầy đủ
Adenine
Cytosine
Guanine
Thymine
Uracil

Tên viết tắt
A
C
G
T
U


11

Do đó, thông tin về một trình tự ADN được biểu diễn bằng một trình tự các
nuclêôtít nằm trên một sợi (các nuclêôtít nằm trên sợi còn lại có thể suy luận dựa
theo quy tắc trên). Để đơn giản, một trình tự ADN sẽ được biểu diễn bởi một xâu kí
tự chứa 4 loại kí tự: A, C, G và T (tên viết tắt của 4 loại nuclêôtít). Ví dụ,
"CAGTTGACGGCGAACCGTGCGAGCAGACGGTCGTT" là một trình tự ADN.
Với cách biểu diễn này, thông tin về các trình tự DN có thể được lưu giữ, tìm kiếm,
và trao đổi một cách hiệu quả.
2)

Protein và axit
amin
Prôtêin/trình tự prôtêin (protein) là loại dữ liệu phổ biến và quan trọng trong
sinh học phân tử. Nó quyết định đến chức năng, quá trình phát triển, cũng như các
bệnh tật của các sinh vật sống. Prôtêin được cấu tạo bởi một trình tự các axít amin
(amino acid), trong đó mỗi axít amin là một hợp chất hữu cơ được tạo bởi ba thành
phần chính là: nhóm amin (NH2), nhóm cacboxyl (COOH) và nhóm R quyết định
tính chất của axít amin (xem Hình 1.1)

Hình 1.1. Minh họa cấu trúc một Axit
amin
Trong tự nhiên có 20 loại axít amin khác nhau như mô tả ở Bảng 1.2. Mỗi axít
amin có tên đầy đủ, tên viết tắt 3 kí tự và tên viết tắt 1 kí tự. Thông thường, chúng
ta sử dụng tên viết tắt một kí tự để biểu diễn một axít amin.
Trình tự axít amin có thể được biểu diễn bằng một xâu kí tự chứa 20 loại kí tự
khác nhau, là tên viết tắt của 20 loại axít amin khác nhau. Ví dụ:
„ESPQIRRDMGRLCATWPSKDSEDGAGTALRAATPLTANGATTTGLSVTLA
PKQTNWDECWSSPCQNGGTCVDGVAYYNCTCPEGFSGSNCEENVDE‟ là
một trình tự axít amin. Với cách biểu diễn này, chúng ta có thể dễ dàng lưu giữ các


12

trình tự axít amin trong các cơ sở dữ liệu nhằm phục vụ nhiều mục đích khác nhau.
Bảng 1.2. Tên đầy đủ, tên viết tắt của 5 loại nuclêôtít
STT
1
2
3
4

5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

Tên axít amin Tên viết tắt (3 ký tự) Tên viết tắt (1 ký tự)
Alanine
Ala
A
Ar
Arginine
g
R
Asparagine
Asn
N
Aspartic
Asp

D
Cysteine
Cys
C
Glutamine
Gln
Q
Glutamic
Glu
E
Glycine
Gly
G
Histidine
His
H
Isoleucine
Ile
I
Leucine
Leu
L
Lysine
Lys
K
Methionine
Met
M
Phenylalanine
Phe

F
Proline
Pro
P
Serine
Ser
S
Threonine
Thr
T
Tryptophan
Trp
W
Tyrosine
Tyr
Y
Valine
Val
V

3) Nhiễm sắc thể và hệ gien
Nhiêm sắc thể (chromosome) là một cấu trúc trong tế bào chứa hai loại thông
tin là trình tự ADN và các prôtêin histone có nhiệm vụ kết hợp/đóng gói và điều
khiển các chức năng của trình tự ADN. Độ dài của trình tự ADN trong một nhiễm
sắc thể có thể từ vài nghìn cho đến hàng trăm triệu nuclêôtít. Số lượng nhiêm sắc
thể trong môi sinh vật có thể khác nhau. Ví dụ, loài người có 23 cặp nhiễm sắc thể
với tổng độ dài lên tới 3 tỉ nuclêôtít.
Tập hợp tất cả các nhiêm sắc thể của một sinh vật được gọi là hệ gien của sinh
vật. Hệ gien sẽ mang toàn bộ thông tin di truyền quyết định đến chức năng và đặc
điểm của sinh vật. Một hệ gien có thể chứa nhiều gien khác nhau. Ví dụ hệ gien

người chứa khoảng 25 nghìn gien khác nhau. Hai hệ gien của hai cá thể của cùng


13

một loài (ví dụ của hai người khác nhau) thường rất giống nhau. Sự khác nhau giữa
hệ gien của hai cá thể sẽ tạo ra sự khác nhau giữa hai cá thể đó.
4) EST (expressed sequence tag)
EST, hay còn gọi là nhãn xác định trình tự biểu hiện, thực chất là các đoạn
trình tự ngắn được trích ra từ một trình tự ADN đã biết. Các trình tự ADN ngẫu
nhiên (có thể là trình tự đầy đủ hay các trình tự một phần EST) được xác định bằng
sử dụng phương pháp giải mã trình tự ngẫu nhiên rồi được đối chiếu với các đoạn
khung của hệ gen. Các vùng tương ứng với các EST được xác định là các exon, còn
các vùng nằm giữa các exon tương ứng với các intron (mặc dù, nguyên tắc cắt
intron khác nhau có thể sử dụng một exon không có mặt trong ADN hay EST được
giải mã trình tự).
Các thông tin giải mã trình tự ADN và EST cũng giúp tìm được sự liên kết
giữa các contig, giữa các đoạn khung và giữa chúng với nhau. Chẳng hạn như giả
sử có một phân tử ADN được phiên mã từ một gen kích thước rất lớn có chiều dài
intron là 100 KB hoặc hơn. Có hai đoạn khung cùng chứa các trình tự khác nhau
của phân tử ADN chung này, thì nhiều khả năng chúng là các vùng liên kết của hệ
gen và biểu hiện là các đoạn của cùng một gen.

1.2.

Các bài toán cơ bản trong tin sinh học
Một số bài toán cơ bản và quan trọng trong tin sinh học bao gồm:

1) Quản lý dữ liệu
Một trong các bài toán quan trọng đầu tiên của tin sinh học là xây dựng các hệ

thống dữ liệu để quản lý và khai thác một cách hiệu quả lượng dữ liệu sinh học
khổng lồ. Dữ liệu sinh học bao gồm nhiều loại khác nhau, trong đó chủ yếu là các
trình tự nuclêôtít, và các trình tự axít amin. Lượng dữ liệu sinh học có thể lên đến
hàng triệu megabyte và được cập nhật liên tục theo thời gian. Chi tiết về cấu trúc và
cách sử dụng các hệ thống dữ liệu sinh học sẽ được trình bày chi tiết ở chương Cơ
sở dữ liệu sinh học phân tử.
2) Phân tích mối quan hệ giữa các trình tự
Phát triển các mô hình, các phương pháp và các công cụ tính toán để phân
tích mối quan hệ giữa các trình tự sinh học (chủ yếu là các trình tự nuclêôtít/prôtêin)
là lớp bài toán cốt lõi trong tin sinh học. Một số bài toán điển hình là sắp hàng hai
trình tự, hay sắp hàng đa trình tự, đo độ giống nhau giữa các trình tự.
3) Nghiên cứu tiến hóa


14

Nghiên cứu quá trình tiến hóa và mối quan hệ giữa các loài sinh vật là bài
toán quan trọng trong sinh học. Tin sinh học tập trung vào phát triển các mô hình
và phương pháp nhằm xây dựng mối quan hệ tiến hóa giữa các loài sinh vật dựa
vào phân tích mức độ giống nhau giữa các trình tự sinh học của chúng.
4) Dự đoán cấu trúc bậc cao của các trình tự
Ngày nay, các máy giải trình tự thế hệ mới có thể giải trình tự hệ gien người
trong vòng một ngày với chi phí khoảng 50 nghìn Đô la Mỹ. Tuy nhiên, việc xác
định được cấu trúc bậc cao của của các trình tự (phổ biến là các trình tự prôtêin)
vẫn là một bài toán khó cả về mặt thời gian và chi phí. c ác nghiên cứu tin sinh học
giúp phát triển các mô hình, phương pháp và công cụ tính toán để dự đoán cấu trúc
bậc cao của các trình tự dựa vào phân tích nội dung và mối quan hệ của chúng với
các trình tự khác. Các phương pháp dự đoán sẽ giảm thiểu một lượng lớn thời gian
và chi phí cho việc xác định cấu trúc bậc cao của các trình tự.


1.3.

Các ứng dụng của tin sinh học
Một số ứng dụng quan trọng của tin sinh học bao gồm:

1) Kiểm soát dịch bệnh
Đây là một vấn đề quan trọng trên thế giới, đặc biệt là đối với Việt Nam. Tin
sinh học sẽ phát triển các hệ thống theo dõi và dự đoán sự lây lan của các dịch bệnh.
Các nghiên cứu trong tin sinh phân tích và tìm ra nguồn ngốc xuất hiện của các
bệnh dịch, đặc biệt là các bệnh dịch ảnh hưởng lớn đến sức khỏe con người, cũng
như kinh tế xã hội.
2) Phát triển thuốc và chẩn đoán bệnh
Các phương pháp và công cụ tin sinh học đóng vai trò quan trọng và không
thể thiếu được trong việc phát triển và chế tạo các loại dược phẩm khác nhau. Các
mô hình và phương pháp dự đoán cấu trúc sẽ giúp quá trình phát triển các loại
thuốc mới diên ra nhanh hơn với chi phí thấp hơn. Bên cạnh đó, các phương pháp
tin sinh học cũng được sử dụng để chẩn đoán các bệnh liên quan đến gien, đặc biệt
là các bệnh di truyền.
3) Phát triển các giống cây trồng, vật nuôi
Một trong các ứng dụng nổi bật của tin sinh học là phát triển các phương pháp
phân tích nhằm tìm ra các gien quý hiếm ở các loại vật nuôi, cây trồng. Việc này sẽ
giúp đẩy nhanh quá trình tạo ra các giống vật nuôi cây trồng cho năng suất và hiệu
quả kinh tế cao.


15

1.4.

Một số cơ sở dữ liệu sinh học lớn trên thế giới


Các công nghệ giải trình tự phát triển liên tục giúp chúng ta thu thập được
một số lượng lớn các trình tự ADN, cũng như các trình tự prôtêin tương ứng. Đặc
biệt là các công nghệ giải trình tự thế hệ mới (next generation sequencing
technologies) cho phép chúng ta giải trình tự một lượng khổng lồ dữ liệu ADN
trong một khoảng thời gian ngắn với chi phí thấp. Nếu như trước đây, chúng ta phải
tốn khoảng 3 tỉ Đô la Mỹ trong vòng 15 năm để giải trình tự hệ gien người, thì với
công nghệ ngày này, chúng ta có thể giải trình tự hệ gien của một người trong vòng
một ngày với chi phí chỉ khoảng vài chục nghìn Đô la Mỹ.
Theo số liệu từ cơ sở dữ liệu ngân hàng gen trên thế giới (GenBank đến năm 2012 số lượng trình tự ADN
được lưu giữ tại cơ sở dữ liệu Genbank vào khoảng 160 triệu trình tự. Số liệu từ cơ
sở dữ liệu UniProt ( cho thấy, đến năm 2012 số lượng trình
tự prôtêin được lưu giữ ở cơ sở dữ liệu UniProt vào khoảng 27 triệu trình tự. Việc
giải trình tự và thu thập dữ liệu sinh học phân tử được tiến hành tại nhiều trung tâm
công nghệ sinh học khác nhau ở nhiều quốc gia trên thế giới. Mặc dù việc giải trình
tự diễn ra ở nhiều nơi trên thế giới, gần như tất cả các dữ liệu thu được đều được
lưu giữ và chia sẻ tại các trung tâm thông tin về công nghệ sinh học lớn trên thế
giới như là:
(1) Trung tâm thông tin công nghệ sinh học quốc gia Hoa Kỳ NCBI (National
Center Biotechnology Information): />(2) Trung tâm thông tin công nghệ sinh học Châu Âu EBI (European
Biotechnology Information): />(3) Ngân hàng dữ liệu ADN của Nhật Bản (DNA Data Bank of Japan):
/>Dữ liệu về các trình tự ADN từ ba trung tâm này thường xuyên được cập nhật,
trao đổi với nhau hàng ngày để đảm bảo tính đầy đủ và thống nhất về các trình tự
ADN lưu giữ. Phần tiếp theo, luận văn giới thiệu chi tiết về cơ sở dữ liệu của NCBI
tại địa chỉ />1) Trung tâm thông tin công nghệ sinh học Hoa Kỳ


16

Hình 1.2. Trung tâm thông tin công nghệ sinh học Hoa Kỳ

NCBI là trung tâm thông tin trực tuyến bao gồm nhiều cơ sở dữ liệu khác
nhau cũng như hàng loạt các công cụ tìm kiếm và phân tích dữ liệu trực tuyến. Một
số chức năng chính của NCBI cung cấp cho người dùng là:
Tìm kiếm các loại dữ liệu sinh học phân tử theo các tiêu chí khác nhau.
Cho phép lưu giữ, sao chép và chia sẻ dữ liệu trên các cơ sở dữ liệu khác
nhau do NCBI quản lý.
Phân tích dữ liệu sử dụng các công cụ trực tuyến do NCBI tích hợp và
cung cấp.
Hình 1.3 là cấu trúc cơ bản về các cơ sở dữ liệu (CSDL) của NCBI với 5
thành phần chính là: CSDL Nucleotide, CSDL Protein, CSDL Genome, CSDL
Structure, và CSDL PubMed.
CSDL Nucleotide: Cơ sở dữ liệu lưu giữ toàn bộ các trình tự ADN của các
loài sinh vật đã được giải trình tự, lưu giữ và chia sẻ trên NCBI.
CSDL Protein: Cơ sở dữ liệu lưu giữ toàn bộ các trình tự prôtêin của các


17

loài sinh vật đã được giải trình tự, lưu giữ và chia sẻ trên NCBI.
CSDL Genome: Cơ sở dữ liệu lưu giữ hệ gien của các loài sinh vật khác
nhau đã được giải trình tự, lưu giữ và chia sẻ trên NCBI.
CSDL Structure: Cơ sở dữ liệu lưu giữ thông tin, hình ảnh về cấu trúc bậc
cao (thường là cấu trúc không gian 3 chiều) của các trình tự prôtêin.
CSDL PubMed: Cơ sở dữ liệu lưu giữ các tài liệu (chủ yếu là các bài báo,
sách trực tuyến) liên quan đến các chủ đề trong sinh học và khoa học sự
sống.
Các cơ sở dữ liệu trên được liên kết với nhau giúp người dùng có thể dễ dàng
tìm kiếm và sử dụng. Việc tìm kiếm dữ liệu từ các cơ sở dữ liệu của NCBI được
thực hiện bởi máy tìm kiếm Entrez.


Hình 1.3. Cấu trúc cơ bản của NCBI
2) Định dạng chuẩn dữ liệu FASTA
Dữ liệu về các trình tự ADN được giải trình tự bởi các trung tâm công nghệ
sinh học khác nhau trên thế giới. Dữ liệu về trình tự ADN thường bao gồm một số
thông tin chính sau:
(1) Tên loài sinh vật giải trình tự, tên này thường là tên khoa học, ví dụ như
Homo Sapien (Người), Mus musculus (Chuột).
(2) Tên của trình tự ADN được giải trình tự.
(3) Độ dài của trình tự ADN.


18

(4) Các loại số hiệu của trình tự trong CSDL Genbank (số hiệu truy cập, số
hiệu GI, số hiệu phiên bản.)
(5) Nội dung các nuclêôtít trên trình tự ADN
Một trong các công việc khó khăn đầu tiên mà các nhà quản lý thông tin gặp
phải là dữ liệu từ các trung tâm khác nhau có thể được lưu giữ với các định dạng
khác nhau. Hơn nữa, dữ liệu tại các trung tâm thông tin khác nhau như NCBI, EBI,
DDBJ cũng được lưu giữ theo các định dạng khác nhau. Để giải quyết bài toán liên
quan đến sự khác biệt về định dạng dữ liệu, chúng ta cần định ra các định dạng dữ
liệu chuẩn nhằm mục đích lưu giữ, và chia sẻ dữ liệu.
FASTA là một trong các định dạng dữ liệu chuẩn, đơn giản và quan trọng
được đề xuất bởi William Pearson vào năm 1985. Đây là định dạng kiểu văn bản
(text) để lưu giữ thông tin về các trình tự ADN (hay prôtêin). Định dạng FASTA
được sử dụng một cách rộng rãi như một định dạng chuẩn quốc tế cho tất cả các cơ
sở dữ liệu, và chương trình phần mềm.
Định dạng FASTA được dùng để mô tả thông tin về một trình tự AND
(prôtêin) bao gồm hai phần: Phần tiêu đề và phần nội dung
Tiêu đề (headline) bao gồm 1 dòng bắt đầu bằng kí tự '>' và kết thúc bởi

một kí tự xuống dòng (return). Phần này sẽ lưu giữ toàn bộ thông tin mô tả
về trình tự ADN/prôtêin như tên trình tự, độ dài của trình tự, ngày tháng
tiến hành giải trình tự, loại dữ liệu..v.v.
Thông tin về các nuclêôtít của trình tự: Tất cả các kí tự không thuộc về
phần tiêu đề sẽ là dữ liệu mô tả các nuclêôtít của trình tự ADN. Phần
thông tin này có thể chứa các kí tự cách.
Ví dụ: Một tệp dữ liệu theo định dạng FASTA như sau:
>gi|1293613|gb|U49845.1|SCU49845 Saccharomyces cerevisiae TCP1beta gene, partial cds; and Axl2p (AXL2) and Rev7p (REV7) genes,
complete cds
GATCCTCCATATACAACGGTATCTCCACCTCAGGTTTAGATCTCAACA
ACGGAACCATTGCCGACATGAGACAGTTAGGTATCGTCGAGAGTTAC

Tiêu đề: >gi|1293613|gb|U49845.1|SCU49845 Saccharomyces cerevisiae
AAGCTA

Tiêu đề: Chứa các thông tin cơ bản về trình tự như là số hiệu GI của trình


19

tự (1293613), GB (U49845.1), tên trình tự (SCU49845), tên sinh vật lấy
mẫu (Saccharomyces cerevisiae), tên các đoạn gien trên trình tự (Axl2p,
Rev7p) và một loạt các thông tin khác.
Thông tin về các nuclêôtít của trình tự:
GATCCTCCATATACAACGGTATCTCCACCTCAGGTTTAGATCTC
AACAACGGAACCATTGCCGACATGAGACAGTTAGGTATCGTCG
AGAGTTACAAGCTA
Ngoài ra, còn dạng chuẩn ALN/ClustalW và dạng chuẩn GenBank.



20

Chương 2. BÀI TOÁN PHÂN TÍCH MỐI QUAN HỆ GIỮA
CÁC TRÌNH TỰ
2.1.

Bài toán phân tích mối quan hệ giữa hai trình tự

2.1.1. Giới thiệu bài toán

Bài toán phân tích mối quan hệ giữa hai trình tự là bài toán so sánh một trình
tự chưa biết với một trình tự đã biết nhằm xác định mức độ giống nhau giữa hai
trình tự. Với trình tự AND, mức độ giống nhau giữa hai trình tự ADN cho biết mối
quan hệ tiến hóa, cũng như sự giống nhau về chức năng của chúng. Về cơ bản, hai
trình tự ADN càng giống nhau, thì khả năng càng cao chúng tương đồng với nhau
(cùng tiến hóa từ một trình tự ADN tổ tiên) và có sự giống nhau về chức năng. Tức
là, xác định được mức độ giống nhau giữa hai trình tự ADN có thể giúp chúng ta
xác định được đặc điểm và chức năng cho các trình tự ADN mới dựa vào đặc điểm
và chức năng của các trình tự ADN đã biết trong cơ sở dữ liệu.
Xét hai trình tự ADN X bao gồm 9 nuclêôtít và Y bao gồm 10 nuclêôtít được
cho ở Bảng 2.1 dưới đây. Trong quá trình tiến hóa, các phép đột biến thay thế
nuclêôtít làm cho nội dung của hai trình tự khác nhau, các phép đột biến thêm/mất
nuclêôtít làm cho độ dài của hai trình tự khác nhau.
Bảng 2.1. Hai trình tự AND X và Y
Trình tự X
Trình tự Y

1
A
A


2
C
G

3
T
T

4
A
G

5
C
A

6
G
C

7
G
G

8
T
G

9

T
G

10
T

Một loạt câu hỏi đặt ra khi tiến hành so sánh hai trình tự X và Y:
Mức độ giống nhau giữa hai trình tự ADN X và Y ?
Với mỗi nuclêôtít X ở vị trí thứ i trên trình tự X, cần biết:
1) X tương ứng với nuclêôtít nào trên trình tự Y?
2) X là một nuclêôtít mới được thêm vào trình tự X trong quá trình tiến hóa?
3) Nuclêôtít tương đồng với X trên trình tự Y đã bị mất khỏi trình tự trong
quá trình tiến hóa?


21

2.1.2. Phương pháp giải quyết bài toán

Để trả lời các câu hỏi trên, nghĩa là để giải quyết bài toán phân tích mối quan
hệ giữa hai trình tự, trong tin sinh học sử dụng một kỹ thuật gọi là sắp hàng hai
trình tự (pairwise alignment) X và Y.
Sắp hàng hai trình tự X và Y là quá trình chèn thêm các kí tự cách ' ' (mỗi kí
tự ' ' cho biết một nuclêôtít đã bị mất khỏi trình tự), vào cả hai trình tự ADN để thu
được hai trình tự mới
1) Hai trình tự





thỏa mãn các điều kiện ràng buộc sau:
có độ dài bằng nhau.

2) Hai nuclêôtít ở cùng một vị trí trên hai trình tự
tiến hóa từ một nuclêôtít tổ tiên chung.



được cho là cùng

3) Không tồn tại bất cứ một vị trí i nào, mà cả trình tự và
cùng chứa dấu
' '. Nói cách khác, việc chèn kí tự ' ' vào cùng một ví trí trên cả hai trình
tự là không có ý nghĩa.
Cặp trình tự ( ,
) được gọi là "hai trình tự sắp hàng" hay "một bắt cặp"
của hai trình tự X, Y. Bảng 2.2 minh họa một một cách sắp hàng hai trình tự X và Y,
trong đó:
Một đột biến ở vị trí số 2, nuclêôtít C ở trình tự
nuclêôtít G ở trình tự
hoặc ngược lại.

bị đột biến thành

Một kí tự cách ' ' được chèn vào vị trí thứ 4 trên Trình tự . Nhắc lại, do
chúng ta không thể phân biệt được liệu trong quá trình tiến hóa, một
nuclêôtít đã bị mất khỏi vị trí thứ 4 trên trình tự
hay nuclêôtít G đã
được chèn thêm vào trình tự Y, ta gọi phép đột biến ở vị trí 4 là
"thêm/mất" hay gọi tắt là "indel".

Một đột biến ở vị trí số 9, nuclêôtít T ở trình tự
nuclêôtít G ở trình tự
hoặc ngược lại.

Bảng 2.2. Hai trình tự

Trình tự

1
A

2
C

3
T


4

bị đột biến thành

sau khi được sắp hàng
5
A

6
C

7

G

8
G

9
T

10
T


22

Trình tự

A

G

T

G

A

C

G


G

G

T

Tức là, có 3 phép đột biến (hai phép thay thế và một phép thêm/mất) giữa hai
trình tự X và Y. Dễ thấy có nhiều cách sắp hàng khác nhau hai trình tự X, Y. Bảng
2.3 biểu diễn hai cách sắp hàng khác của hai trình tự X và Y:
Có 4 phép đột biến trong cách sắp hàng X1 và Y1; trong đó có 3 phép thay
thế và 1 phép thêm/mất.
Có 6 phép đột biến trong cách sắp hàng X2 và Y2; trong đó có 3 phép thay
thế' và 3 phép thêm/mất. Độ dài của X2 và Y2 cũng lớn hơn độ dài của X
và Y một đơn vị.
Bảng 2.3. Các cách sắp hàng khác nhau hai trình tự X và Y
2

Trình tự X1
Trình tự Y1
Trình tự X2

1
A
A
A

Trình tự Y2

A


G

G

3
C
T
C

4
T
G
T

5
A
A
A

6
C
C
C

7
G
G
G

T


G

A

C

G

8
G
G
G

9
T
G
G

10
T
T
T

11

G

T


T

Tất cả ba cách sắp hàng trên đều thỏa mãn các điều kiện ràng buộc 1, 2, và 3
của bài toán. Tiêu chuẩn sau đây được dùng để lựa chọn cách sắp hàng tốt nhất
(cách sắp hàng tối ưu):
Một sắp hàng được gọi là tốt nhất (tối ưu) nếu như mức độ giống nhau giữa
hai trình tự ADN



sau khi sắp hàng là lớn nhất.

Tiếp theo sẽ trình bày cách đo độ giống nhau giữa hai trình tự ADN sau khi
được sắp hàng. Gọi A A, C, G, T , là tập các kí tự có thể xuất hiện trên trình tự
ADN, trong đó:
A, C, G, T là bốn loại nuclêôtít
' ' là kí tự cách biểu diễn cho một nuclêôtít đã bị mất khỏi trình tự.
Gọi
là ma trận điểm xác định mức độ giống nhau giữa các kí tự, trong đó
(x, y) là điểm giống nhau giữa hai kí tự xx, A . Bảng 2.4 mô tả một ví dụ về ma
y
trận điểm , trong đó:
Điểm giữa hai nuclêôtít giống nhau (match score) là 2. Điểm này thường


có giá trị dương, cho nên thường gọi là điểm thưởng.
Điểm giữa hai nuclêôtít khác nhau (mismatch score) là -1. Đây là điểm
cho một một phép thay thế nuclêôtít.
Điểm giữa một nuclêôtít và kí tự ' ' (indel score) là -2. Đây là điểm cho
một phép thêm/mất. Điểm này có giá trị âm, cho nên thường gọi là điểm

phạt.
Điểm giữa 2 kí tự ' ' là 0. Điều này thể hiện việc chèn thêm hai kí tự ' '
vào cùng một vị trí trên hai trình tự là vô nghĩa, nó sẽ không làm thay đổi
mức độ giống nhau giữa hai trình tự.
Lưu ý, ma trận điểm
kí tự xx, y A
.

A
C
G
T

là ma trận đối xứng, tức là

(x, y) =

(y, x) với mọi

Bảng 2.4. Ma trận điểm giữa các nuclêôtít
A

C

G

T

2
-1

-1
-1
-2

-1
2
-1
-1
-2

-1
-1
2
-1
-2

-1
-1
-1
2
-2

-2
-2
-2
-2
0

Một trình tự ADN bao gồm n nuclêôtít được biểu diễn bởi một xâu gồm n kí
tự X x ,..., trong đó xi là một nuclêôtít. Trình tự ADN X i x ,...,

bao gồm
1
1
x

x

i nuclêôtítn đầu tiên (từ vị trí 1 đến vị trí i) của trình tự X được gọi lài trình tự tiền tố
của trình tự X.
Gọi hai trình tự sau khi được sắp hàng là X
x1 ,..., và Y
y1 ,..., k với
xxi ,
yi

x
y
A . Điểm giống nhau f (X, Y) giữa hai trình tự Xk và Y được tính theo công

thức sau:
k

f X ,Y

C xi , yi

i 1

Trong đó C xi , yi là điểm giống nhau giữa hai kí tự xxi ,


A . Với cách tính

yi

điểm như trên, ta có thể dễ dàng tính được mức độ giống nhau cho các cách sắp
hàng khác nhau hai trình tự X, Y như ở Bảng 2.5. Cụ thể là, cách sắp hàng và


có tổng điểm là 10; trong khi cách sắp hàng X1 với Y1; hay X2 với Y2 có tổng điểm
tương ứng là 7 và 1. Vậy cách sắp hàng
hay X2 và Y2.



tốt hơn cách sắp hàng X1 và Y1

Bảng 2.5. Các cách sắp hàng khác nhau với tổng điểm khác nhau
2
C
G

3
T
T

4

Trình tự
Trình tự


1
A
A

G

5
A
A

6
C
C

7
G
G

8
G
G

9
T
G

10
T
T


f X ,Y

2

-1

2

-2

2

2

2

2

-1

2

C

T

A

C


G

G

T

T

G
-2

T
-1

G
-1

A
2

C
2

G
2

G
2

G

-1

T
2

T
G

A
A

C
C

G
G

G
G

T
G

T
T

-1

2


2

2

-2

-2

-1

2

Trình tự X1

A

Trình tự Y1
f X 1,Y 1

A
2

Trình tự X2
Trình tự Y2

A
A

G


C
T

f X 2,Y 2

2

-2

-1

11

Tổng

10

7

1

2.1.3. Thuật toán Needleman-Wunsch

Với hai trình tự ADN X và Y, có thể sắp hàng chúng theo nhiều cách khác
nhau. Phần tiếp theo sẽ trình bày thuật toán Quy hoạch động Needleman-Wunsch
[4] để sắp hàng tối ưu X và Y với tổng điểm lớn nhất.
Tư tưởng của thuật toán quy hoạch động là xây dựng lời giải của bài toán lớn
dựa trên lời giải của các bài toán có kích thước nhỏ hơn (gọi là các bài toán con).
Nghiệm của các bài toán con được lưu vào bảng quy hoạch động để không phải
giải bài toán con nhiều lần; đồng thời làm cơ sở để xây dựng nghiệm của bài toán

lớn. Thuật toán quy hoạch động gồm những bước chính sau đây:
Bước 1: Tìm bài toán cơ sở mà nghiệm tối ưu của bài toán cơ sở có thể dễ
dàng tìm được. Trong trường hợp bài toán sắp hàng hai trình tự, bài toán
cơ sở là bài toán sắp hàng hai trình tự có độ dài bằng 0. Nghiệm tối ưu của
bài toán là 0.
Bước 2: Xây dựng công thức truy hồi để có thể tìm nghiệm tối ưu của bài
toán có kích thước lớn dựa vào nghiệm của các bài toán có kích thước nhỏ
hơn. Trong trường hợp bài toán sắp hàng hai trình tự, nghiệm tối ưu của
bài toán với hai trình tự tiền tố và được xây dựng dựa vào nghiệm tối ưu


của ba bài toán có kích thước nhỏ hơn là:
1

Nghiệm của bài toán với hai trình tự tiền tố X p ,Y

q 1

Nghiệm của bài toán với hai trình tự tiền tố X p 1 ,Y q
Nghiệm của bài toán với hai trình tự tiền tố X p ,Y q 1
Bước 3: Từ bảng lưu nghiệm của các bài toán với kích thước khác nhau,
xây dựng nghiệm của bài toán toán với dữ liệu đầu vào.
Thuật toán Needleman-Wunsch được mô tả chi tiết như sau:
Thuật toán Needleman-Wunsch bắt cặp hai trình tự AND
Dữ liệu vào: Hai trình tự X x1 ,..., p và Y
y1 ,..., q ; ma trận điểm C đo mức
x

độ giống nhau giữa các kí tự thuộc tập kí tự A


y
A, C, G, T ,

Yêu cầu: Chèn thêm các kí tự ' ' vào hai trình tự X và Y để tổng điểm giữa hai trình
tự sau khi sắp hàng là lớn nhất.
Dữ liệu ra: Hai trình tự X và Y là kết quả của việc sắp hàng, và mức độ giống nhau
giữa chúng.
Ý tưởng: Gọi:
i

x1 ,...,
: Trình tự tiền tố gồm i nuclêôtít đầu tiên của X;
xi
y1 ,..., j : Trình tự tiền tố gồm j nuclêôtít đầu tiên của Y.
Yj
j
F i, j y f X i
: Tổng điểm lớn nhất (nghiệm tốt nhất) khi sắp hàng
X

hai trình tự tiền tố X i và Y j
Dễ thấy F(0,0) = 0 là nghiệm tối ưu của bài toán cơ sở sắp hàng hai trình tự
0
0
rỗng X , Y .
Có ba khả năng xảy ra khi so sánh hai nuclêôtít xi và yj:
xi bắt cặp với yj và điểm bắt cặp là C xi , y j
xi bắt cặp với „ ‟ và điểm bắt cặp là C xi ,
yj bắt cặp với „ ‟ và điểm bắt cặp là
C


,yj


×