Tải bản đầy đủ (.pdf) (100 trang)

Các kỹ thuật toán học cho bài toán so sánh đa trình tự

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.01 MB, 100 trang )


Đại Học Quốc Gia Thành Phố Hồ Chí Minh
Trường Đại Học Bách Khoa






PHẠM MẠNH HÙNG




CÁC KỸ THUẬT TOÁN HỌC CHO BÀI
TOÁN SO SÁNH ĐA TRÌNH TỰ


Chuyên ngành: Khoa học Máy tính



LUẬN VĂN THẠC SĨ



TP. HỒ CHÍ MINH, tháng 11 năm 2007


ĐẠI HỌC QUỐC GIA TP. HCM CỘNG HOÀ XÃ HỘI CHỦ NGHIÃ VIỆT NAM
TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc Lập - Tự Do - Hạnh Phúc


---------------- ---oOo---
Tp. HCM, ngày . .05. . tháng . .11. . năm .2007.



NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ và tên học viên : Phạm Mạnh Hùng..............................Giới tính : Nam ;/ Nữ 
Ngày, tháng, năm sinh : 26/2/1982....................................Nơi sinh : Phú Yên ...................
Chuyên ngành : Khoa học Máy tính......................................................................................
Khoá : 2005 .........................................................................................................................

1- TÊN ĐỀ TÀI : ................................................................................................................
CÁC KỸ THUẬT TOÁN HỌC CHO BÀI TOÁN SO SÁNH ĐA TRÌNH TỰ
...........................................................................................................................................
...........................................................................................................................................

2- NHIỆM VỤ LUẬN VĂN :..............................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
3- NGÀY GIAO NHIỆM VỤ : ...........................................................................................
4- NGÀY HOÀN THÀNH NHIỆM VỤ : ..........................................................................
5- HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN : TS. Nguyễn Văn Minh Mẫn ..........................

Nội dung và đề cương Luận văn thạc sĩ đã được Hội Đồng Chuyên Ngành thông qua.

CÁN BỘ HƯỚNG DẪN CHỦ NHIỆM BỘ MÔN
(Họ tên và chữ ký) QUẢN LÝ CHUYÊN NGÀNH

(Họ tên và chữ ký)




TS. Nguyễn Văn Minh Mẫn TS. Đinh Đức Anh Vũ




CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI
TRƯỜNG ĐẠI HỌC BÁCH KHOA
ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH




Cán bộ hướng dẫn khoa học : TS. Nguyễn Văn Minh Mẫn ........................................






Cán bộ chấm nhận xét 1 : ............................................................................................







Cán bộ chấm nhận xét 2 : ............................................................................................








Luận văn thạc sĩ được bảo vệ tại

HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SĨ

TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày . . . . tháng . . . . năm . 2007 .






Các kỹ thuật toán học cho bài toán so sánh đa trình tự


Phạm Mạnh Hùng Trang i
LỜI CAM ĐOAN

Tôi cam đoan rằng, ngoại trừ các kết quả tham khảo từ các công trình khác như đã ghi rõ
trong luận văn, các công việc trình bày trong luận văn này là do chính tôi thực hiện và chưa
có phần nội dung nào của luận văn này được nộp để lấy một bằng cấp ở trường này hoặc

trường khác.

Ngày 05 tháng 11 năm 2007
Phạm Mạnh Hùng

Các kỹ thuật toán học cho bài toán so sánh đa trình tự


Phạm Mạnh Hùng Trang ii
LỜI CẢM ƠN


Tôi xin gởi lời cảm ơn chân thành nhất đến TS. Nguyễn Văn Minh Mẫn, người đã tận tình
hướng dẫn, giúp đỡ tôi trong suốt quá trình thực hiện luận văn và tạo điều kiện để tôi có thể
hoàn thành luận văn này.

Xin cảm ơn gia đình và những người bạn đã dành cho tôi tình thương yêu và sự hỗ trợ tốt
nhất.



Các kỹ thuật toán học cho bài toán so sánh đa trình tự


Phạm Mạnh Hùng Trang iii
TÓM TẮT LUẬN VĂN

So sánh đa trình tự(Multiple Sequence Alignment-MSA) là một trong 10 bài toán lớn
của Sinh tin học(Bioinformatics). MSA đóng vai trò quan trọng trong Sinh tin học nói chung
và lĩnh vực tìm kiếm gene (Gene Finding) nói riêng. MSA là một bài toán NP, và hoàn toàn

chưa có giải pháp trọn vẹn để tìm lời giải tối ưu của bài toán. Nhiều phương pháp sử dụng
heuristic đã được đưa ra để giải quyết bài toán khi tập dữ liệu đầu vào lớn, các phương pháp
này hướng tới việc tìm 1 lời giải cận tối ưu với thời gian tính toán và bộ nhớ sử dụng chấp
nhận được. Progress Algorithm là một phương pháp tốt tiếp cận theo phương thức này.
Đề tài này trình bày một giải thuật mới dựa trên Progressive Algorithm. Sử dụng lời
giải của bài toán TSP để mô tả quá trình so sánh(align) các sequence. Để cung cấp một
Progressive Algorithm có chất lượng, giải thuật đã tối ưu bài toán Pairwise Sequence
Alignment(PSA) về độ chính xác và bộ nhớ sử dụng thông qua giải thuật ”chia để trị
” kết
hợp với việc sử dụng 3 ma trận đánh giá BLOSUM. Thông qua quá trình so sánh với
CLUSTALW(một chương trình hiện thực Progressive Algorithm được đánh giá là cho kết
quả tốt nhất), dựa trên kết quả kiểm thử với tập dữ liệu BAliBASE benchmark và một số
nguồn dữ liệu từ NCBI(National Center for Biotechnology Information), chương trình hiện
thực giải thuật đã cung cấp một lời giải có độ chính xác khá cao, tiết kiệm b
ộ nhớ và có thời
gian tính toán chấp nhận được.
Từ khoá: Algorithm, Sequence Alignment, Multiple Sequence Alignment, MSA,
Pairwise Sequence Alignment, PSA, Progressive Algorithm, Dynamic Programming,
Traveling Salesman Problem, TSP, CLUSTALW, BLOSUM, BAliBASE.


Các kỹ thuật toán học cho bài toán so sánh đa trình tự


Phạm Mạnh Hùng Trang iv
MỤC LỤC
LỜI CAM ĐOAN ...........................................................................................................i

LỜI CẢM ƠN ............................................................................................................... ii


TÓM TẮT LUẬN VĂN .............................................................................................. iii

DANH MỤC HÌNH ..................................................................................................... vi

DANH MỤC BẢNG .................................................................................................. viii

Chương 1.

GIỚI THIỆU...............................................................................................1

1.1. Giới thiệu ..............................................................................................................1
1.2. Kết cấu của luận văn ...........................................................................................4
Chương 2.

