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.
42 trang |
Chia sẻ: lvbuiluyen | Lượt xem: 1902 | Lượt tải: 3
Bạn đang xem trước 20 trang tài liệu Luận văn 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