Tài liệu Báo cáo Sắp hàng đa chuỗi: TRƯỜNG ………………….
KHOA……………………….
-----[\ [\-----
Báo cáo tốt nghiệp
Đề tài:
SẮP HÀNG ĐA CHUỖI
Lời cảm ơn
Tôi xin bày tỏ lòng biết ơn sâu sắc nhất tới Tiến sỹ Lê Sỹ Vinh. Thầy là
người trực tiếp giao đề tài và tận tình hướng dẫn cũng như giúp đỡ tôi trong quá
trình thực hiện luận văn này.
Đồng thời tôi xin chân thành cảm ơn thầy Từ Minh Phương, hiện đang
công tác tại SUlab công ty FPT. Thầy đã tạo điều kiện và đưa ra những lời
khuyên bổ ích cho tôi trong thời gian cuối thực hiện khóa luận.
Hà Nội tháng 05 năm 2010
Sinh viên
Nguyễn Hà Anh Tuấn
Tóm tắt nội dung
Sắp hàng đa chuỗi là một bài toán tin sinh học phổ biến trên thế giới hiện nay,
mặc dù đã có rất nhiều phương pháp tiếp cận cũng như thuật toán được đưa ra để giải
quyết bài toán này tuy nhiên chưa thuật toán nào cho kết quả tới khả năng tối ưu.
Trong nội dung của khóa luận, tôi xin được khái quát tổng quan bài toán sắp hàng đa
chuỗi cũng như một số thuật toán tiêu biểu trên thế giới hiện n...
38 trang |
Chia sẻ: haohao | Lượt xem: 1373 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Báo cáo Sắp hàng đa chuỗi, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
TRƯỜNG ………………….
KHOA……………………….
-----[\ [\-----
Báo cáo tốt nghiệp
Đề tài:
SẮP HÀNG ĐA CHUỖI
Lời cảm ơn
Tôi xin bày tỏ lòng biết ơn sâu sắc nhất tới Tiến sỹ Lê Sỹ Vinh. Thầy là
người trực tiếp giao đề tài và tận tình hướng dẫn cũng như giúp đỡ tôi trong quá
trình thực hiện luận văn này.
Đồng thời tôi xin chân thành cảm ơn thầy Từ Minh Phương, hiện đang
công tác tại SUlab công ty FPT. Thầy đã tạo điều kiện và đưa ra những lời
khuyên bổ ích cho tôi trong thời gian cuối thực hiện khóa luận.
Hà Nội tháng 05 năm 2010
Sinh viên
Nguyễn Hà Anh Tuấn
Tóm tắt nội dung
Sắp hàng đa chuỗi là một bài toán tin sinh học phổ biến trên thế giới hiện nay,
mặc dù đã có rất nhiều phương pháp tiếp cận cũng như thuật toán được đưa ra để giải
quyết bài toán này tuy nhiên chưa thuật toán nào cho kết quả tới khả năng tối ưu.
Trong nội dung của khóa luận, tôi xin được khái quát tổng quan bài toán sắp hàng đa
chuỗi cũng như một số thuật toán tiêu biểu trên thế giới hiện nay. Đồng thời tôi cũng
xin đưa ra một số ý kiến của mình cũng như giải pháp nhằm tăng tính ổn định và tin
cậy của các thuật toán này.
Mục lục
Chương 1: Giới thiệu chung..............................................................................................1
Chương 2: Các phương pháp phổ biến hiện nay...............................................................6
1.MUSCLE ...................................................................................................................6
2.MAFFT ......................................................................................................................8
3. ProbCons.................................................................................................................10
Chương 3: EM-Coffee (Extended M-Coffee).................................................................12
1.Đặt trọng số khi kết hợp các thuật toán....................................................................12
2.MUMSA...................................................................................................................13
3.T-Coffee, M-Coffee .................................................................................................14
3.1. T-Coffee ...........................................................................................................14
3.2. M-Coffee..........................................................................................................20
4.EM-Coffee ...............................................................................................................21
Chương 4: Kết quả thực nghiệm .....................................................................................23
1. Bộ dữ liệu BAliBASE.............................................................................................23
Chương 5: Kết luận.........................................................................................................31
Tài liệu tham khảo...........................................................................................................32
Page | 1
Chương 1: Giới thiệu chung
Phần giới thiệu về sắp hàng đa chuỗi( multiple sequence alignment) dưới đây
được viết một phần dựa trên luận văn tiến sĩ của thầy Lê Sỹ Vinh[31] và quyển sách
Inferring Phylogenies của giáo sư Joseph Felsenstein[30].
Theo học thuyết tiến hóa của Darwin[1], tất cả các sinh vật trên trái đất đều có
cùng một tổ tiên chung. Theo thời gian và quá trình tiến hóa của các sinh vật, các
ADN của chúng dần đổi khác biệt với tổ tiên. Các ADN biến đổi từ cùng một nguồn
gốc được gọi chung là các ADN tương đồng(homology). Và tổng quát hơn nữa, một
chuỗi ADN tiến hóa từ cùng một tổ tiên là chuỗi tương đồng. Những sự biến đổi của
các chuỗi ADN có thể nhiều hay ít, có thể xảy ra đồng thời hay phân tán tuy nhiên
chúng vẫn giữ lại một số thông tin có trong chuỗi ADN của tổ tiên. Theo nhận định
của các nhà khoa học, việc biến đổi ADN của các sinh vật đều thông qua 3 phép biến
đổi sau:
− Phép chèn, đưa thêm một ADN vào chuỗi.
− Phép xóa, xóa đi 1 ADN trong chuỗi.
− Phép thay thế, thay thế ADN này bằng một ADN khác.
Trong khi các phép thay thế chỉ làm thay đổi những vị trí nhất định của một chuỗi
ADN chứ không làm thay đổi độ dài của chuỗi ADN đó, một phép chèn hay một phép
xóa lại làm cho số lượng ADN của chuỗi nhiều hơn một ADN hoặc ít đi một ADN.
Tuy nhiên, chúng ta không thể xác định được sự khác biệt giữa phép chèn và phép xóa
nên 2 phép này được gộp lại thành một phép biến đổi và gọi tên chung cho chúng là
phép chèn/xóa.
Bảng 1 là ví dụ về các phép biến đổi giữa 2 chuỗi ADN s1 và s2. Trong ví dụ này
ta có thể thấy tại vị trí thứ 2 và vị trí thứ 3 có thực hiện phép biến đổi thay thế ( C – A
và A – G) đồng thời tại vị trí thứ 7 xác định được một phép chèn/xóa. Tại các vị trí còn
lại ta có thể thấy sự tương đồng giữa 2 chuỗi s1 và s2, chẳng hạn tại vị trí 1 cả 2 chuỗi
s1 và s2 đều là A hay tại vị trí 4 là G.
Page | 2
Bảng 1: Ví dụ về các phép biến đổi
1 2 3 4 5 6 7 8 9
s1 A C A G C T G G T
s2 A A G G C T - G T
Thông thường đặc điểm của sinh vật dựa vào cấu chúc chuỗi ADN của chúng,
như vậy khi xuất hiện một phép biến đổi bên trong chuỗi ADN thì đặc điểm của sinh
vật sẽ bị biến đổi. Sự thay đổi này có thể là những dấu hiệu bên ngoài giúp chúng ta có
thể xác định điểm khác biệt hoặc chỉ là sự biến đổi bên trong sinh vật và cần tập trung
nghiên cứu mới nhận ra sự biến đổi này. Khi sự biến đổi là quá lớn, rất có thể một loài
sinh vật hoàn toàn mới sẽ xuất hiện. Chính vì vậy sự xuất hiện của các chương trình
sắp hàng đa chuỗi hay bắt cặp đa chuỗi (multiple sequence alignment) là rất quan
trọng trong lĩnh vực sinh học nói chung và sinh học phân tử nói riêng (molecular
biology). Dựa vào kết quả của các chương trình này các nhà khoa học có thể đi tới
những kết luận đối với các chuỗi ADN và axit amin tương ứng như sau:
− Xác định và chẩn đoán được chức năng mà đoạn ADN/axit amin
này thực hiện trong cơ thể sinh vật.
− Xác định các vị trí biến đổi liên quan tới các bệnh di truyền để từ đó
tìm kiếm phương pháp phát hiện và cứu chữa
− Phân tích các phép biến đổi để xây dựng quá trình tiến hóa giữa các
loài sinh vật.
− Xác định và chẩn đoán các cấu trúc bậc cao cho ADN/axit amin mới
giải mã được.
Các phép biến đổi thường làm cho chuỗi ADN(có thể là protein) tương đồng bị
biến đổi cả về kích thước lẫn nội dung của nó. Khi đó ta có thể định nghĩa một cách
đơn giản của việc sắp hàng đa chuỗi là quá trình chèn thêm các dấu cách (biểu diễn
một phép chèn/xóa trong quá trình tiến hóa) vào các chuỗi sao cho tất cả các ADN(axit
Page | 3
amin) ở cùng một vị trí thì tương đồng với nhau. Tuy dữ liệu đầu vào của một chương
trình sắp hàng đa chuỗi thường là có độ dài các chuỗi khác nhau, nhưng kết quả của
chúng luôn cho ra những chuỗi ADN(protein) có độ dài bằng nhau, kết quả này còn
được gọi là “đa chuỗi thẳng hàng”.
Chẳng hạn ta có 4 chuỗi cần được thực hiện sắp hàng đa chuỗi như sau
Bảng 2: Ví dụ của sắp hàng đa chuỗi
s1 = G C T G A T A T A G C
s2 = G G G T G A T T A G C
s3 = G C T A T C G C
Input
s4 = A G C G G A A C A C C
s1’ = – G C T G A T A T A G C
s2’ = G G G T G A T – T A G C
s3’ = – G C T – A T – – C G C
Kết quả
s4’ = A G C G G A – A C A C C
Như chúng ta nhận thấy độ dài của các chuỗi s1, s2 và s4 là khác so với độ dài
của chuỗi s3. Tuy nhiên kết quả thu được thì độ dài của cả 4 chuỗi là tương đương
nhau. Ngoài ra chúng ta cũng có thể dễ dàng phát hiện được những phép biến đổi được
thực hiện khi nhìn vào kết quả của chương trình sắp hàng đa chuỗi. Chẳng hạn có một
phép chèn/xóa tại vị trí thứ nhất của s1’ và s3’ hay một phép thay thế C bởi G tại s2’.
Tương tự như vậy là các phép chèn xóa hay các phép thay thế còn lại.
Một điều có thể nhận ra trong sắp hàng đa chuỗi đó chính là tồn tại nhiều cách
chèn dấu cách khác nhau và khi đó ta có thể tạo ra nhiều kết quả khác nhau. Việc tồn
tại nhiều phép biến đổi khác nhau này có thể được cải thiện bằng cách sử dụng mắt
thường và dựa trên kinh nghiệm để bắt cặp. Tuy nhiên, cách thức này chỉ có thể áp
dụng được với những chuỗi ADN ngắn vào số lượng chuỗi bắt cặp nhỏ. Đối với những
Page | 4
trường hợp bắt cặp hàng trăm chuỗi và độ dài mỗi chuỗi lớn thì việc làm thủ công trên
trờ nên không khả thi và mất tính hiệu quả ban đầu của nó. Để giải quyết bài toán này
người ta đã đưa ra rất nhiều phương pháp tính toán và nghiên cứu nhằm mục đích tối
ưu hóa bắt cặp đa chỗi. Các phương pháp này thường tiến hành sao cho nó tiến tới sấp
xỉ một hàm mục tiêu cho trước. Hàm mục tiêu đơn giản nhất được đưa ra là cực tiểu
hóa các phép biến đổi tồn tại giữa các cặp chuỗi sau khi sau khi đã bắt cặp xong.
Tuy nhiên vẫn còn một vấn đề khá nan giải đó là việc rất khó để bắt cặp những
chuỗi có sự liên hệ lẫn nhau thấp một cách chính xác mà không cần sự chỉnh sửa bằng
tay dựa trên kinh nghiệm của các nhà khoa học. Đề giải quyết vấn đề này có rất nhiều
phương án đã được đưa ra trong vòng 4 tới 5 thập kỉ qua. Năm 1970 Needleman và
Wunsch[2] đã đưa ra một thuật toán để so sánh chuỗi ADN dựa trên quy hoạch động,
thuật toán này giúp ta có khả năng bắt cặp 2 chuỗi ADN (pairwise alignment) và thu
được một kết quả khá tốt. Mặc dù vậy việc mở rộng bài toán này lên thành sắp hàng đa
chuỗi (multiple sequence alignment) lại là một câu chuyện hoàn toàn khác bởi độ phức
tạp của thuật toán là Nk (trong đó k là số lượng chuỗi dùng để bắt cặp và N là độ dài
của chuỗi). Sau đó một số phương pháp mới cũng được đưa ra, trong đó có phương
pháp progessive[3] hay phương pháp chuẩn hóa lặp (iterative refinement)[4-5]. Các
phương pháp này đều dựa trên các biến thể của quy hoạch động 2 chiều (two-
dimentional dynamic programing) và giảm được độ phức tạp của bài toán xuống còn
N2. Việc giảm được độ phức tạp của bài toán xuống còn N2 là một thành tựu rất lớn
nhưng độ chính xác của sắp hàng đa chuỗi còn dựa trên chính hệ thống tính điểm của
mỗi chương trình, hệ thống tính điểm càng chính xác thì độ chính xác của kết quả nó
đưa ra càng cao. Nói tới hệ thống tính điểm này ta không thể không nhắc tới ClustalW,
một phương pháp được phát triển bởi Thompson và các đồng nghiệp năm 1994[6].
ClustalW sử dụng cách tính toán hệ thống điểm phạt (điểm phạt cho các phép biến đổi)
và hàm mục tiêu của ClustalW là làm nhỏ nhất có thể điểm phạt này. Đây chính là một
trong những phương pháp đi tiên phong cho hệ thống điểm phạt ngày nay.
Hiện tại, các phương pháp được phát triển nhằm mục đích giải quyết bài toán sắp
hàng đa chuỗi ngày càng xuất hiện nhiều hơn. Mỗi thuật toán đều có khả năng chính
xác và tính tin cậy khác nhau. Những phương pháp nổi bật nổi bật bởi độ chính xác
của chúng có thể kể đến như: T-Coffee[7], MAFFT[8,14], PROBCONS[9], và
MUSCLE[10]. Trong MAFFT nổi lên như một chương trình rất được ưa chuộng hiện
Page | 5
nay nhờ vào tốc độ thực thi và độ tin cậy của thuật toán. Việc đánh giá độ tin cậy của
một phương pháp hay thuật toán cần phải dựa trên một bộ dữ liệu chuẩn chứa đồng
thời các chuỗi chưa được sắp hàng và dữ liệu chuẩn để đối sánh. Những bộ dữ liệu này
thường là những bộ dữ liệu được trích chọn trong quá trình nghiên cứu của các nhà
khoa học hoặc được các nhà khoa học sử dụng kinh nghiệm của mình để xác định.
Kết luận: Mặc dù việc sắp hàng đa chuỗi đã được nghiên cứu và phát triển từ rất
lâu nhưng nó vẫn là một bài toán cần được nghiên cứu và tiếp tục phát triển để giải
quyết được các nhu cầu hiện tại cũng như trong tương lai gần. Mỗi phương pháp sắp
hàng đa chuỗi đều có những ưu và nhược điểm riêng của nó và quan trọng hơn nữa là
mỗi chỉ phù hợp với những kiểu dữ liệu nhất định. Chính vì vậy việc tập trung nghiên
cứu nhằm mục đích cải thiện độ chính xác của các phương pháp này là điều rất cần
thiết.
Page | 6
Chương 2: Các phương pháp phổ biến hiện nay
Sau đây, tôi xin trình bày tổng quan một số chương trình sắp hàng đa chuỗi tiêu
biểu hiện nay trên thế giới. Các chương trình này đều đã khẳng định được khả năng
của mình và được áp dụng khá nhiều trong lĩnh vực sinh học nói chung và sinh học
phân tử nói riêng.
1.MUSCLE
MUSCLE là chương trình sắp hàng đa chuỗi được phát triển bởi David Edgar
năm 2004. Hiện tại MUSCLE đang được sử dụng khá rộng rãi bởi độ chính xác khá
cao và tốc độ của chương trình có thể hỗ trợ người sử dụng với bộ dữ liệu lớn tới hàng
ngàn chuỗi. Về mặt thuật toán, ta có thể chia thuật toán của MUSCLE ra làm ba bước
chính đó là bước bắt cặp nháp, cải tiến, và bước chuẩn hóa lại. Ngoài ra tác giả đưa ra
hai hệ thống tính điểm khác nhau đó là khoảng cách K-mers[11] cho bộ chuỗi chưa
được bắt cặp với nhau và ma trận KIMURA[12] cho các chuỗi đã bắt cặp rồi.
Hình 1: khoảng cách K-mers[10]
K-mer được định nghĩa là một chuỗi các amino axit đứng liền kề nhau có độ dài
bằng K. Đối với những sequence có liên hệ với nhau thì số lượng K-mer sẽ nhiều hơn
các cặp sequence bình thường. Khoảng cách K-mers được định nghĩa dựa trên định
nghĩa của K-mer khi ta sử dụng nó trong chuỗi kí tự. Phương pháp sử dụng K-mer này
không đòi hỏi các chuỗi đã được align hay chưa và thu được kết quả với tốc độ khá
Page | 7
cao. Hình 2 là một ví dụ cho khoảng cách K-mers, với K = 3 ta thu được tại phần trên
K-mer là 6 và phần dưới K-mer là 13. Tương tự như vậy với K=4 tại phần trên K-mer
là 4 và dưới là 9.
Khoảng cách KIMURA[12] được định nghĩa là khoảng cách giữa 2 chuỗi đã được
bắt cặp và được tính theo công thức:
2
1 1 1ln(1 2 ) ln( )
2 4 2K p
D P Q Q= − − − −
Trong đó, P là số lượng transition đếm được giữa 2 chuỗi và Q là số lượng
transversion đếm được giữa 2 chuỗi. Transition là dạng thay thế A – G hay C – T hoặc
ngược lại. Trong khi đó Transversion là dạng thay thế A – C, T hay các trường hợp
tương tự như vậy.
Ngoài ra, còn một điểm đáng lưu ý ở MUSCLE đó là bắt cặp profiles (profile
alignment). Đây là một dạng bắt cặp tương tự như bắp cặp sóng đôi (pairwise
alignment) nhưng mỗi profile không còn là một chuỗi như bắt cặp sóng đôi mà là
nhiều chuỗi được ghép vào.
Hình 2: Các bước chạy của MUSCLE[10]
Ở các bước một và hai của MUSCLE lần lượt sử dụng 2 hệ thống điểm là khoảng
cách K-mers và ma trận KIMURA để dựng cây nhị phân dựa trên thuật toán
Page | 8
UPGMA[13]. Mỗi nút trên cây được ghép lại bởi 2 profile và tạo ra một profile mới
cho. Cứ làm như vậy cho tới gốc cuối cùng thì ta sẽ đạt được một alignment. Và đến
đây coi như chúng ta đã hoàn thành việc sắp hàng đa chuỗi nếu người sử dụng không
muốn chạy bước chuẩn hóa.
Bước cuối cùng của MUSCLE là bước chuẩn hóa (refinement). Dựa trên cây
được dựng sau hai bước trên bước này sẽ cắt bỏ một cạnh từ cây đó sau đó bắt cặp lại
2 profiles và sử dụng điểm sum of pair để tính toán nếu có cải thiện với điểm của kết
quả trên thì giữ lại, nếu không thì bỏ đi. Điểm sum-of-pair là điểm để xác định khả
năng bắt cặp giữa 2 chuỗi sẽ được nói tới sau trong phần kết quả thực nghiệm sử dụng
BAliBASE.
Về độ phức tạp của thuật toán, nếu ta chỉ chạy 2 bước đầu thì độ phức tạp thuật
toán sẽ là O(N2 + NL + L2). Nếu có thêm bước chuẩn hóa lại thì độ phức tạp thuật toán
là O(N3L). trong đó N là số chuỗi cần bắt cặp, L là độ dài của chuỗi.
Dựa theo kết quả thực nghiệm sẽ nêu ở phần sau của tài liệu này, MUSCLE có
tốc độ chạy rất tốt và có thể chạy được với bộ dữ liệu lớn, cỡ từ 1 tới vài nghìn cuỗi.
2.MAFFT
MAFFT là viết tắt của Multiple Alignment using Fast Fourier Transform được
đưa ra năm 2002 bởi một nhóm các tác giả người Nhật. Tại thời điểm hiện tại, MAFFT
được đánh giá rất cao nhờ vào độ chính xác gần như là cao nhất trên những chuỗi full-
length của bộ dữ liệu chuẩn BAliBASE đồng thời MAFFT cũng yêu cầu một thời gian
để chạy tương đối dễ chịu với người sử dụng.
Khác với các phương pháp khác, các tác giả của MAFFT sử dụng giả thuyết tần
suất sự thay thế các amino axit phụ thộc lớn vào các thuộc tính lý hóa của nó, đặc biệt
là 2 thuộc tính khối lượng(volume) và độ phân cực(polarity) [13]. Dựa trên 2 thuộc
tính này người ta dựng nên 2 giá trị chuẩn hóa v(a) và p(a) tượng trưng lần lượt cho
khối lượng và độ phân cực. Tiếp theo mối quan hệ giữa 2 chuỗi amino axit sẽ được
tính toán bằng cách sử dụng biến đổi Fourier. Ý nghĩa chính của biến đổi Fourier ở
bước này chính là giúp giảm độ phức tạp của thuật toán. Sau bước này ta sẽ thu được
các giá trị c(k)[14] – tượng trưng cho mối quan hệ giữa 2 chuỗi, ở đây k là độ trễ của
chuỗi 2 so với chuỗi 1 như hình 3.
Page | 9
Hình 3: độ trễ k và tìm kiếm đoạn tương đồng[14]
Từ hình vẽ ta có thể thấy nếu k bằng 2 thì chuỗi 1 sẽ đi trước chuỗi 2 khi bắt cặp
với nhau để tìm đoạn tương đồng. Mặt khác bằng thực nghiệm cho thấy, c(k) càng lớn
thì khả năng tìm được những đoạn tương đồng khi sắp xếp 2 chuỗi theo độ trễ k càng
lớn. Và từ những đoạn tương đồng tìm được người ta xây dựng một ma trận tương
đồng để từ đó có thể bắt cặp 2 chuỗi amino axit này lại với nhau (cách xác định đoạn
tương đồng và xây dựng ma trận tương đồng có thể đọc thêm ở tài liệu tham khảo số
14). Hình 4 biểu diễn một ma trận tương đồng
Hình 4, ma trận tương đồng[14]
Trong trường hợp này, đường bắt cặp được sử dụng là S(5,5) -> S(4,4) -> S(2,3)
-> S(1,1) vì giá trị của S(2,3) lớn hơn giá trị của S(3,2).
Page | 10
Cũng giống như MUSCLE, để mở rộng bài toán từ bắt cặp sóng đôi lên sắp hàng
đa chuỗi, MAFFT sử dụng bắt cặp profile – profile. Bằng cách tính toán lại c(k) cho
mỗi cặp profile và xác định đoạn tương đồng cũng như ma trận tương đồng ta có thể
hoàn thành các bước sắp hàng đa chuỗi của option đơn giản nhất MAFFT là FFT-Ns1.
Các option còn lại của MAFFT hầu hết đều sử dụng kết quả của FFT-Ns1 và sử dụng
các bước chuẩn hóa để thu được kết quả tốt hơn FFT-Ns1.
Theo phiên bản mới nhất của MAFFT, chúng ta có thể có nhiều option để chọn
lựa như FFT-Ns2, FFT-Nsi, Li-Nsi, Ei-Nsi, …. Mỗi option có thể đáp ứng cho người
dùng những yêu cầu nhất định. Chẳng hạn đối với option FFT-Ns2 tốc độ bắt cặp là rất
cao, nhanh hơn cả MUSCLE tuy nhiên lại thu được kết quả không tốt lắm. Để thu
được kết quả tốt hơn, ta có thể sử dụng option Li-nsi của MAFFT. Option này tuy
chạy chậm hơn MUSCLE nhưng lại có kết quả đáng tin cậy hơn.
3. ProbCons
ProbCons có tên đầy đủ là Probabilistic consistency-based multiple sequence
alignment. Đây là phần mềm sắp hàng đa chuỗi được tác giả gốc Việt Nam là Chương
Đỗ, và các đồng nghiệp phát triển và lần đầu được công bố năm 2005. Cũng như
MUSCLE và MAFFT, ProbCons cũng là một chương trình rất thông dụng và được sử
dụng rộng rãi hiện nay. ProbCons có khả năng trả về một kết quả chính xác cao tuy
nhiên về mặt tốc độ ProbCons không thể được như MAFFT và MUSCLE.
Về mặt thuật toán, ProbCons đưa mô hình Markov ẩn vào thuật toán progressive.
Điểm khác biệt chính giữa ProbCons và các phương án tiếp cận khác đó chính là việc
sử dụng ước lượng cực đại về độ chuẩn xác chứ không phải là cách sử dụng mô hình
Viterbi[15], mặt khác ProbCons còn sử dụng ước lượng các phép biến đổi để bảo toàn
thông tin của các chuỗi trong khi bắt cặp. Ngoài ra ProbCons sử dụng ma trận chuyển
đổi chuẩn BLOSUM62[16] và điểm phạt phát sinh khi thêm dấu cách trong việc bắt
cặp cũng được huấn luyện bởi ước lượng cực đại. Để thực hiện sắp hàng đa chuỗi,
ProbCons cần phải thực hiện qua ít nhất là 5 bước(thuật toán chi tiết có thể đọc thêm ở
tài liệu tham khảo số 9). Các bước này sẽ được trình bày một cách tổng quát nhất như
sau:
Page | 11
− Bước 1: Xây dựng ma trận xác suất Pxy(i,j) trong đó x,y là 2 chuỗi bất kì
cần phải bắt cặp, i và j lần lượt là vị trí của kí tự trong 2 chuỗi x,y.
− Bước 2: Tính toán kì vọng của độ chính xác khi bắt cặp 2 chuỗi x, y. Với
mỗi cặp chuỗi x, y xác định một kết quả bắt cặp 2 chuỗi này sao cho kì
vọng của cách bắt cặp này là cao nhất.
− Bước 3: Ước lượng tính vững chắc của các bước chuyển đổi. Ở bước
này, ma trận xây dựng ở bước 1 sẽ được tính toán và chuẩn hóa lại.
− Bước 4: Xây dựng cây cho các chuỗi cần bắt cặp bằng thuật toán phân
cụm, trọng số sẽ được tính toán dựa trên giá trị tính ở bước 2.
− Bước 5: Dựa vào cây đã dựng ở bước 4, ta tiến hành bắt cặp cho cả bộ
dữ liệu.
Ngoài ra còn có thể có thêm bước chuẩn hóa lại kết quả, bước chuẩn hóa này sẽ
cắt kết quả làm 2 phần và tiến hành bắt cặp lại. Số lần bước chuẩn hóa thực hiện là
không xác định trước.
Kết quả của Proncons là rất đáng tin cậy, nó sẽ được thể hiện trong phần thực
nghiệm sẽ được trình bày ở phần sau bản báo cáo này. Tuy nhiên, về mặt tốc độ
ProbCons không thể so sánh với 2 thuật toán trên và có lẽ chỉ nên chạy ProbCons với
những dữ liệu không vượt quá 50 chuỗi và có độ dài tối đa của chuỗi nằm trong
khoảng 500 axit amin.
Page | 12
Chương 3: EM-Coffee (Extended M-Coffee)
1.Đặt trọng số khi kết hợp các thuật toán
Ba thuật toán đã được nêu ra trong chương 2 chính là ba phương pháp được sử
dụng phổ biến nhất cho việc sắp hàng đa chuỗi hiện nay trên thế giới. Mỗi phương
pháp đều có những ưu điểm và nhược điểm riêng của nó. Tuy nhiên, điều cần quan
tâm nhất đó chính là mỗi phương pháp đưa ra kết quả tốt nhất với những bộ dữ liệu
nhất định. Chúng không cho về kết quả ổn định và đáng tin cậy trong mọi trường hợp
có thể xảy ra trong bộ dữ liệu.
Việc đánh giá ba thuật toán sẽ được tóm tắt lại trong bảng sau:
Bảng 3: nhận định về các thuật toán.
Thuật toán Ưu điểm Nhược điểm
Muscle
Tốc độ cao, có thể chạy với bộ dữ
liệu lớn
Độ chính xác của muscle với
các bộ dữ liệu chuẩn so với
các thuật toán khác là không
cao
ProbCons Độ chính xác và tính tin cậy của
ProbCons là lớn
Tốc độ chậm, chỉ có thể chạy
với những bộ dữ liệu nhỏ
MAFFT Có độ chính xác khá cao, nhiều
option ứng với những bộ dữ liệu
riêng đồng thời tốc độ chấp nhận
được
Với những option có độ chính
xác cao thì tốc độ không tốt,
và ngược lại.
Chính vì việc mỗi thuật toán đều có độ chính xác trên những bộ dữ liệu nhất định
trong khi những dữ liệu cần phải được bắt cặp là rất đa dạng. Ta cần tìm cách kết hợp
kết quả các thuật toán trên với nhau để đưa ra một kết quả mới với hi vọng kết quả này
có được độ tin cậy trên càng nhiều bộ dữ liệu càng tốt.
Page | 13
Vậy bài toán của chúng ta hiện nay chính là tìm cách sử dụng ba thuật toán trên
cũng như kết quả của nó trong mỗi lần sắp hàng đa chuỗi để tạo ra một kết quả mới có
độ chính xác với kì vọng là cao hơn và có khả năng ổn định trên nhiều bộ dữ liệu chứ
không còn như từng thuật toán chỉ chạy tốt với một số bộ dữ liệu. Tất nhiên mỗi thuật
toán đều có độ chính xác của riêng nó và không thể coi kết quả của mỗi thuật toán
trước khi đưa vào sử dụng làm thư viện là như nhau, mỗi thuật toán cần có trọng số
nhất định. Trọng số này không thể dùng mắt thường hoặc kinh nghiệm để đánh giá do
số lượng chuỗi và độ dài mỗi chuỗi trong sắp hàng đa chuỗi không phải là nhỏ.
2.MUMSA
Vào năm 2005, trên thế giới xuất hiện rất nhiều chương trình sắp hàng đa chuỗi,
điều này làm cho người sử dụng không thể xác định chính xác nên chọn chương trình
nào phù hợp cho bộ dữ liệu của mình. Việc nhận định độ tin cậy của một chương trình
sắp hàng đa chuỗi trở thành vấn đề cấp bách. Trong bối cảnh đó Timo Lassmann và
Erik Sonnhammer đã cho ra đời MUMSA[17], chương trình hỗ trợ người dùng xác
định được tính tin cậy của một đa chuỗi thẳng hàng mà không cần đến bộ dữ liệu tham
khảo.
Thuật toán của MUMSA dựa trên việc so sánh các đa chuỗi thẳng hàng. Họ đưa
ra một khái niệm đó là cặp amino axit được bắt cặp tương ứng(pair-of-aligned
residues). Chẳng hạn ta có một đa chuỗi thẳng hàng, trong đó amino axit thứ 3 trong
chuỗi 1 được bắt cặp tương ứng với amino axit thứ 5 trong chuỗi 7 thì 2 amino axit
này được gọi là một cặp amino axit được bắt cặp tương ứng. Như vậy, từ đa chuỗi
thẳng hàng là input đầu vào của chương trình ta có thể tạo ra rất nhiều cặp trên. Chú ý
rằng chúng ta cần chia nhỏ đa chuỗi đầu vào thành các phần nhỏ nhất có thể nhưng
vẫn giữ đủ thông tin của đa chuỗi đó để giảm thiểu số lượng các cặp amino axit được
bắt cặp tương ứng.
Để so sánh độ tin cậy của một đa chỗi thẳng hàng trong nhiều đa chuỗi khác,
thuật toán của MUMSA tiến hành tính điểm cho mỗi cặp amino axit được bắt cặp
tương ứng để biểu diễn số lần xuất hiện của chúng trong những đa chuỗi thẳng hàng.
Xét một cặp α bất kì, ta gọi n(α) là số lần xuất hiện của α trong (m – 1) đa chuỗi thẳng
hàng còn lại đang được so sánh. Một cặp xuất hiện trong tất cả mọi đa chuỗi sẽ cho ta
giá trị n(α) = (m – 1) điều này đồng nghĩa với xác suất cặp α xảy ra trên thực tế là lớn,
Page | 14
và ngược lại một cặp không xuất hiện trong các chuỗi còn lại cho ta kết quả n(α) = 0
hay xác suất cặp α xảy ra trên thực tế là rất nhỏ.
Như vậy với một đa chuỗi A ban đầu, ta có thể dùng giá trị trên cho tất cả các cặp
amino axit được bắt cặp tương ứng của nó để tính toán độ tin cậy của một đa chuỗi
thẳng hàng. Độ tin cậy của một đa chuỗi thẳng hàng được tính theo công thức:
MOS(A) =
{ }
( )
( ) |
1
n A
A m
α α ∈
−
∑
(|A| số lượng cặp amino axit tương ứng trong A)
MOS là viết tắt của multiple overlap score và có giá trị biến thiên trong đoạn
[0,1]. Khi MOS(A) = 1 tức là mọi cặp amino axit tương ứng xảy ra trong A đều xảy ra
trong (m – 1) đa chuỗi khác và ngược lại khi MOS(A) = 0 là khi không có cặp amino
axit nào xuất hiện trong A lại xuất hiện trong các đa chuỗi được so sánh với A. Bằng
những kết quả thực nghiệm của mình, các tác giả của MUMSA đã chỉ ra rằng những
đa chuỗi thẳng hàng có điểm MOS cao từ 0.8 trở lên là những đa chuỗi đáng tin cậy và
có thể sử dụng chúng cho những công việc khác. Ngoài ra, những đa chuỗi chỉ có điểm
MOS thấp hơn 0.5 thì có thể có nhiều phần được bắt cặp không chính xác và cần được
chỉnh sửa lại. Chẳng hạn với bộ dữ liệu BAliBASE, nếu như kết quả của các chương
trình sắp hàng đa chuỗi có điểm MOS nhỏ hơn 0.5 thì những đa chuỗi mà thuật toán
của nó không thể nhận biết được những đoạn tương đồng đã được bắt cặp một cách
thủ công của bộ dữ liệu này.
Như vậy, mục đích chính của MUMSA là tính toán độ chính xác hay tính tin cậy
của những đa chuỗi thẳng hàng khi mang chúng so sánh với nhau. Từ kết quả của
MUMSA nếu áp dụng vào giả thuyết sử dụng thư viện từ MAFFT, MUSCLE, và
ProbCons ở trên ta sẽ thu được độ tin cậy của từng thuật toán. Đồng thời từ đó ta cũng
có thể xác định được trọng số của các thuật toán trên dựa vào kết quả của MUMSA
3.T-Coffee, M-Coffee
3.1. T-Coffee
T-Coffee – Tree-based Consistency Objective Function for alignment Evaluation
là phần mềm được công bố và phát triển và năm 2000. Vào thời điểm được công bố,
Page | 15
T-Coffee chính là phần mềm có độ chính xác cao nhất trong các chương trình sắp hàng
đa chuỗi đồng thời tốc độ chạy của T-Coffee là chấp nhận được.
T-Coffee có 2 tính năng chính. Tính năng thứ nhất là nó sử dụng hệ thống dữ liệu
thư viện được sinh ra từ bắt cặp sóng đôi các cặp chuỗi để tạo ra đa chuỗi thẳng hàng
cuối cùng. Tính năng thứ 2 là tối ưu hóa, tính năng này có nhiệm vụ chọn đa chuỗi
thẳng hàng phù hợp nhất với bộ dữ liệu được đưa vào. Như vậy nhìn chung, T-Coffee
sử dụng thuật toán progressive cùng với khả năng cập nhật thư viện dữ liệu của mình
thông qua mỗi bước thực hiện của nó. Điều này cho phép T-Coffee lấy được sự đơn
giản và tốc độ của thuật toán progressive đồng thời giảm thiểu lỗi xảy ra trong quá
trình bắt cặp. Hình 5 ở bên dưới là một lỗi thường xảy ra trong quá trình bắt cặp sử
dụng thuật toán progressive thông thường, trong hình ta có thể thấy sự bắt cặp lỗi của
từ CAT ở chuỗi B.
Hình 5: lỗi xảy ra trong bắt cặp sử dụng thuật toán progressive thông thường[7]
Về mặt thuật toán, T-Coffee có 5 bước chính như hình 6 đó là tạo thư viện chính,
đặt trọng số cho thư viện chính, kết hợp thư viện, mở rộng thư viện, bắt cặp sử dụng
thuật toán progressive. Chúng ta sẽ đi vào từng bước của thuật toán này.
Page | 16
Hình 6: các bước thuật toán của T – Coffee[7]
Page | 17
3.1.1. Tạo thư viện chính
Thư viện chính của T-Coffee là tập hợp các cặp chuỗi thu được nhờ vào quá trình
bắt cặp sóng đôi giữa các chuỗi nằm trong đầu vào. Như vậy với đầu vào có N chuỗi ta
sẽ có N(N – 1)/2 cặp trong thư viện. Trong thư viện mỗi cặp có thể có liên kết với nhau
và một điều cần chú ý đó là mỗi cặp đều có tính quan trọng khác nhau bởi một số có
thể đưa ra những sự bắt cặp chính xác cho kết quả sau này. Việc xác định cặp nào
quan trọng, cặp nào không sẽ được tính toán ở bước 2.
Có 2 cách được sử dụng để tạo thư viện chính của T-Coffee. Cách thứ nhất là sử
dụng thuật toán ClustalW[6] để bắt cặp 2 chuỗi tổng quát, có độ dài mặc định. Và cách
thứ hai là sử dụng Lalign để bắt cặp khi 2 chuỗi được chia thành các đoạn nhỏ, có độ
tương đồng cao (Lalign là chương trình nằm trong bộ chương trình FASTA và xây
dựng dựa theo thuật toán Sim được đưa ra bởi Huang và Miller năm 1991 [18]).
3.1.2. Đặt trọng số cho thư viện chính
Trọng số sẽ được gán cho tất cả các cặp có trong bộ thư viện chính. Ý nghĩa
chính của trọng số này chính là biểu diễn cho sự giống nhau của các cặp. Thuật toán sử
dụng tính đồng nhất (identity) của chuỗi, tính đồng nhất của chuỗi được đưa ra bởi
Sander và Schneider năm 1991[19] và đã được chứng minh khi bắt cặp những chuỗi
có tính đồng nhất lớn hơn 30%. Đồng thời trọng số này cũng thể hiện được tính đúng
đắn của mình trong một bài viết trước đó của nhóm tác giả[20]. Như vậy Mỗi cặp
chuỗi được bắt cặp trong thư viện chính sẽ nhận được trọng số bằng chính độ tương
đồng giữa 2 chuỗi trong nó.Chẳng hạn với ví dụ của hình 5, ta sẽ có bộ thư viện như
hình 7.
Hình 7: Thư viện chính cùng với trọng số[7]
Page | 18
3.1.3. Kết hợp thư viện
Mục tiêu của thuật toán là kết hợp bộ thư viện được tạo thành bởi cả ClustalW và
Lalign về với nhau. Điều này có thể thực hiện dựa trên một ý tưởng đơn giản, nếu một
cặp trong thư viện này mà được lặp lại ở thư viện kia thì có thể ghép chúng làm một
với trọng số bằng tổng trọng số của cặp này trong cả 2 thư viện. Nếu không có thì chỉ
cần tạo một phần tử mới cho thư viện là chính cặp đang xét.
Sau khi đã ghép xong, bộ thư viện mới này chúng ta có thể đưa sang việc sắp
hàng đa chuỗi bằng cách tìm kiếm đa chuỗi thẳng hàng nào thích hợp nhất với trọng số
của các cặp có trong thư viện. Tuy nhiên, thuật toán lại tiếp tục cải tiến độ chuẩn xác
của thông tin trong mỗi cặp bằng cách mở rộng bộ thư viện. việc mở rộng bộ thư viện
này chính là bước thứ tư của thuật toán
3.1.4. Mở rộng thư viện
Hình 8: Mở rộng thư viện[7]
Bài toán xây dựng đa chuỗi thẳng hàng từ một bộ dữ liệu có gán trọng số là một
bài toán khá nổi tiếng được đưa ra bởi Kececioglu với cái tên “maximum weight
trace”[21]. Trước thời điểm T-Coffee được công bố đã có 2 thuật toán được đưa ra
bởi Notredame[22] và Reinert[23], thuật toán của Notredame dựa trên giải thuật gen di
truyền trong khi đó thuật toán thứ 2 của Reinert dựa trên đồ thị. Mặc dù vậy cả 2 thuật
toán này đều không đáp ứng được yêu cầu. Thuật toán của Notredame là khá thực tế
tuy nhiên lại đòi hỏi thời gian thực hiện quá lớn. Trong khi đó thuật toán của Reinert
lại quá phức tạp và có thể xảy ra những sai sót trong quá trình tính toán.
Page | 19
Cuối cùng, vấn đề trên đã được giải quyết bằng cách sử dụng thuật toán heuristic
bên trong phần mở rộng thư viện của T-Coffee. Ý tưởng chung của thuật toán này là
trọng số cho mỗi cặp amino axit được bắt cặp với nhau có thể biểu diễn một phần
thông tin cho cả bộ dữ liệu. Để làm được việc này một cách tiếp cận mới được đưa ra
như hình 8, đây là cách mở rộng thư viện từ thư viện chuẩn ví dụ của hình 7. Thuật
toán dựa trên việc sự dụng mỗi cặp amino axit được bắt cặp với nhau trong thư viện và
kiểm tra xem sự xuất hiện của nó trong các cặp chuỗi đã được bắt cặp khác trong thư
viện chính còn lại. Với ví dụ trong hình 8, ta giả thiết rằng có 4 chuỗi cần được bắt cặp
là A, B, C, và D. Chúng ta gọi A(G) là kí tự G trong GARFIELD ở chuỗi A, tương tự
như vậy với B(G). Đồng thời gọi W(A(G), B(G)) là trọng số đặc trưng cho cặp này ở
trong thư viện chính. Trên thực tế A(G) và B(G) được bắt cặp với nhau trong thư viện
chính và ta có thể thấy trọng số của cặp này là 88 (dựa trên trọng số của cặp chuỗi A –
B). Nếu bây giờ ta đưa thêm chuỗi C vào để so sánh, ta có thể thấy A(G) và C(G) được
bắt cặp với nhau, đồng thời đó là C(G) và B(G). Như vậy ta có thể nói là có một sự bắt
cặp giữa A(G) và B(G) thông qua C. Ta xét 2 giá trị mới đó là W1 = W(A(G), C(G))
=77 và W2 = W(B(G), C(G)) = 100. Ta đặt trọng số mà A(G) được bắt cặp với B(G)
thông qua C là giá trị nhỏ nhất giữa W1 và W2, ở đây do W1 = 77 và W2 = 100 nên ta
đặt lại giá trị trong thư viện là 77. Khi đưa vào trong thư viện mở rộng cặp A(G) và
B(G) sẽ có trọng số là giá trị 88 ban đầu cộng với giá trị 77 mới thu được kết quả mới
là 165.
Việc mở rộng thư viện đòi hỏi phải xét tới tất cả các bộ ba chuỗi trong thư viện
chính ban đầu. Chẳng hạn việc bắt cặp A và B thông qua D không tồn tại thông tin liên
quan tới A(G) và B(G) như vậy bộ ba chuỗi này được xem là không liên quan tới việc
bắt cặp A(G) và B(G), đồng thời chúng cũng không làm ảnh hưởng tới trọng số khi bắt
cặp 2 amino axit này với nhau. Như vậy trọng số để bắt cặp giữa 2 amino axit sẽ là
tổng tất cả các trọng số được tính theo thuật toán trên. Một khi hoàn thành tất cả các
cặp amino axit trên A và B thì mỗi cặp sẽ chứa thêm thông tin từ các chuỗi C và D.
Độ phức tạp lý thuyết của thuật toán này là O(N3L2), trong đó N là số chuỗi và L
là độ dài trung bình của các chuỗi. Tuy nhiên điều này chỉ xảy ra với thư viện có các
cặp chuỗi không liên quan gì tới nhau, trên thực nghiệm độ phức tạp thuật toán lớn
nhất cũng chỉ là O(N3L).
Page | 20
Trọng số sẽ là 0 nếu cặp amino axit tương ứng không xuất hiện trên thư viện,
điều này sẽ xảy ra trong phần lớn các cặp amino axit trong quá trình thực hiện thuật
toán. Ngược lại, nếu trọng số lớn hơn 0, nó sẽ biểu diễn tính tương đồng giữa 2 chuỗi
trong một cặp ở thư viện chính. Điểm này có thể được dùng để bắt cặp 2 chuỗi bất kì
từ bộ dữ liệu của chương trình sử dụng quy hoạch động[24].
3.1.5. Bắt cặp sử dụng thật toán progressive
Trong bắt cặp progressive, đầu tiên 2 chuỗi sẽ được bắt cặp với nhau để tạo ma
trận khoảng cách giữa tất cả các chuỗi, ma trận này được sử dụng để xây dựng cây và
từ cây đó áp dụng thuật toán neighbor-joining[25] để nhóm các chuỗi có độ tương
đồng với nhau nhất thành một nhóm. 2 chuỗi có khoảng cách gần nhất sẽ được bắt cặp
trước sử dụng thuật toán quy hoạch động. Chú ý rằng thuật toán quy hoạch động này
sử dụng trọng số được sinh ra trong bước mở rộng thư viện. Trong quá trình bắt cặp
sóng đôi này, gap sẽ được tạo ra và những gap này sẽ được cố định và không thể thay
đổi về sau này (gap chính là dấu cách được thêm vào, biểu thị cho một phép chèn/xóa).
Việc bắt cặp các nhóm có khoảng cách gần nhau nhất sẽ được thực hiện cho tới khi đạt
tới gốc của cây. Chú ý rằng, để bắt cặp hai nhóm, điểm vẫn sẽ được lấy từ thư viện mở
rộng tuy nhiên sẽ là điểm trung bình của toàn bộ cột trong trong các cặp đó.
Một điều đáng lưu ý nữa ở đây đó là trong bước sử dụng quy hoạch động, các
điểm phạt hay bất kì tham số nào sẽ không được sử dụng, lý do ở đây chính là khi tạo
ra thư viện mở rộng các điểm phạt đó đã được tính rồi.
3.2. M-Coffee
M-Coffee[26] là một dạng mở rộng của T-Coffee, mục tiêu của M-Coffee là kết
hợp các đa chuỗi thẳng hàng từ các chương trình và thuật toán khác trên thế giới để tạo
thành đa chuỗi thẳng hàng mới với hi vọng kết quả này tốt hơn các kết quả được sinh
ra từ các thuật toán đó.
Dựa trên lý thuyết của T-Coffee ta có thể thấy nếu ta thay các bước tạo thư viện
chính bởi ClustalW và Lalign thành các chương trình bắt cặp trên thì ta có thể chạy T-
Coffee dựa trên bộ thư viện là các cặp chuỗi được bắt cặp bởi các thuật toán khác.
Chính điều này làm cho M-Coffee thu nhận được thông tin từ các thuật toán khác và
Page | 21
cho ra kết quả là đa chuỗi thẳng hàng mang thông tin phù hợp với tất cả các thuật toán
đó.
Một điều đáng nói ở M-Coffee là thuật toán này luôn cố gắng chạy tất cả các
chương trình có cài đặt trong máy tính người sử dụng. Những chương trình đó có thể
là những chương trình đã xuất hiện từ rất lâu, thuật toán có thể đã lỗi thời và kết quả
của nó dường như là không tốt. Việc sử dụng thư viện dựa trên các kết quả này dẫn tới
có thể có những đánh giá sai sót về những thông tin lưu trữ và thời gian chạy chương
trình bị kéo dài. Điều này dẫn tới khả năng về mặt tốc độ của M-Coffee là hạn chế.
Tuy nhiên, T-Coffee đã đưa ra một phiên bản mở rộng của mình với tư tưởng khá
giống với M-Coffee. T-Coffee sẽ nhận chuỗi đầu vào cùng với các bộ dữ liệu được
đưa làm thư viện nhưng các bộ dữ liệu này sẽ được coi như ngang bằng nhau – các
trọng số của các đa chuỗi tham khảo đều là 1.
4.EM-Coffee
Như vậy khi đi tới bước này chúng ta đã phần nào tìm ra được hướng giải quyết
chính cho vấn để được đưa ra ở phần 1 chương 3. Trọng số biểu diễn độ tin cậy của
một đa chuỗi thẳng hàng được giải quyết bằng MUMSA và sau đó dùng T-Coffee để
sắp hàng đa chuỗi sử dụng bộ thư viện đã được gán trọng số trên. Nhìn chung thuật
toán của EM-Coffee có thể được biểu diễn như hình 9.
Dựa trên các kết quả thực nghiệm của các thuật toán hiện nay, 5 phương án cho
kết quả tốt nhất được lựa chọn đó là MUSCLE, ProbCons, MAFFT FFT-nsi, MAFFT
Li-nsi, MAFFT Ei-nsi. Bộ thư viện của T-Coffee sẽ chính là những dữ liệu kết quả từ
các thuật toán này.
Về mặt trọng số, ta cần chuẩn hóa các giá trị thu được từ MUMSA. Giả sử Ta có
các giá trị MOS thu được từ các đa chuỗi thẳng hàng sinh ra bởi các thuật toán lần lượt
như sau: MOS(muscle), MOS(ProbCons), MOS(fftnsi), MOS(linsi), MOS(einsi). Bước
chuẩn hóa đầu tiên, ta sẽ tính điểm trung bình các giá trị MOS này
OS( )
5
pi P
M pi
M ∈=
∑
(pi tương ứng với các thuật toán)
Page | 22
Hình 9: Thuật toán EM-Coffee
Bước tiếp theo, trọng số của mỗi thuật toán sẽ là giá trị thu được khi lấy điểm
MOS của nó chia cho giá trị trung bình trên.
OS( )Wpi
M pi
M
=
Bước này chính là đưa các giá trị trọng số về những điểm ở xung quanh 1, và có
điểm trung bình của các trọng số bằng 1. Việc đưa các trọng số về những điểm xung
quanh 1 cũng là một bước khá quan trọng vì khi đưa các đa chuỗi này vào làm thư
viện của T-Coffee những bộ có trọng số quá nhỏ so với những đa chuỗi khác sẽ có khả
năng đóng góp thông tin cao hơn nhưng không làm ảnh hưởng quá nhiều tới kết quả
của EM-Coffee.
Page | 23
Chương 4: Kết quả thực nghiệm
1. Bộ dữ liệu BAliBASE
Như chúng ta đã biết, trên thế giới hiện tại có rất nhiều chương trình sắp hàng đa
chuỗi, mặc dù input giống nhau nhưng output của mỗi chương trình đó lại không
giống nhau. Ở phần trước của bài khóa luận chúng ta có nhắc tới MUMSA, thuật toán
xác định độ tin cậy của một đa chuỗi thẳng hàng khi mang so sánh nó với các đa chuỗi
thẳng hàng khác. Tuy nhiên, việc xác định độ tin cậy này chỉ mang tính chất tương
đối, vì điểm MOS cũng chỉ được tính toán dựa trên chính những thông tin có trong đa
chuỗi thẳng hàng đó và không thể đối chiếu kết quả xem liệu với điểm MOS là cao thì
nó có thực sự chính xác hơn so với những kết quả khác. Chính vì vậy việc tạo ra một
bộ dữ liệu chuẩn nhằm mục đích xác định xem output của chương trình nào chính xác
là một vấn đề rất cấp bách. Trên thực tế hiện nay đối với những chương trình mới
được công bố hay cải tiến, bước đầu tiên là họ đều sử dụng những bộ dữ liệu này để
kiểm tra khả năng của chương trình mới đạt được đến đâu. Chỉ với những trường hợp
sắp hàng đa chuỗi lớn và không có trong thư viện thì MUMSA mới được sử dụng tới.
BAliBASE - Benchmark Alignment dataBASE[28] là một bộ dữ liệu được xây
dựng bởi các nhà khoa học Julie D. Thompson, Olovier Poch và một số nhà khoa học
khác. Việc xây dựng bộ dữ liệu BAliBASE hoàn toàn dựa trên những kết quả đã được
kiểm chứng trước đó đồng thời bắt cặp dựa trên kinh nghiệm của chính những nhà
khoa học này.
Hiện nay, BAliBASE đã phát triển tới bộ dữ liệu 3.0 vào năm 2005. Trong bộ dữ
liệu mới này, BAliBASE có 9 bộ dữ liệu con. Tuy nhiên, với những chương trình sắp
hàng đa chuỗi hiện nay, ta chỉ dùng các bộ dữ liệu từ 1 tới 5. Một điều đáng chú ý đó
là trong mỗi bộ dữ liệu của BAliBASE 3.0 đều có hai phần, 1 phần là các dữ liệu với
chuỗi full-length với 2 chữ cái của tên bắt đầu bởi BB và phần còn lại vẫn là các chuỗi
đó nhưng chỉ đưa ra các đoạn tương đồng có thể bắt cặp với nhau. Như vậy khi thực
hiện kiểm tra kết quả của bất kì chương trình nào ta đều phải tách riêng 2 phần này.
Page | 24
Dưới đây là bảng các số liệu cơ bản như số lượng và số chuỗi tổng của
BAliBASE 3.0 khi so sánh với BAliBASE 2.01.
Bảng 3: Số liệu BAliBASE 3.0 và BAliBASE 2.01
RV1
Version
RV11 RV12 RV13
RV20 RV30 RV40 RV50 Total
2.01 27 27 28 23 12 12 12 141
Số test
3.0 38 44 N/A 41 30 49 16 218
2.01 125 119 123 487 292 150 148 1444
Số chuỗi
3.0 265 411 N/A 1896 1882 1317 483 6254
Nhìn vào bảng ta có thể thấy sự thay đổi lớn khi chuyển bộ test dữ liệu từ
BAliBASE 2.01 sang BAliBASE 3.0. Ở đây ta có thể thấy bộ RV1 là bộ test với
những chuỗi được coi là ngang hàng nhau với độ tương đồng của bộ RV11 là từ 0 tới
20% và độ tương đồng của bộ RV12 là từ 20 tới 40%. Bộ thứ hai là RV20 bộ này bao
gồm những test giữa dòng họ và những cá thể bị biến dổi. Bộ thứ 3 là RV30, đây là bộ
bao gồm những test giữa các nhánh có chung tổ tiên. Bộ thứ RV40 bao gồm những
test có sự mở rộng lớn giữa các chuỗi gen. Cuối cùng là bộ RV50, bộ này gồm những
test có mật độ chèn/xóa là rất cao.
Ngoài ra số lượng chuỗi cũng như số lượng test của BAliBASE 3.0 là lớn hơn rất
nhiều so với BAliBASE 2.01. nếu như số lượng test ở bản 2.01 chỉ là 141 thì ở 3.0 số
lượng test là hơn 200. Đồng thời, tổng số chuỗi trong tất cả bộ dữ liệu của bản 3.0 là
6254, lớn hơn hẳn so với của phiên bản 2.01 với tổng số 1444 chuỗi. Như vậy có thể
thấy nếu sử dụng BAliBASE 3.0 để kiểm tra kết quả của các thuật toán sắp hàng đa
chuỗi khả năng ta sẽ thu được kết quả chính xác hơn so với BAliBASE 2.01. Tuy
nhiên, đi kèm theo đó là thời gian đòi hỏi để mỗi thuật toán hoàn tất quá trình bắt cặp
cho bộ dữ liệu BAliBASE 3.0 là lớn hơn rất nhiều so với phiên bản 2.01.
BAliBASE sử dụng hai hệ số điểm để xác định độ chính xác của một đa chuỗi
thẳng hàng so với kết quả mà các nhà khoa học tự tay bắt cặp. đó là điểm sum-of-
Page | 25
pair(SP) và điểm total-column(TC). Điểm SP có thể được tính một cách đơn giản như
sau:
- Đặt s(a,b) – a,b là 2 amino axit, là điểm khỉ bắt cặp a với b. khi đó ta sẽ có
giá tị của s(a,b) tương ứng là:
s(a,b) = 1 nếu a và b là một amino axit
s(a,b) = -1 nếu a và b khác nhau
s(a,b) = -2 nếu a là gap, b không là gap hoặc ngược lại
s(a,b) = 0 nếu cả a và b đều là gap.
- Đặt SP(mi) là giá trị điểm ở cột i của đa chuỗi thẳng hàng, giá trị của SP(mi)
được tính bằng tổng các s(a,b) trong đó a,b là các amino axit được lấy từ cột
thứ i của đa chuỗi. Một ví dụ đơn giản cho việc tính toán SP(mi) được thể
hiện ở bảng 4
Bảng 4: tính toán SP(mi)
m1 m2 m3 m4 m5 m6
Seq1 T _ G C _ G
Seq2 _ A G C T G
Seq3 _ A G C _ G
SP(mi) -4 -3 3 3 -4 3
Trong đó: SP(m1) = s(T, -) + s (T, -) + s (-, -) = -2 + -2 + 0 = -4.
Tương tự với các điểm của cột m2, m3, m4, m5, m6.
- Điểm SP của cả chuỗi được tính theo công thức
( ) ( )
m M
SP M SP m
∈
= ∑
như vậy, với kết quả của ví dụ trên, SP(M) = -2;
Page | 26
- Kết quả của điểm SP(M) với đa chuỗi thẳng hàng đầu vào sẽ được so sánh
với với SP(R) của bộ dữ liệu tham khảo có sẵn trong BAliBASE và điểm SP
cuối cùng sẽ là tỉ lệ phần trăm khi chia SP(M) cho SP(R). Đây chính là điểm
sum-of-pair của BAliBASE.
Điểm TC còn đơn giản hơn điểm sum of pair rất nhiều. Điểm TC chính là tỉ lệ số
cột mà đa chuỗi đầu vào chứa các amino axit giống hệt so với thư viện của BAliBASE.
Với hai hệ số điểm SP và TC ta có thể xác định được phần nào độ chính xác của
kết quả quá trình sắp hàng đa chuỗi với dữ liệu chuẩn ban đầu. Cần chú ý khi tính kết
quả của một bộ dữ liệu con, chẳng hạn RV11. Ta tính kết quả của từng test trong
RV11 và lấy kết quả trung bình cuối cùng làm kết quả của cả bộ RV11. Nhưng kết quả
của toàn bộ bộ dữ liệu BAliBASE thì ta cần tính trung bình khi nhân trọng số với mỗi
bộ dữ liệu con. Trọng số đó chính là số test trong bộ dữ liệu con đó.
Ba bảng ở dưới đây là các bảng kết quả so sánh phương pháp áp dụng MUMSA
vào M-Coffee với bộ dữ liệu BAliBASE 2.01 và BAliBASE 3.0 đối với cả những test
full-length và những test chỉ xét những đoạn tương đồng với các thuật toán tiên tiến
trên thế giới. Thời gian thực hiện được tính dựa trên máy tính có vi sử lý intel core 2
dual 2.4GHz, RAM 3GB. Các thuật toán sử dụng tương ứng là MUSCLE ver.3.7,
MAFFT ver.6.240, ProbCons ver.1.12, T-Coffee 8.47 với các thư viện tương đương
với EM-Coffee và được viết tắt là TD-Coffee. Ngoài ra bộ dữ liệu BAliBASE ko có
RVS40. Chú ý rằng nếu chưa có thư viện thì thời gian chạy của EM-Coffee sẽ là tổng
thời gian chạy các thuật toán.
Page | 27
Bảng 5: Kết quả các thuật toán với bộ dữ liệu BAliBASE 2.01(Các chỉ số làm tròn tới 2 số sau dấu phảy)
RV11 RV12 RV13 RV20 RV30 RV40 RV50 Average
Program
SP TC SP TC SP TC SP TC SP TC SP TC SP TC SP TC
Time
(s)
Muscle 84.82 77.86 88.25 80.51 88.53 82.98 92.47 56.14 80.44 53.07 90.05 67.38 97.37 88.72 88.60 73.76 42
Fft-nsi 83.11 75.49 87.33 81.15 87.52 81.86 92.00 56.86 80.77 56.78 91.83 75.52 96.44 84.97 87.92 74.02 39
ProbCons 88.36 83.43 90.26 84.30 90.65 85.47 93.26 60.50 82.93 62.10 92.63 78.74 97.38 89.32 90.65 78.55 465
Li-nsi 83.37 77.00 89.76 82.99 88.34 82.22 92.66 52.96 79.42 55.56 92.94 76.15 97.77 92.89 88.80 74.72 70
Ei-nsi 83.37 77.00 89.58 82.73 88.27 82.19 92.64 52.77 79.21 54.85 95.41 83.56 97.84 91.88 88.95 75.12 76
EM-Coffee 87.08 81.15 91.03 85.01 89.68 83.79 93.24 60.33 83.05 60.67 92.56 78.61 98.49 93.78 90.45 78.13 182
TD-Coffee 87.30 81.84 90.44 93.74 89.86 84.74 93.12 59.42 83.97 63.57 91.51 75.22 97.70 91.72 90.32 77.85 182
Những giá trị được in đậm là giá trị lớn nhất trong cột đó.
Page | 28
Bảng 6: kết quả các thuật toán đối với các chuỗi full-length trong BAliBASE 3.0
(Các giá trị được làm tròn tới 2 số thập phân sau dấu phảy)
RV11 RV12 RV20 RV30 RV40 RV50 Average
Program
SP TC SP TC SP TC SP TC SP TC SP TC SP TC
Time
(s)
Muscle 58.92 34.76 91.99 81.66 88.99 36.34 81.44 38.40 87.15 45.73 83.87 44.88 82.53 48.23 1735
Fft-nsi 61.44 39.45 90.82 79.57 90.83 37.51 83.30 49.00 89.87 54.61 86.44 52.88 84.13 52.89 690
ProbCons 66.97 41.68 94.11 85.52 91.67 40.49 84.60 54.30 90.24 52.86 89.17 56.69 86.38 55.66 30092
Li-nsi 66.19 43.79 93.46 83.39 92.70 45.10 86.79 59.33 92.61 61.51 90.25 59.06 87.22 59.27 3335
Ei-nsi 66.02 43.74 93.46 83.39 92.52 44.61 86.81 59.43 92.26 60.53 89.86 59.62 87.05 59.00 3680
EM-Coffee 68.72 44.87 93.71 84.07 92.28 43.95 86.00 58.50 91.86 58.10 89.96 60.44 87.33 58.60 6404
TD-Coffee 68.66 44.61 93.82 84.75 91.63 43.78 86.17 56.87 91.41 58.04 89.57 59.69 87.12 58.15 6404
Những giá trị được in đậm là giá trị lớn nhất trong cột đó.
Page | 29
Bảng 7: Kết quả của thuật toán chỉ đối với những đoạn tương đồng trong bộ dữ liệu BAliBASE 3.0
(Các giá trị được làm tròn tới 2 chữ số thập phân sau dấu phảy)
RVS11 RVS12 RVS20 RVS30 RVS40 RVS50 Average
Program
SP TC SP TC SP TC SP TC SP TC SP TC SP TC
Time
(s)
Muscle 74.08 52.50 93.10 82.70 94.62 53.44 86.93 55.93 N/A N/A 87.46 49.20 87.56 60.89 279
Fft-nsi 71.63 50.61 91.86 81.82 94.00 51.22 87.84 59.80 N/A N/A 87.18 51.07 86.67 60.56 141
ProbCons 81.03 63.08 95.04 87.07 95.72 60.39 90.69 64.97 N/A N/A 90.91 60.53 90.89 68.77 7437
Li-nsi 72.17 52.21 93.90 84.52 94.52 51.66 88.83 63.5 N/A N/A 90.03 56.53 87.90 62.90 673
Ei-nsi 71.98 51.87 93.92 84.52 94.57 52.22 88.83 63.33 N/A N/A 89.93 58.60 87.86 63.12 823
EM-Coffee 77.31 57.39 94.43 85.55 95.15 56.56 89.40 63.63 N/A N/A 90.31 59.27 89.47 65.81 4668
TD-Coffee 77.12 56.66 94.49 85.95 95.11 56.24 89.49 61.57 N/A N/A 89.83 57.60 89.41 65.14 4668
Những giá trị được in đậm là giá trị lớn nhất trong cột đó.
Page | 30
Chúng ta sẽ lần lượt phân tích kết quả thu được ở cả 3 bảng 5,6, và 7. Bằng việc
phân tích kết quả này chúng ta sẽ nhận ra được tính đúng đắn của EM-Coffee khi sử
dụng trọng số cũng như khả năng sử dụng thông tin của các đa chuỗi đầu vào để sắp
hàng đa chuỗi của T-Coffee.
Bảng 5 là kết quả của các chương trình với bộ dữ liệu BAliBASE 2.01. Như đã
nói tới phần trên, BAliBASE 2.01 nhỏ hơn BAliBASE 3.0 rất nhiều và có thể cho kết
quả không được chính xác như BAliBASE 3.0. Tuy nhiên nếu xét trên phương diện là
một bộ dữ liệu chuẩn thì BAliBASE 2.01 vẫn khá đáng tin cậy. Nhìn vào bảng ta thấy
rằng khi chạy bộ dữ liệu BAliBASE 2.01 thì ProbCons có kết quả trung bình là cao
nhất. Tiếp theo đó ta có thể kể tới EM-Coffee nhỉnh hơn một chút so với TD-Coffee.
Các thuật toán còn lại đều bị 3 thuật toán này bỏ khá xa về độ chính xác. Nếu chỉ nhìn
tập trung vào 2 thuật toán EM-Coffee và TD-Coffee ta có thể dễ dàng nhận thấy hầu
hết các kết quả của EM-Coffee đều cao hơn TD-Coffee trong khi thời gian thực hiện
chương trình gần như là tương đương.
Bảng 6 là kết quả của các chương trình với các chuỗi full-length. Ta có thể dễ
dàng nhận ra các option của MAFFT chạy ra kết quả rất tốt trên các bộ RV20 tới
RV50 và luôn có điểm SP cũng như TC cao nhất. Tuy nhiên với bộ RV11 và RV12 thì
lần lượt EM-Coffee và ProbCons mới là thuật toán đứng đầu. Ngoài ra trong các bộ
RV20 tới RV50 kết quả của EM-Coffee cũng không quá thấp so với các option của
MAFFT như kết quả của ProbCons, nó luôn khá sát với các kết quả đó. Mặc dù không
đạt vị trí cao nhất trong tất cả các kết quả, EM-Coffee vẫn cho thấy sự ổn định của
mình, và bằng chứng rõ nhất có thể nhận ra chính là việc giá trị SP tại kết quả trung
bình của EM-Coffee nhỉnh hơn toàn bộ các thuật toán khác trong đó có cả TD-Coffee.
Bảng 7 là kết quả của các chương trình với các chuỗi tương đồng. Ở bảng này
ProbCons độc chiếm vị trí dẫn đầu trogn mọi bộ dữ liệu con và những thuật toán còn
lại đều có những kết quả thấp một cách đáng ngạc nhiên. Chẳng hạn như bộ dữ liệu
RVS11 của ProbCons là hơn 81% trong khi đó các option của MAFFT chỉ cho kết quả
kém hơn tới 8%. Tuy kết quả không thể cao bằng kết quả của ProbCons nhưng EM-
Coffee cũng cho những kết quả không tệ như những thuật toán khác. Và có cảm giác
EM-Coffee thu được những kết quả khá ổn định.
Page | 31
Chương 5: Kết luận
Như chúng ta đã biết, hiện nay có 2 bài toán cần được giải quyết trong sắp hàng
đa chuỗi. Đó là tốc độ chạy của thuật toán và sự ổn định của chương trình trong tất cả
các bộ dữ liệu. Tốc độ của chương trình có thể được cải thiện bằng các thuật toán tiên
tiến nhằm làm giảm độ phức tạp đi, tuy nhiên kèm theo đó là độ chính xác và tính tin
cậy của thuật toán đó lại dần mất đi. Ngược lại để có được sự ổn định với mọi bộ dữ
liệu thì thông thường chương trình lại chạy rất chậm. MAFFT và ProbCons chính là 2
ví dụ cho 2 trường hợp này. MAFFT có tốc độ chạy rất tốt tuy nhiên nếu test trong bộ
dữ liệu BAliBASE 3.0 thì nó chỉ tốt với những chuỗi full-length trong khi với những
chuỗi tương đồng MAFFT cho kết quả rất kém. Trái ngược với MAFFT, ProbCons có
kết quả khá ổn định trong cả 2 trường hợp của BAliBASE 3.0 là full-length và tương
đồng. Tuy nhiên, yếu điểm lớn của ProbCons chính là tốc độ chạy của thuật toán này.
Đối với bộ dữ liệu BAliBASE 3.0, nếu option chậm nhất của MAFFT chỉ chạy mất
khoảng hơn 1 tiếng thì ProbCons mất hơn 10 tiếng. Điều này làm ảnh hưởng tới người
dùng rất nhiều khi họ phải đợi thời gian quá lớn để thu được kết quả.
EM-Coffee là một chương trình phát triển thêm từ gói M-Coffee trong bộ T-
Coffee. Ý tưởng chính của M-Coffee chính là kết hợp thông tin thu được từ nhiều
thuật toán khác nhau để tạo thành một đa chuỗi thẳng hàng mới với hi vọng chúng
đáng tin cậy hơn các đa chuỗi thẳng hàng sinh ra từ mỗi thuật toán riêng lẻ. EM-
Coffee cũng khá giống với TD-Coffee tuy nhiên khi đưa các đa chuỗi thẳng hàng từ
mỗi thuật toán riêng lẻ vào thành bộ thư viện chung thì khác với TD-Coffee, EM-
Coffee đặt thêm trọng số cho mỗi đa chuỗi này dựa vào kết quả của MUMSA – một
chương trình đánh giá độ tin cậy của các đa chuỗi thẳng hàng.
Kết quả thực nghiệm đã cho thấy, tính ổn định của thuật toán EM-Coffee là hơn
hẳn so với MAFFT ở bộ dữ liệu đánh giá BAliBASE 3.0. Tuy không phải lúc nào
cũng cho kết quả đứng đầu khi mang so sánh với các thuật toán khác, nhưng bù vào đó
EM-Coffee lại cho thấy một sự ổn định rất khả quan trong hầu hết các bộ dữ liệu của
BAliBASE. Mặc dù không thể giúp tăng được tốc độ của chương trình nhưng nếu áp
dụng EM-Coffee với các dữ liệu có khoảng 40 chuỗi là hoàn toàn khả thi.
Page | 32
Tài liệu tham khảo
[1]. Darwin, C. (1872) On the Origin of Species. John Murray, London, 6th edn.
[2]. Needleman, S.D. and Wunsch, C.D. (1970) A general method applicable to the search
for similarities in the aminno acid sequence of two proteins. J. Mol. Biol., 48, 443 –
453.
[3]. Feng, D.F. and Doolittle, R.F. (1987) Progressive sequence alignmen as a prerequisite
to correct phylogenetic trees. J. Mol. Evol., 25, 351 – 360.
[4]. Barton , G.J. and Sternberg, M.J. (1987) A strategy for rapid multiple alignment of
protein sequences. Confidence levels from tertiary structure comparisions. J. Mol.
Biol., 198, 327 – 337.
[5]. Berger, M.P. and Munson, P.J. (1991) A novel randomized iterative strategy for
aligning multiple protein seuqneces. Comput. Appl. Biosci., 7, 479 – 484.
[6]. Thompson, J.D., Higgins, D.G. and Gibson, T.J. (1994) CLUSTALW: improving the
sensitivity of progressive multiple sequence alignment through sequence weighting,
position-specific gap penalties and weight matrix choice. Nucleic Acids Res, 22
[7]. Notredame C, Higgins D.G., Herina J (2000) T-Coffee: A novel method for fast and
accurate multiple sequence alignment. J Mol Biol, 302:205-217.
[8]. Katoh K, Kuma K, Toh H, Miyata T (2005) MAFFT version 5: improvement in
accuracy of multiple sequence alignment. Nucleic Acids Res, 33: 511 – 518.
[9]. Do CB, Mahabhashyam MS, Brudno M, Batzoglou S (2005) ProbCons: probabilistic
consistency-base multiple sequence alignment. Genome Res 15: 303 – 340.
[10]. Edgar, R.C. (2004) MUSCLE: multiple sequence alignment, Current Opinion in
Structural Biology. Nucleic Acids Res, 32: 1792 – 1797.
[11]. Edgar, R.C. (2004) Local homology recognition and distance measures in linear times
using compressed amino acid alphabets. Nucleic Acids Res., 32, 380 – 385
[12]. Kimura, M. (1983) the Neutral Theory of Molecular Evolution. Cambridge University
Press.
Page | 33
[13]. Miyata, T., Miyazawa, S. and Yasunaga, T. (1979) Two types of amino acid
substitutions in protein evolution. J. Mol. Evol., 12, 219 – 236.
[14]. Katoh, K., Misawa, K., Kuma, K., Miyata, T.. (2002) MAFFT: a novel method for
rapid multiple sequence alignment based on fast Fourier transform. Nucleic Acids
Res., 30, 3059 – 3066.
[15]. Forney, G.D. (1973) The Viterbi algorithm. Proceedings ò the IEEE, 61: 268 – 278.
[16]. Henikoff, S., Henikoff, J.G. (1992) Amino Acid Substitution Matrices from Protein
Blocks. PNAS 89: 10915 – 10919.
[17]. Lassman, T., Sonnhammer, E.L.L. (2005) Automatic assessment of alignment quality.
Nucleic Acids Res., 33, 7120 – 7128.
[18]. Huang, X., Miller, W. (1991). A time-efficient linearspace local similarity algorithm.
Advan. Appl. Math. 12, 337 – 375.
[19]. Sander, C., Schineider, R. (1991). Database of homology-derived protein structures
and the structural meaning of sequence alignment. Proteins: Struct. Funct. Genet. 9, 56
– 68.
[20]. Notredame, C., Holm, L., Higgins, D.G. (1998). Coffee: an objective function for
multiple sequence alignments. Bioinformatics, 14, 407 – 422.
[21]. Kececioglu, J.D. (1993) the maximum weight trace problem in multiple sequence
alignment. Lect. Notes Comput. Sci. 684. 106 – 119.
[22]. Notredame, C., Higgins, D.G. (1996). SAGA: sequence alignment by genetic
algorithm. Nucl. Acids Res. 24, 1515 – 1524.
[23]. Reinert, K., Lenhof, H.P., Mutzel, P., Meihorn, K. Kececioglu, J.D. (1997). A branch-
and-cut algorithm for multiple sequence alignment. Recomb97, 241 – 249.
[24]. Gotoh, O. (1982) An improved algorithm for matching biological sequecens. J. Mol.
Biol. 162, 705 – 708.
[25]. Saitou, N., Nei, M. (1987). The neighbor-joining method: a new method for
reconstructing phylogenetic trees. Mol Biol Evol, 4, 406 – 425.
[26]. Wallace, I.M., O’Sullivan, O., Higgins, D.G., Notredame, C. (2006). M-Coffee:
combining multiple sequence alignment methods with T-Coffee. Nucleic Acids Res.,
34, 1692 – 1699.
Page | 34
[27]. Thompson, J.D., Plewniak, F., Poch O., (1999). BAliBASE: a benchmark alignment
database for the evaluation of multiple alignment programs. Bioinformatics
applications note, 15, 87 – 88.
[28]. Bahr, A., Thompson, J.D., Thierry, J.C., Poch, O. (2001) BAliBASE(Benchmark
Alignment dataBASE): enhancements for repeats, transmembrane sequences and
circular permutations. Nucleic Acids Res., 29, 323 – 326.
[29]. Thompson, J.D., Koehl, P., Ripp, T., Poch, O.. (2005) BAliBASE 3.0: Latest
Developments of the Multiple Sequence Alignment Benchmark. PROTEINS:
structure, Function, and Bioinformatics. 61, 127 – 136.
[30]. Felsenstein, J. (2004). Inferring Phylogenies. Sinauer Associates, Sunderland, Mass.
[31]. Le Sy Vinh (2005) Phylogenetic tree reconstruction. Heinrich-Heine-University
Duesseldorf, Germany.
Các file đính kèm theo tài liệu này:
- LUẬN VĂN-SẮP HÀNG ĐA CHUỖI.pdf