TỔNG QUAN VỀ KHÁI NIỆM SO SÁNH TRÌNH TỰ (SEQUENCE
ALIGNMENT) ...........................................................................................
6

2.1. So sánh trình tự....................................................................................................6
2.1.1.

Định nghĩa So sánh trình tự(Sequence Alignment) ....................................................6

2.1.2.

Phân loại .....................................................................................................................7

2.1.3.

So sánh 2 trình tự (Pairwise Sequence Alignment-PSA)............................................8


2.1.4.

So sánh nhiều trình tự (Multiple Sequence Alignment-MSA)....................................9

2.2. Các khái niệm khác ...........................................................................................10
2.2.1.

Ma trận đánh giá(Scoring Matrix) ............................................................................12

2.2.2.

Gap............................................................................................................................14

2.2.3.

Phương pháp đánh giá(Scoring Method)..................................................................15

2.3. Các phương pháp giải quyết bài toán so sánh trình tự ..................................18
2.3.1.

Phương pháp Quy hoạch động(Dynamic Programming)..........................................19

2.3.2.

Sử dụng các thiết bị phần cứng.................................................................................20

2.3.3.

Phương pháp tìm kiếm cục bộ(Local Search)...........................................................21


2.3.4.

Sử dụng giải thuật Di truyền(Genetic Algorithm) ....................................................21

2.3.5.

Sử dụng Mô hình Markov ẩn(Hidden Markov Model-HMM). ................................21

Chương 3.

CƠ SỞ LÝ THUYẾT VÀ PHƯƠNG PHÁP THỰC HIỆN .................24

3.1. Giới thiệu về Dynamic Programming..............................................................24
3.2. Bài toán PSA và cách giải quyết bằng kỹ thuật quy hoạch động..................24
3.2.1.

Giải thuật quy hoạch động cho bài toán PSA ...........................................................25

3.2.2.

Giải thuật Gotoh........................................................................................................28

3.2.3.

Giải thuật cải tiến không gian nhớ...........................................................................29

3.3. Giải thuật tính toán phép Alignment tối ưu cho bài toán Multiple Alignment
sử dụng kỹ thuật dynamic programming.........................................................................32
3.3.1.


Giải thuật Center Star Alignment Algorithm............................................................33

3.3.2.

Phương pháp Progressive Algorithm giải quyết bài toán MSA................................37

3.3.3.

Feng-Doolittle Algorithm .........................................................................................38

Chương 4.

THIẾT KẾ GIẢI THUẬT VÀ HIỆN THỰC PHƯƠNG PHÁP GIẢI
QUYẾT BÀI TOÁN MSA .......................................................................
42

4.1. Giải thuật sử dụng cho bài toán PSA...............................................................42
Các kỹ thuật toán học cho bài toán so sánh đa trình tự


Phạm Mạnh Hùng Trang v
4.1.1.

Giải thuật tính toán dựa theo kỹ thuật chia để trị......................................................43

4.2. Giải thuật hiện thực cho bài toán MSA ...........................................................49
4.2.1.

Bài toán TSP(Travelling Salesman Problem-Bài toán người bán hàng). .................50


4.2.2.

Giải thuật 1A.............................................................................................................51

4.2.3.

Giải thuật 1B(Giải thuật cải tiến gom nhóm nhỏ nhất).............................................55

4.3. Giải thuật di truyền và bài toán TSP...............................................................57
4.3.1.

Đặc điểm giải thuật di truyền....................................................................................57

4.3.2.

Cấu trúc thuật giải di truyền tổng quát......................................................................59

4.4. Phần hiện thực giải thuật và chương trình: ....................................................60
Chương 5.

KẾT QUẢ NHẬN XÉT............................................................................66

5.1. Một số kết quả chạy chương trình. ..................................................................66
5.2. BAliBASE (Benchmark Alignment Database)................................................68
5.3. So sánh kết quả ..................................................................................................69
5.3.1.

Giới thiệu về các chương trình được sử dụng...........................................................70


5.3.2.

So sánh độ chính xác của kết quả .............................................................................70

5.3.3.

So sánh về mặt thời gian chạy, bộ nhớ .....................................................................77

Chương 6.

KẾT LUẬN ...............................................................................................78

TÀI LIỆU THAM KHẢO...........................................................................................80

Phụ lục 1. Bảng đối chiếu Thuật ngữ Anh - Việt......................................................83

Phụ lục 2. Từ viết tắt ...................................................................................................87

Tham khảo Chỉ mục....................................................................................................88


Các kỹ thuật toán học cho bài toán so sánh đa trình tự


Phạm Mạnh Hùng Trang vi
DANH MỤC HÌNH
Hình 2.1 Ví dụ về PSA............................................................................................................................7

Hình 2.2 Ví dụ về so sánh trình tự theo hướng toàn cục..........................................................................8


Hình 2.3 Ví dụ về so sánh trình tự theo hướng cục bộ.............................................................................8

Hình 2.4 Cấu trúc 1 PSA..........................................................................................................................8

Hình 2.5 Giới thiệu 1 MSA......................................................................................................................9

Hình 2.6 Giới thiệu các khái niệm của MSA .........................................................................................10

Hình 2.7 Quá trình biến đổi của 2 sequence...........................................................................................10

Hình 2.8 Ví dụ về các phép thay thế gap ..............................................................................................11

Hình 2.9 Ví dụ về Gap. ..........................................................................................................................15

Hình 2.10 Mối tương quan giữa các chương trình hiện thực cho các phương pháp. .............................19

Hình 2.11 Phương pháp tính toán chính xác bằng dynamic programming............................................20

Hình 2.12 Mô hình Markov cho bài toán MSA. ....................................................................................22

Hình 3.1 Phương pháp quy hoạch động cho bài toán PSA ....................................................................25

Hình 3.2 Các ma trận S, D, I cho 2 chuỗi AGTAC and AAG. .............................................................31

Hình 3.3 Minh hoạ quá trình tìm 1 MSA tối ưu.....................................................................................33

Hình 3.4 Mô hình tiến hoá hình sao.......................................................................................................34

Hình 3.5 Minh họa Center Star Algorithm.............................................................................................35


Hình 3.6 Hình minh hoạ cho Progressive Algorithm.............................................................................37

Hình 3.7 Minh họa Feng-Doolittle Algorithm .......................................................................................39

Hình 3.8 Ví dụ thực thi Feng-Doolittle Algorithm ................................................................................39

Hình 4.1 Mô hình quá trình thực hiện giải thuật PSA............................................................................43

Hình 4.2 Quá trình xây dựng ma trận của thuật giải cho bài toán PSA .................................................48

Hình 4.3 Quá trình align của Center Star Algorithm và phiên bản cải tiến ...........................................50

Hình 4.4 Bài toán TSP. ..........................................................................................................................50

Hình 4.5 Kết quả bài toán TSP...............................................................................................................51

