Đề tài Sắp hàng hoàn chỉnh hai hệ genome

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.govvà 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.

pdf42 trang | Chia sẻ: nhungnt | Lượt xem: 1835 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Đề tài Sắp hàng hoàn chỉnh hai hệ genome, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Hà Tuấn Cường 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 Ngành: Công Nghệ Thông Tin HÀ NỘI – 2010  ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Hà Tuấn Cường 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 Ngành: Công Nghệ Thông Tin GV hướng dẫn: TS. Lê Sỹ Vinh HÀ NỘI – 2010  Page | 1  Lờ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. Hà Nội, tháng 5 năm 2010 Hà Tuấn Cường Page | 2  Tó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 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. Page | 3  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  Page | 4  3.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  Page | 5  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 Page | 6  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  Page | 7  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. Page | 8  Chươ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] Page | 9  Cá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: Page | 10  1.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. 1.2. Sắp hàng trình tự Sắp hàng trình tự là một thủ tục cực kỳ quan trọng trong Tin sinh học, nó được xem là nền tảng cho tất cả các thủ tục khác. Vấn đề đặt ra là tạo ra những sự sắp hàng giữa các nucleotide thông qua việc chèn các ký tự gap, làm cho khoảng cách giữa hai trình tự tức chi phí sửa chữa (là tổng chi phí cho các sự kiện chèn – xóa, thay thế các nucleotide) giữa hai trình tự là nhỏ nhất (hoặc lớn nhất). Đầ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: Page | 11  (1) 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ự 2, σindex là chi phí chèn- xóa một nucleotide.  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} 6 for j = 0 to |Y| do 7 Cost[0][i] ← Cost[0][j-21] + σindex 8 {Quy hoạch động} 9 for i = 1 to |X| do 10 for j = 1 to |Y| do 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|]  Page | 12  Thuậ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 Page | 13  và 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 Page | 14  khá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