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.
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
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
100 trang |
Chia sẻ: maiphuongtl | Lượt xem: 2368 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Luận văn Các kỹ thuật toán học cho bài toán so sánh đa trình tự, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ư sau:
Sắp xếp quần thể theo thứ tự độ tốt giảm dần.
Loại bỏ các cá thể cuối dãy để chỉ giữ lại p cá thể tốt nhất, ở đây ta giả sử quần
thể có kích thước cố định p.
Một thuật giải di truyền gồm các thành phần sau:
Một cấu trúc dữ liệu I biểu diễn không gian lời giải của bài toán.
Phương pháp khởi tạo quần thể ban đầu P(0).
Hàm định nghĩa độ thích nghi (fitness function) đóng vai trò môi trường.
Các phép toán di truyền như đã mô phỏng ở trên.
Và các tham số thuật giải di truyền sử dụng (kích thước quần thể, xác suất lai, đột
biến v.v...)
parent 1 : 1 1 0 | 0 0 1
parent 2 : 0 1 0 | 1 1 1
offspring 1 : 1 1 0 1 1 1
offspring 2 : 0 1 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 59
4.3.2. Cấu trúc thuật giải di truyền tổng quát
Bắt đầu
t=0;
Khởi tạo quần thể P(t);
Tính độ thích nghi cho các cá thể thuộc P(t);
while (điều kiện dừng chưa thoả) {
t = t+1;
Tái sinh P’(t) từ P(t-1);
Lai Q(t) từ P’(t);
Đột biến R(t) từ P’(t);
Chọn lọc P(t) từ ( 1) ( ) ( ) ( )− ∪ ∪ ∪P t Q t R t P' t ;
}
Kết thúc.
Ý tưởng của việc sử dụng giải thuật GA cho bài toán TSP:
Chúng ta xây dựng một quần thể các lời giải của bài toán TSP. Quần thể có m cá
thể với m là tham số do người dùng điều chỉnh. Mỗi nhiễm sắc thể sẽ có k gene, mỗi
gene đại diện cho 1 đỉnh. Hàm fitness chính là chiều dài của quãng đường ứng với
nhiễm sắc thể. Quãng đường ứng với nhiễm sắc thể càng ngắn hàm thích nghi càng tốt.
Chúng ta sẽ xây dựng các hàm lai ghép, đột biến, và chọn lọc cho giải thuật.
Ví dụ:
Phép lai ghép sử dụng phép lai ghép theo giải thuật PMX(Partially-Mapped
Crossover). Nội dung phép lai ghép này như sau: Sử dụng 2 điểm cắt trên nhiễm sắc
thể của cả cha-mẹ. Để tạo một nhiễm sắc thể mới(con), phần chuỗi nằm giữa 2 điểm
cắt của nhiễm sắc thể thứ nhất cha(mẹ) sẽ được thay thế cho phần chuỗi nằm giữa 2
điểm cắt của nhiễm sắc thể còn lại. So sánh sự thay đổi gene trong phần giữa 2 điểm
cắt của nhiễm sắc thể thứ hai với nhiễm sắc thể mới tạo, thực hiện sự thay đổi các
phần tử bên ngoài vùng giữa 2 điểm cắt của nhiễm sắc thể con, dựa trên sự thay đổi
này. Điều này đảm bảo cho không có sự lặp lại của các gene trong nhiễm sắc thể mới.
Tương tự đổi vai trò của nhiễm sắc thể cha mẹ với nhau ta sẽ tạo được thêm 1 con
mới.
Xét ví dụ 2 nhiễm sắc thể cha 1 2 5 6 4 3 8 7 và mẹ 1 4 2 3 6 5 7 8 . Xét 2 điểm
cắt tại vị trí 3,6. Quá trình tạo ra 1 nhiễm sắc thể mới(con) như sau. Thay thế chuỗi
nằm giữa 2 điểm cắt của mẹ là 2 3 6 bằng chuỗi nằm giữa 2 điểm cắt của cha 5 6 4 lúc
Nhiễm sắc thể cho bài toán TSP 9 đỉnh
[9 3 4 0 1 2 5 7 6 8]
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 60
này nhiễm sắc thể con là 1 4 5 6 4 5 7 8. Như vậy 5, 4 xuất hiện 2 lần trong nhiễm sắc
thể con. So sánh phần nằm giữa 2 điểm cắt của nhiễm sắc thể con và nhiễm sắc thể mẹ
ta thấy gene 5 được thay bằng 2, gene 4 được thay bằng 6, nhưng vì 6 có trong phần
giữa 2 điểm cắt nên 4 được thay bằng 3. Thực hiện sự thay đổi này với phần nằm
ngoài 2 điểm cắt ta được nhiễm sắc thể con mới: 1 3 5 6 4 2 7 8 . Chúng ta có một ví
dụ minh họa cho phép Crossover của giải thuật.
Phép đột biến: phép đột biến được thực hiện bằng cách đổi chỗ một cách ngẫu
nhiên 2 gene bất kỳ trong 1 nhiễm sắc thể, sao cho nhiễm sắc thể mới thu được có
chiều dài của con đường tương ứng ngắn hơn so với nhiễm sắc thể ban đầu.
Ví dụ minh họa cho phép đột biến của giải thuật:
Phép chọn lọc: Chọn lọc các cá thể có hàm thích nghi tốt nhất.
4.4. Phần hiện thực giải thuật và chương trình:
Chương trình tính MSA(MSAPR) được viết bằng VC++8(2005) trên nền IDE
Visual Studio 2005. Chương trình chạy trên nền hệ điều hành Microsoft Windows XP,
cung cấp giao diện đồ hoạ cho phép người dùng tương tác một cách dễ dàng.
Chương trình tính MSA hiện thực cả 2 giải thuật 1A, 1B. Người sử dụng có thể
lựa chọn 1 trong 2 giải thuật này.
Dựa trên các ý tưởng đã được phân tích trong phần giải thuật. Cấu trúc chương
trình chương trình hiện thực bài toán MSA gồm có 3 phần:
Module giải quyết bài toán PSA
Module giải quyết bài toán TSP
Trước [0 1 2 3 4 5 6]
Sau phép đột biến [0 1 3 2 4 5 6]
parent 1 : 1 2 | 5 6 4 | 3 8 7
parent 2 : 1 4 | 2 3 6 | 5 7 8
________________________________
offspring
(step 1) : 1 4 5 6 4 5 7 8
(step 2) : 1 3 5 6 4 2 7 8
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 61
Module hiện thực giải thuật 1B.
Hình 4.8 Cấu trúc chương trình hiện thực
PSA Module: hiện thực giải thuật “Chia để trị” kết hợp với việc sử dụng 3 ma
trận BLOSUM để giải quyết bài toán PSA.
Hình 4.9 Module PSA
MSA Module :Hiện thực giải thuật tính MSA. Bao gồm các khối chức năng:
Khối chức năng tính toán ma trận khoảng cách dựa trên việc sử dụng
module PSA.
Khối chức năng tìm thứ tự align các sequence dựa trên ma trận khoảng
cách và Module TSP.
Khối chức năng thực hiện giải thuật Feng-Doolittle, align 2 nhóm
sequence.
Input
MSA
Module
PSA
Module
TSP
Module
Output
PSA
Module
Kết quả hàm đánh
giá 2 sequence
Kết quả alignment
2 sequence
Sequence 1
Sequence 2
Đầu raĐầu vào
Giải thuật Chia để trị kết hợp quy
hoạch động
Các ma trận
BLOSUM
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 62
Khối chức năng thực hiện giải thuật align bao gồm việc gom nhóm, thực
hiện giải thuật align theo thứ tự từ lời giải bài toán TSP, lưu trữ các nhóm
sequence đã được align.
Hình 4.10 Sơ đồ các khối chức năng của Module MSA.
TSP Module: Module hiện thực giải thuật giải quyết bài toán TSP. Trên cơ sở
thư viện hàm GALib[12] được phát triển bởi MIT(Massachusetts Institute of
Technology), chương trình tích hợp và thừa kế thư viện GALib đồng thời hiện thực
một giải thuật di truyền cho bài toán TSP. GALib là một thư viện hàm mở, được viết
bằng C++, cung cấp các phương thức hỗ trợ người dùng xây dựng một giải thuật di
truyền(GA) để phát triển các ứng dụng .
Mặc dù là bài toán NP, tuy nhiên hiện tại bài toán TSP đã được giải quyết rất tốt
với số đỉnh nhỏ hơn 10000.Về phương pháp giải quyết bài toán TSP, có khá nhiều
phương pháp, phương pháp tiếp cận theo nhánh và cận(branch and bound) kết hợp
một số kỹ thuật heuristic được sử dụng phổ biến nhất và cho kết quả nhanh nhất. Sử
dụng giải thuật GA cho bài toán TSP là một giải pháp không thật sự tối ưu, tuy nhiên
giải thuật là chấp nhận được về mặt thời gian cũng như không gian nhớ khi số đỉnh
nhỏ hơn 500. Do phạm vi của luận văn nên phần giải quyết bài toán TSP chỉ giới hạn
trong việc áp dụng giải thuật GA.
Input (k sequence)
Ma trận
khoảng cách
Lời giải TSP
Feng-Doolittle
Algorithm Module
PSA
Module
TSP
Module
Module gom
nhóm, align
Kết quả
MSA
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 63
Hình 4.11 Sơ đồ các khối chức năng của module TSP.
Ngoài 3 module chính còn 2 module nhập xuất thực hiện việc xử lý dữ liệu đầu
vào cũng như xuất kết quả của giải thuật.
Input/Output.
Dữ liệu đầu vào của chương trình tuân theo chuẩn định dạng FASTA(NCBI)[21].
Chuẩn định dạng FASTA được sử dụng phổ biến trong hầu hết các chương trình tìm
MSA.
Chuẩn định dạng này lưu trữ các sequence theo cấu trúc: tên, mô tả và nội dung
của sequence. Mỗi ký tự “>” biểu hiện cho sự khai báo một sequence trong file. Nội
dung của sequence không chứa ký tự khoảng trắng.
Định dạng:
Bảng 4.1 Định dạng của file dữ liệu đầu vào
Dữ liệu đầu ra của chương trình được biểu diễn theo từng phần của toàn bộ MSA.
Định dạng của file kết quả có dạng như sau.
Giải thuật GA
cho TSP Chu trình qua các
đỉnh
Ma trận
khoảng cách
Số đỉnh
GALib
>Tênsequence Mô tả
Nội dung
>Tênsequence Mô tả
Nội dung
.
.
.
.
>Sequence1 cbfx_mouse
VLGTVKWFNVRNGYGFINRNDT
KEDVFVHQTAIKKNNPRKYLRSV
GDGETVEFDVVEGEKGAEAANV
TGP
>Sequence2 grp2_nicsy
KGTVKWFSDQKGFGFITPDDGGE
DLFVHQSGIRSEGFRSLAEGETVE
FEVESGGDGRTKAVDVTGP
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 64
Bảng 4.2 Định dạng của file dữ liệu đầu ra.
Ngoài ra chương trình còn cho phép lưu trữ kết quả theo chuẩn định dạng MSF,
để phục vụ cho quá trình so sánh thống kê kết quả khi kiểm thử trên tập BAliBASE
benchmark, phần này sẽ được đề cập chi tiết trong Chương 5. Chuẩn định dạng MSF
có dạng như sau:
Bảng 4.3 Định dạng file dữ liệu đầu ra theo chuẩn MSF
Result MSA:
Tên sequence Nội dung của sequence trong MSA
Tên sequence Nội dung của sequence trong MSA
…
Tên sequence Nội dung của sequence trong MSA
Result MSA:
grp2_nicsy -----KGTVKWFSDQKGFGFITPDDGGEDLFVHQSGIRSEG----FRSLA
cbfx_mouse ----VLGTVKWFNVRNGYGFINRNDTKEDVFVHQTAIKKNNPRKYLRSVG
*************************************************************
grp2_nicsy EGETVEFEVESGGDGRTKAVDVTGP-
cbfx_mouse DGETVEFDVVEGEKG-AEAANVTGP-
PileUp
MSF: l (chiều dài MSA) Type: P hay N (cho biết là các sequence đang xét là protein
hay nucleotide)
Name: Tên của sequence oo Len: chiều dài sequence trong MSA
…
Name: Tên của sequence oo Len: chiều dài sequence trong MSA
// (2 ký tự này cho biết kết thúc phần header của file)
Tên sequence Nội dung của sequence trong MSA(Các ký hiệu ‘-‘ được thay bằng ‘.’)
Tên sequence Nội dung của sequence trong MSA
PileUp
MSF: 82 Type: P
Name: hmgl_trybr oo Len: 82
Name: hmgt_mouse oo Len: 82
Name: hmgb_chite oo Len: 82
//
hmgl_trybr .KKDSNAPKR AMTSFMFFSS ....DFRSKH SDLSI.VEMS KAAGAAWKEL
hmgt_mouse ......KPKR PRSAYNIYVS ESFQEAKDDS AQGKL..... KLVNEAWKNL
hmgb_chite ....ADKPKR PLSAYMLWLN SARESIKREN PDFKV.TEVA KKGGELWRGL
hmgl_trybr GPEERKVYEE MAEKDKERYK REM....... ..
hmgt_mouse SPEEKQAYIQ LAKDDRIRYD NEMKSWEEQM AE
hmgb_chite ..KDKSEWEA KAATAKQNYI RALQEYERNG G.
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 65
Bảng tóm tắt các lớp được xây dựng của chương trình:
Lớp Chức năng
MultipleAlignmentAlgorithm Hiện thực chức năng module MSA: Feng-
Doolittle, tạo ma trận khoảng cách, thực
hiện giải thuật align MSA
LinearSapceAlgorithm Hiện thực giải thuật PSA theo kỹ thuật chia
để trị sử dụng 3 ma trận BLOSUM
Sequence Lưu trữ Sequence
GATSP Hiện thực giải thuật di truyền cho bài toán
TSP dựa trên thư viện hàm GALib
AlignSequenceProfile Lưu trữ các nhóm sequence đã được align
InitValue Khởi tạo các thông số cho giải thuật PSA
MatrixPenalty Đối tượng lưu trữ ma trận đánh giá, các
tham số về gap
StoreOPDBPF Lưu trữ thông tin cho phép tìm lại con
đuờng của giải thuật PSA
TSPResultObject Lưu trữ kết quả lời giải TSP
Bảng 4.4 Bảng tóm tắt các lớp của chương trình.
Ngoài ra chương trình còn 1 số lớp phụ khác phục vụ cho quá trình xây dựng
giao diện, hỗ trợ cấu trúc dữ liệu cho việc thực thi các thuật giả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 66
Chương 5. KẾT QUẢ NHẬN XÉT
Chương này giới thiệu một số kết quả của chương trình. Thực hiện việc kiểm thử
chương trình trên BAliBASE benchmark, so sánh kết quả với một số chương trình
đang được sử dụng phổ biến trên thế giới.
Các kết quả của MSAPR trong phần này thu được khi chạy trên máy PC cấu
hình 512MB RAM, CPU Intel 4 2.4 GHz, sử dụng hệ điều hành Microsoft Windows
XP.
5.1. Một số kết quả chạy chương trình.
Ví dụ kiểm thử kết quả chương trình trên tập TAT protein của HIV1(Human
Immunodeficiency Virus 1):
Bảng 5.1 TAT Protein HIV1
>1
MDPVDPNLESWNHPGSQPRTACNKCHCKKCCYHC
>2
MDPVDPNLEPWNHPGSQPRTPCNKCHCKKCCYHC
>9
MEPVDPRLEPWKHPGSQPKTACNNCYCKKCCYHC
>16
MEPVDPRLEPWKHPGSQPKTASNNCYCKRCCLHC
>20
MEPVDPRLEPWKHPGSQPKTACTNCYCKKCCFHC
>22
MEPVDPRLEPWKHPGSQPKTACTTCYCKKCCFHC
>21
MDPVDPRLEPWKHPGSQPKAACTSCYCKKCCFHC
>23
MEPVDPSLEPWKHPGSQPKTACTNCYCKKCCLHC
>18
MEPVDPNLEPWKHPGSQPRTACNNCYCKKCCFHC
>19
MEPVDPNLEPWKHPGSQPRTACNNCYCKKCCFHC
>8
MEPVDPNLEPWKHPGSQPRTACTNCYCKKCCFHC
>15
MEPVDPRLEPWKHPGSQPKTACTNCYCKKCCFHC
>14
MEPVDPRLEPWKHPGSQPKTACTNCYCKKCCFHC
>13
MEPVDPRLEPWKHPGSQPKTACTNCYCKKCCFHC
>12
MEPVDPRLEPWKHPGSQPKTACTNCYCKKCCFHC
>11
MEPVDPRLEPWKHPGSQPKTACTNCYCKKCCFHC
>10
MEPVDPRLEPWKHPGSQPKTACTTCYCKKCCFHC
>17
METHLKAPESSLESYNEPSSCTSEQGVTAQELAKQGEELLSQLHRPLEACTNSCYCKQCSFHC
>7
MEPVDPNLEPWKHPGSQPTTACSNCYCKVCCWHC
>6
MDPIDPDLEPWKHPGSQPRTVCNNCYCKACCYHC
>24
MDPVDPNIEPWNHPGSQPKTACNRCHCKKCCYHC
>5
MDPVDPNIEPWNHPGSQPKTACNRCHCKKCCYHC
>4
MDPVDPNLEPWNHPGSQPKTACNRCHCKKCCYHC
>3
MDPVDPNLEPWNHPGSQPRTPCNKCYCKKCCYHC
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 67
Trong đó: 1,..,24 lần lượt là 24 protein của TAT :
1 -> P18804 2 -> P04611 3 -> P04613 4 -> P04609
5 -> P12506 6 -> P17285 7 -> P24738 8 -> P19552
9 -> P05908 10 -> P04610 11 -> P04607 12 -> P04606
13 -> P04326 14 -> P04608 15 -> P05907 16 -> P20893
17 -> P18044 18 -> P35965 19 -> P04614 20 -> P19553
21 -> P05906 22 -> P05905 23 -> P20879 24 -> PDB1tiv
Bảng 5.2 Kết quả Alignment của MSAPR và CLUSTALW với TAT HIV1
Result of MSA:
6 MDP----IDPDLEPWKHPGS------------------------QPRTVCNN-CYCKACCYHC
3 MDP----VDPNLEPWNHPGS------------------------QPRTPCNK-CYCKKCCYHC
2 MDP----VDPNLEPWNHPGS------------------------QPRTPCNK-CHCKKCCYHC
1 MDP----VDPNLESWNHPGS------------------------QPRTACNK-CHCKKCCYHC
24 MDP----VDPNIEPWNHPGS------------------------QPKTACNR-CHCKKCCYHC
5 MDP----VDPNIEPWNHPGS------------------------QPKTACNR-CHCKKCCYHC
4 MDP----VDPNLEPWNHPGS------------------------QPKTACNR-CHCKKCCYHC
19 MEP----VDPNLEPWKHPGS------------------------QPRTACNN-CYCKKCCFHC
18 MEP----VDPNLEPWKHPGS------------------------QPRTACNN-CYCKKCCFHC
8 MEP----VDPNLEPWKHPGS------------------------QPRTACTN-CYCKKCCFHC
7 MEP----VDPNLEPWKHPGS------------------------QPTTACSN-CYCKVCCWHC
23 MEP----VDPSLEPWKHPGS------------------------QPKTACTN-CYCKKCCLHC
16 MEP----VDPRLEPWKHPGS------------------------QPKTASNN-CYCKRCCLHC
9 MEP----VDPRLEPWKHPGS------------------------QPKTACNN-CYCKKCCYHC
12 MEP----VDPRLEPWKHPGS------------------------QPKTACTN-CYCKKCCFHC
14 MEP----VDPRLEPWKHPGS------------------------QPKTACTN-CYCKKCCFHC
20 MEP----VDPRLEPWKHPGS------------------------QPKTACTN-CYCKKCCFHC
11 MEP----VDPRLEPWKHPGS------------------------QPKTACTN-CYCKKCCFHC
15 MEP----VDPRLEPWKHPGS------------------------QPKTACTN-CYCKKCCFHC
13 MEP----VDPRLEPWKHPGS------------------------QPKTACTN-CYCKKCCFHC
10 MEP----VDPRLEPWKHPGS------------------------QPKTACTT-CYCKKCCFHC
22 MEP----VDPRLEPWKHPGS------------------------QPKTACTT-CYCKKCCFHC
21 MDP----VDPRLEPWKHPGS------------------------QPKAACTS-CYCKKCCFHC
17 METHLKAPESSLESYNEPSSCTSEQGVTAQELAKQGEELLSQLHRPLEACTNSCYCKQCSFHC
1 ----MDPVDPNLESWNHP-----------------GS-------QPRTACNK-CHCKKCCYHC
2 ----MDPVDPNLEPWNHP-----------------GS-------QPRTPCNK-CHCKKCCYHC
9 ----MEPVDPRLEPWKHP-----------------GS-------QPKTACNN-CYCKKCCYHC
16 ----MEPVDPRLEPWKHP-----------------GS-------QPKTASNN-CYCKRCCLHC
20 ----MEPVDPRLEPWKHP-----------------GS-------QPKTACTN-CYCKKCCFHC
22 ----MEPVDPRLEPWKHP-----------------GS-------QPKTACTT-CYCKKCCFHC
21 ----MDPVDPRLEPWKHP-----------------GS-------QPKAACTS-CYCKKCCFHC
23 ----MEPVDPSLEPWKHP-----------------GS-------QPKTACTN-CYCKKCCLHC
18 ----MEPVDPNLEPWKHP-----------------GS-------QPRTACNN-CYCKKCCFHC
19 ----MEPVDPNLEPWKHP-----------------GS-------QPRTACNN-CYCKKCCFHC
8 ----MEPVDPNLEPWKHP-----------------GS-------QPRTACTN-CYCKKCCFHC
15 ----MEPVDPRLEPWKHP-----------------GS-------QPKTACTN-CYCKKCCFHC
14 ----MEPVDPRLEPWKHP-----------------GS-------QPKTACTN-CYCKKCCFHC
13 ----MEPVDPRLEPWKHP-----------------GS-------QPKTACTN-CYCKKCCFHC
12 ----MEPVDPRLEPWKHP-----------------GS-------QPKTACTN-CYCKKCCFHC
11 ----MEPVDPRLEPWKHP-----------------GS-------QPKTACTN-CYCKKCCFHC
10 ----MEPVDPRLEPWKHP-----------------GS-------QPKTACTT-CYCKKCCFHC
17 METHLKAPESSLESYNEPSSCTSEQGVTAQELAKQGEELLSQLHRPLEACTNSCYCKQCSFHC
7 ----MEPVDPNLEPWKHP-----------------GS-------QPTTACSN-CYCKVCCWHC
6 ----MDPIDPDLEPWKHP-----------------GS-------QPRTVCNN-CYCKACCYHC
24 ----MDPVDPNIEPWNHP-----------------GS-------QPKTACNR-CHCKKCCYHC
5 ----MDPVDPNIEPWNHP-----------------GS-------QPKTACNR-CHCKKCCYHC
4 ----MDPVDPNLEPWNHP-----------------GS-------QPKTACNR-CHCKKCCYHC
3 ----MDPVDPNLEPWNHP-----------------GS-------QPRTPCNK-CYCKKCCYHC
Kết quả MSA với tập HIV1 của MSAPR
Kết quả MSA với tập HIV1 của CLUSTALW
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 68
Thời gian chạy đối với việc tìm MSA của TAT HIV1 là 15s, của CLUSTALW là
12s. Thử nghiệm trên một số tập protein thực khác, và so sánh với kết quả của
CLUSTALW, chương trình cho kết quả chạy tốt. Khi số sequence lớn và chiều dài
trung bình của các sequence lớn hơn 500, thời gian chạy của chương trình cao hơn so
với CLUSTALW. Vấn đề so sánh thời gian chạy và không gian bộ nhớ sử dụng sẽ
được đề cập chi tiết trong phần sau.
Phần tiếp theo sẽ thực hiện việc so sánh kết quả của MSAPR với một số chương
trình, trên cùng một tập dữ liệu đầu vào BAliBASE.
5.2. BAliBASE (Benchmark Alignment Database)
BAliBASE[3] là một tập dữ liệu các MSA của các protein được giới thiệu bởi
Thompson(1999). Các MSA trong BAliBASE được xây dựng dựa trên cấu trúc bậc 3
(cấu trúc của các protein trong không gian 3 chiều) quan sát được của các protein. Từ
cấu trúc bậc 3, các protein được chuyển đổi về cấu trúc bậc 2, từ đó tạo nên các MSA
trong BAliBASE. Đây là một benchmark chuẩn, thường được dùng để kiểm thử các
chương trình tìm lời giải của bài toán MSA. Phiên bản được sử dụng trong đề tài
BAliBASE 2.01.
BAliBASE 2.01 bao gồm 220 MSA, với khoảng 1000 sequence. Các protein
trong MSA là các protein thật sự trong thực tế. Các MSA trong BAliBASE chia làm 8
nhóm. Mỗi nhóm này giới thiệu một số các trường hợp MSA thường gặp trong thực tế.
Nhóm 1 là các MSA của các sequence có độ dài tương đương nhau, và có nhiều
mức độ tương đồng giữa các sequence.
Nhóm 2 bao gồm các MSA của 1 tập khoảng 15 sequence, có độ giống nhau
quan sát được trong cấu trúc bậc 3 nhỏ hơn 25%.
Nhóm 3 bao gồm 4 nhóm con, các nhóm con này có độ giống nhau ở các vị trí
của các sequence giữa các nhóm nhỏ hơn 25%.
Nhóm 4 và nhóm 5 chứa các alignment có từ 20 sequence trở lên bao gồm các
N/C terminal extension và các insertions.
Nhóm 6 gồm các MSA được hình thành từ các sequence có sự lặp lại của các
đoạn con.
Nhóm 7 gồm các MSA được hình thành từ các transmembrane protein sequence.
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 69
Nhóm 8 bao gồm các MSA được hình thành từ các protein có sự đột biến theo
dạng vòng(Đột biến vòng được định nghĩa: Xét 1 protein ABCDEFGH, đột biến vòng
có thể có dạng như sau ABCDEFGH, BCDEFGHA, CDEFGHAB ,DEFGHABC,
EFGHABCD).
BAliBASE sử dụng 2 định dạng file để cho phép người dùng có thể kiểm nghiệm
kết quả của các chương trình trên tập dữ liệu này. Các file .tfa lưu trữ các sequence(tạo
nên mỗi MSA tương ứng trong BAliBASE) theo chuẩn FASTA. Các file .msf lưu trữ
các MSA theo chuẩn MSF.
Việc so sánh kết quả MSA của BAliBASE với các kết quả MSA khác(được tạo
ra bởi cùng 1 tập sequence đầu vào) sẽ được thực hiện thông qua chương trình
bali_score (Thompson) [4].
Chương trình này sẽ cho biết MSA được đưa vào sẽ có độ chính xác bao nhiêu so
với MSA của BAliBASE. Gọi độ chính xác là Δ . Tiêu chí đánh giá độ chính xác của
MSA thường căn cứ vào Δ .
Một số tính chất của Δ :
[0,1]Δ∈ .
1Δ = có sự giống nhau hoàn toàn giữa 2 MSA.
0Δ = , 2 MSA có sự khác biệt hoàn toàn.
1Δ→ độ chính xác cao.
0Δ→ độ khác biệt cao.
Chương trình MSAPR cho kết quả chạy khá tốt trên BAliBASE benchmark.
5.3. So sánh kết quả
Để kiểm định kết quả của MSAPR, đề tài sử dụng các file .tfa của BAliBASE,
thực hiện việc tính toán đồng thời kết quả của cả MSAPR và CLUSTALW. Ngoài ra
để cung cấp một cái nhìn toàn diện hơn, chương trình có sử dụng lại các kết quả tính
toán của Thompson [29] với 7 chương trình khác để thực hiện việc so sánh. Các
chương trình này bao gồm: SAGA, DIALIGN, SB_PIMA, ML_PIMA, MULTALIGN,
PILEUP 8, MULTAL, HMMT.
Chi tiết về các chương trình và các kết quả này có thể tham khảo tại trang web
Bioinformatics Platform of Strasbourg [5].
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 70
5.3.1. Giới thiệu về các chương trình được sử dụng
CLUSTALW: là một chương trình mã nguồn mở được phát triển bởi Gibson T.
(European Molecular Biology Laboratory-EMBL), Thompson J. (National Scientific
Research Centre- CNRS (France)), Higgins D. (University College Dublin(UCD) -
National University of Ireland, Dublin). CLUSTALW hiện thực bằng C và sử dụng
Progressive Algorithm. Đây là chương trình cho kết quả ổn định và tốt nhất trong các
chương trình phát triển theo hướng Progressive Algorithm. Phiên bản được sử dụng
tính toán trong đề tài là CLUSTALW 1.83.
CLUSTALX: là một phiên bản giao diện đồ họa của CLUSTALW. Phiên bản
được sử dụng trong đề tài là CLUSTALX 1.83.
SAGA được phát triển bởi Cédric Notredame* and Desmond G. Higgins
(European Bioinformatics Institute ) sử dụng giải thuật di truyền để tìm lời giải MSA.
DIALIGN được phát triển bởi Burkhard Morgenstern(University of Göttingen),
DIALIGN sử dụng Progressive Algorithm.(không áp dụng gap penalty).
ML_PIMA, SB_PIMA được phát triển bởi Smith, R.F và Smith,T.F. Sử dụng
Progressive Algorithm.
MULTALIGN: được phát triển bởi Barton G.J. và Sternberg(Laboratory of
Molecular Biology Department of Crystallography Birkbeck College, London).
MULTALIGN sử dụng mô hình Progressive Algorithm để tìm lời giải MSA.
PILEUP 8 được phát triển bởi Genetic Computer Group(GCG) áp dụng
Progressive Algorithm để tìm lời giải MSA.
MULTAL được phát triển bởi Taylor, sử dụng Progressive Algorithm để hiện
thực.
HMMT được phát triển bởi Sean R. Eddy(Washington University School, MRC-
Laboratory of Molecular Biology in Cambridge), sử dụng mô hình Markov ẩn để tìm
lời giải MSA.
5.3.2. So sánh độ chính xác của kết quả
Trong phần này sẽ trình bày các kết quả thu được khi chạy MSAPR, và
CLUSTALW trên tập 5 nhóm dữ liệu của BAliBASE, và liệt kê thêm các kết quả khác
của 7 chương trình nêu ở trên dựa trên một nghiên cứu của Thompson. Chúng ta sẽ xét
kết quả của các chương trình khi sử dụng từng nhóm dữ liệu MSA của 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 71
Nhóm 1.
Dựa vào chiều dài của các MSA, BAliBASE chia Nhóm 1 làm 3 tập con:
Tập MSA có chiều dài nhỏ(từ 50-200 phần tử)
Tập MSA có chiều dài trung bình (từ 200-400 phần tử)
Tập MSA có chiều dài lớn( từ 500 phần tử trở lên)
Căn cứ vào độ giống nhau I của các sequence tạo nên các MSA, trong mỗi tập
con lại chia thành 3 hình thức, Các MSA thỏa mãn I 0.25< . Các MSA có I thỏa
0.2 I 0.4≤ ≤ và các MSA có I thỏa I 0.35≤ .
Ba bảng 5.3, 5.4, 5.5 liệt kê độ chính xác của các chương trình khi sử dụng dữ
liệu nhóm 1, (có độ giống nhau của các sequence I thỏa mãn I 0.25< ). Cột đầu tiên là
tên của các sequence thuộc nhóm 1(I<0.25). Các cột tiếp theo lần lượt là độ chính xác
của các chương trình so với kết quả MSA của BAliBASE.
Kết quả chạy chương trình với tập MSA có chiều dài nhỏ(gồm 7 tập sequence).
Tên MSA PR
CLUST
ALW SAGA
DIALIG
N
SB_
PIMA
ML_
PIMA
MULTA
LIGN
PILE
UP 8
MULT
AL HMMT
1aboA 0.581 0.688 0.529 0.359 0.312 0.312 0.703 0.521 0.526 0.181
1idy 0.604 0.548 0.342 0.018 0.145 0.062 0.566 0.080 0.080 0.138
1r69 0.382 0.436 0.550 0.406 0.681 0.366 0.325 0.562 0.225 0.100
1tvxA 0.319 0.216 0.278 0.306 0.344 0.344 0.228 0.344 0.244 0.108
1ubi 0.477 0.595 0.452 0.000 0.370 0.493 0.488 0.428 0.428 0.140
1wit 0.666 0.693 0.899 0.851 0.963 0.444 0.842 0.773 0.763 0.549
2trx 0.548 0.690 0.801 0.728 0.451 0.496 0.500 0.453 0.235 0.292
Bảng 5.3 Kết quả chạy chương trình với Nhóm 1 có chiều dài nhỏ
Kết quả chạy chương trình với tập MSA có chiều dài trung bình(8 tập sequence).
MSA PR
CLUSTA
LW SAGA
DIALIG
N
SB_
PIMA
ML_PI
MA
MULTA
LIGN
PILEU
P8
MUL
TAL HMMT
1bbt3 0.188 0.315 0.652 0.450 0.260 0.260 0.582 0.430 0.160 0.128
1sbp 0.425 0.467 0.543 0.453 0.540 0.456 0.580 0.547 0.537 0.144
1havA 0.260 0.227 0.411 0.130 0.300 0.466 0.419 0.536 0.040 0.133
1uky 0.407 0.517 0.672 0.566 0.684 0.684 0.685 0.571 0.460 0.084
2hsdA 0.529 0.537 0.771 0.679 0.470 0.470 0.470 0.646 0.463 0.117
2pia 0.565 0.601 0.690 0.660 0.740 0.740 0.760 0.850 0.560 0.057
3grs 0.293 0.310 0.689 0.327 0.416 0.416 0.380 0.446 0.347 0.056
kinase 0.615 0.655 0.862 0.764 0.733 0.703 0.643 0.730 0.650 0.277
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
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 72
Kết quả chạy chương trình với tập MSA có chiều dài lớn(8 tập sequence).
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
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Testcase(Nhóm 1)(I<0.25)
Đ
ộ
ch
ín
h
xá
c
MSA PR
CLUSTALW
MULTAL
Độ dài nhỏ Độ dài trung bình Độ dài lớn
Hình 5.1 Đồ thị tương quan về độ chính xác của MSAPR, CLUSTALW và MULTAL
MSA PR
CLUST
ALW SAGA
DIALI
GN
SB_PI
MA
ML_PI
MA
MULT
ALIGN
PILEU
P8
MULT
AL HMMT
1ajsA 0.434 0.371 0.531 0.142 0.486 0.471 0.424 0.556 0.364 0.105
1cpt 0.647 0.696 0.780 0.829 0.792 0.792 0.835 0.865 0.777 0.156
1lvl 0.460 0.394 0.619 0.699 0.559 0.559 0.570 0.587 0.572 0.064
1pamA 0.389 0.433 0.596 0.694 0.513 0.549 0.596 0.641 0.204 0.034
1ped 0.732 0.748 0.748 0.743 0.756 0.756 0.727 0.723 0.730 0.032
2myr 0.448 0.394 0.285 0.284 0.670 0.613 0.422 0.621 0.547 0.050
4enl 0.547 0.562 0.414 0.529 0.701 0.701 0.754 0.669 0.787 0.044
gal4 0.360 0.518 0.500 0.581 0.445 0.445 0.368 0.543 0.406 0.055
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 73
Nhóm 2:
Bảng 5.6 liệt kê độ chính xác của các chương trình khi thực hiện việc tính toán
MSA với toàn bộ dữ liệu của nhóm 2.
MAS PR
CLUST
ALW SAGA
DIALI
GN HMMT
SB_PI
MA
ML_PI
MA
MULT
ALIGN
PILE
UP8
1aboA 0.759 0.850 0.489 0.384 0.724 0.391 0.220 0.528 0.000
1idy 0.899 0.949 0.548 0.000 0.353 0.000 0.000 0.401 0.000
1csy 0.626 0.804 0.154 0.000 0.000 0.000 0.000 0.154 0.114
1r69 0.887 0.916 0.475 0.675 0.000 0.675 0.675 0.675 0.450
1tvxA 0.867 0.942 0.448 0.000 0.276 0.241 0.241 0.138 0.345
1tgxA 0.737 0.786 0.773 0.630 0.622 0.678 0.543 0.696 0.318
1ubi 0.756 0.826 0.492 0.000 0.053 0.129 0.129 0.000 0.000
1wit 0.648 0.800 0.694 0.724 0.641 0.469 0.463 0.500 0.476
2trx 0.933 0.950 0.870 0.734 0.739 0.850 0.702 0.870 0.870
1sbp 0.721 0.808 0.374 0.043 0.214 0.043 0.054 0.186 0.177
1havA 0.763 0.839 0.448 0.000 0.194 0.259 0.238 0.500 0.493
1uky 0.815 0.855 0.476 0.216 0.395 0.256 0.306 0.585 0.562
2hsdA 0.796 0.836 0.498 0.262 0.423 0.390 0.561 0.593 0.278
2pia 0.803 0.821 0.763 0.612 0.647 0.730 0.695 0.765 0.766
3grs 0.737 0.803 0.282 0.350 0.141 0.183 0.211 0.192 0.159
kinase 0.827 0.914 0.867 0.692 0.749 0.755 0.651 0.830 0.799
1ajsA 0.870 0.876 0.311 0.000 0.242 0.000 0.000 0.311 0.227
1cpt 0.814 0.847 0.776 0.425 0.388 0.184 0.277 0.777 0.688
1lvl 0.799 0.836 0.726 0.783 0.539 0.620 0.688 0.614 0.678
1pamA 0.798 0.812 0.623 0.576 0.530 0.393 0.386 0.566 0.702
1ped 0.878 0.895 0.835 0.773 0.696 0.651 0.647 0.741 0.749
2myr 0.822 0.895 0.825 0.840 0.443 0.727 0.750 0.894 0.786
4enl 0.844 0.869 0.739 0.122 0.213 0.096 0.092 0.384 0.224
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.
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 74
0
0.2
0.4
0.6
0.8
1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Testcase (Nhóm 2)
Đ
ộ
ch
ín
h
xá
c
MASPR
CLUSTALW
HMMT
Hình 5.2 Đồ thị tương quan về độ chính xác của MSAPR, CLUSTALW và HMMT
Nhóm 3:
Bảng 5.7 liệt kê độ chính xác của các chương trình khi thực hiện việc tính toán
MSA với toàn bộ dữ liệu nhóm 3
MSAPR
CLUS
TALW SAGA
DIALI
GN HMMT
SB_PI
MA
ML_PI
MA
MULTA
LIGN
PILEU
P8
1idy 0.506 0.591 0.364 0.000 0.227 0.000 0.000 0.045 0.000
1r69 0.342 0.555 0.524 0.524 0.000 0.000 0.905 0.000 0.000
1ubi 0.345 0.582 0.585 0.000 0.366 0.000 0.000 0.000 0.268
1wit 0.602 0.833 0.484 0.500 0.323 0.645 0.323 0.242 0.210
1uky 0.455 0.527 0.269 0.139 0.037 0.083 0.148 0.241 0.083
kinase 0.679 0.762 0.758 0.650 0.478 0.541 0.682 0.688 0.599
1ajsA 0.336 0.405 0.186 0.000 0.006 0.000 0.000 0.000 0.110
1 pamA 0.764 0.783 0.579 0.683 0.169 0.546 0.590 0.546 0.754
1ped 0.721 0.808 0.646 0.641 0.172 0.450 0.507 0.665 0.722
2myr 0.440 0.636 0.494 0.272 0.101 0.278 0.494 0.253 0.310
4enl 0.762 0.799 0.672 0.050 0.050 0.393 0.438 0.652 0.498
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.
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 75
0
0.2
0.4
0.6
0.8
1
1 2 3 4 5 6 7 8 9 10 11
Testcase(Nhóm 3)
Đ
ộ
ch
ín
h
xá
c
MSAPR
CLUSTALW
HMMT
Hình 5.3 Đồ thị tương quan về độ chính xác của MSAPR, CLUSTALW và HMMT
Nhóm 4:
Bảng 5.8 liệt kê độ chính xác của các chương trình khi thực hiện việc tính toán
MSA với toàn bộ dữ liệu nhóm 4.
MSAPR CLUSTALW SAGA
DIALI
GN
SB_PI
MA
ML_PI
MA
MULTA
LIGN
PILEU
P8
1dynA 0.313 0.566 0.000 0.600 0.600 0.600 0.000 0.000
1pysA 0.482 0.558 0.250 0.750 1.000 1.000 0.000 0.750
1ckaA 0.436 0.823 0.375 1.000 1.000 0.000 0.000 1.000
1csp 0.358 0.498 0.000 0.889 0.000 0.000 0.000 0.000
1lkl 0.707 0.718 0.000 1.000 1.000 1.000 0.000 1.000
1mfa 0.580 0.500 0.385 1.000 0.846 1.000 0.385 1.000
1ycc 0.783 0.785 0.485 0.727 0.970 0.818 0.485 0.455
2abk 0.470 0.469 0.000 1.000 0.471 0.471 0.000 0.471
kinase1 0.807 0.873 0.000 1.000 1.000 1.000 0.000 1.000
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
0
0.2
0.4
0.6
0.8
1
1 2 3 4 5 6 7 8 9
Testcase(Nhóm 4)
Đ
ộ
ch
ín
h
xá
c
MSAPR
CLUSTALW
SAGA
Hình 5.4 Đồ thị tương quan về độ chính xác của MSAPR, CLUSTALW, SAGA.
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 76
Nhóm 5
Bảng 5.9 liệt kê độ chính xác của các chương trình khi thực hiện việc tính toán
MSA với toàn bộ dữ liệu nhóm 5.
MSAPR CLUSTALW SAGA
DIALI
GN
SB_PIM
A
ML_PI
MA
MULTA
LIGN
PILEU
P8
1pysA 0.590 0.580 0.429 0.762 0.190 0.762 0.429 0.190
1eft 0.236 0.459 0.000 0.579 0.000 0.000 0.000 0.211
1ivy 0.785 0.818 0.735 1.000 1.000 0.882 0.735 1.000
1qpg 0.839 0.903 0.521 1.000 1.000 1.000 1.000 1.000
1thm1 0.714 0.706 0.765 0.765 0.765 0.412 0.412 0.765
1thm2 0.755 0.852 0.774 1.000 0.194 0.194 0.774 0.645
2cba 0.744 0.769 0.767 1.000 0.533 0.767 0.550 0.600
S51 0.627 0.796 0.831 0.646 0.338 0.631 0.646 0.646
S52 0.857 0.902 1.000 1.000 0.515 0.515 1.000 0.515
kinase1 0.807 0.817 0.484 0.806 0.677 0.677 1.000 0.677
kinase2 0.698 0.812 0.667 0.667 0.556 0.444 0.333 0.689
kinase3 0.609 0.777 0.729 0.812 0.333 0.583 0.646 0.729
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
0
0.2
0.4
0.6
0.8
1
1.2
1 2 3 4 5 6 7 8 9 10 11 12
Testcase(Nhóm 5)
Đ
ộ
ch
ín
h
xá
c
MSAPR
CLUSTALW
SAGA
Hình 5.5 Đồ thị tương quan về độ chính xác của MSAPR, CLUSTALW, SAGA
Như vậy thông qua kết quả kiểm thử các chương trình trên 5 nhóm dữ liệu của
BAliBASE, MSAPR cho kết quả chạy ổn định, sự chênh lệch về độ chính xác(với MSA
của BAliBASE) so với CLUSTALW là chấp nhận được. So với các chương trình còn lại
MSAPR cũng cho những kết quả đánh giá khá tốt và khả quan. Chương trình chạy tốt
cho cả tập dữ liệu có độ dài các sequence nhỏ, cũng như với các tập dữ liệu có độ dài
trung bình và lớn.
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 77
Phần tiếp theo chúng ta sẽ xem xét về thời gian chạy cũng như vấn đề sử dụng bộ
nhớ.
5.3.3. So sánh về mặt thời gian chạy, bộ nhớ
Như đã trình bày ở phần thuật toán, chương trình MSAPR nhắm đến việc tăng độ
chính xác của chương trình, cũng như giảm thiểu bộ nhớ sử dụng nên so sánh về mặt
thời gian MSAPR có thời gian chạy lâu hơn so với CLUSTALW. Khi các sequence có
chiều dài nhỏ(50-100 phần tử), thời gian chạy của CLUSTALW và MSAPR là tương
đương, khi các sequence có chiều dài trung bình thì thời gian chạy giữa MSAPR và
CLUSTALW chênh nhau khoảng 1,5 lần. Khi các sequence có chiều dài lớn, thời gian
chạy có thể chênh lệch từ 3-4 lần.
Hầu hết các MSA trong BAliBASE có ít hơn 50 sequence, do đó thời gian chạy
thường dao động từ 10 giây đến 10 phút, tùy theo chiều dài của các sequence. Khi xét
tập sequence lớn từ 100 đến 500 sequence, thời gian chạy của chương trình dao động
trong khoảng từ 3 giờ đến 15 giờ.
0
1 0 0
2 0 0
3 0 0
4 0 0
5 0 0
1 0 0 2 0 0 3 0 0 4 0 0 5 0 0
S ố s e q u e n c e
Th
ờ
i g
ia
n
(p
hú
t) M S A P R
C L U S T A L W
Hình 5.6 So sánh thời gian thực thi của MSAPR và CLUSTALW
Xét về bộ nhớ sử dụng, như đã đề cập trong phần thiết kế giải thuật, chương trình
hạn chế tối đa việc cấp phát bộ nhớ. Xét trên tập kết quả từ 5 nhóm dữ liệu của
BAliBASE, MSAPR chiếm dụng từ 3.5MB đến 10MB bộ nhớ. Đây là một kết quả khá
tốt về mặt quản lý bộ 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 78
Chương 6. KẾT LUẬN
Sinh tin học(Bioinformatics) đang có những bước phát triển đột phá, và từng
bước trở thành một ngành khoa học có vai trò vô cùng quan trọng trong sự phát triển
của nhân loại. Được đánh giá là một trong 10 bài toán lớn của Bioinformatics, từ khi
được đặt ra cho đến hiện nay, bài toán MSA đã và vẫn đang được nghiên cứu. Nhiều
giải pháp được đưa ra để giải quyết bài toán này, tuy nhiên cho đến hiện nay(2007),
bài toán MSA vẫn là một bài toán mở, chưa có một lời giải nào có thể giải quyết bài
toán trọn vẹn. Đứng trên góc độ của một công trình nghiên cứu, luận văn cố gắng đưa
ra một giải pháp nhằm cung cấp thêm một cách thức để giải quyết bài toán này. Tiếp
cận theo hướng kết hợp phương pháp Progressive Algorithm và một số kỹ thuật
heuristic, luận văn đã tối ưu hóa bài toán PSA về độ chính xác, cũng như không gian
nhớ sử dụng cho chương trình, thông qua việc sử dụng giải thuật chia để trị kết hợp
với việc sử dụng đồng thời 3 ma trận BLOSUM và các tham số về khả năng sinh gap,
để phục vụ cho việc tính toán. Cùng với việc cải thiện chất lượng bài toán PSA, luận
văn cũng đã sử dụng kết quả của bài toán TSP để mô tả quá trình phân hoạch cũng như
gom nhóm, để thực hiện phép toán align cho bài toán MSA. Với việc kết hợp những
kỹ thuật này, chương trình hiện thực cho giải thuật được đề xuất đã cho kết quả khá
tốt. Kiểm thử chương trình trên tập dữ liệu mẫu BAliBASE và so sánh kết quả của
chương trình với một số phần mềm được đánh giá rất tốt trong việc giải quyết bài toán
MSA: CLUSTALW, SAGA, MULTALIGN,…. Về cơ bản chương trình cho lời giải
có độ ổn định cao, chính xác không thua kém CLUSTALW(phần mềm được đánh giá
là cho kết quả tốt và ổn định nhất), mặc dù thời gian chạy dài hơn so với CLUSTALW
tuy nhiên xét về bộ nhớ sử dụng chương trình cho kết quả sử dụng bộ nhớ khá tốt. Đây
cũng là mục tiêu hướng tới của luận văn: cung cấp một giải pháp, cho phép giải bài
toán MSA có độ chính xác cao, thời gian chạy chấp nhận được và tiết kiệm về mặt bộ
nhớ.
Thông qua một số thử nghiệm trên một số tập dữ liệu mẫu khác, kết quả thu được
của luận văn hoàn toàn có thể cung cấp cho các nhà sinh học một công cụ để giải các
bài toán MSA.
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 79
Kết quả đạt được có thể được mở rộng thêm để cải thiện tốc độ chạy của chương
trình. Hạn chế về mặt thời gian chạy của chương trình có thể được giải quyết bằng
việc:
Đề xuất một phương pháp song song hóa giải thuật được nêu, và triển khai
bài toán trên một hệ thống tính toán song song như Cluster hoặc triển khai
trên hệ thống tính toán lưới Grid.
Thiết kế một giải thuật nhánh và cận nhằm tối ưu về thời gian chạy cũng
như độ chính xác cho bài toán TSP khi số đỉnh của bài toán lớn.
Với những sự mở rộng này chúng ta có thể xây dựng một hệ thống tính toán để
giải quyết bài toán MSA một cách hữu hiệu. Đây chính là hướng phát triển của luận
văn.
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 80
TÀI LIỆU THAM KHẢO
1. Akutsu, T., Arimura, H., and Shimozono, S., “On Approximation Algorithms
for Local Multiple Alignment”, Proceedings of the fourth annual international
conference on Computational molecular biology, Tokyo, Japan, 2000.
2. Attwood, T.K., Parry D.J., “Introduction to Bioinformatics”, Prentice Hall,
1999.
3. BAliBASE HomePage,
4. Bali_Score Program HomePage,
5. Bioinformatics Platform of Strasbourg,
6. Bonizzoni, P., Vedova, G.D “The complexity of multiple sequence alignment
with SP-score that is a metric”, Theoretical Computer Science 2001, 259:63-79.
7. Cormen, T.H., Leiserson, C.E., Rivest, R.L. and Clifford, S., “Introduction
to Algorithm”. Chapter 16, Dynamic Programming, MIT, 2001.
8. Eddy, S.R., “Multiple Alignment using Hidden Markov Model”. Proc. Int. Conf.
Intell. Syst. Mol. Biol. 1995;3:114-20.
9. European Bioinformatics Institute, “CLUSTALW, CLUSTALX”, European
Bioinformatics Institute HomPage,
10. Feng, D. and Doolittle, R., “Progressive alignment of amino acid sequences
and construction of phylogenetic trees from them”, Method Enzymol. ,
266:368-382
11. Feng, D. and Doolittle, R., “Progressive sequence alignment as a prerequisite
to correct phylogenetic trees”, J. Mol. Evol , 25:351-360
12. GALib HomePage
13. Gotoh, O., “Significant improvement in accuracy of multiple protein sequence
alignments by iterative refinement as assessed by reference to structural
alignments”, J. Mol. Biol. 264:823-838
14. Henikoff, S. and Henikoff, J.G., “Amino acid substitution matrices from
protein block”. Proc. Nat. Acd. Sci. USA. 90:10915-10919.
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 81
15. Hirschberg D.S., “A linear Space Algorithm for Computing Maximal Common
Subsequences”, Communication of the ACM, Volumn 18, Number 6, 1975
16. Huang, X., and Chao, K.-M,”A generalized global alignment algorithm”,
Bioinformatics, Oxford University Press, Vol. 19, no. 2, 2003 pp 228–233.
17. Korostensky, C. and Gonnet,G.H. , ”Near Optimal Multiple Sequence
Alignments using a Traveling Salesman Problem approach”. Proceedings of
the String Processing and Information Retrieval Symposium & International
Workshop on Groupware Page, 1999, pp 105.
18. Korostensky, C. and Gonnet, G.H. , ”Using traveling salesman problem
algorithms for evolutionary tree construction”. Bioinformatics, 16:619-927,
2000.
19. Lipman, D. and Pearson, W. ,” Rapid and sensitive protein similarity
searches”. Science,227:1435–1441, 1985.
20. Myers, E.W., Miller W., “Optimal alignments in linear space”.Comput Appl
Biosci 1988, 4:11-17.
21. NCBI HomePage,
22. Needleman, S. B. and Wunsch, C. D. , “A general method applicable to the
search for similarities in the amino acid sequence of two proteins”. Journal of
Molecular Biology, 48:443–453, 1970.
23. Nicholas, H.B.Jr, Ropelewski, A.J. and Deerfield, D.W., “Strategies for
multiple sequence alignment”, Biotechniques, 32:572-578.
24. Notredame, C., and Higgins, D. G., “SAGA: sequence alignment by genetic
algorithm”, Nucleic Acids Research, vol. 24, no. 8, 1996, pp. 1515-1524.
25. Pearson, W.R, Miller, W. , “Dynamic programming algorithms for biological
sequence comparison”. Meth. Enzymol. 210:575-601, 1992.
26. Shyu, C., “Multiple Sequence Alignment with Evolutionary Computation“
,Genetic Programming and Evolvable Machines, Vol 5, Number 2. 2005, pp
121-144.
27. Smith, T. F. and Waterman, .M. S., “Identification of common molecular
subsequences”, Journal of Molecular Biology, 147(1):195–197, Mar. 1981.
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 82
28. Thompson , S.M., ”Multiple Sequence Alignment & Analysis”, Florida State
University School of Computational Science and Information Technology
(CSIT), 2007.
29. Thompson, J.D., Plewniak, F. and Poch, O.”A comprehensive comparision of
multiple sequence alignment”, Nucleic Acids Res., 27:2682-2690.
30. Tompa, M. ”Alignment by Dynamic Programming”,
31. TSPBIB HomePage,
32. Wang, L. and Jiang, T., “On the complexity of multiple sequence alignment”.
Journal of Computationa Biology, 1994, pp 337–348.
33. Wallace I.M., Blackshields G., Higgins D.G., “Multiple sequence alignments”
Curr Opin Struct Biol 2005, 15:261-266.
34. Wayama, W., Takahashi, K., and Shimizu, T., “An approach to amino acid
sequence alignment using a genetic algorithm”. Genome Informatics, vol. 6,
1995, pp. 122-123.
35. Yang, Y., “Comparative analysis of methods for multiple sequence alignment”,
Stanford University, 2001.
36. Zhong, W., “Using Traveling Salesman Problem Algorithms to Determine
Multiple Sequence Alignment Orders”.
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 83
Phụ lục 1. Bảng đối chiếu Thuật ngữ
Anh - Việt
Các thuật ngữ trong Sinh học:
Thuật ngữ Tiếng Anh Thuật ngữ Tiếng Việt
Amino Acid Acid amin, là đơn vị cấu trúc cơ bản của protein
Biology Sinh học
Block Khối
Chromosome Nhiễm sắc thể
DNA(Deoxyribonucleic Acid)
Là một phân tử nucleic acid mang thông tin di
truyền mã hóa cho hoạt động sinh trưởng và
phát triển của các dạng sống. DNA chứa các
gene cấu trúc.(còn gọi là ADN)
Evolution Tree Cây tiến hoá
Genomic Công nghệ gene
Gene Là một đoạn DNA mang một chức năng nhất định trong quá trình truyền thông tin di truyền
Identity Giống nhau
Molecular Biology Sinh học phân tử
Nucleotide Nu, là các đơn phân cấu thành DNA. Gồm 4 loại A,C,G,T
Parent Thế hệ cha mẹ
Phylogenetic Tree Cây sinh loài
Protein Hợp chất đại phân tử được tạo thành từ rất nhiều các đơn phân là các acid amin.
Protein Family Họ các protein có liên quan với nhau
RNA(Ribonucleic Acid) Là cơ sở di truyền ở cấp độ phân tử(còn gọi là ARN)
Sequence Chuỗi trình tự
Secondary Structure of Proteins Cấu trúc bậc 2 của Protein
Similarity Tương đồng
Transmembrane protein Loại Protein nối liền các lớp màng nhầy.
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 84
Tertiary Structure of Proteins Cấu trúc bậc 3 của Protein
Các thuật ngữ trong chuyên ngành(Sinh tin học):
Thuật ngữ Tiếng Anh Thuật ngữ Tiếng Việt
Align Thực hiện so sánh(gióng hàng, gióng cột) 2 hay nhiều trình tự.
BAliBASE benchmark Dữ liệu kiểm thử BAliBASE
BAliScore Độ chính xác của MSA so với MSA mẫu của BAliBASE
Bioinformatics Sinh tin học
BLOSUM Matrix Ma trận BLOSUM
Center Star Algorithm Giải thuật chọn phần tử trung tâm
Circular Tour Chu trình, lời giải bài toán TSP
Crossover Phép lai ghép
Deletion Sự mất đi các phần tử
Deletion gap Các gap được sinh ra bằng cách xóa đi các phần tử của sequence.
Divide and Conquer Algorithm Giải thuật chia để trị
Distance Matrix Ma trận khoảng cách
Dynamic Programming Quy hoạch động
Execution Time Thời gian thực thi
FASTA Chuẩn định dạng FASTA lưu trữ các sequence
Fitness Function Hàm thích nghi
Feng-Doolittle Algorithm Giải thuật của Feng-Doolittle
GALib Thư viện hàm cho phép thiết kế, hỗ trợ lập trình các ứng dụng về thuật giải di truyền
Gap Phần tử sinh ra trong quá trình so sánh các trình tự
Gap Open Penalty Khả năng mở gap
Gap Extension Penalty Khả năng mở rộng của gap
Genetic Algorithm-GA Giải thuật di truyền
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 85
Gene Finding Problem Bài toán tìm gene
Global Sequence Alignment Phép so sánh trình tự theo hướng toàn cục
Guide Tree Cây mô tả quá trình so sánh của các sequence
Heuristic Các kỹ thuật trong Trí tuệ nhân tạo, giúp giải quyết các bài toán 1 cách tự nhiên.
Insertion Sự thêm vào các phần tử
Insertion gap Các gap được sinh ra do sự thêm các phần tử vào sequence
Iterative Algorithm
Giải thuật tìm MSA bằng cách sinh ra 1 MSA
có chất lượng thấp và cải tiến dần theo các bước
lặp
Local Sequence Alignment Phép so sánh trình tự theo hướng cục bộ
Match Sự tương ứng, phù hợp giữa 2 thành phần của 2 sequence
MSF Chuẩn định dạng MSF lưu trữ các MSA
Multiple Sequence Alignment-MSA So sánh đa trình tự
Mutation Phép đột biến
NCBI
Trung tâm quốc gia về Thông tin Công nghệ
sinh học của Hoa Kỳ, cung cấp ngân hàng gene,
Cơ sở dữ liệu Protein, các chương trình phục vụ
cho mục đích sinh học…
Near Optimal MSA MSA gần tối ưu
Nondeterministic Polynomial-NP Bài toán NP, không thể tính với độ phức tạp đa thức
Optimal MSA Phép so sánh đa trình tự tối ưu(tốt nhất)
Order for Alignment Thứ tự so sánh của các sequence
Pairwise Distance Khoảng cách của các cặp sequence
Pairwise Sequence Alignment-PSA So sánh 2 trình tự
Progressive Algorithm Giải thuật tìm MSA thông qua việc sử dụng bài toán PSA nhiều lần
PMX(Partially Mapped Crossover) Kỹ thuật lai ghép từng phần
Population Quần thể
Scoring Function Hàm đánh giá
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 86
Scoring Matrix Ma trận đánh giá
Scoring Method Phương pháp đánh giá
Selection Phép chọn lọc
Sequence Trình tự
Sequence Alignment So sánh trình tự
Subtitution Sự thay thế
Sum of Pair Phương pháp đánh giá theo tổng các cặp trình tự
Traceback Quá trình tìm alignment từ các vết
Traveling Salesman Problem-TSP Bài toán người bán 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 87
Phụ lục 2. Từ viết tắt
Tên viết tắt Tên đầy đủ
BLOSUM Block Substitution Matrix
BAliBASE Benchmark Alignment DataBase
CSDL Cơ sở dữ liệu
DNA Deoxyribonucleic Acid
GA Genetic Algorithm
FASTA Fast Alignment Search Tool
HMM Hidden Markov Model
MSA Multiple Sequence Alignment
NCBI National Center for Biotechnology Information
NP Nondeterministic Polynomial
NST Nhiễm Sắc Thể
PSA Pairwise Sequence Alignment
RNA Ribonucleic Acid
SP Sum of Pair
TSP Traveling Salesman Problem
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 88
Tham khảo Chỉ mục
A
amino acid, 6, 9, 10, 12, 13, 14, 16, 17, 20, 21, 25, 38
Average Information Content, 17
B
BAliBase, 3
BaliScore, 69
Bioinformatics, iii, 1, 70, 78
block, 13
C
Center Star Alignment, 33, 37
Circular Tour, 51, 52, 53, 54, 55, 56
CLUSTALW, 19, 40, 41, 67, 68, 69, 70, 71, 72, 73, 74,
75, 76, 77, 78
Crossover, 57
Chromosome, 1, 57, 58, 59, 60
D
DIALIGN, 19, 69, 70, 71, 72, 73, 74, 75, 76
Distance Matrix, 51, 53, 61, 65
Divide and Conquer Algorithm, 5, 43, 65
DNA, 1, 2, 6, 7, 10, 19
Dynamic Programming, 2, 18, 19, 24
E
Entropy, 17
Execution Time, v, 43, 68, 77, 78, 79
F
FASTA, 19, 63, 69
Feng-Doolittle Algorithm 4, 38, 39, 40
fitness function, 58
G
Gap, 11, 14, 15
deletion, 11, 27, 28
insertion, 11, 27, 28
Gap Extension Penalty, 15
Gap Open Penalty, 15
gene, 1, 2, 6, 7, 10, 19, 57, 59, 60
Gene Finding Problem, 6
Genetic Algorithm, 5, 21, 57
Genomic, 1
Giải thuật 1A, 51
Giải thuật 1B, 55, 57
Giải thuật cải tiến không gian nhớ, 29
Gotoh Algorithm, 28
Guide Tree, 40, 54
H
heuristic, 2, 3, 4, 18, 20, 23, 24, 33, 40, 62, 78
Hidden Markov Model, 19, 21
HMMT, 22, 69, 70, 71, 72, 73, 74, 75
I
Identity, 6, 68, 71
Iterative Algorithm, 18, 19
M
ML_PIMA, 69, 70, 71, 72, 73, 74, 75, 76
MSAPR, 60, 66, 67, 68, 69, 70, 72, 74, 75, 76, 77
MSF, 64, 69
MULTAL, 19, 69, 70, 71, 72
MULTALIGN, 19, 40, 69, 70, 71, 72, 73, 74, 75, 76, 78
Mutation, 58
N
NCBI, 3, 63
Near Optimal Alignment, 3, 18
NP, 2, 18, 23, 51, 62
nucleotide, 9, 10, 12, 17, 21, 25
O
Oder for Alignment, 5, 50, 51, 52, 54, 58, 61, 62
Optimal Alignment, 11, 24, 25, 26, 33, 36, 43, 44, 47
P
Pairwise Distance, 40, 49
Parent, 57
Phylogenetic Tree, 1
PILEUP, 19, 40
PMX(Partially-Mapped Crossover), 59
Population, 21, 57, 58, 59
Progressive Algorithm 2, 3, 4, 18, 19, 23, 24, 37, 39, 40,
41, 49, 50, 52, 70, 78
protein, 1, 2, 6, 7, 9, 10, 13, 14, 19, 66, 67, 68, 69
protein family, 9
R
RNA, 1, 6, 7, 83
S
SAGA, 21, 69, 70, 71, 72, 73, 74, 75, 76, 78
SB_PIMA, 69, 70, 72, 73, 74, 75, 76
Scoring function, 5, 7, 12, 13, 14, 15, 16, 17, 20, 22, 25,
32, 34, 36, 38, 39, 40, 44, 48
Scoring Matrix
BLOSUM, 3, 5, 13, 14, 47, 48, 61, 65, 78
Chemical Similarity Matrix, 13
Genetic Code Matrix, 13
Identity Matrix, 13
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 89
Subtitution Matrix, 13
Scoring Method, 15
Sum-of-Pair, 16, 18, 32, 40, 50
Selection, 58
Sequence Alignment
Global, 7
Local, 7
Multiple, 2, 3, 4, 5, 9, 10, 13, 16, 17, 18, 19, 20, 21,
22, 23, 24, 32, 33, 34, 37, 39, 41, 42, 49, 50, 60,
61, 62, 63, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76,
77, 78, 79
Pairwise, 2, 3, 4, 5, 7, 8, 15, 18, 23, 24, 25, 26, 33, 34,
35, 37, 38, 42, 43, 44, 48, 49, 51, 53, 57, 60, 61,
65, 78
Similarity, 7, 12, 13, 14, 16, 17, 39, 40, 51, 68
Substitution, 10, 14
T
Tertiary Structure of Protein, 6, 9, 68
Traceback, 20, 26, 27, 45
transmembrane protein, 68
Traveling Salesmans Problem(TSP), 3, 5, 50, 51, 52, 53,
55, 57, 59, 60, 62, 65, 78, 79
Các file đính kèm theo tài liệu này:
- TH080.pdf