Hình 4.6 Lưu đồ thuật giải 1A ...............................................................................................................52

Hình 4.7 Lưu đồ thuật giải 1B................................................................................................................55

Hình 4.8 Cấu trúc chương trình hiện thực..............................................................................................61

Hình 4.9 Module PSA............................................................................................................................61

Hình 4.10 Sơ đồ các khối chức năng của Module MSA. .......................................................................62

Hình 4.11 Sơ đồ các khối chức năng của module TSP. .........................................................................63

Hình 5.1 Đồ thị tương quan về độ chính xác của MSAPR, CLUSTALW và MULTAL ......................72


Hình 5.2 Đồ thị tương quan về độ chính xác của MSAPR, CLUSTALW và HMMT...........................74

Hình 5.3 Đồ thị tương quan về độ chính xác của MSAPR, CLUSTALW và HMMT...........................75

Hình 5.4 Đồ thị tương quan về độ chính xác của MSAPR, CLUSTALW, SAGA................................75

Các kỹ thuật toán học cho bài toán so sánh đa trình tự


Phạm Mạnh Hùng Trang vii
Hình 5.5 Đồ thị tương quan về độ chính xác của MSAPR, CLUSTALW, SAGA................................76

Hình 5.6 So sánh thời gian thực thi của MSAPR và CLUSTALW .......................................................77


Các kỹ thuật toán học cho bài toán so sánh đa trình tự


Phạm Mạnh Hùng Trang viii
DANH MỤC BẢNG
Bảng 2.1Ma trận BLOSUM62 lưu trữ hàm đánh giá độ tương đồng của tập 23 amino acid.................12

Bảng 2.2 Một phần ma trận Identity ......................................................................................................13

Bảng 3.1 Bảng kết quả giải thuật quy hoạch động cho bài toán PSA....................................................26

Bảng 4.1 Định dạng của file dữ liệu đầu vào .........................................................................................63

Bảng 4.2 Định dạng của file dữ liệu đầu ra............................................................................................64


Bảng 4.3 Định dạng file dữ liệu đầu ra theo chuẩn MSF.......................................................................64

Bảng 4.4 Bảng tóm tắt các lớp của chương trình. ..................................................................................65

Bảng 5.1 TAT Protein HIV1..................................................................................................................66

Bảng 5.2 Kết quả Alignment của MSAPR và CLUSTALW với TAT HIV1 ........................................67

Bảng 5.3 Kết quả chạy chương trình với Nhóm 1 có chiều dài nhỏ ......................................................71

Bảng 5.4 Kết quả chạy chương trình với Nhóm 1 có chiều dài trung bình............................................71

Bảng 5.5 Kết quả chạy chương trình với Nhóm 1 có chiều dài lớn .......................................................72

Bảng 5.6 Kết quả chạy của các chương trình với các sequence của nhóm 2. ........................................73

Bảng 5.7 Kết quả chạy của các chương trình với các sequence của nhóm 3. ........................................74

Bảng 5.8 Kết quả chạy của các chương trình với các sequence của nhóm 4 .........................................75

Bảng 5.9 Kết quả chạy của các chương trình với các sequence của nhóm 5 .........................................76

Các kỹ thuật toán học cho bài toán so sánh đa trình tự


Phạm Mạnh Hùng Trang 1
Chương 1. GIỚI THIỆU
1.1. Giới thiệu
Cùng với sự phát triển mang tính đột phá của Khoa học kỹ thuật, trong vài thập
kỷ qua, sinh học phân tử đã có nhiều bước phát triển mạnh mẽ, một loạt các công cụ

ứng dụng sinh học ra đời góp phần thúc đẩy quá trình giải mã một số lượng lớn trình
tự bộ gen ở nhiều loài sinh vật. Cho đến nay, nhiều bộ gen vi khuẩn và các sinh vật
bậc cao đã được giải mã gần như hoàn toàn. Dự
án về bộ gen người được thành lập
(1997), và quá trình giải trình tự tất cả 24 cặp nhiễm sắc thể của bộ gen người cũng đã
hoàn thành từ cuối năm 2000, cũng như đã giải được khoảng 90% bộ gen người(2001).
Lượng thông tin sinh học ngày càng trở nên phong phú và đa dạng. Ðể có thể xử lý và
ứng dụng khối lượng thông tin đồ sộ như vậy , ngành Sinh tin học(hay Bioinformatics)
ra đời, đó là s
ự kết hợp giữa công nghệ thông tin và sinh học, một cách đơn giản sinh
tin học giải quyết các vấn đề của sinh học bằng cách sử dụng các kỹ thuật của khoa
học máy tính. Các lĩnh vực lớn đang được Sinh tin học giải quyết hiện nay:
 Genomic: nghiên cứu cấu trúc và chức năng của gene.
 Proteinomics: Phân tích một tỉ lệ lớn các protein của một sinh vật
 Pharmacogenomics: phát triển các lo
ại thuốc mới nhắm đến một căn bệnh
xác định
 MicroArray: nghiên cứu về DNA chip, protein chip.
Mục tiêu hàng đầu của sinh tin học gắn liền với quá trình phân tích các thông tin
sinh học. Điều này được thể hiện qua các nghiên cứu về:
 Tìm kiếm các gene trên các trình tự DNA ở các sinh vật khác nhau.
 Phát triển các phương pháp nhằm dự đoán các trình tự RNA, cấu trúc và
chức năng của các protein mới được phát hiện.

Tập hợp các trình tự có sự tương đồng cao để đưa ra mô hình protein.
 So sánh các trình tự protein tương đồng và thành lập cây phả hệ mô tả mối
quan hệ tiến hóa
Các kỹ thuật toán học cho bài toán so sánh đa trình tự



