Q trình align các nhóm sequence đã được phân hoạch theo một trình tự nào đó, sẽ tạo nên một cây nhị phân. MSA tối ưu sẽ tương ứng với 1 cây tối ưu. Việc tìm kiếm MSA tối ưu của Progressive Algorithm sẽ tương đương với việc tìm ra cây tối ưu.
Khoảng cách giữa các sequence: Trong phần nói về Center Star Algorithm
chúng ta có đề cập đến khái niệm khoảng cách giữa 2 sequence, ở mục này sẽ trình bày chi tiết hơn về khái niệm này, và cũng giải thích lý do khái niệm này thường được sử dụng trong phương pháp Progressive Algorithm. Giải thuật quy hoạch động đề cập đến MSA tối ưu là MSA có giá trị hàm đánh giá lớn nhất(dựa trên các ma trận hàm đánh giá), giá trị hàm đánh giá càng lớn nghĩa là các sequence tham gia có độ tương đồng càng cao, đồng nghĩa với việc là về mặt tiến hóa khoảng cách di truyền giữa các sequence là ngắn. Trong thực tế sinh học, người ta thường sử dụng khái niệm khoảng cách giữa các sequence để mơ tả q trình tiến hóa của các sequence, cũng như biểu hiện khả năng tương đồng của chúng. Vì phù hợp với bản chất phát triển tự nhiên của
Thêm gap A B Align 2 nhóm A ,B DGMREA DGMKGA DNMGGS EAMSGVS ENMI GXC DGMR E - A DGMK G - A DNMG G - S EAMS G V S ENMI G X C Thêm gap vào vị trí thứ 6 của nhóm A Nhóm A Nhóm B
sinh học, cách tiếp cận hàm đánh giá theo phương pháp khoảng cách di truyền được sử dụng nhiều trong các bài toán sinh học.
Định nghĩa 3.7
Khoảng cách giữa 2 sequence(Pairwise Distance), được tính bằng phương pháp Sum-of-Pair, là một hàm theo giá trị hàm đánh giá SPScore của 2 chuỗi này.
( ,i j) ( ( ,i j))
Dist S S = f SPScore S S với f :\→\
Trong phần này chúng ta sẽ xem xét các giải thuật heuristic dựa trên Progressive Algorithm: CLUSTALW, MULTIALIGN,... Các thuật giải heuristic hầu hết đều phát triển dựa trên nền tảng của Feng-Doolittle Algorithm, trong đó phần lớn tập trung vào việc xây dựng cách thức phân hoạch các nhóm sequence, cũng như mơ tả trình tự align của các nhóm này. Các thuật giải này về cơ bản đều gồm những bước chính sau:
1. Tính tốn khoảng cách giữa các cặp sequence(có 2
k
C khoảng cách) thông qua kỹ thuật quy hoạch động
2. Xây dựng cây nhị phân mô tả trật tự align của các sequence dựa trên các cặp khoảng cách giữa các sequence, sao cho cây này là tối ưu
3. Align các sequence dựa trên cây mơ tả.
Một số chương trình trong thực tế xây dựng cây mơ tả để thực hiện q trình align
MULTALIGN(Barton và Sternberg,1987) và PILEUP(Genetic Computer Group)
sử dụng giải thuật UPGMA-Unweighted Pair-Group Medthod using arithmetic Averages(Sneath và Sokakk, 1973) để xây dựng cây mơ tả. Chương trình sẽ chọn ra 2 sequence có khoảng cách ngắn nhất trong tất cả các cặp sequence, align chúng với nhau tạo thành một nhóm sequence. Tính lại tập khoảng cách của n-2 phần tử cịn lại và nhóm sequence vừa được tạo. Tiếp tục tìm ra 1 cặp phần tử có độ tương đồng cao nhất và align chúng với nhau. Chương trình kết thúc khi tất cả các phần tử đã được align. Việc tính tốn khoảng cách giữa nhóm sequence và 1 sequence giống như q trình tính tốn khoảng cách giữa 2 nhóm sequence của Feng-Doolittle Algorithm, trong đó một nhóm được rút gọn thành 1 sequence.
CLUSTALW(Thompson 1994)[9]: Sử dụng giải thuật Neighbor-Joinning(Saitou
và Nei,1987) để xây dựng cây mô tả. Đầu tiên các cây khơng gốc sẽ được tạo thơng qua việc tính tốn dựa vào khoảng cách của các cặp sequence, mỗi nút lá đại diện cho
một sequence. Từ các cây không gốc tính tốn để xây dựng một nút gốc nối liền các cây này. Các nhánh cây có trọng số khác nhau, các trọng số này được tính tốn và dẫn xuất từ khoảng cách của các cặp sequence ban đầu.
CLUSTALW là một chương trình được biết đến và sử dụng nhiều nhất trong các chương trình giải quyết bài tốn MSA. Đây cũng là chương trình mà kết quả cho độ chính xác tốt nhất so với các chương trình được hiện thực theo phương pháp Progressive Algorithm.
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
Trên cơ sở lý thuyết đã trình bày về các phương pháp giải quyết bài toán MSA tại thời điểm hiện tại. Trong phần này xin được trình bày giải pháp tiếp cận cũng như việc hiện thực chương trình để giải quyết bài toán MSA. Nội dung bao gồm:
Thiết kế giải thuật giải quyết bài toán PSA.
Thiết kế phương pháp phân hoạch, giải pháp gom nhóm cũng như trình tự align các sequence.
Xây dựng giải thuật mới gọi là giải thuật 1A giải quyết bài toán MSA, và giải thuật cải tiến của 1A, giải thuật 1B.
Phương pháp hiện thực các giải thuật.
4.1. Giải thuật sử dụng cho bài tốn PSA
Như đã trình bày trong phần cơ sở lý thuyết, bài tốn PSA có thể được hiện thực một cách dễ dàng bằng phương pháp quy hoạch động, tuy nhiên phương pháp này có một số hạn chế :
Việc xây dựng ma trận để phục vụ cho việc tính tốn địi hỏi vấn đề cấp phát bộ nhớ cũng như khối lượng tính tốn lớn. Khi chiều dài của các sequence tham gia đủ lớn(n>1000), đây sẽ là một vấn đề trong việc hiện thực.
Vấn đề tìm lại con đường thơng qua các vết được lưu.
Độ chính xác của phép alignment phụ thuộc rất nhiều vào ma trận đánh giá, tùy vào tính tương đồng mà mỗi cặp sequence sẽ phù hợp nhất với một ma trận đánh giá. Giải thuật quy hoạch động thuần túy chỉ sử dụng một ma trận đánh giá, do đó khơng cho phép thay đổi ma trận đánh giá phù hợp với cặp sequence đang xét, điều này hạn chế khả năng linh động của giải thuật.
Trong phạm vi của luận văn này tơi xin trình bày một giải pháp mới để giải quyết bài tốn PSA có thể hạn chế được những khuyết điểm của phương pháp quy hoạch
động thuần túy, cho phép tối ưu hóa vấn đề không gian nhớ sử dụng, thay đổi linh hoạt các ma trận đánh giá, nâng cao độ chính xác của giải thuật.
Giải thuật quy hoạch động có độ phức tạpΟ(nm) và địi hỏi khơng gian bộ nhớ ( )
Ο nm . Giải thuật được xây dựng chỉ đòi hỏi không gian bộ nhớΟ + +(n m lg )m và thời gian chạy vẫn là Ο(nm).
4.1.1. Giải thuật tính tốn dựa theo kỹ thuật chia để trị
Trong chương 2 chúng ta đã đề cập đến phương pháp cải tiến giải thuật Gotoh cho phép tính tốn S(m,n) với độ phức tạp Ο(nm) và không gian nhớ sử dụng là
( )
Ο m n+ . Trong phần này chúng ta sẽ phát triển giải thuật cho phép tìm ra kết quả alignment dựa trên giải thuật Gotoh đã cải tiến.
Thuật giải để tìm kiếm phép alignment được xây dựng dựa trên ý tưởng của Hirschberg khi giải quyết bài tốn tìm chuỗi con lớn nhất của 2 chuỗi. Hirschberg (1975)[15] đã giới thiệu một kỹ thuật chia để trị nhằm giải quyết bài tốn tìm chuỗi con dài nhất của 2 chuỗi với độ phức tạp Ο(nm) và cần Ο +(n lg )m không gian nhớ. Nội dung chính của giải thuật được xây dựng trong phần này sẽ là tìm kiếm điểm giữa (midpoint) của một alignment tối ưu, sau đó xem điểm vừa tìm được là điểm biên sử dụng kỹ thuật đệ quy để tiếp tục tìm phép alignment tối ưu của phần trước và sau của nó. Ý tưởng này được minh họa như hình dưới đây.