Chương trình cho phép bắt cặp toàn bộ các ADN trên cả hai hệ gen, xác định được cả những biến đổi của tửng nucleotide và các biến đổi ở mức độ gen.. Đối với các dữ mô phỏng, kết quả sắp
Trang 1SẮP HÀNG HOÀN CHỈNH HAI HỆ GENOME
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công Nghệ Thông Tin
Trang 2
SẮP HÀNG HOÀN CHỈNH HAI HỆ GENOME
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
HÀ NỘI – 2010
Trang 3Lời cảm ơn
Lời đầu tiên, em xin gửi lời cảm ơn sâu sắc nhất đến thầy giáo TS Lê Sỹ Vinh người đã không quản vất vả tận tình hướng dẫn em trong suốt thời gian làm khóa luận tốt nghiệp vừa qua
Em cũng xin bày tỏ lòng biết ơn tới các thầy, cô giáo trong trường Đại học Công nghệ - Đại học Quốc gia Hà Nội Các thầy cô đã dạy bảo, chỉ dẫn chúng em và luôn tạo điều kiện tốt nhất cho chúng em học tập trong suốt quá trình học đại học
Em cũng xin gửi lời cảm ơn tới thầy giáo PGS.TS Từ Minh Phương, người đã cho em những lời khuyên bổ ích trong quá trình làm khóa luận
Tôi cũng xin cảm ơn những người bạn của mình, các bạn đã luôn ở bên tôi, giúp đỡ và cho tôi những ý kiến đóng góp quý báu trong học tập cũng như trong cuộc sống
Cuối cùng con xin gửi tới bố mẹ và toàn thể gia đình lòng biết ơn và tình cảm yêu thương nhất Con xin dành tặng bố mẹ kết quả mà con đã đạt được trong suốt bốn năm học đại học Con cám ơn bố mẹ và chị nhiều
Khóa luận được tài trợ một phần bởi đề tài nghiên cứu QC.09.09 thuộc Đại học Quốc Gia Hà Nội
Trang 4Tóm tắt
Sự phát triển của công nghệ giải mã trình tự đã giúp giải mã ngày càng nhiều các hệ gen, đặc biệt là những hệ gen có kích thước vừa và nhỏ như vi rút hay vi khuẩn (hơn 7000 bộ gen của vi rút và vi khuẩn đã được giải mã) Bên cạnh đó hệ gen của những sinh vật bậc cao cũng đã được giải mã hoàn chỉnh như người, chó, chuột Điều đó dẫn đến một nhu cầu cấp thiết là phải nghiên cứu các phương pháp và xây dựng một chương trình so sánh và bắt cặp trình tự cho hai
hệ gen
Trong khóa luận này, em xin được trình bày phương pháp và xây dựng một chương trình so sánh bắt cặp trình tự hoàn chỉnh cho hai hệ gen Chương trình cho phép bắt cặp toàn bộ các ADN trên cả hai hệ gen, xác định được cả những biến đổi của tửng nucleotide và các biến đổi ở mức độ gen
Chương trình được xây dựng dựa trên cở sở kết hợp và cải tiến các
phương pháp đã có như “Pairwise Alignment with Rearrangement” [23],
BLASTZ [18] và “Optimal Alignment with Linear space” [9] Qua đó khắc
phục những hạn chế và lựa chọn những ưu điểm của chúng để tạo thành một chương trình sắp hàng hệ gen hoàn chỉnh Chương trình đã được thực nghiệm kết quả trên các dữ liệu mô phỏng và các dữ liệu thật được lấy từ Gen Bank tại NCBI
http://www.ncbi.nlm.nih.gov và thu được những kết quả khả quan
Đối với các dữ mô phỏng, kết quả sắp hàng của chương trinh cho thấy đã xác định được các đoạn gen có độ tương đồng rất cao, tỷ lể sắp hàng giữa các nucleotide giống nhau đạt mức trên 97% Khi thực nghiệm với dữ liệu thật và so sánh độ tương đồng với giá trị bắt cặp thu được khi chạy phương thức Hungarian[8] với các hệ gen được chia sẵn bằng cách sử dụng các đoạn gen cung cấp tại Gen Bank cũng cho kết quả tương đương thậm chí tốt hơn trong hầu hết các trường hợp
Trang 5
Mục lục
Lời cảm ơn 1
Tóm tắt 2
Mục lục 3
Danh sách hình vẽ 5
Danh sách các bảng 6
Lời mở đầu 7
Chương 1 Giới thiệu 8
1.1. Trình tự 8
1.1.1 Hệ thống ký tự 9
1.1.2 Các phép biến đổi 9
1.1.3 Khoảng cách 10
1.2. Bắt cặp trình tự 10
1.3. Bắt cặp trình tự hệ gen 12
Chương 2 Bài toán sắp hàng hoàn chỉnh hai hệ gen 16
2.1 Tổng quan 16
2.2 Pairwise Alignment with Rearrangement 16
2.2.1 Cơ sở lý thuyết 17
2.2.2 Thuật toán 18
2.2.3 Độ phức tạp của thuật toán 21
2.3 Bắt cặp với những trình tự lớn 22
Chương 3 Full Genome Alignment 24
3.1 Xây dựng hệ thống 24
Trang 63.2 Giới thiệu về BLASTZ 25
3.2.1 Tính năng của BLASTZ 25
3.2.2 Chương trình BLASTZ 27
3.3 Optimal Alignment with Linear space 28
Chương 4 Kết quả 31
4.1 Chương trình 31
4.2 Kiểm thử 33
4.2.1 Dữ liệu mô phỏng 33
4.2.2 Dữ liệu thật 35
Chương 5 Kết luận 38
Tài liệu tham khảo 39
Trang 7
Danh sách hình vẽ
Hình 1 Ví dụ về một trình tự 8
Hình 2: Các biến đổi ở mức độ gen giữa Người và Khỉ 13
Hình 3:Ví dụ về phép biến đổi trong “Simulaneous Character Swapping" .20
Hình 4: Single Swap (trái) và Couple Swap (phải) 22
Hình 5:Bắt cặp trình tự với Ukkonen Barrier .29
Hình 6: Giao diện chương trình 31
Hình 7: Kết quả chương trình 32
Trang 8
Danh sách các bảng
Bảng 1: Ma trận trọng số của BLASTZ 26
Bảng 2: Kết quả Test với số Inversion – Move là 0 34
Bảng 3: Kết quả Test với số Inversion – Move là 1 34
Bảng 4: Kết quả Test với số Inversion – Move là 2 34
Bảng 5: Kết quả Test với số Inversion – Move là 3 35
Bảng 6: Kết quả chạy dữ liệu thật 37
Trang 9
Lời mở đầu
Năm 1854, Charles Darwin cho xuất bản quyển sách “Nguồn gốc của các loài sinh vật”, một công trình nghiên cứu sinh học nổi tiếng và đặt nền tảng cho thuyết tiến hóa của ông Trong đó có viết “tất cả các động vật tương tự nhau phải tiến hóa từ một tổ tiên chung và tất cả các sinh vật phải tiến hóa từ một vài hoặc một tổ tiên chung đã sống cách đây nhiều triệu năm.” [7]
Bộ gen của sinh vật là một trình tự ADN, theo thuyết tiến hóa thì chúng cùng được biến đổi và phát triển từ một tổ tiên chung Trải qua hàng triệu năm tiến hóa và phát triển, một số đoạn gen được mất đi cũng như bị di chuyển vị trí
so với ban đầu, hình thành lên những hệ gen khác nhau đại diện cho hàng tỷ sinh vật trên trái đất Một trong những nhiệm vụ cần thiết là phải tìm ra mối quan hệ
về mặt cấu trúc giữa các hệ gen sinh vật, qua đó xây dựng lên một bức tranh toàn cảnh về sự tương tự và tiến hóa giữa các sinh vật trên hành tinh
Với sự phát triển của công nghệ giải mã trình tự, ngày càng nhiều các hệ gen đã được giải mã hoàn chỉnh và được lưu trữ trong các ngân hàng cơ sở dữ liệu gen Việc so sánh và tìm ra sự tương đồng giữa các hệ gen một cách thủ công là không thể thực hiện được Do đó dẫn đến một nhu cầu cấp thiết phải nghiên cứu phương pháp và xây dựng chương trình để so sánh và bắt cặp trình tự cho hai hệ gen
Mặc dù một số phương pháp đã được nghiên cứu và phát triển, chúng mới chỉ tập trung vào xác định và bắt cặp cho những vùng ADN có độ tương đồng cao giữa hai hệ gen Tức là, một phần lớn trong hệ gen có thể không được bắt cặp
và so sánh khi ta tiến hành với các loài sinh vật có hệ gen khác nhau nhiều Vì vậy cần phải xây dưng một hệ thống có khả năng bắt cặp được toàn bộ các ADN
trên hai hệ gen
Trang 10Chương 1 Giới thiệu
Chương này giới thiệu về những kiến thức cơ bản về tin sinh học, bài toán bắt cặp trình tự và bắt cặp trình tự theo hệ gen Nội dung giới thiệu được dựa một phần trên bài giảng của Viện Đại học Ohio State, Hoa Kỳ [13]
1.1 Trình tự
Một hệ gen của một sinh vật được thể hiện là một trình tự của các ADN Trình tự là một dãy tuyến tính các phần tử được sặp xếp theo thứ tự Như vậy một trình tự chứa hai loại thông tin: thông tin về phần tử và thông tin định vị
- thông tin về vị trí tương đối của từng phần tử so với các phần tử khác
Các thông tin định vị có thể được xác định theo nhiều cách như theo trục, theo thời gian, vị trí của nhiễm sắc thể hoặc trong 1 vòng protein
Hình 1 Ví dụ về một trình tự Hình trên cùng: 1 đoạn 18S rDNA của sâu bọ khác cánh Hình giữa trên: Tổng quát cơ thể động vật chân dốt Hình giữa dưới: Orthopteran stridulation Hình dưới cùng: Đoạn gen mtDNA [13]
Trang 11Các loài sinh vật được tiến hóa từ một tổ tiên chung, biến đổi qua các dạng hình thái trong quá trình tiến hóa và phát triển Khi đề cập đến trình tự, có
ba vấn đề chúng ta cần phải nói đến là hệ thống các ký tự trong trình tự, các phép biến đổi trình tự và hàm khoảng cách đánh giá sự thay đổi của trình tự
1.1.1 Hệ thống ký tự
Tập hợp các phần tử có thể xuất hiện trong trình tự được gọi là một hệ thống các ký tự ( ∑ ) , trong ADN, người ta sử dụng một thệ thống kí tự ∑ = {A,
C, G, T, λ ) trong đó A, C, G, T đại diện cho 4 nucleotides : adenine (A),
cytosine (C), guanine (G) và thymine (T) λ là ký tự đặc biệt đại diện cho 1
khoảng trống là 1 vị trí mà không có nucleotide thực tế Trong hầu hết các trường hợp, ký tự gap (‘-‘) có thể được sử dụng để thay thế cho λ Bất kỳ một trình tự nào cũng là một sự thể hiện bởi các phần tử có thể xuất hiện trong trình tự và được định nghĩa trong ∑
1.1.2 Các phép biến đổi
Trong quá trình tiến hóa, có 4 phương thức chính để biến đổi một trình tự
là phép thay thế, phép chèn – xóa, đảo ngược và dịch chuyển Biến đổi phức tạp xảy ra là sự kết hợp của 2 phép đảo ngược và dịch chuyển, sự kết hợp này gây ra
sự khó khăn trong việc dựng lại mối quan hệ giữa các trình tự trong những hệ thống phân tích phức tạp
Phép thay thế:
Phép chèn – xóa:
Phép đảo ngược:
Phép dịch chuyển:
Trang 121.1.3 Khoảng cách
Một điều quan trọng và cần thiết là xây dựng một hàm mục tiêu đánh giá khoảng cách giữa hai trình tự, qua đó đánh giá sự tương đồng, mối quan hệ giữa hai hệ gen Khoảng cách này có thể được tính toán theo một số hàm như thay thế, chèn, xóa làm biến đổi một trình tự này thành một trình tự khác Khoảng cách giữa hai trình tự có thể chỉ được tính đơn giản chỉ là chi phí thay thế (Hamming Hamming [10]) trong những trình tự có độ dài bằng nhau hay phức tạp hơn bao gồm cả chi phí chèn – xóa và dịch chuyển
Đầu vào là 2 trình tự X = (x1, x2, …xp) và Y = (y1, y2, …yq), sắp hàng trình tự X và Y là cách chèn các kí tự trống vào hai trình tự X và Y sao cho chúng có độ dài bằng nhau và khoảng cách (chi phí sửa chữa) giữa hai trình tự là nhỏ nhất (hoặc lớn nhất)
Các thuật toán quy hoạch động đầu tiên cho việc sắp hàng giữa các chuỗi
ký tự được trình bày bởi Levenshtein [14], với độ phức tạp về thời gian và bộ nhớ là O(n2) Needleman và Wunsch [16] lần đầu tiên áp dụng thuật toán này vào lĩnh vực Tin sinh học năm 1970 Yêu cầu bộ nhớ giảm xuống còn O(n)
bởi Hirschberg[12] trong khi thời gian chạy vẫn là O(n2) Những cải tiến của Ukkonen [21,22] với những cặp trình tự có khoảng cách độ dài là d, thuật toán yêu cầu thời gian O(nd) cho trường hợp xấu nhất và độ phức tạp thời gian trung bình là O(d2+n) Thuật toán Quy hoạch động tính toán chi phí bắt cặp theo công thức sau:
Trang 13
Cost[i][j] là chi phí bắt tới vị trí i của trình tự 1 và vị trí j của trình tự 2, σi,j
là chi phí thay thế nucleotide ở vị trí thứ i của trình tự 1 và ở vị trí j của trình tự
Pairwise Alignment by Needleman and Wunsch
1 Cost[0][0] ← 0
2 {Khởi tạo cột đầu tiên}
3 for i = 0 to |X| do
4 Cost[i][0] ← Cost[i-1][0] + σ index
5 {Khởi tạo hàng đầu tiên}
11 ins ← Cost[i-1][j] + σ index
12 del ← Cost[i][j-1] + σ index
13 sub ← Cost[i-1][j-1] + σ i,j
14 Cost[i-1][j-1] ← min(ins, del, sub)
15 end for
16 end for
17 return Cost[|X|][|Y|]
Trang 14Thuật toán Needleman – Wunsch hoạt động khi mà chi phí cho việc chèn – xóa các nucleotide là một trọng số cố định Tức chi phí cho việc chèn một đoạn gap có độ dài k là wk = kw1 Trên thực tế, việc tính toán chi phí chèn – xóa thường phức tạp hơn, bao gồm chi phí cho việc bắt đầu và mở rộng các đoạn gap
Waterman [25], tiến hành thực nghiệm trên một khối lượng lớn các trình
tự với trọng số cho việc chèn gap wk ≤ kw1 với độ phức tạp thời gian là O(n3)
Lý do của việc tăng độ phức tạp về thời gian là do việc bổ sung thêm việc tính toán chi phí chèn – xóa gap trong các trường hợp Công thức được đưa ra:
(2)
Trong đó P[i][j] và Q[i][j] là chi phí chèn và xóa ở vị trí ( i , j)
Trong các trường hợp đặc biệt, chi phí chèn gap là một hàm tuyến tính wk
= uk +v trong đó v được gọi là chi phí bắt đầu một đoạn gap và v là chi phí mở rộng đoạn gap Gotoh (1982) [9] đã đưa ra một công thức tính toán tối ưu hóa việc tính toán ma trận P và Q giảm độ phức tạp thời gian xuống còn O(n2) Công thức mà Gotoh đưa ra là :
(3)
1.3 Sắp hàng trình tự hệ gen
Trong quá trình tiến hóa của các sinh vật, bên cạnh những biến đổi ở mức
độ điểm (sự thay thế chèn – xóa của các nucleotide) còn có những sự biến đổi ở mức độ gen Có 3 phép biến đổi chính ở mức độ gen là phép chèn gen, xóa gen
Trang 15và dịch chuyển gen Hình 2 mô tả một ví dụ về sự biến đổi ở mức độ gen giữa Người và Khỉ Ta thấy gen số 1 đã bị dịch chuyển, nó nằm ở đầu của hệ gen Người nhưng lại nằm ở cuối ở hệ gen của Khỉ Ngoài ra, gen số 2 tồn tại ở Khỉ nhưng không tồn tại ở Người Tức là hoặc nó bị xóa khỏi hệ gen của Người hoặc
nó được chèn thêm vào hệ gen của Khỉ Do ta không phân biệt được phép chèn gen, và xóa gen, ta gọi chung là phép chèn/xóa gen Trải qua hàng triệu năm tiến hóa, với sự biến đổi ở mức độ gen, hệ gen của các sinh vật ngày nay đã có sự khác nhau rất lớn về kích thước, số lượng gen, thứ tự các gen cũng như về nội dung của các gen
Hình 2: Các biến đổi ở mức độ gen giữa Người và Khỉ
Sắp hàng trình tự hệ gen là một trường hợp riêng của sắp hàng trình tự, trong đó đầu vào là toàn bộ trình tự ADN của một hệ gen sinh vật Sắp hàng trình
tự hệ gen giúp xây dựng bức tranh toàn cảnh về sự tương tự và tiến hóa giữa các
sinh vật, là cơ sở cho hướng nghiên cứu Comparative genomics [4], cho phép
nâng cao độ chính xác dự đoán gen Về mặt tính toán, bắt cặp hệ gen đặt ra nhiều vấn đề cần giải quyết như kích thước trình tự lớn, thứ tự các phần tương đồng trên các hệ gen thường thay đổi Do tính quan trọng cũng như đặc thù phương pháp, vấn đề so sánh và sắp hàng trình tự hệ gen được trình bày thành một phần riêng, tách khỏi sắp hàng trình tự nói chung
Các thuật toán sắp hàng trình tự thông thường mới chỉ xác định được các biến đổi ở mức độ điểm (sự biến đổi của các nucleotide) cũng như chỉ làm việc được với các dữ liệu nhỏ Khi nghiên cứu về việc sắp hàng trình tự theo hệ gen, chúng ta phải tính toán cả những biến đổi ở mức độ điểm lẫn mức độ gen Đặc biệt thời gian thực thi cũng là một vấn đề hết sức quan trọng do kích thước rất lớn của các hệ gen Ví dụ kích thước của hệ gen người lên tới 3 tỉ ADN Một trong những hệ thống sắp hàng hệ gen đầu tiên là BLASTZ [18] được phát triển bới nhóm của Webb Miller vào đầu những năm 2000 tại đại học Pennsylvania để sắp hàng hệ gen của người và chuột Cũng như các phương pháp sắp hàng hệ gen
Trang 16khác, Phương pháp BLASTZ được phát triển từ tư tưởng thuật toán tìm kiếm BLAST [2] (thuật toán xác định những đoạn giống nhau cao giữa hai chuỗi) Tư tưởng chung của thuật toán gồm ba bước:
• Bước 1: Tìm kiếm những cặp đoạn ADN ngắn rất giống nhau ở cả hai hệ gen được gọi là hạt giống (seed) Những đoạn này có độ dài vào khoảng 7 đến 13 ADN và được gọi là seed Để thực hiện việc tìm kiếm này, có thể
sử dụng nhiều kỹ thuật khác nhau như bảng băm, cây hậu tố (suffix tree)
• Bước 2: Mở rộng các hạt giống về cả hai phía sao cho trong quá trình mở rộng chi phí không vượt qua một ngưỡng cho trước Quá trình mở rộng này không cho phép chèn gap
• Bước 3: Tiến hành nối các cặp ADN được mở rộng ở bước 2 lại với nhau
để tạo thành những cặp ADN lớn hơn, bước này được phép chèn thêm gap Sau khi nối, các cặp ADN này sẽ được đánh giá độ tương đồng
Các nghiên cứu hiện tại tập trung vào cải tiến bước thứ 1 và bước thứ 3 Nổi bật là các nghiên cứu của Aaron Darling và đồng nghiệp tại đại học
Wisconsin–Madison trong việc cải tiến cách xác định các hạt giống ở bước 1
Họ định nghĩa hạt giống là những cặp ADN giống nhau và xuất hiện duy nhất trên cả hệ gen Nhóm tác giả đã xây dựng hệ thống MAUVE để sắp hàng đa hệ gen và thu được những kết quả có độ chính xác cao trên những hệ gen có độ tương đồng cao [1] Bên cạnh đó, nhóm tác giả Michael Brudno tại đại học Standford tập trung vào cải tiến bước 3 để kết nối các đoạn ADN và phát triển hệ thống SLAGAN [5] Nhóm tác giả áp dụng phương pháp quy hoạch động để tìm
ra cách kết nối các đoạn ADN tốt nhất, trong đó cho phép các đoạn ADN được phép dịch chuyển và đảo chiều Kết quả so sánh hai hệ thống MAUVE và SLAGAN cho thấy MAUVE tốt hơn SLAGAN trên những tập dữ liệu có độ tương đồng cao, còn SLAGAN cho kết quả tốt hơn MAUVE trên những tập dữ liệu tồn tại nhiều phép thay thế ADN ở mức độ điểm và ít phép đảo chiều đoạn ADN ở mức độ gen
Mặc dù một số phương pháp đã được nghiên cứu và phát triển, chúng mới chỉ tập trung vào xác định và bắt cặp cho những vùng ADN có độ tương đồng cao giữa hai hệ gen Tức là, một phần lớn trong hệ gen có thể không được bắt cặp và so sánh khi ta tiến hành với các loài sinh vật có hệ gen khác nhau nhiều
Để giải quyết vấn đề trên, những nghiên cứu đầu tiên của TS Lê Sỹ Vinh và
Trang 17đồng nghiệp tại Bảo Tàng Lịch Sử Tự Nhiên Hoa Kỳ, và tại trường Đại Học
Công Nghệ nhằm so sánh và sắp hàng toàn bộ hệ gen đã được tiến hành và cho
kết quả thử nghiệm khả quan [23,24] Nhóm nghiên cứu định nghĩa việc sắp hàng toàn bộ hệ gen phải thỏa mãn ba điều kiện chính sau:
• Xác định được các phép biến đổi ở mức độ gen (chèn, xóa, dịch chuyển vị trí)
• Xác định được các phép biến đổi ở mức độ điểm (thay thế, chèn, xóa)
• Bắt cặp toàn bộ các ADN trên hệ gen
Hệ thống bắt cặp thỏa mãn ba điều kiện trên sẽ cho phép bắt cặp các gen với các mức độ tương đồng khác nhau Để đáp ứng được ba yêu cầu trên, Vinh
và các đồng nghiệp đã nghiên cứu cách kết hợp điểm phạt cho các phép biến ở mức độ điểm, và các phép biến đổi ở mức độ gen vào thành một hệ thống tính điểm phạt chung Điều này cho phép chúng ta xây dựng hàm tục tiêu rõ ràng để tìm ra cách bắt cặp toàn bộ hệ gen tốt nhất Kết quả thí nghiệm với 760 bộ gen ty thể của các loài động vật cho thấy hệ thống tính điểm cho kết quả tốt [23] Sử dụng phương pháp bắt cặp toàn bộ hệ gen, nhóm tác giả đã xây dựng quá trình tiến hóa của 11 Corona vi rút và tái khẳng định lại kết luận vi rút Corona gây ra dịch bệnh hô hấp cấp (SARs) có chung nguồn gốc với vi rút Corona ở loài dơi chứ không phải là loài chồn hôi (canivor) [24]
Trang 18Chương 2 Bài toán sắp hàng hoàn chỉnh hai hệ gen
2.1 Tổng quan
Theo những nghiên cứu của TS Lê Sỹ Vinh và đồng nghiệp [23,24], một
hệ thống sắp hàng hoàn chỉnh hai hệ gen phải thỏa mãn ba điều kiện chính :
• Xác định được các phép biến đổi ở mức độ gen (chèn, xóa, dịch chuyển vị trí)
• Xác định được các phép biến đổi ở mức độ điểm (thay thế, chèn, xóa)
• Bắt cặp toàn bộ các ADN trên hệ gen
Các phương pháp bắt cặp hệ gen tiêu biểu như BLASTZ[18], SLAGAN[5], MAUVE[1] mới chỉ dừng lại ở mức phát hiện và sắp hàng các đoạn ADN tương đồng Như vậy sẽ có một phần lớn trong hệ gen có thể không được bắt cặp và so sánh khi ta tiến hành với các loài sinh vật có hệ gen khác nhau nhiều Giải quyết vấn đề này, Lê Sỹ Vinh và các đồng nghiệp đã giới thiệu một phương pháp có khả năng sắp hàng hoàn toàn được hệ gen của hai sinh vật bất kỳ
“Pairwise Alignment with Rearrangement” [23]
2.2 Pairwise Alignment with Rearrangement
“Pairwise Align with rearrangement” là thuật toán sắp hàng trình tự
trong đó cho phép có sự sắp xếp lại của các ký tự trong trình tự do Lê Sỹ Vinh và các đồng nghiệp tại Bảo tàng lịch sử tự nhiên Hoa Kỳ đưa ra vào năm 2006[23]
Ưu điểm của thuật toán này so với các thuật toán bắt cặp trình tự trước đây ở chỗ
nó cho phép có sự di chuyển vị trí của các ký tự Đầu vào hai trình tự, “Pairwise
Alignment with Rearrangement” sẽ đưa ra cách sắp hàng sao cho tổng 3 chi phí :
Chi phí thay đổi vị trí (Break Cost), chi phí chèn – xóa và chi phí thay thế các ký
tự là nhỏ nhất Thực nghiệm cho thấy, việc sắp hàng trình tự có sự đổi chỗ của
Trang 19các ký tự cho kết quả tối hơn so với cắt bắt cặp trình tự thông thường không có
sự đổi chỗ
2.2.1 Cơ sở lý thuyết
Trong “Pairwise Alignment with rearrangement”, ta xem hai hệ gen như
hai chuỗi ký tự, tức là mỗi đoạn gen sẽ được xem như là một ký tự trong chuỗi đầu vào Có X = (x1, x2, …, xp) là một chuỗi gồm p ký tự, Y = (y1, y2, …, yq )
là một chuỗi gồm q ký tự C(xi, yj) là chi phí để thay thế ký tự xi thành ký tự yj
với i = 1 … p, j = 1 q C(xi, y0) và C(x0, yj) là chi phí chèn/xóa kí tự xi và yj
tương ứng Khi thực hiện với hai hệ gen, ta có xi và yj là một chuỗi các nucleotide, khi đó chi phí C(xi, yj) là chi phí nhỏ nhất để biến đổi xi thành yj Gọi R(Y, YR) là hàm chi phí chuyển đổi giữa Y và một hoán vị YR của nó Thông thường R(Y, YR) được tính là khoảng cách breakpoint[11] hoặc khoảng cách inversion[17]
Một chuỗi X’ = (x1’, x2’, …, xk’) được gọi là một chuỗi phát triển (edited
sequence) từ X khi và chỉ khi X thu được từ X’ sau khi xóa hết các ký tự gap Ví
dụ X’ = (‘-‘, 1, 2, ‘-‘, 3, 4) là một chuỗi phát triển từ X = (1,2,3,4) Một cặp A(X,Y) = A(X’,Y’) của hai chuỗi X’ = (x1’, x2’, …, xk’) phát triển từ X và Y’
= (y1’, y2’, …, yk’) phát triển từ Y được gọi là một bắt cặp hoàn chỉnh của X và
Y Chi phí C(A) của một bắt cặp A là tổng chi phí thay thế và chèn/xóa của các
ký tự trong X và Y
(4) Chi phí tối ưu để bắt cặp A*(X,Y) = argminA(X,Y){C(A)} có thể được tính với độ phức tạp thời gian là O(pq) sử dụng kỹ thuật quy hoạch động (Xem phần 1.2) Một cách bắt cặp được xây dựng bằng cách chèn thêm ký tự gap ở cả hai chuỗi sao cho thứ tự các ký tự trong chuỗi phải được giữ nguyên
Một chuỗi XR’ = (x1’, x2’, …, xk’) được gọi là một chuỗi phát triển có
sắp xếp lại (edited rearrangement sequence) từ X nếu sau khi loại bỏ gap ở XR’
ta thu được XR là một hoán vị của X Ví dụ với XR’ = (‘-‘, 1, 4, 2, ‘-‘, 3) là một chuỗi phát triển có sắp xếp lại từ X = (1,2,3,4)
Một cặp A = (XR’, YR’) của hai chuỗi phát triển có sắp xếp lại XR’ = (x1’,
x2’, …, xk’) và YR’ = (y1’, y2’, …, yk’) được gọi là một bắt cặp trình tự có sắp xếp lại (PAR) của hai chuỗi X và Y Chi phí CR(AR) của PAR AR là tổng các chi phí thay thế giữa các ký tự, chi phí chèn - xóa gap và chi phí sắp xếp lại giữa các
ký tự Ta có công thức:
Trang 20(5) Mục đích của bài toàn là tìm một PAR AR* có chi phí bé nhất Tức là:
(6)
2.2.2 Thuật toán
Thuật toán “Pairwise Alignment with Rearrangement” sử dụng chiến lược
leo đồi để tìm ra cặp PAR AR* Chiến lược này gồm 2 bước Bước đầu tiên một PAR AR xuất phát sẽ được tạo ra Sau đó ở bước thứ 2 chúng ta tìm ra PAR AR* bằng cách lần lượt tìm ra các cặp AR tối ưu hơn
Đầu tiên, một PAR AR xuất phát sẽ được khởi tạo bằng cách sử dụng thuật
toán “Stepwise addition” Đầu tiên chúng ta khởi đầu với một PAR chưa đầy đủ
3 BestCost ← +∞, BestPosition ← nil
4 for each position p in Y R do
5 Insert y j into Y R at position p
Trang 21Bước thứ 2, chúng ta tìm cách từng bước một tối ưu hóa PAR AR hiện có, tức là tìm cách giảm chi phí CR(AR) Để thay đổi một PAR, ta tiến hành đổi vị trí giữa các ký tự trong chúng Với 1 PAR AR(XR’, YR’) ta định nghĩa một phép biến đổi M(i, j, t | i ≤ j ≤ t-1) của chuỗi YR = (y1, y2, …, yp) thu được sau khi loại bỏ
ký tự gap từ YR là phép dịch chuyển đoạn (yi,…,yj) trong YR đến vị trí t để thu
được một chuỗi không có ký tự gap mới YR Một phép biến đổi M(i, j, t) được gọi
là có thể thực hiện được (possible move) nếu chi phí CR của PAR mới tạo được từ
XR và YR tốt hơn chi phí của PAR AR cũ Thuật toán được mô tả như sau:
Character Moving Method
1 Build an initial PAR A R = (X R ’, Y R ’) by stepwise addition method
2 iteration ← 0
3 repeat
4 positionMove ← false
5 foreach triple positions (i, j, t | i ≤ j < t-1)
6 if M(i, j, t) is a possible move then
7 Move character(y i , …, y j ) in Y R to position t
Để tối ưu hóa một PAR AR, một thuật toán khác phức tạp hơn được để
xuất, có tên là “Simulaneous Character Swapping" Trong thuật toán này, 1 biến
đổi S(k, t) được định nghĩa là phép đổi vị trí yi và yj của chuỗi YR thu được sau khi loại bỏ ký tự gap từ YR’ Một phép biến đổi được gọi có thể thực hiện được nếu chi phí của AR mới giảm đi