Phạm Mạnh Hùng Trang 2
Trong lĩnh vực nghiên cứu phân tích cấu trúc và chức năng của gene và protein,
phân tích trình tự(chuỗi DNA, protein) đóng vai trò quan trọng. Để đơn giản cho việc
nghiên cứu, trình tự DNA, protein sẽ được tuần tự hóa và nghiên cứu dưới dạng chuỗi
các ký tự. Thông thường khi một gene được phát hiện, một trong những yêu cầu quan
trọng là làm thế nào xác định được chức năng của gene này, yêu cầu tương tự cũng
được đặt ra khi phát hiện ra protein mới. Một phương pháp tiếp cận phổ biến đó là
chúng ta sẽ so sánh, đánh giá sự giống nhau(tương đồng) của chuỗi DNA, protein này
với những chuỗi DNA, protein đã biết, từ đó có thể đưa ra dự đoán về chức năng cũng
như cấu trúc của những gene mới phát hiện(Sequence Alignment). Quá trình tiến hóa
của loài người là một quá trình biến đổi đa dạng, từ
một gene(chuỗi DNA) tổ tiên dưới
tác động của quá trình tiến hóa đã biến đổi tạo nên những khác biệt so với gene gốc
ban đầu. Do đó việc nhận định sự giống nhau của các đoạn gene, trình tự là một vấn đề
lớn của sinh tin học. Vấn đề được đặt ra (trong phân tích trình tự) đó là làm thế nào để
có được phép so sánh tốt cho các trình tự DNA, khi mà số lượng tế bào trong cơ thể là
khoảng 10
14
và mỗi tế bào mang khoảng 3.10
9
ký tự trong đoạn DNA của chúng. Bài
toán so sánh 2 trình tự(Pairwise Sequence Alignment-PSA) đã được giải quyết trọn
vẹn bằng nhiều phương pháp khác nhau, đồng thời với việc giải quyết bài toán này,
xuất hiện nhu cầu về việc so sánh nhiều trình tự, để so sánh nhiều đoạn gene hoặc tìm
ra một phần tử đại diện cho một tập các gene nhằm đáp ứng nhu cầu ngày càng lớn của
việc tìm kiếm dự
đoán cấu trúc của các gene, protein, khi kho dữ liệu sinh học được
tập hợp ngày càng lớn. Bài toán so sánh nhiều trình tự được đặt ra như vấn đề tất yếu.
Không như bài toán so sánh 2 trình tự, bài toán so sánh nhiều trình tự(Multiple
Sequence Alignment-MSA) là một bài toán NP mở, cho đến hiện tại (2007) vẫn chưa

có một giải pháp nào có thể cung cấp một lời giải trọn vẹn cho bài toán, các lời giải
thường tập trung vào việc tìm ra phép so sánh “gần” tốt nhất, và mỗ
i phương pháp tiếp
cận sẽ chỉ cho những lời giải thực sự tốt tùy từng yêu cầu tiếp cận và bài toán cụ thể.
Progressive Algorithm là một hướng giải quyết tốt cho bài toán so sánh nhiều trình tự.
Đây là phương pháp kết hợp Qui hoạch động(Dynamic Programming) với heuristic.
Phương pháp này sẽ tăng tốc độ tính toán, giảm độ phức tạp của giải thuật, có thể áp
dụng cho các cơ sở dữ li
ệu gene lớn, phục vụ cho các dự án giải mã gene của các sinh
vật bậc cao.
Các kỹ thuật toán học cho bài toán so sánh đa trình tự


Phạm Mạnh Hùng Trang 3
Từ khi được giới thiệu cho đến hiện nay, bài toán MSA đã và vẫn đang là một
thách thức cho các nhà khoa học. Nghiên cứu và tìm ra một giải pháp cho bài toán vẫn
là động lực thúc đẩy nhiều công trình khoa học về bài toán này.
Xuất phát từ những đặc điểm của bài toán MSA đề tài này cố gắng tập trung vào
giải quyết một số vấn đề sau:
 Khảo sát tổng quát các đặc đ
iểm của bài toán MSA, các phương pháp giải
quyết bài toán.
 Nghiên cứu về phương pháp dynamic programming, dynamic
programming kết hợp với heuristic, Progressive Algorithm.
 Đề xuất một phương pháp giải quyết bài toán dựa trên Progressive
Algorithm.
 Xây dựng chương trình hiện thực giải thuật được đề xuất và kiểm thử trên
tập dữ liệu thực tế được lấy từ tổ chức NCBI(National Center for
Biotechnology Information), và BAliBASE benchmark.
Với những mục tiêu này đề

tài đã thu được một số kết quả:
 Cung cấp cái nhìn tổng quan nhất về so sánh trình tự nói chung và bài toán
MSA nói riêng.
 Phân loại các phương pháp giải quyết bài toán MSA, phân tích các ưu
điểm và nhược điểm của từng phương pháp.
 Xây dựng giải thuật giải quyết bài toán MSA dựa trên việc cải thiện, tối
ưu hoá bài toán PSA về độ chính xác cũng như bộ nhớ sử dụng, thông
qua việc sử
dụng 3 ma trận đánh giá BLOSUM, từ kết quả này của bài
toán PSA sử dụng Progressive Algorithm kết hợp với lời giải của bài toán
TSP để thực hiện quá trình so sánh nhiều trình tự, tìm ra lời giải cận tối
ưu.
 Xây dựng thành công chương trình hiện thực giải thuật, cho phép tìm lời
giải cho bài toán MSA với độ chính xác khá cao dựa trên kết quả kiểm thử
trên các mẫu dữ liệu thực tế BAliBase benchmark và NCBI. Chương trình
Các kỹ thuật toán học cho bài toán so sánh đa trình tự


Phạm Mạnh Hùng Trang 4
cho phép tiết kiệm bộ nhớ sử dụng, cũng như thời gian tính toán chấp
nhận được.
1.2. Kết cấu của luận văn
Luận văn bao gồm 6 chương.
Chuơng 1. GIỚI THIỆU
Chương này trình bày về bối cảnh, mục tiêu cũng như kết quả thu được của luận
văn.
Chương 2. TỔNG QUAN VỀ KHÁI NIỆM SO SÁNH TRÌNH TỰ
Chương này trình bày tổng quát về khái niệm so sánh trình tự, bài toán PSA,
MSA, các phương pháp đánh giá chất lượng của MSA, các phương pháp giải quyết bài
toán MSA.

Chương 3. CƠ SỞ LÝ THUYẾT VÀ PHƯƠNG PHÁP THỰC HIỆN
Chươ
ng này giới thiệu chung về phương pháp quy hoạch động(dynamic
programming). Giới thiệu về phương pháp quy hoạch động giải quyết bài toán PSA,
giải thuật tính giá trị PSA cải tiến về mặt bộ nhớ sử dụng. Phần tiếp theo của chương
này trình bày về cách tiếp cận bài toán MSA hướng đến bài toán chính xác hoàn toàn
bằng quy hoạch động thuần tuý, những khó khăn khi tiếp cận theo phương pháp này,
giới thiệu một cách giải quy
ết bài toán MSA theo hướng gần đúng dựa trên kỹ thuật
quy hoạch động kết hợp heuristic: Center Star Algorithm . Phần cuối chương này trình
bày về 3 điểm chính, bao gồm giới thiệu Progressive Algorithm tổng quát, Progressive
Algorithm phổ biến nhất, giải thuật Feng-Doolittle(Feng-Doolittle Algorithm) và một
số chương trình hiện thực Progressive Algorithm trong thực tế.
Chương 4. THIẾT KẾ GIẢI THUẬT VÀ HIỆN THỰC PHƯƠNG PHÁP
GIẢI QUYẾT BÀI TOÁN MSA
Đây là chương dài nhất và cũng là chươ
ng giới thiệu những giải pháp mới của đề
tài. Chương này trình bày về cách tiếp cận của luận văn để xây dựng giải thuật giải
quyết bài toán MSA. Đầu chương giới thiệu về giải thuật tối ưu hoá tìm lời giải bài
toán PSA dựa trên việc sử dụng kết hợp giải thuật tính giá trị PSA trình bày ở chương
Các kỹ thuật toán học cho bài toán so sánh đa trình tự


Phạm Mạnh Hùng Trang 5
3 và kỹ thuật chia để trị để tìm lời giải cho bài toán PSA. Phần này giới thiệu thêm
việc sử dụng song song 3 ma trận BLOSUM làm hàm đánh giá để cải tiến độ chính
xác, phù hợp với thực tế lời giải của bài toán PSA. Tiếp theo chương này đưa ra một
giải pháp mới giải quyết bài toán MSA bằng cách kết hợp sử dụng giải thuật cho bài
toán PSA vừa thu được, và giải thu
ật Feng-Doolittle để mô tả cách thức align các

nhóm chuỗi trình tự(sequence) với nhau. Sử dụng kết quả bài toán TSP để tìm ra thứ
tự align các nhóm sequence , lựa chọn điểm bắt đầu thực hiện quá trình align các
sequence thông qua cách thức chọn điểm trung tâm của Center Star Algorithm. Sau
nữa, chương này sẽ trình bày 1 cải tiến của giải thuật mới vừa nêu, nhằm nâng cao
chất lượng của MSA bằng kỹ thuật gom nhóm theo khoảng cách ngắn nhất dựa trên
thứ tự align thu được từ bài toán TSP. Gần cuối chương sẽ giới thiệu về phương pháp
giải quyết bài toán TSP bằng giải thuật di truyền(Genetic Algorithm-GA), và cuối
cùng sẽ giới thiệu về các module của chương trình hiện thực giải thuật vừa nêu.
Chương 5. KẾT QUẢ, NHẬN XÉT
Chương này giới thiệu về kết quả của chương trình hiện thực. Đánh giá kết quả
này, so sánh vớ
i một số chương trình giải quyết bài toán MSA.
Chương 6.KẾT LUẬN
Chương này đề cập lại những việc đã thực hiện được của đề tài. Nêu lên hướng
mở rộng và phát triển tiếp theo cho đề tài.

Các kỹ thuật toán học cho bài toán so sánh đa trình tự


Phạm Mạnh Hùng Trang 6
Chương 2. TỔNG QUAN VỀ KHÁI NIỆM SO SÁNH TRÌNH
TỰ (SEQUENCE ALIGNMENT)
2.1. So sánh trình tự
Như đã giới thiệu Gene Finding Problem là một hướng phát triển quan trọng
của sinh tin học, Gene Finding dựa vào quá trình phân tích trình tự để có thể đưa ra
được những kết quả. Một số các mục tiêu của quá trình phân tích trình tự:
 Xác định gene.
 Xác định chức năng của từng gene. Chúng ta giả thiết rằng các trình tự có
cấu trúc tương tự nhau thì sẽ có chức năng tương tự nhau, do đó ta có thể
tìm kiế

m chức năng của một gene thông qua việc so sánh mức độ giống
nhau của nó với một gene khác có chức năng đã được xác định.
 Xác định sự lặp lại của các trình tự
 Xác định protein dựa trên quy tắc sắp đặt của các biểu thức gene.
 Xác định các vùng chức năng khác nhau của DNA…
Trong quá trình phân tích trình tự thì khái niệm so sánh trình tự đóng vai trò quan
trọng. Đây là nền tảng cơ bản cho vi
ệc phân tích. So sánh trình tự sẽ giúp cho quá trình
dự báo sự giống nhau về chức năng của các trình tự, dự báo cấu trúc bậc 3 của DNA,
protein. Trong việc tìm hiểu một gene mới, chúng ta thường quan tâm đến việc xác
định những đặc điểm để phân biệt gene đồng thời đưa ra những giả thuyết về chức
năng của gene. Việc đưa ra những giả thuyết về chức năng của gene thường d
ựa vào
những giải thuật đánh giá sự giống nhau, tương đồng giữa các trình tự.

2.1.1. Định nghĩa So sánh trình tự(Sequence Alignment)
So sánh trình tự(một số tài liệu gọi là phép gióng hàng, gióng cột) là quá trình
nghiên cứu sự giống nhau giữa các chuỗi trình tự(sequence), đo lường sự giống nhau
giữa các trình tự. Là cách thức so sánh giữa 2 hay nhiều trình tự dựa trên việc so sánh
một chuỗi các thành phần(ký tự) của trình tự để tìm ra những điểm tương đồng, giống
nhau giữa các trình tự.
Các trình tự được đề cập trong phần nghiên c
ứu này là các các chuỗi trình tự
DNA, RNA hoặc các trình tự amino acid( protein).
Các kỹ thuật toán học cho bài toán so sánh đa trình tự


Phạm Mạnh Hùng Trang 7
Xét 2 chuỗi: A C G C T G và C A T G T. Chúng ta sẽ đo lường sự giống nhau
giữa 2 chuỗi này. Bên dưới là một ví dụ về một trong những khả năng alignment của 2

chuỗi trên. Tiêu chí để đánh giá sự giống nhau sẽ dựa trên một hàm đánh giá (scoring
function).


Hình

2.1 Ví dụ về PSA
Ký tự “–“ được gọi là 1 gap, gap thể hiện cho ý nghĩa trong sinh học đó là một
phần của trình tự đã bị mất đi do, các hành vi của quá trình tiến hóa sinh vật như: đột
biến, sự mất đi một thành phần trong chuỗi trình tự. Giá trị hàm đánh giá càng cao thì
chúng ta có một kết quả alignment càng tốt. Xét một hàm đánh giá đơn giản như sau,
nếu 2 thành phần trong chuỗi là giống nhau thì hàm đánh giá sẽ có kết quả +2, n
ếu 2
thành phần trong chuỗi khác nhau thì hàm đánh giá tại vị trí này sẽ có kết quả -1, như
vậy kết quả so sánh ở trên sẽ có giá trị hàm đánh giá là:
3*(2)+(-1)*5=1
Ý nghĩa: Trên quan điểm sinh học, phép so sánh trình tự thể hiện quá trình biến
đổi chọn lọc tự nhiên của các chuỗi trình tự, từ đó cho phép các nhà sinh học đưa ra
kết luận về nguồn gốc của các đoạn gene, DNA, RNA, hay protein.
2.1.2. Phân loại
Dựa trên ph
ương pháp so sánh người ta chia ra làm 2 loại alignment:
 Phép alignment trình tự theo hướng toàn cục(Global Sequence
Alignment): Phép toán alignment được áp dụng trên toàn bộ chuỗi trình tự.
Thường được sử dụng khi các trình tự so sánh có kích thước gần tương
đương và các trình tự này có độ tương đồng, giống nhau cao.
 Phép alignment trình tự theo hướng cục bộ(Local Sequence Alignment):
Phép toán alignment được sử dụng trên một phần của chuỗi trình tự. Thường
được sử dụng khi các trình tự có chiều dài lớn, độ t
ương đồng giống nhau

không cao, chỉ có một số ít các gene giống nhau trên 2 trình tự, hoặc khi 2
trình tự có kích thước khác biệt lớn.
A C – – G C T G

– C A T G – T –
Các kỹ thuật toán học cho bài toán so sánh đa trình tự


Phạm Mạnh Hùng Trang 8
Ví dụ về so sánh trình tự theo hướng toàn cục:

Hình

2.2 Ví dụ về so sánh trình tự theo hướng toàn cục
Toàn bộ 2 chuỗi trình tự L G P S S K Q T G K G S − S R I W D N và
L N − I T K S A G K G A I M R L G D A được so sánh
Ví dụ về so sánh trình tự theo hướng cục bộ:

Hình

2.3 Ví dụ về so sánh trình tự theo hướng cục bộ
Chỉ một phần của 2 chuỗi được so sánh: TGKG và AGKG
Tùy thuộc vào số lượng trình tự, bài toán so sánh trình tự được chia làm 2 mức
độ:
 So sánh 2 trình tự
 So sánh nhiều trình tự.
2.1.3. So sánh 2 trình tự (Pairwise Sequence Alignment-PSA).
Định nghĩa 2.1:
Gọi S
1

và S
2
là 2 chuỗi, một sự alignment A giữa S
1
và S
2
sẽ tạo ra 2 chuỗi S’
1

S’
2
bằng cách thêm vào các ký tự “-“ vào S
1
, S
2
, trong đó:
 |S’
1
|=|S’
2
|
 Nếu loại bỏ các ký tự “-“ khỏi S’
1
và S’
2
ta sẽ có S
1
và S
2


Với |S
1
|, |S
2
| lần lượt là chiều dài của S
1
và S
2
.


Hình

2.4 Cấu trúc 1 PSA
L G P S S K Q T G K G S − S R I W D N


L N − I T K S A G K G A I M R L G D A

− − − − − − − T G K G − − − − − − − −


− − − − − − − A G K G − − − − − − − −
A C G C T G

C A T G T
A C – – G C T G

– C A T G – T –
(S

1
)

(S
2
)
(S’
1
)

(S’
2
)
Các kỹ thuật toán học cho bài toán so sánh đa trình tự


Phạm Mạnh Hùng Trang 9
2.1.4. So sánh nhiều trình tự (Multiple Sequence Alignment-MSA)
Trong mục này ta sẽ xem xét nguồn gốc sinh học của quá trình thực hiện Multiple
Squence Alignment. Nguyên nhân chính cho sự ra đời của quá trình so sánh nhiều
trình tự là việc so sánh sự tương đồng về trình tự của các protein với một tập protein
đã có sẵn trong Cơ Sở Dữ Liệu (CSDL). Thông thường các protein lưu trong CSDL
thường được tổ chức thành các nhóm chung(protein family), có sự tương đồng về cấu
trúc, chức nă
ng, và cấu trúc bậc 3. Khi cần khảo sát một protein mới, chúng ta hy
vọng có thể đưa ra các giả thuyết về cấu trúc, chức năng và quá trình tiến hóa của
protein này thông qua phép toán alignment. Tuy nhiên, chúng ta không thể thực hiện
việc alignment chuỗi trình tự của protein này với từng trình tự của mỗi protein trong
CSDL, điều này là không thể về mặt thời gian xử lý. Do đó cách tiếp cận tốt hơn là
chúng ta sẽ so sánh trình tự của protein này với mỗi tập h

ợp protein trong CSDL,
thông qua việc so sánh trình tự của protein này với một trình tự đại diện cho mỗi tập
hợp protein. Vấn đề đặt ra là làm cách nào để tìm ra trình tự đại diện cho một tập hợp
protein, câu trả lời sẽ được cung cấp thông qua việc thực hiện phép toán multiple
alignment của tập hợp protein này, để tìm ra phần tử tương đồng nhất đại diện cho tập
hợp protein.
Định nghĩa 2.2:
Cho k chuỗi S
1
, S
2
,…,S
k
một phép toán Multiple Sequence Alignment(MSA) của
k chuỗi này sẽ tạo ra k chuỗi mới S’
1
, S’
2
,…, S’
k
bằng cách thêm các ký tự “-” vào các
chuỗi S
1
, S
2
,…,S
k
trong đó:
 |S’
1

|=|S’
2
|=…=|S’
k
|=n
 Nếu bỏ đi các ký tự “-” khỏi S’
i
ta sẽ được lại chuỗi ban đầu S
i
(1≤i≤k)

Hình

2.5 Giới thiệu 1 MSA

k được gọi là số sequence của MSA
n: là chiều dài của MSA. MSA có n cột, mỗi cột chứa các ký tự đại diện cho các
sequence của MSA, các ký tự này có thể là các amino acid(nucleotide) hoặc phần tử
‘-‘.
A G T − G T G
A G T A G T G
− G T C G T G
− − T A G T G
A G T G T G
A G T A G T G
G T C G T G
T A G T G
(S
1
)

(S
2
)
(S
3
)
(S
4
)

(S’
1
)
(S’
2
)
(S’
3
)
(S’
4
)

Các kỹ thuật toán học cho bài toán so sánh đa trình tự


Phạm Mạnh Hùng Trang 10

Hình


2.6

Giới thiệu các khái niệm của MSA

2.2. Các khái niệm khác
Trong quá trình tiến hóa của mình trên một đoạn gene, DNA, protein có thể xuất
hiện các hành vi: đột biến(mutation), mất(delete), thêm hoặc giữ lại trạng thái di
truyền của các nucleotide(DNA) hoặc amino acid với protein.


Hình

2.7 Quá trình biến đổi của 2 sequence

Như vậy kết quả của phép so sánh giữa ACTCGATT và AGCTAATC:

Chúng ta xét 2 chuỗi A=a
1
a
2
…a
m
, B=b
1
b
2
…b
n
. Việc biến đổi từ chuỗi trình tự A
sang B là sự kết hợp của các quá trình: quá trình thay thế, sự xuất hiện các gap.

Một sự thay thế trong quá trình biến đổi từ A sang B là sự thay thế của 1 phần tử
của A bằng 1 phần tử của B. Sự thay thế có thể là 1 trong 2 quá 1 trình: quá trình đột
biến hoặc quá trình giữ lại trạng thái di truyền.
A G T − G T G
A G T A G T G
− G T C G T G
− − T A G T G
Cột 7 của
MSA
k=4 sequence
Chiều dài của MSA n=7
ACTCGATT
ACTCGATT
ACGATT
Mất TC
tại vị trí
thứ 3, 4
AGCATC
ACTCGATT
Đột biến
thay C
bằng G
tại vị trí 2
Đột biến
thay G
bằng C tại
vị trí 3
Đột biến
thay T bằng
C tại vị trí

6
AGCTAATC
Thêm TA
vào vị trí
4
A C T C G - - A T T
A G - - C T A A T C
Các kỹ thuật toán học cho bài toán so sánh đa trình tự


Phạm Mạnh Hùng Trang 11
Một gap bao gồm các phần tử của 1 chuỗi mà mỗi phần tử này tương ứng với các
phần tử có ký hiệu là “-“ của chuỗi còn lại. Gap gồm có 2 loại: deletion gap và
insertion gap, tương ứng với quá trình thêm vào hoặc mất đi các phần tử di truyền


Hình

2.8 Ví dụ về các phép thay thế gap
Như vậy thông qua kết quả alignment của 2 chuỗi có thể biết được quá trình biến
đổi, tiến hóa từ chuỗi này sang chuỗi khác. Chúng ta có thể quan sát một ví dụ thực tế
sau:
GCGCTCCGGGACGCCTTCCGCCGTCGGGAGCCCTACAACTACCTGCAGAGGGCCTATTAC
-------------------------||||||| ||||||||||||||||||||||| |||
GGGAGCCTTACAACTACCTGCAGAGGGCCTACTAC
CAGGTGGGGAGCGGGCCGGGCAG TAG
|||||| ||---||||||| |||-------------------------------------
CAGGTGCGG GGGCCGGCCAGGGTGCTACCCCAAGCCTACTGACTGTCTTACTGG
CCTTCCCCAGAGCCCCCTAGCCGCAGGCACCAGAGGGTCCAAGACAAGACTGGAAGGGCA
-----------------------|| || ||| | ||||| || || |||| | | |

CAAGCTTCAGCGAGTCCAGGAGAAAGCTGGGAAGCCC
CCTCGGGTTCGG GAGGAGCTGTGAGTGGCT
| ||||| |||------||||| |||||| |||||------------------------
CGCCGGGTCCGGGTCCGAGAGGAACTGTGAATGGCTGAGCCTGCTTCTCGAGGATCAGGC

Mỗi một alignment có một giá trị thông qua việc đánh giá các phần tử tạo thành
nó. Giá trị này phản ánh quá trình biến đổi chuỗi A thành chuỗi B và ngược lại. Định
nghĩa giá trị này một cách tối ưu sẽ cho phép ta tìm được một quá trình biến đổi tối ưu
từ A thành B(và ngược lại), điều này cũng đồng nghĩa với việc tìm phép alignment tối
ưu của A và B
.
Việc tính toán giá trị cho một alignment phụ thuộc vào:
 Ma trận đánh giá
 Giá trị của Gap
 Phương pháp đánh giá
A C T C G - - A T T
A G - - C T A AT C
Sự thay thế
Deletion gap
Insertion gap
Các kỹ thuật toán học cho bài toán so sánh đa trình tự


Phạm Mạnh Hùng Trang 12
2.2.1. Ma trận đánh giá(Scoring Matrix)
Kết quả của việc tính giá trị cho mỗi alignment phụ thuộc nhiều vào kết quả của
hàm đánh giá sự tương đồng của mỗi cặp amino acid(nucleotide)
(,)ab
σ
. Trong phần

ví dụ về alignment ta có đưa ra một ví dụ đơn giản cho
(,)ab
σ
tuy nhiên trong thực tế
sinh học khả năng xuất hiện của mỗi cặp amino acid(cũng như nucleotide) là khác
nhau, xác suất xuất hiện cùng lúc của cặp amino acid này có thể cao trong khi xác suất
xuất hiện của cặp amino acid kia có thể thấp. Vì thế độ tương đồng của các cặp amino
acid thường được lưu trữ dưới dạng một ma trận 2 chiều gọi là ma trận đánh giá.
Một ví dụ:

Bảng

2.1Ma trận BLOSUM62 lưu trữ hàm đánh giá độ tương đồng của tập 23 amino acid
Xét trên phương diện toán, ma trận đánh giá là 1 ánh xạ được định nghĩa như sau:
2
:( ')
σ
∑→\

trong đó
'{''}∑=∑∪−


là tập các amino acid hoặc nucleotide
Có nhiều hình thức ma trận đánh giá khác nhau dựa trên quá trình nghiên cứu,
thống kê thực tế sinh học. Hiện tại có 4 hình thức ma trận đánh giá: identity matrix,
genetic code matrix, chemical similarity matrix và substitution matrix.
A R N D C Q E G H I L K M F P S T W Y V B Z X *
A 6 -2 -2 -3 -1 -1 -1 0 -2 -2 -2 -1 -1 -3 -1 2 0 -4 -3 0 -2 -1 -1 -6
R -2 8 -1 -2 -5 1 0 -3 0 -4 -3 3 -2 -4 -3 -1 -2 -4 -3 -4 -2 0 -2 -6

N -2 -1 8 2 -4 0 0 -1 1 -5 -5 0 -3 -4 -3 1 0 -6 -3 -4 5 0 -2 -6
D -3 -2 2 9 -5 0 2 -2 -2 -5 -5 -1 -5 -5 -2 0 -2 -6 -5 -5 6 1 -2 -6
C -1 -5 -4 -5 13 -4 -5 -4 -4 -2 -2 -5 -2 -4 -4 -1 -1 -3 -4 -1 -5 -5 -3 -6
Q -1 1 0 0 -4 8 3 -3 1 -4 -3 2 -1 -5 -2 0 -1 -3 -2 -3 0 5 -1 -6
E -1 0 0 2 -5 3 7 -3 0 -5 -4 1 -3 -5 -2 0 -1 -4 -3 -4 1 6 -1 -6
G 0 -3 -1 -2 -4 -3 -3 8 -3 -6 -5 -2 -4 -5 -3 0 -2 -4 -5 -5 -1 -3 -2 -6
H -2 0 1 -2 -4 1 0 -3 11 -5 -4 -1 -2 -2 -3 -1 -3 -4 3 -5 -1 0 -2 -6
I -2 -4 -5 -5 -2 -4 -5 -6 -5 6 2 -4 2 0 -4 -4 -1 -4 -2 4 -5 -5 -2 -6
L -2 -3 -5 -5 -2 -3 -4 -5 -4 2 6 -4 3 1 -4 -4 -2 -2 -2 1 -5 -4 -2 -6
K -1 3 0 -1 -5 2 1 -2 -1 -4 -4 7 -2 -5 -2 0 -1 -4 -3 -3 -1 1 -1 -6
M -1 -2 -3 -5 -2 -1 -3 -4 -2 2 3 -2 8 0 -4 -2 -1 -2 -1 1 -4 -2 -1 -6
F -3 -4 -4 -5 -4 -5 -5 -5 -2 0 1 -5 0 9 -5 -4 -3 1 4 -1 -5 -5 -2 -6
P -1 -3 -3 -2 -4 -2 -2 -3 -3 -4 -4 -2 -4 -5 11 -1 -2 -5 -4 -4 -3 -2 -2 -6
S 2 -1 1 0 -1 0 0 0 -1 -4 -4 0 -2 -4 -1 6 2 -4 -3 -2 0 0 -1 -6
T 0 -2 0 -2 -1 -1 -1 -2 -3 -1 -2 -1 -1 -3 -2 2 7 -4 -2 0 -1 -1 -1 -6
W -4 -4 -6 -6 -3 -3 -4 -4 -4 -4 -2 -4 -2 1 -5 -4 -4 16 3 -4 -6 -4 -3 -6
Y -3 -3 -3 -5 -4 -2 -3 -5 3 -2 -2 -3 -1 4 -4 -3 -2 3 10 -2 -4 -3 -2 -6
V 0 -4 -4 -5 -1 -3 -4 -5 -5 4 1 -3 1 -1 -4 -2 0 -4 -2 6 -5 -4 -1 -6
B -2 -2 5 6 -5 0 1 -1 -1 -5 -5 -1 -4 -5 -3 0 -1 -6 -4 -5 5 0 -2 -6
Z -1 0 0 1 -5 5 6 -3 0 -5 -4 1 -2 -5 -2 0 -1 -4 -3 -4 0 5 -1 -6
X -1 -2 -2 -2 -3 -1 -1 -2 -2 -2 -2 -1 -1 -2 -2 -1 -1 -3 -2 -1 -2 -1 -2 -6
* -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 -6 1

Các kỹ thuật toán học cho bài toán so sánh đa trình tự


Phạm Mạnh Hùng Trang 13
Identity matrix: đây là cơ chế đánh giá độ tương đồng đơn giản nhất, trong ma
trận này các cặp amino acid giống nhau sẽ có giá trị của phần tử tương ứng trong ma
trận là 1, các cặp amino acid còn lại sẽ nhận giá trị 0.

Ví dụ

Bảng

2.2 Một phần ma trận Identity
Ma trận mã di truyền(Genetic code matrix): trong ma trận này hàm đánh giá
của mỗi cặp amino acid dựa trên độ tương đồng về mã di truyền. Ngày nay ma trận
này hiếm khi được sử dụng trong việc alignment các chuỗi amino acid.
Ma trận tương đồng hóa học(chemical similarity matrix): trong ma trận này,
các amino acid có cấu trúc tương đồng về cấu trúc vật lý cũng như thuộc tính hóa học
như kích thước, hình dạng, khả năng phân cực,… thì phần tử tương ứng trong ma trận
s
ẽ nhận giá trị lớn hơn so với các cặp còn lại.
Ma trận thay thế(substitution matrix): Ma trận này được tính toán và xây dựng
dựa trên các quan sát thống kê về tần số thay đổi của các amino acid trong việc
alignment các chuỗi trình tự. Ma trận thay thế được đánh giá là tốt hơn so với 3 hình
thức ma trận trên và hiện nay cũng được sử dụng phổ biến nhất.
Trong phần này, xin giới thiệu 1 hình thức ma trận thay thế hay được sử
dụng
trong các công trình nghiên cứu cũng như trong các công cụ phục vụ cho việc tính toán
sinh học: ma trận BLOSUM.
Ma trận BLOSUM(Block Subtitutation Matrix):
Khái niệm ma trận BLOSUM được xây dựng dựa trên 1 MSA của tập các protein
có sự khác biệt về quá trình tiến hóa. Hàm đánh giá của các cặp amino acid trong ma
trận được tính dựa vào tần số quan sát sự thay đổi trong các khối(block) của các local
alignment của các họ protein trong cơ sở dữ liệu BLOCK(Henikoff và Henikoff
1992)[14]. Cơ sở dữ liệu này gồm 3000 block của các protein
đặc trưng, đại diện cho
vài trăm nhóm protein. Các ma trận BLOSUM được thiết kế nhằm giải quyết cho các
A R N D C Q

A 1 0 0 0 0 0
R 0 1 0 0 0 0
N 0 0 1 0 0 0
D 0 0 0 1 0 0
C 0 0 0 0 1 0
Q 0 0 0 0 0 1

Các kỹ thuật toán học cho bài toán so sánh đa trình tự


Phạm Mạnh Hùng Trang 14
trường hợp align các sequence có sự biến đổi, tiến hóa về mặt di truyền trong một
khoảng thời gian dài.
Ma trận BLOSUM bao gồm nhiều cấp độ, ký hiệu BLOSUMn.
Ma trận BLOSUMn(
1 100n≤≤
) cho biết độ tương đồng của các chuỗi được dùng
để tính ra chúng. Ví dụ, chúng ta xét ma trận BLOSUM62, giá trị của các phần tử
trong ma trận được tính từ tập các protein có độ tương đồng không lớn hơn 62%.
Trong tập các ma trận BLOSUMn, các ma trận có chỉ số n nhỏ thường được sử dụng
trong việc align các sequence có độ khác biệt cao(độ tương đồng thấp), và các ma trận
có chỉ số n lớn thường
được sử dụng cho các sequence có độ tương đồng cao.
Ví dụ: ma trận BLOSUM62 thường được sử dụng nhất cho việc align các
sequence khi chưa xác định độ tương đồng của chúng, ma trận BLOSUM45 thường
được sử dụng cho các sequence có sự khác biệt cao, ma trận BLOSUM100 thường
được sử dụng cho các ma trận đó độ tương đồng cao.
Việc tính toán tập các ma trận BLOSUM dựa trên công thức xác suất biến đổi:
( , ) ( , ) log( )
O

E
P
score a b a b k
P
σ
==

trong đó
O
P
là xác suất chuyển đổi từ amino acid a sang amino acid b trong tập quan
sát
E
P
: là xác suất xuất hiện của amino acid b trong tập quan sát.
k là hệ số làm tròn. Thông thường k=10, và giá trị hàm đánh giá được làm tròn
thành số nguyên.
(,) 0score a b >
: cho biết sự thay thế giữa amino acid a và b có khả năng xảy ra cao
hơn so với sự thay đổi một cách ngẫu nhiên
(,) 0score a b <
: cho biết sự thay thế giữa amino acid a và b có khả năng xảy ra
thấp hơn so với sự thay đổi một cách ngẫu nhiên.
(,) 0score a b =
: cho biết sự thay thế giữa amino acid a và b tương đương với việc
thay thế 2 amino acid một cách ngẫu nhiên.
2.2.2. Gap
Việc tính giá trị của mỗi gap phụ thuộc vào bản chất tự nhiên của các chuỗi trình
tự, có thể tính giá trị của gap theo các hàm tuyến tính hoặc đa thức. Trong thực tế, để

×