ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Nguyễn Thị Phương Thảo

XÂY DỰNG ĐỒ THỊ TÁI TỔ HỢP DI TRUYỀN

CHO DỮ LIỆU HỆ GEN

LUẬN ÁN TIẾN SĨ CÔNG NGHỆ THÔNG TIN

Hà Nội – 2020

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Nguyễn Thị Phương Thảo

XÂY DỰNG ĐỒ THỊ TÁI TỔ HỢP DI TRUYỀN

CHO DỮ LIỆU HỆ GEN

Chuyên ngành: Khoa học Máy tính

Mã số: 9480101.01

LUẬN ÁN TIẾN SĨ CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC:

1.PGS.TS. Lê Sỹ Vinh

2.PGS.TS. Lương Chi Mai

Hà Nội – 2020

Lời cam đoan

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi. Các kết quả được viết

chung với các tác giả khác đều được sự đồng ý của các đồng tác giả trước khi đưa

vào luận án. Các kết quả nêu trong luận án là trung thực và chưa từng được ai công

bố trong các công trình nào khác.

Tác giả

Nguyễn Thị Phương Thảo

Lời cảm ơn

Luận án được thực hiện tại Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội,

dưới sự hướng dẫn của PGS. TS. Lê Sỹ Vinh và PGS. TS. Lương Chi Mai.

Tôi xin bày tỏ lòng biết ơn sâu sắc tới PGS. TS. Lê Sỹ Vinh, PGS. TS. Lương Chi

Mai và TS. Lê Sĩ Quang, những người đã có những định hướng giúp tôi thành công

trong việc nghiên cứu của mình. Các Thầy Cô cũng đã động viên và khích lệ tinh

thần, giúp tôi vượt qua những khó khăn để tôi hoàn thành được luận án này. Tôi

cũng chân thành cảm ơn thầy Hồ Tú Bảo, Thầy đã cho tôi nhiều kiến thức quý báu

về nghiên cứu khoa học. Những sự chỉ bảo quý giá của các Thầy Cô đã giúp tôi

hoàn thành tốt luận án này.

Tôi cũng xin cảm ơn tới các Thầy, Cô thuộc Khoa Công nghệ Thông tin, Trường

Đại học Công nghệ, Đại học Quốc gia Hà Nội đã tạo mọi điều kiện thuận lợi giúp

tôi trong quá trình làm nghiên cứu sinh.

Tôi xin chân thành cảm ơn các đồng nghiệp trong phòng Nhận dạng và Công nghệ

Tri thức, Viện Công nghệ Thông tin, Viện Hàn lâm Khoa học và Công nghệ Việt

Nam đã luôn động viên, tạo điều kiện thuận lợi, bố trí thời gian tốt nhất cho tôi

trong suốt quá trình làm nghiên cứu sinh.

Cuối cùng, tôi xin gửi lời cảm ơn sâu sắc tới gia đình và bạn bè, những người đã cho tôi điểm tựa vững chắc để tôi có được thành công như ngày hôm nay.

2

MỤC LỤC

Lời cam đoan ............................................................................................................... 1

Lời cảm ơn .................................................................................................................. 2

MỤC LỤC ................................................................................................................... 3

Danh mục các ký hiệu và chữ viết tắt ......................................................................... 6

Danh mục các bảng ..................................................................................................... 7

Danh mục các hình vẽ, đồ thị ...................................................................................... 8

Danh mục các thuật toán ........................................................................................... 12

MỞ ĐẦU 13

Chương 1. GIỚI THIỆU ............................................................................................ 16

1.1. Giới thiệu chung ........................................................................................... 16

1.1.1. Hệ gen người ...................................................................................... 16

1.1.2. Mạng phát sinh loài ............................................................................ 21

1.2. Xây dựng đồ thị tái tổ hợp di truyền ........................................................... 23

1.2.1. Sự kiện tái tổ hợp ............................................................................... 23

1.2.2. Đồ thị tái tổ hợp di truyền .................................................................. 25

1.2.3. Bài toán xây dựng đồ thị ARG .......................................................... 32

1.3. Các phương pháp xây dựng đồ thị ARG ..................................................... 35

1.3.1. Các phương pháp xây dựng đồ thị ARG tối thiểu ............................. 35

1.3.2. Các phương pháp xây dựng đồ thị ARG hợp lý ................................ 39

1.3.3. Tổng hợp các phần mềm xây dựng đồ thị ARG ................................ 41

1.4. Ứng dụng ARG trong nghiên cứu tương quan toàn hệ gen ......................... 42

3

1.5. Kết luận chương .......................................................................................... 45

Chương 2. THUẬT TOÁN ARG4WG XÂY DỰNG ĐỒ THỊ TÁI TỔ HỢP DI

TRUYỀN HỢP LÝ CHO DỮ LIỆU HỆ GEN........................................ 47

2.1. Giới thiệu ..................................................................................................... 47

2.1.1. Các định nghĩa ................................................................................... 47

2.1.2. Thuật toán Margarita xây dựng đồ thị ARG ...................................... 48

2.2. Thuật toán ARG4WG .................................................................................. 51

2.2.1. Chiến lược tìm đoạn đầu chung dài nhất ........................................... 51

2.2.2. Thuật toán ARG4WG ........................................................................ 54

2.3. Kết quả thực nghiệm .................................................................................... 61

2.3.1. Các kết quả trên dữ liệu thật .............................................................. 61

2.3.2. Các kết quả trên dữ liệu mô phỏng .................................................... 65

2.4. Kết quả ứng dụng ARG4WG vào bài toán tìm vùng gen liên quan đến bệnh

sốt rét ở Châu Phi ......................................................................................... 67

2.5. Kết luận chương .......................................................................................... 72

Chương 3. PHƯƠNG PHÁP TỐI ƯU HÓA SỐ SỰ KIỆN TÁI TỔ HỢP TRONG

QUÁ TRÌNH XÂY DỰNG ĐỒ THỊ ARG ............................................. 75

3.1. Giới thiệu ..................................................................................................... 75

3.2. Một số định nghĩa và khái niệm sử dụng trong các thuật toán .................... 76

3.3. Hạn chế của thuật toán ARG4WG .............................................................. 78

3.4. Thuật toán REARG ..................................................................................... 79

3.4.1. Động cơ nghiên cứu ........................................................................... 79

3.4.2. Thuật toán REARG ............................................................................ 80

4

3.5. Thuật toán GAMARG ................................................................................. 83

3.5.1. Động cơ nghiên cứu ........................................................................... 83

3.5.2. Thuật toán GAMARG ........................................................................ 83

3.6. Kết quả thực nghiệm .................................................................................... 88

3.6.1. Kết quả trên các tập dữ liệu nhỏ ........................................................ 89

3.6.2. Các kết quả trên các tập dữ liệu từ dự án 1kGP ................................. 90

3.7. Kết luận chương .......................................................................................... 98

KẾT LUẬN ............................................................................................................. 100

DANH MỤC CÁC CÔNG TRÌNH KHOA HỌC CỦA TÁC GIẢ LIÊN QUAN

ĐẾN LUẬN ÁN .................................................................................... 102

TÀI LIỆU THAM KHẢO ....................................................................................... 103

5

Danh mục các ký hiệu và chữ viết tắt

Tập các trình tự D

Số lượng trình tự trong một tập các trình tự N

độ dài của trình tự m

Trình tự thứ x trong một tập các trình tự Sx

Sx[i] Giá trị của Sx tại vị trí thứ i

ARG Đồ thị tái tổ hợp di truyền

1KGP Dự án 1000 hệ gen

GWAS Nghiên cứu tương quan toàn hệ gen

SNP Đa hình đơn nucleotit

MRCA Tổ tiên chung gần nhất

CwR Mô hình kết hợp và tái tổ hợp

STT Số thứ tự

RF Khoảng cách Robinson-Fould

6

Danh mục các bảng

Bảng 1.1: Các phần mềm xây dựng đồ thị ARG tiêu biểu. ....................................... 41

Bảng 2.1: Tập dữ liệu trích xuất từ dự án 1000 hệ gen người. ................................. 62

Bảng 3.1: Tập dữ liệu từ dự án 1kGP. ...................................................................... 89

Bảng 3.2: Các kết quả của các thuật toán khác nhau trên các tập dữ liệu nhỏ. ........ 89

Bảng 3.3: Số sự kiện tái tổ hợp ít nhất được tìm thấy bởi 5 thuật toán cho 100 trình

tự của (a) DS1, (b) DS2 và (c) DS3. ......................................................................... 91

Bảng 3.4: Số sự kiện tái tổ hợp ít nhất được tìm thấy bởi 5 thuật toán cho 200 trình

tự của (a) DS1, (b) DS2 và (c) DS3. ......................................................................... 92

Bảng 3.5: Trung bình thời gian chạy (giây) của 5 thuật toán cho 100 trình tự của các

tập dữ liệu (a) DS1, (b) DS2, và (c) DS3. ................................................................. 95

Bảng 3.6: Trung bình thời gian chạy (giây) của 5 thuật toán cho 200 trình tự của các

tập dữ liệu (a) DS1, (b) DS2, và (c) DS3. ................................................................. 97

7

Danh mục các hình vẽ, đồ thị

Hình 1.1: Cấu trúc hệ gen người. Hệ gen người gồm 23 cặp nhiễm sắc thể, có

khoảng 3 tỉ phân tử DNA, khoảng 20.000 đến 25.000 gen. Nguồn hình:

https://genomainternational.com/introduction-to-genomics/. ................................... 16

Hình 1.2: Các kiểu biến thể trình tự: (a) Thay thế một cặp bazơ đơn. Trong ví dụ,

biến thể xuất hiện ở 2 vị trí so với trình tự tham chiếu, đó là thay thế nucleotit T↔A

và G↔A. (b) Chuỗi GCA được chèn vào so với trình tự tham chiếu. (c) Chuỗi CG

bị xóa so với trình tự tham chiếu. .............................................................................. 17

Hình 1.3: Các loại biến thể cấu trúc: xóa, thêm, lặp, đảo hay lặp nhiều lần 1 đoạn

DNA. Đoạn đột biến cấu trúc có kích thước lớn hơn 1kb. ....................................... 18

Hình 1.4: Ví dụ dữ liệu SNP chứa biến thể 2 alen và nhiều alen. Có 8 vị trí SNP đều

là 2 alen, gồm alen tham chiếu và 1 alen biến thể, ví dụ như A và G ở vị trí 1; T và

C ở vị trí 2. Chỉ có vị trí 7 là 3 alen: alen tham chiếu (G) và 2 alen biến thể C, T. .. 19

Hình 1.5: Ví dụ 4 haplotype của 4 cá thể trên một vùng gen. Một haplotype được

tạo thành từ sự kết hợp của các SNP được di truyền cùng nhau trong các đoạn DNA.

................................................................................................................................... 19

Hình 1.6: Cây phân loài biểu diễn mối quan hệ tiến hóa của một số loài linh trưởng.

Đười ươi và Khỉ đột rẽ nhánh sớm hơn các loài linh trưởng khác. Con người rẽ ra

một nhánh riêng và nhánh còn lại cho ra Tinh tinh và vượn Bonobo. ...................... 21

Hình 1.7: Khái quát hóa các mạng phát sinh loài điển hình [36]. ............................. 23

Hình 1.8: Hai hiện tượng tái tổ hợp phổ biến của người: (a) trao đổi chéo và (b)

chuyển đổi gen. ......................................................................................................... 24

Hình 1.9: Biến đổi dữ liệu SNP thành dạng nhị phân. Vị trí có giá trị giống với tham

chiếu là 0, giá trị khác tham chiếu là 1. ..................................................................... 28

8

Hình 1.10: Đồ thị ARG cho tập dữ liệu M gồm 7 trình tự độ dài 5 [26]. Trình tự tổ

tiên là “00000”; 5 sự kiện đột biến tại các vị trí tương ứng (1,2,3,4,5) được ghi trên

các cạnh xảy ra đột biến của đồ thị; 2 sự kiện tái tổ hợp xảy ra tại vị trí 3 và 4. ...... 29

Hình 1.11: Điểm cắt tái tổ hợp. ................................................................................. 30

Hình 1.12: Một ví dụ đồ thị ARG cho 4 trình tự với các ký hiệu: ■: trạng thái di

truyền, ◘: trạng thái di truyền đột biến, □: trạng thái không xác định. ..................... 31

Hình 1.13: Các cây thành phần (đường đậm nét) của đồ thị ARG trong Hình 1.12.

Nguồn hình [43]. ....................................................................................................... 33

Hình 1.14: (a) Ví dụ cặp vị trí tương thích: cặp vị trí này chỉ chứa 3 loại giao tử và

có thể có được từ 1 tổ tiên chung thông qua 2 sự kiện đột biến. (b) Cặp vị trí không

tương thích: cặp vị trí chứa 4 loại giao tử và trong trường hợp này phải có ít nhất 1

sự kiện tái tổ hợp xảy ra dưới giả định các vị trí vô hạn (kí hiệu * biểu thị vị trí

không có thông tin). .................................................................................................. 36

Hình 1.15: Một cây có nốt sùi cho tập trình tự giống với tập trong Hình 1.10 với 2

nốt sùi tương ứng với 2 chu trình tái tổ hợp không chung nút với nhau [27]. .......... 38

Hình 1.16: (a) Đồ thị ARG cho tập 4 trình tự, trong đó trình tự s1, s2 là từ 2 cá thể

khỏe mạnh, trình từ s3, s4 là từ 2 cá thể bị bệnh. (b) Đột biến 3 (vùng khoanh tròn)

trên cây biên tại vị trí 3 của đồ thị ARG trong (a) cho ra sự phân biệt rõ nhất giữa

các trình tự bệnh và trình tự không bệnh. ................................................................. 44

Hình 2.1: Lưu đồ thuật toán Margarita. .................................................................... 49

Hình 2.2: Vấn đề trong việc thực hiện sự kiện tái tổ hợp của Margarita. Hai trình tự

S1 và S2 với đoạn chung dài nhất giữa hai trình tự được biểu diễn bằng đoạn màu

đen. Thuật toán thực hiện lần lượt 2 sự kiện tái tổ hợp R1 và R2 trên trình tự S1 để

sinh ra 3 trình tự con S11, S12 và S13. Sau đó, trình tự con chứa đoạn chung dài nhất

S13 sẽ được kết hợp với S2. Vì vậy, khi đoạn chung dài nhất được tìm thấy bên trong

9

trình tự, thuật toán phải thực hiện 2 sự kiện tái tổ hợp trên một trình tự và từ 2 trình

tự ban đầu (S1 và S2) sẽ thành 3 trình tự ở thế hệ tiếp theo (S11, S12 và S' (S' = S2)). 50

Hình 2.3: Tất cả các trình tự con từ phía bên trái của s mà có thể kết hợp với một

trình tự trong D là một tập con của đoạn bên trái dài nhất của s ( )....................... 52

Hình 2.4: Phân tách s bằng cách chọn các đoạn chung dài nhất trong s để kết hợp

với các trình tự trong D có thể không dẫn tới số cực tiểu sự kiện tái tổ hợp. ........... 53

Hình 2.5: Sự kiện tái tổ hợp được biểu thị trong thuật toán ARG4WG. (a) Xét 2

trình tự S1 và S2, các đoạn đầu chung của 2 trình tự từ phía bên trái (hình lượn sóng)

và từ phía bên phải (màu đen) được xác định. (b) Với 1 tập 3 trình tự S1, S2 và S3,

các đoạn đầu chung của mỗi cặp được tính toán (hình lượn sóng) và đoạn đầu chung

dài nhất được xác định được mô tả bằng đoạn màu đen giữa trình tự S1 và S2. (c)

Một sự kiện tái tổ hợp được thực hiện trên trình tự S1 để sinh ra 2 trình tự con S11 và

S12. S12 chứa đoạn đầu chung dài nhất sau đó sẽ được kết hợp với S2. Như vậy,

ARG4WG luôn thực hiện 1 tái tổ hợp trên 1 trình tự và từ 2 trình tự ban đầu (S1, S2)

sẽ thành 2 trình tự ở thế hệ tiếp theo (S11, S’), trong đó S’ = S2 và S11 có ít vật liệu di

truyền hơn S1. ............................................................................................................ 55

Hình 2.6: Trung bình thời gian chạy của Margarita, Margarita1.0 và ARG4WG cho:

(a) 500 haplotype; (b) 1000 haplotype; và (c) 2000 haplotype. ................................ 63

Hình 2.7: Trung bình số sự kiện tái tổ hợp của Margarita, Margarita1.0 và

ARG4WG cho: (a) 500 haplotype; (b) 1000 haplotype; và (c) 2000 haplotype. ...... 65

Hình 2.8: Khoảng cách RF của các cây được tạo ra bởi thuật toán Margarita và

ARG4WG so với các cây đúng tương ứng trên các khoảng tỉ lệ đột biến và tái tổ

hợp khác nhau. .......................................................................................................... 67

Hình 2.9: Sự tương quan đến bệnh từ 106 kiểm định hoán vị trên: (A) 10 ARG xây

dựng trên toàn bộ NST 11; (B) 30 ARG xây dựng trên vùng 5000 SNP quanh gen

10

HBB; và (C) Tổng hợp kết quả cho các thực nghiệm trên vùng 1000 SNP quanh gen

HBB. .......................................................................................................................... 70

Hình 2.10: Sự tương quan với bệnh khi sử dụng thuật toán Margarita trên vùng 4M-

6M quanh gen HBB. ................................................................................................. 72

Hình 3.1: Một ví dụ đồ thị ARG tối thiểu cho tập dữ liệu D(5) gồm 5 trình tự độ dài

5. Xét ngược chiều thời gian, thứ tự thực hiện các sự kiện đột biến, kết hợp hay tái

tổ hợp để xây dựng đồ thị ARG được đánh số trong hình tròn. Trong ví dụ này, sự

kiện tái tổ hợp được thực hiện đầu tiên trên trình tự “01010” sinh ra 2 trình tự

“01***” và “**010”. Tiếp theo là sự kiện kết hợp trình tự “**010” và “00010”

thành trình tự “00010”. Sự kiện đột biến được thực hiện sau đó biến đổi trình tự

“00010” thành trình tự “00000”. Quá trình xây dựng đồ thị ARG được tiếp tục thực

hiện cho tới khi tổ tiên chung “10001” được tìm thấy. ............................................. 77

Hình 3.2: Quá trình xây dựng đồ thị ARG cho tập dữ liệu D={S1,S2,S3,S4,S5} của

thuật toán ARG4WG. 𝑅𝑖, 𝑗 biểu thị một sự kiện tái tổ hợp giữa vị trí i và vị trí j; 𝐶𝑥

biểu thị sự kiện kết hợp thứ x; 𝑀𝑖 biểu thị một sự kiện đột biến tại vị trí i. ............. 79

Hình 3.3: Thuật toán ARG4WG xác định được 3 cặp ứng cử viên có cùng đoạn đầu

chung dài nhất cho tập 5 trình tự như trong các khung hình chữ nhật. Một trong 3

cặp sẽ được chọn ngẫu nhiên để thực hiện tái tổ hợp. .............................................. 80

Hình 3.4: Cho tập dữ liệu D={S1,S2,S3,S4,S5}, lựa chọn thực hiện tái tổ hợp trên trình

tự S4 giữa vị trí 1 và vị trí 2 dẫn đến việc phải thực hiện thêm 1 sự kiện tái tổ hợp

nữa để phá vỡ cặp vị trí không tương thích (1,2). ..................................................... 84

Hình 3.5: Lưu đồ thuật toán GAMARG. .................................................................. 85

Hình 3.6: Số sự kiện tái tổ hợp ít nhất được tìm thấy bởi 3 thuật toán ARG4WG,

REARG và GAMARG cho 100 và 200 trình tự với 2000, 5000, và 10000 SNP của

tập DS1, DS2, và DS3. .............................................................................................. 94

11

Danh mục các thuật toán

Thuật toán 2.1: Thuật toán ARG4WG xây dựng một ARG từ một tập trình tự D cho

trước. ......................................................................................................................... 60

Thuật toán 3.1: Thuật toán REARG. ......................................................................... 81

Thuật toán 3.2: Thuật toán GAMARG. .................................................................... 87

12

MỞ ĐẦU

Những thành tựu gần đây trong công nghệ giải trình tự hệ gen thế hệ mới (Next

Generation Sequencing - NGS) đã giảm đáng kể chi phí giải trình tự toàn bộ hệ gen

và dẫn đến sự gia tăng nhanh chóng về số lượng chuỗi DNA và cả hệ gen. Do đó,

việc phát triển các mô hình và phương pháp tính toán mới là vấn đề thời sự đang

được các nhà tin sinh học quan tâm để có thể quản lý, phân tích và khai thác bộ dữ

liệu lớn các trình tự này một cách hiệu quả.

Những dữ liệu này đại diện cho một nguồn thông tin rất hữu ích và đặt ra các vấn đề

tính toán mới trong các nghiên cứu trên toàn hệ gen, điển hình là các nghiên cứu về

phân bố của các biến thể di truyền trong một quần thể hay xác định các vùng gen có

tác động và có ý nghĩa về mặt sinh học đối với các đặc điểm quan trọng mà ta quan

tâm. Để giải quyết những bài toán này đòi hỏi nhiều phương pháp mới, trong đó có

những hướng đi mới sử dụng lý thuyết đồ thị và thuật toán để mô hình hóa và tính

toán các mô hình tiến hóa trong quần thể. Đáng chú ý trong số đó là đồ thị tái tổ hợp

di truyền (Ancestral Recombination Graph - ARG), một công cụ quan trọng trong

nghiên cứu di truyền quần thể và các bài toán liên quan đến tìm sự đa dạng trong hệ

gen [1,58].

Với một tập các chuỗi nhiễm sắc thể, đồ thị ARG đầy đủ sẽ mô tả một cách chi tiết

lịch sử di truyền, mối quan hệ của chúng với nhau và với một tổ tiên chung

(common ancestor) thông qua ba sự kiện: đột biến (mutation), tái tổ hợp

(recombination) và kết hợp (coalescence). Trong quá trình xây dựng đồ thị ARG, sự

kiện tái tổ hợp và sự kiện đột biến là 2 sự kiện cốt lõi ảnh hưởng tới đồ thị kết quả,

từ đó ảnh hưởng trực tiếp tới các ứng dụng liên quan như tìm vùng gen liên quan

đến bệnh, đột biến gây bệnh, đặc trưng của quần thể quan sát, … Tuy nhiên, số sự

kiện tái tổ hợp và sự kiện đột biến cũng như vị trí thực sự xảy ra trong quá trình tiến

hóa là không biết trước. Do đó, chúng ta không thể biết được ARG thực sự mà

chúng ta chỉ có thể suy diễn chúng từ dữ liệu với các giả định tối ưu số sự kiện tái tổ

hợp và sự kiện đột biến nhằm có được ARG với các sự kiện sát nhất với thực tế.

13

Nhiều phương pháp xây dựng đồ thị ARG đã được đề xuất [26], tập trung vào 2

cách tiếp cận chính: (1) xây dựng đồ thị ARG tối thiểu (minimal ARG), tức là đồ thị

có chính xác số sự kiện tái tổ hợp nhỏ nhất; và (2) xây dựng đồ thị ARG hợp lý

(plausible ARG), tức là đồ thị có số sự kiện tái tổ hợp tùy thuộc vào thuật toán xấp

xỉ chúng. Tuy nhiên, các phương pháp xây dựng đồ thị ARG hiện tại vẫn gặp những

hạn chế sau:

- Đa số các phương pháp xây dựng đồ thị ARG mới chỉ giới hạn với những tập dữ

liệu nhỏ và vừa hàng trăm trình tự [52,58,62].

- Các phương pháp xây dựng đồ thị ARG với hàm mục tiêu có chính xác số sự

kiện tái tổ hợp ít nhất hiện thời còn tốn rất nhiều thời gian và chỉ khả thi với

những tập dữ liệu rất nhỏ chứa vài chục trình tự [62,71].

Ngày nay, những thành tựu trong công nghệ giải trình tự gen thế hệ mới, sự phát

triển và ngày càng hoàn thiện của các thư viện đặc tả biến dị di truyền trong quần

thể người đã tạo tiền đề cho các nghiên cứu trên toàn hệ gen. Để có thể ứng dụng

được vào các nghiên cứu về biến thể di truyền liên quan đến bệnh ở người một cách

hiệu quả, các phương pháp phải có khả năng tính toán được trên dữ liệu liên quan

đến hàng nghìn hệ gen. Từ đó, mục tiêu và kết quả của luận án đã đạt được là:

1. Nghiên cứu các phương pháp xây dựng đồ thị ARG hiện tại, từ đó đề xuất thuật

toán gần đúng xây dựng đồ thị ARG cho hàng nghìn trình tự, thậm chí hàng

nghìn hệ gen nhằm ứng dụng hiệu quả vào các bài toán thực tế trên các tập dữ

liệu lớn.

2. Đề xuất thuật toán xây dựng đồ thị ARG với hàm mục tiêu tối thiểu hóa số sự

kiện tái tổ hợp trong quá trình xây dựng đồ thị ARG bằng việc kết hợp thuật

toán đề xuất trong (1) với một số đặc trưng của dữ liệu và kĩ thuật tối ưu được sử

dụng trong các phương pháp tìm cận dưới tái tổ hợp và các phương pháp xây

dựng đồ thị ARG tối thiểu đã có.

14

Các kết quả của luận án đã được công bố trong 1 bài tạp chí ISI (công trình khoa

học số 1) và 2 báo cáo hội nghị quốc tế (công trình khoa học số 2 và 3). Ngoài phần

kết luận, luận án được tổ chức như sau:

Chương 1 đầu tiên giới thiệu khái quát về hệ gen người và các mạng phát sinh loài

(phylogenetic networks). Sau đó là phần giới thiệu về bài toán xây dựng đồ thị

ARG. Phần cuối của chương trình bày các cách tiếp cận giải bài toán xây dựng đồ

thị ARG và ứng dụng của ARG trong nghiên cứu tương quan toàn hệ gen.

Chương 2 đề xuất một thuật toán xây dựng đồ thị ARG cho dữ liệu lớn hàng nghìn

trình tự độ dài hệ gen người. Để làm được điều đó, chúng tôi đưa ra các nhược điểm

của các cách tiếp cận hiện có, đặc biệt là những hạn chế trong thuật toán Margarita

xây dựng đồ thị ARG hợp lý được đề xuất bởi Minichiello và Durbin [52], từ đó

đưa ra thuật toán đề xuất nhằm khắc phục các nhược điểm đó. Các kết quả thực

nghiệm ở phần sau của chương đã chứng tỏ hiệu quả của thuật toán đề xuất. Phần

cuối của chương giới thiệu kết quả ứng dụng thuật toán đề xuất vào bài toán tìm

vùng gen liên quan đến bệnh sốt rét ở Châu Phi trên tập dữ liệu lớn gồm 5560 trình

tự trên toàn nhiễm sắc thể 11. Các kết quả trong phần này đã khẳng định thêm hiệu

quả, khả năng ứng dụng của thuật toán đề xuất trong các bài toán thực tế trên dữ

liệu lớn.

Chương 3 của luận án giới thiệu các phương pháp nhằm cực tiểu hóa số sự kiện tái

tổ hợp trong quá trình xây dựng đồ thị ARG. Cụ thể, chúng tôi đề xuất hai phương

pháp: (1) kết hợp một số đặc trưng của dữ liệu; (2) kết hợp kĩ thuật sử dụng trong

các phương pháp xây dựng đồ thị ARG tối thiểu với chiến lược thực hiện sự kiện tái

tổ hợp đề xuất trong chương 2 để tối ưu hóa số sự kiện tái tổ hợp. Các thực nghiệm

trên các bộ dữ liệu khác nhau đã chứng tỏ hiệu quả của các phương pháp đề xuất.

15

Chương 1. GIỚI THIỆU

1.1. Giới thiệu chung

Trong phần này luận án sẽ giới thiệu về hệ gen người, cụ thể là cấu trúc bộ gen

người, các nguyên nhân dẫn tới các biến thể di truyền ở người, các loại biến thể di

truyền phổ biến và một số loại dữ liệu hệ gen quan trọng. Luận án cũng giới thiệu

sơ lược về các loại mạng phát sinh loài (phylogenetic networks), một công cụ quan

trọng để biểu diễn các mối quan hệ tiến hóa trong nghiên cứu di truyền quần thể.

1.1.1. Hệ gen người

Bộ gen người là tất cả vật liệu di truyền của một người được di truyền từ thế hệ này

sang thế hệ khác. Bộ gen chứa các gen, mỗi gen là một đoạn DNA

(deoxyribonucleic acid) mã hóa cho những sản phẩm riêng lẻ như các mRNA được

sử dụng trực tiếp cho tổng hợp các enzim, các protein cấu trúc hay các chuỗi

polypeptide để gắn lại tạo ra protein có hoạt tính sinh học. Các gen được đóng gói

trong nhiễm sắc thể, nhiễm sắc thể nằm trong nhân tế bào, mỗi nhân tế bào có 23

Hình 1.1: Cấu trúc hệ gen người. Hệ gen người gồm 23 cặp nhiễm sắc thể, có khoảng 3 tỉ phân tử DNA, khoảng 20.000 đến 25.000 gen. Nguồn hình: https://genomainternational.com/introduction-to-genomics/.

cặp nhiễm sắc thể (Hình 1.1) [54].

16

Chuỗi DNA người có cấu trúc xoắn kép, gồm 2 chuỗi DNA đơn cuộn xoắn vào

nhau. Tại mỗi vị trí cụ thể trên một chuỗi DNA đơn là một trong 4 loại nucleotit: A,

T, C, hoặc G. Hệ gen người có khoảng 3 tỉ phân tử DNA, trong đó có các vùng chứa

thông tin mã hóa protein gọi là các gen. Con người có từ 20.000 đến 25.000 gen.

Hầu hết các gen ở mọi người là như nhau, nhưng có khoảng 0.1% vị trí mà các

nucleotit là khác nhau giữa 2 người gọi là các biến thể di truyền. Biến thể di truyền

giúp cho mỗi người chúng ta là một cá thể duy nhất, không giống bất kì ai [54].

Đột biến và tái tổ hợp là 2 nguyên nhân chính của biến thể di truyền [22]. Đột biến

là nguồn gốc của biến thể mới, xảy ra khi có lỗi trong quá trình sao chép DNA mà

không được sửa chữa bởi các enzyme sửa chữa DNA. Trong khi tái tổ hợp di truyền

là nguyên nhân chính của biến thể di truyền ở thế hệ con cái. Mỗi người có sự pha

trộn các vật liệu di truyền từ cha mẹ. Tái tổ hợp góp phần vào biến đổi gen bằng

cách xáo trộn DNA của cha mẹ và tạo ra các tổ hợp biến thể mới. Chi tiết về sự kiện

Hình 1.2: Các kiểu biến thể trình tự: (a) Thay thế một cặp bazơ đơn. Trong ví dụ, biến thể

xuất hiện ở 2 vị trí so với trình tự tham chiếu, đó là thay thế nucleotit T↔A và G↔A. (b)

Chuỗi GCA được chèn vào so với trình tự tham chiếu. (c) Chuỗi CG bị xóa so với trình tự

tham chiếu.

tái tổ hợp được giới thiệu trong Mục 1.2.1.

Biến thể di truyền có thể được phân loại thành biến thể trình tự và biến thể cấu trúc

[20,57]. Các biến thể trình tự gồm dạng thay thế một cặp bazơ (base pair, viết tắt là

bp) hay còn gọi là đa hình đơn nucleotit (Single Nucleotide Polymorphisms – SNP)

và xóa hoặc thêm một đoạn DNA kích thước nhỏ hơn 1kb (1kb = 1000 bp) (Hình

1.2). Các trường hợp chèn và xóa phạm vi lớn hơn, cũng như các trường hợp đảo

17

ngược (inversion) hay lặp lại 2 lần (duplication) hoặc nhiều lần (copy-number

variant) 1 đoạn DNA được gọi chung là các biến thể cấu trúc (Hình 1.3). Biến thể

cấu trúc thường làm thay đổi cấu trúc của hệ gen, cấu trúc của protein tương ứng.

Hình 1.3: Các loại biến thể cấu trúc: xóa, thêm, lặp, đảo hay lặp nhiều lần 1 đoạn DNA.

Đoạn đột biến cấu trúc có kích thước lớn hơn 1kb.

Đoạn DNA biến thể có kích thước từ 1kb đến hơn 5Mb (1Mb = 106 bp).

Biến thể SNP là loại biến thể di truyền phổ biến nhất trong hệ gen người. Một biến

đổi điểm có tần số xuất hiện trong quần thể lớn hơn 1% thì được gọi là SNP.

Dữ liệu SNP

Các dự án hệ gen người [12,13,40] đã chỉ ra có khoảng 10 triệu SNP trong hệ gen

người và chúng đóng vai trò như là các dấu hiệu sinh học giúp phân biệt sự khác

nhau giữa người với người. Chúng giải thích cho sự khác nhau về màu mắt, màu

tóc, nhóm máu của con người. Một số SNP có thể ảnh hưởng tới nguy cơ phát triển

một số bệnh hay rối loạn nào đó. Dữ liệu SNP đóng một vai trò đặc biệt quan trọng

trong các nghiên cứu tương quan toàn hệ gen (Genome-Wide Association Study –

GWAS) nhằm so sánh các vùng trong hệ gen người để định vị vùng gen và các biến

thể di truyền có ảnh hưởng tới sức khỏe hay liên quan đến bệnh quan tâm, từ đó

giúp cho quá trình chẩn đoán và điều trị [4,6,49,67].

18

Hầu hết SNP ở người là 2 alen (biallelic SNP), tức là các vị trí SNP chỉ chứa alen

tham chiếu và alen biến thể, chiếm đến hơn 99% tổng số SNP [8]. Ngoài ra còn có

một số ít các SNP đa alen (multiallelic SNP), là các vị trí SNP chứa alen tham chiếu

Hình 1.4: Ví dụ dữ liệu SNP chứa biến thể 2 alen và nhiều alen. Có 8 vị trí SNP đều là 2

alen, gồm alen tham chiếu và 1 alen biến thể, ví dụ như A và G ở vị trí 1; T và C ở vị trí 2.

Chỉ có vị trí 7 là 3 alen: alen tham chiếu (G) và 2 alen biến thể C, T.

và 2 hoặc nhiều alen biến thể (Hình 1.4).

Hình 1.5: Ví dụ 4 haplotype của 4 cá thể trên một vùng gen. Một haplotype được tạo thành

từ sự kết hợp của các SNP được di truyền cùng nhau trong các đoạn DNA.

Dữ liệu haplotype

19

Haplotype là một nhóm các gen trong một sinh vật được di truyền cùng nhau từ bố

hoặc mẹ của chúng. Nhóm gen này được di truyền cùng nhau do liên kết di truyền,

hoặc hiện tượng các gen gần nhau trên cùng một nhiễm sắc thể thường được di

truyền cùng nhau. Ngoài ra, thuật ngữ "haplotype" cũng còn được đề cập đến là

nhóm các SNP được di truyền cùng nhau trong các đoạn DNA [13] (Hình 1.5). Dữ

liệu SNP haplotype này là dữ liệu quan trọng trong các nghiên cứu di truyền quần

thể và là dữ liệu đầu vào cho bài toán xây dựng đồ thị ARG.

Trong hệ gen người (và các loài lưỡng bội nói chung), mỗi người có 2 haplotype

trong một vùng xác định của hệ gen.

Dữ liệu kiểu gen (genotype)

Kiểu gen của một cá thể là tập hợp tất cả các alen – những dạng biến dị khác nhau

của cùng một gen ở cá thể đó (https://www.nature.com/scitable/definition/genotype-

234).

Với các loài lưỡng bội, mỗi vị trí gen c sẽ có 2 alen. Nếu trạng thái alen tại vị trí c là

P và Q, kí hiệu "P/Q" chỉ kiểu gen tại vị trí đó. Một vị trí được gọi là đồng hợp tử

(homozygous) nếu kiểu gen tại vị trí đó mang 2 alen giống nhau, và được gọi là dị

hợp tử (heterozygous) nếu kiểu gen tại vị trí đó mang 2 alen khác nhau.

Ví dụ, ta có kiểu gen tại 5 vị trí tương ứng của 1 cá thể X là: A/A, G/A, C/C, T/T,

A/T. Vị trí thứ 1, 3 và 4 được gọi là đồng hợp tử còn vị trí thứ 2 và vị trí thứ 5 được

gọi là dị hợp tử.

Nếu chỉ biết dữ liệu kiểu gen, ta không thể suy luận được 2 haplotype của cá thể X

này vì sẽ có 2 cặp haplotype phù hợp với dữ liệu kiểu gen này do 2 vị trí dị hợp tử:

Cặp 1: A G C T A Cặp 2: A A C T A

A A C T T A G C T T

20

Bài toán tìm haplotype khi cho trước dữ liệu kiểu gen cũng như bài toán xác định

kiểu gen và haplotype cho dữ liệu hệ gen thu được từ máy giải trình tự gen thế hệ

mới là các bài toán đặc biệt quan trọng trong tin sinh [5,46,51].

1.1.2. Mạng phát sinh loài

Theo học thuyết tiến hóa của Darwin tất cả các loài sinh vật đều tiến hóa từ một tổ

tiên chung. Mối quan hệ giữa các loài sinh vật được biểu diễn bởi một cây, gọi là

Hình 1.6: Cây phân loài biểu diễn mối quan hệ tiến hóa của một số loài linh trưởng. Đười

ươi và Khỉ đột rẽ nhánh sớm hơn các loài linh trưởng khác. Con người rẽ ra một nhánh

riêng và nhánh còn lại cho ra Tinh tinh và vượn Bonobo.

cây phân loài (phylogenetic tree) với cấu trúc như Hình 1.6 [14,59]:

• Mỗi nút lá của cây biểu diễn cho một loài sinh vật hiện tại.

• Mỗi nút bên trong của cây biểu diễn cho một loài sinh vật tổ tiên. Thông

thường, chúng ta không có thông tin về các loài sinh vật tổ tiên này.

• Một cạnh của cây nối hai nút của cây và biểu diễn mối quan hệ trực tiếp giữa

hai loài sinh vật ở hai nút của cây.

21

• Độ dài của cạnh nối hai loài sinh vật trên cây cho biết khoảng cách tiến hóa

giữa chúng. Khoảng cách này có thể được biểu diễn bằng thời gian, hay số

lượng các biến đổi nucleotit giữa hai chuỗi DNA được sử dụng để so sánh hai

loài.

Cây phân loài là mô hình cơ bản nhất để biểu diễn quan hệ tiến hóa của các loài

hoặc các gen. Tuy nhiên, mô hình dạng cây không thể biểu diễn các thông tin và

hiện tượng sinh học khác như chuyển gen ngang (horizontal gene transfer), tái tổ

hợp (recombination) hoặc lai ghép (hybridization). Trong những trường hợp đó,

một số nhánh của cây kết hợp thành một nút mắt lưới (reticulation node) và cây trở

thành mạng phát sinh loài (phylogentic network) [36].

Mạng phát sinh loài đang trở thành một công cụ quan trọng trong tiến hóa phân tử.

Mạng phát sinh loài là đồ thị bất kì được sử dụng để biểu diễn các mối quan hệ tiến

hóa (bằng các cạnh) giữa một tập hợp các nhãn (taxa) (bằng các nút lá) [37].

Với sự đa dạng dữ liệu sinh học hiện có, rất nhiều loại mạng phát sinh loài khác

nhau đã ra đời. Có khoảng 20 loại mạng phát sinh loài khác nhau [36]. Một số mạng

được đặt tên bởi các thuật toán tính toán chúng hoặc bởi các đặc tính toán học mà

định nghĩa chúng, ví dụ như “neighbor-nets” hoặc “median networks”. Một số

mạng khác được đặt tên theo các loại sự kiện tiến hóa mà họ mô hình hóa, ví dụ như

“hybridization networks”, “recombination networks” hay “duplication-loss-transfer

(DLT) networks”. Hình 1.7 minh họa một số mạng tổng quát hiện có. Mỗi mạng có

vai trò khác nhau: cây phân loài mô tả mối quan hệ giữa các loài hoặc các gen;

mạng phân tách mô tả sự khác nhau giữa các cây phát sinh loài; các sự kiện lai ghép

hay tái tổ hợp được mô hình hóa trong các mạng lai ghép hay các mạng tái tổ hợp,

… Trong đó, sự kiện tái tổ hợp là sự kiện quan trọng thu hút được nhiều sự quan

tâm của các nhà nghiên cứu, đặc biệt trong di truyền quần thể. Việc phân tích và xác

định được các sự kiện tái tổ hợp giúp cho quá trình xác định đa dạng di truyền, tìm

22

hiểu các nguyên nhân dẫn đến các bệnh đa yếu tố như bệnh tiểu đường, ung thư, …

Hình 1.7: Khái quát hóa các mạng phát sinh loài điển hình [36].

và là nền tảng nghiên cứu thuốc chữa bệnh [6].

Trong luận án này, đối tượng nghiên cứu là đồ thị tái tổ hợp di truyền (đồ thị

ARG), một loại mạng phát sinh loài mô hình hóa quan hệ di truyền giữa các trình tự

của các cá thể được quan sát trong một quần thể khi có sự kiện tái tổ hợp xảy ra

trong lịch sử tiến hóa của chúng.

1.2. Xây dựng đồ thị tái tổ hợp di truyền

1.2.1. Sự kiện tái tổ hợp

Tái tổ hợp là một thành phần cơ bản trong quá trình truyền DNA từ trình tự này

sang trình tự khác khi các nhiễm sắc thể được truyền từ thế hệ này sang thế hệ khác.

Có 2 kiểu tái tổ hợp phổ biến là trao đổi chéo (crossing over) và chuyển đổi gen

(gene conversion).

Mỗi loài sinh vật có cơ chế tái tổ hợp khác nhau. Đối với loài người, trao đổi chéo

là kiểu tái tổ hợp phổ biến nhất xảy ra trong quá trình giảm phân. Trao đổi chéo là

23

hiện tượng 2 trình tự DNA có độ dài bằng nhau có sự trao đổi lẫn nhau và sinh ra

một trình tự tái tổ hợp thứ 3 có cùng độ dài, chứa phần đầu của một trình tự và theo

sau bởi phần sau của trình tự còn lại (Hình 1.8a). Chuyển đổi gen là hiện tượng trình

tự tái tổ hợp được tạo ra từ phần đầu của một trình tự, theo sau bởi phần giữa của

Hình 1.8: Hai hiện tượng tái tổ hợp phổ biến của người: (a) trao đổi chéo và (b) chuyển đổi

gen.

trình tự thứ 2 và theo sau bởi phần cuối của trình tự đầu tiên (Hình 1.8b).

Mặc dù đây là 2 hiện tượng khác nhau, nhưng trong nhiều mô hình, sự kiện chuyển

đổi gen có thể được xét đến là 2 lần trao đổi chéo liên tiếp nhau.

Tái tổ hợp xảy ra trong quá trình phân bào là sự kiện sinh học quan trọng tạo ra đa

dạng hệ gen. Do sự tái tổ hợp trong tất cả các thế hệ trước, bộ gen mà bất kỳ cá thể

nào thừa hưởng là sự pha trộn và phản ánh DNA của nhiều cá thể khác nhau qua

các thế hệ tổ tiên [21]. Khả năng tạo chuỗi trình tự nhiễm sắc thể mới này cho phép

các loài phản ứng nhanh chóng với những thay đổi trong môi trường và loại bỏ các

đột biến gây hại. Do đó, tái tổ hợp là một đặc tính thích nghi quan trọng xảy ra ở

hầu hết các loài sinh vật nhân chuẩn.

Sự tồn tại của bộ gen tổ hợp phong phú như vậy thúc đẩy các nghiên cứu về sự biến

đổi gen trong các quần thể để khám phá mối quan hệ giữa nội dung bộ gen và các

đặc điểm quan tâm có ảnh hưởng từ yếu tố di truyền.

24

1.2.2. Đồ thị tái tổ hợp di truyền

Từ dữ liệu trình tự của một quần thể quan sát, có nhiều câu hỏi liên quan chúng ta

muốn biết như: đặc điểm di truyền của quần thể như thế nào? Lịch sử dân số hay

nguồn gốc địa lý của quần thể? Hay tìm nguyên nhân cho sự mở rộng hoặc suy

giảm dân số của quần thể, mức độ di cư như thế nào? Và quan trọng hơn là tìm mối

liên hệ giữa kiểu hình quan sát (ví dụ như bệnh) trong các cá thể thuộc quần thể và

dữ liệu trình tự để tìm ra các gen gây bệnh và các cơ chế liên quan. Đồ thị tái tổ hợp

di truyền đóng một vai trò quan trọng trong việc trả lời các câu hỏi liên quan đến

nghiên cứu di truyền quần thể và các bài toán liên quan đến tìm sự đa dạng trong hệ

gen [1].

Khi xây dựng được đồ thị ARG, chúng ta không những xác định được các vùng liên

quan đến bệnh quan tâm mà đồ thị còn cho ta cái nhìn tổng quan về đặc điểm của

quần thể quan sát, nền tảng của đột biến gây bệnh, và từ đó có thể dự đoán và thay

thế dữ liệu bị khuyết (imputing missing data) [53]. Trong nghiên cứu về bệnh dựa

trên tập dữ liệu người bệnh và người không bệnh (case-control study), việc xây

dựng đồ thị ARG giúp tìm được vị trí nhánh phân biệt rõ nhất giữa người bệnh và

người không bệnh, từ đó xác định được vùng gen liên quan đến bệnh [52,71]. Đồ thị

ARG còn được ứng dụng hiệu quả trong bài toán tìm SNP, một bài toán quan trọng

được tập trung giải quyết trong dự án bản đồ hệ gen người [44]. Trong nghiên cứu

di truyền quần thể, đồ thị ARG có ứng dụng trong bài toán xác định các dấu hiệu

của chọn lọc tự nhiên [30]; nghiên cứu dòng gen (gene-flow) và sự di trú

(migration) liên quan đến tổ tiên của người hiện đại [32]; bài toán phân biệt chuyển

đổi gen với tái tổ hợp trao đổi chéo [61]; phát hiện dòng gen trong nấm men [38];

phát hiện đồng tiến hóa (coevolution) trong nấm [10], ... Tổng hợp nhiều ứng dụng

của đồ thị ARG được giới thiệu trong [1,26,30].

Đồ thị ARG được xây dựng xuất phát từ lý thuyết kết hợp (coalescent theory) của

Kingman năm 1982 [39]. Kingman đưa ra một cách mô hình quan hệ họ hàng của

các chuỗi DNA khi không có sự kiện tái tổ hợp. Các sự kiện kết hợp và đột biến

25

được xem xét và biểu diễn dưới dạng cây. Tuy nhiên, ngoài sự kiện kết hợp và đột

biến, sự kiện tái tổ hợp là một thực tế không thể loại bỏ của quá trình tiến hóa và di

truyền. Do đó, lý thuyết kết hợp truyền thống đã được mở rộng để tính đến sự kiện

tái tổ hợp dưới dạng đồ thị ARG [34]. Khi tái tổ hợp được xét đến trong một mô

hình kết hợp, một trình tự được mô hình là có một hoặc hai trình tự cha trong thế hệ

trước (là hai nếu tái tổ hợp xảy ra và là một trong trường hợp còn lại), và do đó

chúng ta xét đến một đồ thị thay vì là một cây.

Mục 1.2.2.1 dưới đây sẽ mô tả giả định được sử dụng để định nghĩa một mạng phát

sinh loài là một đồ thị ARG. Từ đó dẫn tới mô tả dữ liệu vào cho thuật toán xây

dựng đồ thị ARG trong mục 1.2.2.2 và cấu trúc của một đồ thị ARG trong mục

1.2.2.3.

1.2.2.1. Mô hình các vị trí vô hạn

Sự kiện tái tổ hợp và sự kiện đột biến là hai sự kiện quan trọng dẫn tới các biến đổi

trên hệ gen từ thế hệ này sang thế hệ khác. Sự kiện đột biến liên quan đến biến đổi

trên một vị trí trên chuỗi DNA còn sự kiện tái tổ hợp liên quan đến biến đổi trên các

đoạn DNA, dẫn tới tái cấu trúc lại hệ gen làm cho hệ gen của chúng ta là sự pha

trộn và kế thừa di truyền từ các thế hệ trước.

Trong chiều dài lịch sử tiến hóa, tại một vị trí trên tập các trình tự quan sát, sự kiện

đột biến có thể xảy ra một hoặc nhiều lần. Trường hợp đột biến xảy ra tại một vị trí

sau đó đột biến ngược lại trạng thái trước đó gọi là đột biến ngược (back mutation);

trường hợp đột biến xảy ra tại một vị trí, sau đó lại xuất hiện lại tại vị trí đó một

hoặc nhiều lần ở các nhánh tiến hóa (lineage) khác nhau gọi là đột biến lặp lại

(recurrent mutation).

Trường hợp mạng phát sinh loài biểu diễn sự kiện tái tổ hợp và đột biến, cho phép

đột biến ngược hoặc lặp lại được gọi là mạng tái tổ hợp. Quá trình xây dựng đồ thị

ARG gắn với giả định có nhiều nhất một sự kiện đột biến xảy ra tại mỗi vị trí trong

toàn bộ lịch sử tiến hóa, không cho phép đột biến tái phát. Mô hình đột biến này gọi

26

là mô hình các vị trí vô hạn (infinite-sites model), mô tả sự tiến hóa của các chuỗi

DNA rất dài với tỷ lệ đột biến thấp ở mỗi vị trí.

Mô hình các vị trí vô hạn xuất phát từ quan sát dữ liệu trình tự thực tế cho thấy, số

lượng các vị trí đột biến thường nhỏ so với số lượng vị trí giống hệt nhau. Nghiên

cứu đã chỉ ra, tỉ lệ đột biến ở mỗi thế hệ người khoảng 1.2 x10-8 [60], tức là, với độ

dài hệ gen người ~3 tỉ cặp base, mỗi thế hệ người chỉ được phép đột biến khoảng

3x109x1.2x10-8 = 36 cặp nucleotit/thế hệ. Vì vậy, khả năng xảy ra đột biến 2 lần tại

một vị trí là rất thấp [28].

Đồ thị ARG dưới giả định các vị trí vô hạn còn được gọi là mạng phát sinh loài

hoàn hảo có sự kiện tái tổ hợp [69] hay đồ thị ARG hoàn hảo (perfect ARG) [42].

Trên góc độ sinh học, khả năng xảy ra đột biến tái phát là có trong thực tế. Tuy

nhiên, từ góc độ toán học và mô hình hóa, một đột biến ngược hoặc lặp

lại có thể được mô hình bằng sự kiện trao đổi chéo [26].

1.2.2.2. Dữ liệu đầu vào cho đồ thị ARG dựa trên mô hình các vị trí vô hạn

Dưới giả định mô hình các vị trí vô hạn - chỉ cho phép 1 đột biến xảy ra tại một vị

trí trong suốt lịch sử tiến hóa, dữ liệu đầu vào của bài toán xây dựng đồ thị ARG là

dữ liệu SNP haplotype, chỉ tính đến các vị trí SNP 2 alen. Do đó, chỉ có nhiều nhất

2 nucleotit khác nhau xuất hiện ở mỗi vị trí trong dữ liệu. Như vậy, dữ liệu đầu vào

có thể chuyển đổi thành dạng nhị phân với 2 trạng thái 0 và 1.

Dữ liệu gen người được chuyển đổi thành dạng nhị phân bằng việc quy định alen

tham chiếu là 0 và alen biến thể là 1 (Hình 1.9). Đối với quần thể người (và các loài

lưỡng bội nói chung), 2 trình tự SNP haplotype trong mỗi người được coi là độc lập

nhau, tương ứng với 2 trình tự trong dữ liệu đầu vào của bài toán xây dựng đồ thị

ARG.

27

Hình 1.9: Biến đổi dữ liệu SNP thành dạng nhị phân. Vị trí có giá trị giống với tham chiếu

là 0, giá trị khác tham chiếu là 1.

1.2.2.3. Cấu trúc đồ thị ARG

Có 4 thành phần cần thiết để xác định một đồ thị ARG tổng quát cho 1 tập trình tự

nhị phân D cho trước: đồ thị cơ sở, các nhãn cạnh, các nhãn nút, và các trình tự

quan sát (xem Hình 1.10) [26].

− Đồ thị cơ sở: Cho một tập D gồm n trình tự nhị phân độ dài m, một đồ thị

ARG cho D được xây dựng trên một đồ thị có hướng không có chu trình (directed

acyclic graph – DAG) chứa chính xác một nút gốc không có cạnh đến, một tập các

nút bên trong có cả cạnh đến và cạnh đi và n nút lá có một cạnh đến và không có

cạnh đi. Một nút trong có một hoặc hai cạnh đến: nút trong với một cạnh đến gọi là

nút cây; nút trong với 2 cạnh đến gọi là nút tái tổ hợp. Cạnh đến một nút tái tổ hợp

gọi là cạnh tái tổ hợp; cạnh đến một nút cây gọi là cạnh cây; và cạnh đến nút lá gọi

là cạnh lá.

Nút gốc và nút trong có thể có một hoặc 2 cạnh đi, đại diện cho quá trình đột biến

và sao chép.

− Các nhãn cạnh: Mỗi cạnh có thể được gán nhãn bằng một tập các số nguyên

từ 1 đến m, biểu thị vị trí trong D nơi một đột biến xảy ra. Với các cạnh không có

đột biến xảy ra sẽ không có nhãn cạnh.

28

Hình 1.10: Đồ thị ARG cho tập dữ liệu M gồm 7 trình tự độ dài 5 [26]. Trình tự tổ tiên là

“00000”; 5 sự kiện đột biến tại các vị trí tương ứng (1,2,3,4,5) được ghi trên các cạnh xảy

ra đột biến của đồ thị; 2 sự kiện tái tổ hợp xảy ra tại vị trí 3 và 4.

Dưới giả định có nhiều nhất một đột biến xảy ra tại một vị trí, một vị trí có đột biến

sẽ chỉ xuất hiện trên một cạnh duy nhất trong suốt lịch sử tiến hóa.

− Các nhãn nút: Mỗi nút trong đồ thị ARG được gán nhãn bởi một trình tự

nhị phân độ dài m.

Với một nút cây v, trình tự nút cây sv được lấy từ trình tự nút cha của v với sự thay

đổi trạng thái từ 0 sang 1 hoặc từ 1 sang 0 tại các vị trí c là các nhãn cạnh hướng

vào v.

Việc tạo ra trình tự nút cây sv được lấy từ trình tự nút cha của v với sự thay đổi trạng

thái từ 0 sang 1 hoặc từ 1 sang 0 tại một vị trí c gọi là sự kiện đột biến. Trong

trường hợp sao chép, 2 trình tự con sinh ra sẽ giống hệt trình tự cha của chúng. Xét

ngược chiều thời gian, sự kết hợp của 2 trình tự giống nhau thành 1 trình tự giống

với 2 trình tự đó gọi là sự kiện kết hợp.

29

Với một nút tái tổ hợp x, đặt s và s’ là 2 trình tự cha độ dài m của nút x. Trình tự nút

tái tổ hợp sx là một trình tự độ dài m với trạng thái tại mỗi vị trí c trong sx bằng với

trạng thái tại vị trí c trong ít nhất một trong 2 trình tự s hoặc s’.

Việc tạo ra trình tự sx từ s và s’ tại một nút tái tổ hợp được gọi là sự kiện tái tổ hợp.

Điểm xảy ra sự kiện tái tổ hợp gọi là điểm cắt tái tổ hợp (breakpoint). Một điểm cắt

tái tổ hợp liên quan đến một vị trí vật lý trên nhiễm sắc thể (Hình 1.11). Khi ta

không biết vị trí chính xác của điểm cắt tái tổ hợp cho sự kiện tái tổ hợp liên quan

đến nút tái tổ hợp x nhưng ta biết rằng nó phải xảy ra giữa vị trí c và vị trí d (d >

c+1), ta nói rằng điểm cắt tái tổ hợp bx là trong khoảng (c,d], tức là bx lớn hơn c và

nhỏ hơn hoặc bằng d và lựa chọn phần trình tự cha đóng góp vào trình tự tái tổ hợp

được thay đổi tại vị trí bx. Cụ thể, khi một sự kiện tái tổ hợp xảy ra tại vị trí cắt tái tổ

hợp bx, trình tự tái tổ hợp sẽ gồm phần đầu (prefix) từ vị trí 1 đến bx - 1 của trình tự

Hình 1.11: Điểm cắt tái tổ hợp.

s (s’) và theo sau là phần sau (suffix) từ vị trí bx đến m của trình tự s’ (s).

− Trình tự quan sát: tức là các trình tự nhị phân trong tập D, là các trình tự

ghi nhãn nút lá trong đồ thị ARG và nó được xác định duy nhất trong đồ thị ARG.

Với các loài lưỡng bội, 2 trình tự SNP haplotype tương ứng với 2 nút lá trong đồ thị

ARG.

Nếu có một sự kiện tái tổ hợp thì sẽ có một chu trình tái tổ hợp (recombination

cycle) tương ứng. Ví dụ, bắt đầu ở một nút tái tổ hợp và theo dõi lại dọc theo hai

đường dẫn, do tất cả các đường dẫn cuối cùng đều kết hợp để hướng tới 1 nút gốc,

hai đường dẫn cuối cùng phải kết hợp lại tại một nút, tại đó hai đường dẫn xác định

30

một chu trình tái tổ hợp. Như vậy, có bao nhiêu sự kiện tái tổ hợp thì sẽ có bấy

nhiêu chu trình tái tổ hợp. Đặc điểm này của đồ thị ARG dẫn tới rất nhiều ý tưởng

đề xuất xây dựng đồ thị ARG sau này.

Một cách biểu diễn khác đồ thị ARG đó là chỉ mô tả các đoạn mang thông tin di

truyền từ các trình tự quan sát đến một tổ tiên chung trong quá trình xây dựng đồ thị

ARG. Cách biểu diễn này được minh họa như trong Hình 1.12, được lấy từ bài báo

của Griffiths và Marjoram [23]. Khi đó, ngoài các đoạn mang thông tin di truyền,

các nút trong đồ thị chứa các đoạn không có thông tin (các vị trí mang giá trị không

xác định), đó là phần thông tin di truyền từ các tổ tiên khác do sự kiện tái tổ hợp.

Sự kiện kết hợp

Đột biến tại vị

trí thứ 3

Sự kiện tái tổ hợp

Hình 1.12: Một ví dụ đồ thị ARG cho 4 trình tự với các ký hiệu: ■: trạng thái di truyền, ◘:

trạng thái di truyền đột biến, □: trạng thái không xác định.

Xét ngược chiều thời gian, cho trước trình tự tái tổ hợp S và một sự kiện tái tổ hợp

phân tách trình tự tái tổ hợp làm 2 trình tự S1 và S2, khi đó ta chỉ biết được phần đầu

của S1 và phần sau của S2 mang phần thông tin di truyền từ trình tự tái tổ hợp, các

phần còn lại của 2 trình tự này là các phần không có thông tin (phần không xác

định).

31

Đồ thị ARG được biểu diễn và xây dựng theo cách tiếp cận như vậy có thể cho phép

trình tự đầu vào trong D có một số giá trị khuyết [47,52].

Với một đồ thị ARG đầy đủ được mô tả như trong Hình 1.10 và Hình 1.12, mỗi vị

trí c sẽ có một cây thành phần (cây biên - marginal tree) T(c) mô tả lịch sử của các

cá thể cho vị trí đó. Từ tập trình tự ban đầu, với mỗi trình tự ta lần theo các cạnh của

đồ thị tái tổ hợp di truyền cho vị trí c; khi một sự kiện tái tổ hợp xuất hiện, ta đi theo

đường bên trái nếu vị trí tái tổ hợp xảy ra sau c và đi theo đường bên phải trong

trường hợp ngược lại. Tập tất cả các cạnh đó sẽ định nghĩa T(c). Hình 1.13 minh

họa các cây thành phần cho đồ thị ARG trong Hình 1.12.

Bên cạnh các thuật toán xây dựng đồ thị ARG đầy đủ, rất nhiều thuật toán, đặc biệt

theo cách tiếp cận thống kê thường xây dựng đồ thị ARG không đầy đủ, tức là đồ

thị ARG được biểu diễn bằng tập các cây thành phần và các sự kiện tái tổ hợp.

1.2.3. Bài toán xây dựng đồ thị ARG

Quá trình tái tổ hợp làm cho hệ gen của các cá thể trong quần thể bị thay đổi rất

nhiều qua các thế hệ. Do đó, với một tập ngẫu nhiên các trình tự của các cá thể

trong một quần thể quan sát ở hiện tại, ta không thể xác định được gia phả, lịch sử

tiến hóa của chúng. Vì vậy, trong quá trình tái cấu trúc lại tổ tiên của tập trình tự

quan sát, tức là xây dựng đồ thị ARG, số sự kiện tái tổ hợp và sự kiện đột biến cũng

như vị trí thực sự xảy ra của chúng trong quá trình tiến hóa là không thể xác định

được. Các hướng để giải quyết vấn đề này là thiết kế các mô hình gần đúng với quá

trình tiến hóa với giả định tối ưu số sự kiện tái tổ hợp và sự kiện đột biến.

32

1. Cây thành phần cho vị trí 1 (2) Cây thành phần cho vị trí 3

(3) Cây thành phần cho vị trí 2 (4) Cây thành phần cho vị trí 4

Hình 1.13: Các cây thành phần (đường đậm nét) của đồ thị ARG trong Hình 1.12. Nguồn

hình [43].

Bài toán xây dựng đồ thị ARG được chứng minh là một bài toán NP-khó [69]. Dưới

giả định các vị trí vô hạn, bài toán xây dựng đồ thị ARG được phát biểu như sau:

Cho một tập D gồm n trình tự nhị phân, mỗi trình tự có độ dài m, tìm một ARG hiển

thị D với số sự kiện tái tổ hợp ít nhất.

33

Cụ thể:

Dữ liệu vào: Dữ liệu đầu vào là một tập các trình tự nhị phân độ dài m. Các trình tự

có độ dài bằng nhau. Tập các trình tự được ký hiệu là D = {S1, …, SN}, trong đó N là

số lượng trình tự, Sx là một trình tự trong tập D, 1 ≤ x ≤ N. Sx có độ dài m, Sx[i] biểu

thị giá trị trạng thái của Sx tại vị trí i, Sx[i] có giá trị bằng 0 hoặc 1, 1 ≤ i ≤ m.

Bài toán: Tìm đồ thị ARG mô tả mối quan hệ của các trình tự trong tập dữ liệu vào

thông qua 3 sự kiện: đột biến, kết hợp và tái tổ hợp, với giả định chỉ có nhiều nhất

một đột biến xảy ra tại mỗi vị trí. Do có nhiều phương pháp khác nhau cho kết quả

với độ hợp lý cũng như thời gian thực hiện khác nhau, chúng ta cần đề xuất các

phương pháp cho kết quả tốt dựa trên các tiêu chí về số sự kiện tái tổ hợp ít nhất,

hình thái cây gần với cây thật nhất, khả thi với dữ liệu lớn hàng trăm đến hàng

nghìn trình tự độ dài hệ gen, đồ thị có ứng dụng tốt trong các bài toán thực tế và có

thời gian thực hiện khả thi.

Dữ liệu đầu ra: Đồ thị ARG chứa các thông tin quan hệ dưới dạng 3 sự kiện cơ

bản: đột biến, kết hợp và tái tổ hợp giữa các trình tự đầu vào (nút lá) với các trình tự

trung gian được sinh ra trong quá trình xây dựng đồ thị (nút cây) và với một trình tự

tổ tiên chung duy nhất (nút gốc).

Rất nhiều nghiên cứu xây dựng đồ thị ARG khác nhau đã được đề xuất với các mô

hình tái tổ hợp khác nhau phù hợp với quần thể quan sát và mục đích nghiên cứu

khác nhau. Trong bài toán xây dựng đồ thị ARG cho các quần thể vi khuẩn, các sự

kiện tái tổ hợp được xem xét và mô hình hóa là các sự kiện chuyển đổi gen [17,66].

Trong nghiên cứu di truyền quần thể người, sự kiện tái tổ hợp được mô hình hóa

trong quá trình xây dựng đồ thị ARG hầu hết là sự kiện trao đổi chéo. Trong nhiều

thuật toán, đặc biệt là các thuật toán tổ hợp tập trung vào đặc điểm cấu trúc của đồ

thị, sự kiện chuyển đổi gen có thể được biểu diễn qua 2 sự kiện trao đổi chéo liên

tiếp nhau [26].

34

Luận án tập trung vào các thuật toán tổ hợp xây dựng đồ thị ARG đầy đủ có số sự

kiện tái tổ hợp ít nhất dưới giả định mô hình các vị trí vô hạn. Sự kiện tái tổ hợp

trong đồ thị ARG được đề cập đến chỉ sự kiện trao đổi chéo và được sử dụng như

vậy trong suốt các phần tiếp theo của luận án. Dữ liệu trình tự được xét đến trong

bài toán là dữ liệu SNP haplotype được biểu diễn ở dạng nhị phân.

1.3. Các phương pháp xây dựng đồ thị ARG

Có 2 hướng nghiên cứu xây dựng đồ thị ARG: (1) Xây dựng đồ thị ARG tối thiểu

(minimal ARG), tức là đồ thị có chính xác số sự kiện tái tổ hợp nhỏ nhất, và (2) xây

dựng đồ thị ARG “hợp lý” (plausible ARG), tức là các thuật toán không cố gắng

xây dựng ARG có chính xác số sự kiện tái tổ hợp ít nhất mà hướng đến việc xây

dựng đồ thị ARG với số sự kiện tái tổ hợp được sinh ra phụ thuộc vào các phương

pháp mô hình hóa sự kiện tái tổ hợp khác nhau.

1.3.1. Các phương pháp xây dựng đồ thị ARG tối thiểu

Các cách tiếp cận theo hướng nghiên cứu này hầu hết đều dựa trên các phương

pháp tìm kiếm vét cạn trên đồ thị để cực tiểu hóa số sự kiện tái tổ hợp nhằm đạt tới

ARG tối thiểu. Trong đó, khái niệm cặp vị trí không tương thích được sử dụng trong

hầu hết các thuật toán để xác định sự kiện tái tổ hợp: Cho một tập D gồm 4 hoặc

nhiều hơn 4 trình tự, một cặp vị trí bất kì gọi là không tương thích nếu tồn tại 4 trình

tự trong D lần lượt chứa 4 loại giao tử (0,0), (0,1), (1,0), (1,1) cho cặp vị trí đó.

Dưới giả định các vị trí vô hạn (có nhiều nhất một đột biến xảy ra tại một vị trí), từ

1 tổ tiên chung, cách duy nhất để có cặp vị trí không tương thích này là ít nhất một

sự kiện tái tổ hợp đã xảy ra trong lịch sử giữa 2 vị trí đó (Hình 1.14b). Trường hợp

giữa 2 vị trí có ít hơn 4 loại giao tử trên được gọi là cặp vị trí tương thích, khi đó, từ

1 tổ tiên chung, dữ liệu quan sát có thể có được thông qua các sự kiện đột biến

(Hình 1.14a).

35

Hình 1.14: (a) Ví dụ cặp vị trí tương thích: cặp vị trí này chỉ chứa 3 loại giao tử và có thể

có được từ 1 tổ tiên chung thông qua 2 sự kiện đột biến. (b) Cặp vị trí không tương thích:

cặp vị trí chứa 4 loại giao tử và trong trường hợp này phải có ít nhất 1 sự kiện tái tổ hợp

xảy ra dưới giả định các vị trí vô hạn (kí hiệu * biểu thị vị trí không có thông tin).

(a) (b)

Khái niệm cặp vị trí không tương thích này là yếu tố cơ bản dẫn tới rất nhiều thuật

toán tìm cận dưới tái tổ hợp và thuật toán xây dựng đồ thị ARG. Các phương pháp

vét cạn hướng tới việc tìm ra các điểm cắt tái tổ hợp tối ưu, tức là, số sự kiện tái tổ

hợp ít nhất để phá vỡ tất cả các vị trí không tương thích này.

Song và cộng sự [62,63] tìm một chuỗi các cây, với mỗi cây cho mỗi vị trí và các sự

kiện tái tổ hợp được yêu cầu để dịch chuyển cây tại một vị trí sang cây tại vị trí tiếp

theo. Để làm điều này, tác giả xây dựng tất cả các cây có thể cho mỗi vị trí. Sau đó,

các sự kiện tái tổ hợp cần thiết để chuyển từ tất cả các cây tại một vị trí sang tất cả

các cây tại vị trí tiếp theo được tính toán. Các đồ thị ARG tối thiểu sau đó được xây

dựng bằng cách lần theo các vị trí mà có số sự kiện tái tổ hợp ít nhất. Phương pháp

này chỉ áp dụng được với tối đa 9 trình. Tuy nhiên, ý tưởng duyệt qua các cây là ý

tưởng then chốt được sử dụng cho rất nhiều thuật toán xây dựng đồ thị ARG dựa

trên thống kê sau này.

Lyngsø và cộng sự [47] sử dụng phương pháp nhánh cận (branch and bound

36

approach) và đưa ra một cải tiến về tốc độ và bộ nhớ sử dụng. Thay vì tính toán từ

trái qua phải dọc theo chuỗi trình tự, phương pháp làm việc ngược chiều thời gian,

thực hiện các sự kiện đột biến, kết hợp và tái tổ hợp cho đến khi đến một tổ tiên

chung tối ưu. Tìm kiếm phân nhánh được thực thi để khám phá tất cả các chuỗi sự

kiện có thể, cố gắng tìm một chuỗi sự kiện với một số sự kiện tái tổ hợp cho trước.

Nếu không tìm được, số sự kiện tái tổ hợp cho phép được tăng thêm một và cứ như

vậy cho đến khi một đồ thị ARG được tìm thấy. Thuật toán sử dụng một số quy tắc

để giảm kích thước của dữ liệu như: thu gọn các trình tự (các hàng) giống hệt nhau

thành một, thu gọn các cột chứa cùng một giá trị trạng thái, … Tuy nhiên, việc xác

định cận dưới (lower bound) tái tổ hợp là một việc khó vì nếu chọn nhỏ quá thì quá

trình xây dựng đồ thị sẽ phải lặp lại tốn nhiều thời gian. Hơn nữa, việc xây đồ thị

với một lượng sự kiện tái tổ hợp cho trước đòi hỏi tốn nhiều bộ nhớ để lưu giữ các

trường hợp đã thử và được đánh dấu để tiếp tục tìm các cạnh tiếp theo trong đồ thị.

Phương pháp cũng chỉ chạy được với 10 mẫu trình tự.

Gusfield và cộng sự [27] đề xuất thuật toán xây dựng một trường hợp đặc biệt của

đồ thị ARG nếu có - đồ thị ARG có nút gốc cho trước là trình tự toàn trạng thái 0

với ràng buộc tất cả các chu trình tái tổ hợp không chung nút với nhau (node-

disjoint). Khi đó, đồ thị ARG là một cây có nốt sùi (galled-tree) trong đó mọi chu

trình tái tổ hợp là các nốt sùi (gall) thỏa mãn không nốt sùi nào chung nút với nốt

sùi nào (Hình 1.15).

Tác giả đã phát triển thuật toán với thời gian O(nm + n3) để xây dựng cây có số nốt

sùi ít nhất (nếu tồn tại), tức là có ít số sự kiện tái tổ hợp nhất cho tập dữ liệu D với

nút gốc sr cho trước. Thuật toán xác định các cặp vị trí không tương thích trên tập

dữ liệu D' = D  sr, từ đó xác định các thành phần liên thông để xây dựng các gall

cho các vị trí không tương thích và kết hợp các gall vào một galled-tree. Sau đó, tác

giả đã mở rộng bài toán tìm galled-tree với nút gốc chưa biết [25].

37

Hình 1.15: Một cây có nốt sùi cho tập trình tự giống với tập trong Hình 1.10 với 2 nốt sùi

tương ứng với 2 chu trình tái tổ hợp không chung nút với nhau [27].

Chương trình SHRUB [64] xây dựng thuật toán tính cận trên tái tổ hợp Rub và đồ thị

ARG cho tập dữ liệu D sử dụng chính xác Rub sự kiện tái tổ hợp bằng cách xây

dựng đồ thị ARG lần lượt từ các nút lá. Các phép biến đổi kết hợp/thay thế các trình

tự đầu vào được tiến hành song song tương ứng với các bước xây dựng đồ thị ARG

cho đến khi đạt tới 1 nút chung duy nhất (chỉ còn lại một trình tự duy nhất qua các

phép biến đổi). Lưu ý rằng trong trường hợp cận trên tái tổ hợp Rub tìm được bằng

với cận dưới tái tổ hợp (có thể được tính sử dụng chương trình HapBound trong

cùng nghiên cứu) thì SHRUB cho ra đồ thị ARG tối thiểu, trong trường hợp còn lại

thì SHRUB sẽ cho ra đồ thị ARG hợp lý. SHRUB mở rộng để xử lý sự kiện chuyển

đổi gen với tên gọi SHRUB-GC, được mô tả trong [61]. Trong đó, thuật toán sử

dụng 2 sự kiện tái tổ hợp trao đổi chéo để biểu diễn chuyển đổi gen.

Wu và cộng sự [71,72] đưa bài toán xây dựng đồ thị ARG về bài toán tìm số trình

tự trung gian tối thiểu cần để xây dựng ARG. Thuật toán chạy được với dữ liệu hơn

một trăm trình tự độ dài khoảng 100 SNP. Trong khoảng thời gian tiếp theo, nhiều

nghiên cứu phát triển tập trung vào hướng xây dựng đồ thị ARG hợp lý dựa trên

38

thống kê. Gần đây, Cámara và cộng sự [7] đã đề xuất một kiểu đồ thị tổng hợp mới

gọi là topological ARG dựa trên khái niệm barcode trong persistent homology [9].

Tác dụng chính của topological ARG là khả năng chứa các thông tin trong thời gian

đa thức và cho phép ứng dụng được với hàng trăm trình tự. Tuy nhiên, bên cạnh

việc không hoàn toàn xây dựng đồ thị ARG đầy đủ, thuật toán cũng mới chỉ áp

dụng được với những trình tự ngắn, chưa khả thi với dữ liệu hệ gen người.

1.3.2. Các phương pháp xây dựng đồ thị ARG hợp lý

Các phương pháp tìm ARG tối thiểu chỉ áp dụng được cho các bộ dữ liệu nhỏ và độ

phức tạp tính toán lớn. Để tương tác được với dữ liệu lớn hơn, các phương pháp xây

dựng đồ thị ARG hợp lý đã được đề xuất. Theo hướng nghiên cứu này, các phương

pháp xây dựng đồ thị ARG thường theo 2 cách tiếp cận chính là dựa trên heuristic

và dựa trên thống kê.

Dựa trên ý tưởng từ thuật toán tìm ARG tối thiểu của Lyngsø và cộng sự [47],

Minichiello và Durbin đã đề xuất chiến lược mới để xác định sự kiện tái tổ hợp, đó

là sự kiện tái tổ hợp được thực hiện trên cặp trình tự có đoạn chung dài nhất [52].

Thuật toán chạy được với tập dữ liệu tối đa một nghìn trình tự có độ dài hàng trăm

SNP. Ý tưởng độ dài đoạn chung giữa 2 cá thể cũng được khai thác trong thuật toán

xây dựng đồ thị ARG hợp lý của Parida và cộng sự [55].

Một cách tiếp cận khác là lấy mẫu các ARG từ xác suất hậu nghiệm của các mô

hình xấp xỉ quá trình kết hợp với tái tổ hợp (coalescent-with-recombination – CwR)

[50]. Các thuật toán này cố gắng tích hợp quá trình kết hợp và tái tổ hợp vào các mô

hình học máy để xây dựng các cây phả hệ. Trong mô hình này, cạnh của ARG có độ

dài biểu thị thời gian trôi đi.

CwR thường được mô tả như một quá trình thống kê theo thời gian, nhưng Wiuf và

Hein [70] đã chỉ ra rằng nó có thể được thay đổi thành một quá trình toán học tương

đương dọc theo trình tự hệ gen. Không giống quá trình theo thời gian, quá trình tuần

tự (sequential process) này không phải quá trình Markov, đó là các nòi giống cho

39

các vị trí di truyền 1, …, i-1 không thể bị “quên” khi sinh ra nòi giống ở vị trí i+1

dựa trên nòi giống ở vị trí i. Tức là, nòi giống tiếp theo phụ thuộc không chỉ vào nòi

giống hiện tại mà còn phụ thuộc vào tất cả các nòi giống trước đó. Tuy nhiên,

McVean and Cardin [50] chỉ ra rằng quá trình mô phỏng mà bỏ qua một cách đơn

giản các đặc trưng không Markov của quá trình tuần tự cho ra các tập các trình tự

mà rất giống với hầu hết các khía cạnh của các trình tự được sinh ra bởi CwR đầy

đủ. Tức là, CwR bản chất hầu như là quá trình Markov theo nghĩa là các tương quan

tầm xa là yếu và có ảnh hưởng nhỏ lên dữ liệu. Nghiên cứu cũng ước lượng xấp xỉ

tới quá trình toàn cục gọi là quá trình kết hợp Markov tuần tự (sequentially Markov

coalescent - SMC).

SMC đã trở thành một hướng đầy tiềm năng cho phương pháp xấp xỉ suy luận thống

kê các ARG [31,45,48]. Chìa khóa bên trong các phương pháp này là nếu không

gian trạng thái liên tục cho chuỗi Markov (tức là tập tất cả các phả hệ có thể) được

ước lượng bởi một tập hữu hạn, không quá lớn thường bằng việc đếm các cấu trúc

liên kết cây và/hoặc thời gian rời rạc, sau đó suy luận có thể được thực hiện một

cách hiệu quả sử dụng các thuật toán đã biết cho các mô hình Markov ẩn (HMM).

Ví dụ đơn giản nhất của phương pháp này là kết hợp Markov tuần tự từng đôi của

Li và Durbin [45]. Rassamusen và cộng sự [58] đã đề xuất thuật toán ARGweaver

suy luận đồ thị ARG cho dữ liệu hàng trăm trình tự trên toàn nhiễm sắc thể bằng

việc chia nhỏ và chạy song song trên các đoạn 2Mb dữ liệu. Ý tưởng chính của

phương pháp là lấy mẫu một ARG của n trình tự với điều kiện trên một ARG của n-

1 trình tự, thao tác này gọi là “xâu chuỗi” (threading). Sử dụng phương pháp dựa

trên HMM, người ta lấy mẫu các xâu chuỗi mới một cách hiệu quả từ chính phân

phối có điều kiện mà đang quan tâm. Bằng việc lặp lại thao tác loại bỏ và xâu chuỗi

lại các trình tự cá thể, thuật toán thu được một bộ lấy mẫu Gibbs hiệu quả cho ARG.

Tài liệu kĩ thuật chi tiết hơn về thuật toán và cách dùng ARGweaver được mô tả

trong [33]. Phiên bản mở rộng của ARGweaver là ARGweaver-D đã được đề xuất

40

trong [32] để tính đến cả sự kiện phân tách (split) và di trú (migration) trong quần

thể.

Heine và cộng sự [29] mới đây đã đề xuất một thuật toán MCMC mới trong quá

trình suy luận các ARG gọi là bộ lấy mẫu MCMC bắc cầu cây (tree-bridging

MCMC sampler). Đối với mỗi đoạn gen được xác định trước, các cây kết hợp tại

các vị trí đầu và vị trí cuối được cố định trong khi một chuỗi cây mới (cây bắc cầu)

được đề xuất tại các vị trí ở giữa tương thích với dữ liệu D và các cây đầu cuối. Thủ

tục bắc cầu được thực hiện trên các đoạn gen như vậy giúp chia nhỏ bài toán suy

luận trên toàn bộ dữ liệu D, giảm độ phức tạp tính toán và phù hợp với các hệ thống

máy tính song song.

Các phương pháp theo cách tiếp cận thống kê là một hướng tiếp cận được nhiều nhà

nghiên cứu phát triển gần đây. Tuy nhiên, các phương pháp này không suy luận

được các ARG đầy đủ mà chỉ là tập các cây biên với tập các sự kiện tái tổ hợp

tương ứng. Các phương pháp này thường được dùng trong việc mô phỏng dữ liệu.

Hơn nữa, cách tiếp cận này rất phức tạp, đòi hỏi chi phí tính toán lớn. Bên cạnh đó,

việc thiết lập các tham số phù hợp cho các bộ dữ liệu khác nhau cũng là một rào cản

lớn cho người dùng nên cách tiếp cận này vẫn chưa có được những ứng dụng thực

tế trên những tập dữ liệu lớn.

1.3.3. Tổng hợp các phần mềm xây dựng đồ thị ARG

Dưới đây là bảng tổng hợp các phần mềm xây dựng đồ thị ARG tiêu biểu được

Bảng 1.1: Các phần mềm xây dựng đồ thị ARG tiêu biểu.

công khai cho cộng đồng nghiên cứu.

Tên phần mềm Địa chỉ truy cập Mô tả

Các công cụ xây dựng đồ thị ARG tối thiểu

Galledtree [27] https://csiflabs.cs.ucdavis.edu/ ~gusfield/galledtree.tar - Mã nguồn mở. - Ngôn ngữ lập trình: Python - Yêu cầu: Python phiên bản 2.

41

SHRUB [64] https://people.eecs.berkeley.e du/~yss/lu.html

- Chỉ cung cấp chương trình chạy. - Hỗ trợ chạy trên hệ điều hành MS Windows, Linux và Mac OS X.

SHRUB-GC [61] https://people.eecs.berkeley.e du/~yss/lugc.html - Phiên bản mở rộng của SHRUB khi tính đến cả sự kiện chuyển đổi gen.

- Chỉ cung cấp chương trình chạy. - Hỗ trợ chạy trên hệ điều hành

Linux và Mac OS X.

TARGet [7] https://github.com/RabadanLa b/TARGet - Mã nguồn mở - Ngôn ngữ lập trình: Python - Yêu cầu: Python phiên bản 2.7.

Các công cụ xây dựng đồ thị ARG hợp lý

Margarita [52] ftp://ftp.sanger.ac.uk/pub/reso urces/software/margarita/ - Mã nguồn mở. - Ngôn ngữ lập trình: Java.

- Mã nguồn mở. - Yêu cầu cài đặt: Trình biên dịch ARGweaver [58] https://github.com/mdrasmus/ argweaver C++ và Python.

Arbores [29] https://github.com/heinekmp/ Arbores - Mã nguồn mở. - Ngôn ngữ lập trình: C

Bacter [66] https://tgvaughan.github.io/ba cter/ - Chương trình xây dựng đồ thị ARG cho dữ liệu gen của vi khuẩn.

- Mã nguồn mở. - Ngôn ngữ lập trình: Java.

1.4. Ứng dụng ARG trong nghiên cứu tương quan toàn hệ gen

Trong nghiên cứu tương quan người bệnh - người không bệnh (case-control

association study), tần số alen tại các vị trí quan tâm được so sánh trong các quần

thể gồm các cá thể bị bệnh và các cá thể không bị bệnh. Tần số trong người bị bệnh

mà cao hơn là minh chứng cho alen đó liên quan đến nguy cơ gây bệnh tăng lên.

Bằng việc phân tích trên dữ liệu SNP haplotype, phân tích sự phân biệt của các alen

SNP giữa các quần thể người bệnh và người không bệnh ta có thể xác định được các

vị trí có liên quan một cách thống kê tới bệnh.

42

Có rất nhiều phương pháp khác nhau cho bài toán nghiên cứu vùng gen liên quan

đến bệnh quan tâm như phương pháp kiểm thử sự liên đới áp dụng cho từng vị trí

[16,56]; phương pháp dựa trên sự kết hợp thông qua bảng phả hệ [73]; phương pháp

phân cụm haplotype [18]. Trong phần này, chúng tôi giới thiệu cách tiếp cận sử

dụng bảng phả hệ dưới dạng đồ thị ARG cho bài toán tìm vùng gen liên quan đến

bệnh quan tâm.

Theo đúng lịch sử, đồ thị ARG đúng tạo ra các trình tự quan sát sẽ cho thấy các vị

trí (cả về vị trí trong bộ gen và thời điểm xảy ra) của tất cả các đột biến và tái tổ

hợp, và do đó, nó cho thấy rõ ràng các đoạn có trong người bệnh nhưng không có

trong người khỏe mạnh. Do đó, xây dựng được ARG đúng theo lịch sử di truyền

góp phần quan trọng trong các nghiên cứu tương quan toàn hệ gen.

Di chuyển dọc theo nhiễm sắc thể, các hình thái của các cây biên liên tiếp nhau dịch

chuyển theo tác động của các sự kiện tái tổ hợp mang tính lịch sử. Các sự kiện tái tổ

hợp định nghĩa vùng nhiễm sắc thể mà mỗi cây biên mở rộng. Với một vị trí cho

trước, cây biên có thể được trích xuất từ ARG bằng cách lần vết phả hệ của vị trí đó

ngược chiều thời gian từ các nút lá. Khi một tái tổ hợp xuất hiện, phả hệ sẽ theo

đường của thế hệ cha mẹ phía bên trái nếu điểm cắt tái tổ hợp nằm phía phải của vị

trí được xét, và ngược lại thì đi theo thế hệ cha mẹ phía bên phải.

Nếu có một đột biến nguy cơ gây bệnh tại một vị trí cụ thể trên nhiễm sắc thể (giả

sử đột biến chỉ xuất hiện nhiều nhất một lần tại mỗi vị trí trong suốt lịch sử tiến

hóa), nó sẽ xảy ra trên một số nhánh bên trong cây biên tại vị trí đó. Vì vậy, một

cách để tìm các tương quan đến bệnh là kiểm tra các cây biên để tìm những cây có

nhánh phân biệt rõ nhất giữa người bệnh và người không bệnh, tức là các nhánh mà

ở đấy nhiều người bệnh và chỉ số rất ít hoặc không có người không bệnh thuộc

nhánh đó. Cụm các người bệnh tập trung vào một nhánh như vậy sẽ gợi ý rằng có

một đột biến gây bệnh xuất hiện trên nhánh đó (Hình 1.16).

43

Hình 1.16: (a) Đồ thị ARG cho tập 4 trình tự, trong đó trình tự s1, s2 là từ 2 cá thể khỏe

mạnh, trình từ s3, s4 là từ 2 cá thể bị bệnh. (b) Đột biến 3 (vùng khoanh tròn) trên cây biên

tại vị trí 3 của đồ thị ARG trong (a) cho ra sự phân biệt rõ nhất giữa các trình tự bệnh và

trình tự không bệnh.

Một lưu ý rằng cây biên T có thể được xác định tại một vị trí SNP hoặc là cho tất cả

các vị trí trong một khoảng IT của các vị trí SNP liên tiếp nhau. Và điểm bắt đầu và

kết thúc chính xác của khoảng vị trí vật lý mà một đột biến xuất hiện thì ta không

thể biết vì ta chỉ biết cây biên tại vị trí SNP và điểm cắt tái tổ hợp có thể xuất hiện

giữa 2 vị trí SNP liên tiếp nhau.

Cách làm ánh xạ tương quan sử dụng đồ thị ARG được tóm tắt như sau:

1. Với một tập D các haplotype từ các cá thể người bệnh và người không bệnh,

xây dựng đồ thị ARG G cho D sử dụng thuật toán xây dựng đồ thị ARG.

2. Tìm tập các cây biên T của G tại các vị trí của D.

3. Các cạnh e trong cây T  T được tính điểm độ tốt trong việc phân biệt các lá

44

gán nhãn bệnh với các lá gán nhãn không bệnh. Sau đó, cạnh e với điểm cao

nhất được thiết lập cho T.

4. Đặt T là cây biên trong T có độ tương quan lớn nhất, tức là chứa cạnh e với độ

phân biệt lớn nhất giữa nhãn bệnh và nhãn không bệnh trong tất cả các cạnh

trong tất cả các cây biên trong T. Nếu T đủ tốt (đạt một ngưỡng cho trước), kết

luận là đột biến gây bệnh có khả năng xảy ra quanh vị trí cây biên T và đột biến

xuất hiện có thể xảy ra trong thời gian được biểu thị bởi cạnh e được tìm thấy

trong T.

1.5. Kết luận chương

Đồ thị tái tổ hợp di truyền là một loại mạng phân loài mô hình hóa quan hệ tiến hóa

của một tập trình tự quan sát trong một quần thể thông qua 3 sự kiện: kết hợp, tái tổ

hợp và đột biến. Trong đó, sự kiện tái tổ hợp là sự kiện sinh học quan trọng tạo ra

đa dạng hệ gen và là trọng tâm nghiên cứu trong đồ thị ARG.

Xây dựng được đồ thị ARG đầy đủ giúp ta có cái nhìn tổng quan về quần thể quan

sát, các đặc điểm và quan hệ di truyền giữa các cá thể trong quần thể, từ đó có thể

trả lời các câu hỏi liên quan đến lịch sử tiến hóa, dấu hiệu chọn lọc tự nhiên, … qua

các thế hệ đến quần thể hiện tại. Đặc biệt, đồ thị ARG là công cụ hỗ trợ đắc lực

trong các nghiên cứu tương quan (GWAS) nhằm xác định các vùng gen liên quan

đến bệnh.

Trong quá trình tái cấu trúc lại tổ tiên của tập trình tự quan sát, tức là xây dựng đồ

thị ARG, số sự kiện tái tổ hợp và sự kiện đột biến cũng như vị trí thực sự xảy ra của

chúng trong quá trình tiến hóa là không thể xác định được. Quan nghiên cứu dữ liệu

thực tế cho thấy, khả năng xảy ra đột biến 2 lần tại một vị trí là rất thấp. Vì vậy, các

phương pháp xây dựng đồ thị ARG hướng tới hàm mục tiêu tối ưu số sự kiện tái tổ

hợp với giả định chỉ có nhiều nhất một sự kiện đột biến có thể xảy ra tại mỗi vị trí

trong suốt lịch sử tiến hóa.

45

Có hai hướng nghiên cứu là xây dựng đồ thị ARG tối thiểu, tức là, đồ thị có chính

xác số sự kiện tái tổ hợp ít nhất, và xây dựng đồ thị ARG hợp lý, có số sự kiện tái tổ

hợp phụ thuộc vào cách mô hình hóa sự kiện tái tổ hợp của các thuật toán. Trong

đó, hướng nghiên cứu xây dựng đồ thị ARG tối thiểu chỉ giới hạn ở các tập dữ liệu

nhỏ. Hướng nghiên cứu xây dựng đồ thị ARG hợp lý có thể áp dụng được với các

tập dữ liệu lớn hơn nhưng vẫn chưa có thuật toán nào thực sự hiệu quả với các bộ

dữ liệu hàng nghìn hệ gen người.

Ngày nay, những thành tựu trong công nghệ giải trình tự gen thế hệ mới, sự phát

triển và ngày càng hoàn thiện của các thư viện đặc tả biến dị di truyền trong quần

thể người đã tạo tiền đề cho các nghiên cứu trên toàn hệ gen. Để có thể ứng dụng

được vào các nghiên cứu về biến thể di truyền liên quan đến bệnh ở người một cách

hiệu quả, các phương pháp phải có khả năng tính toán được trên dữ liệu liên quan

đến hàng nghìn hệ gen. Do đó, luận án hướng tới mục tiêu phát triển thuật toán xây

dựng đồ thị ARG có khả năng chạy được với hàng nghìn hệ gen người.

46

Chương 2. THUẬT TOÁN ARG4WG XÂY DỰNG ĐỒ THỊ

TÁI TỔ HỢP DI TRUYỀN HỢP LÝ CHO DỮ LIỆU HỆ GEN

2.1. Giới thiệu

Khảo sát trên các phương pháp tìm ARG hợp lý cho thấy cách tiếp cận dựa trên

heuristic của Minichiello và Durbin khả thi với tập dữ liệu một nghìn trình tự có độ

dài hàng trăm SNP. Đồng thời, thuật toán Margarita của Minichiello và Durbin đã

có những ứng dụng vào một số bài toán thực tế [44,52]. Do đó, luận án tập trung

nghiên cứu theo hướng tiếp cận này, phân tích và tìm ra nguyên nhân dẫn tới hạn

chế cho dữ liệu lớn hơn của thuật toán, từ đó đưa ra thuật toán đề xuất.

Phần 2.1.1 sẽ giới thiệu về các định nghĩa được sử dụng trong thuật toán Margarita

và cũng được sử dụng trong thuật toán đề xuất. Phần 2.1.2 trình bày về thuật toán

Margarita đồng thời đưa ra hạn chế của Margarita trong việc xử lý dữ liệu lớn.

2.1.1. Các định nghĩa

Đặt “*” là trạng thái không xác định (vị trí không được thừa kế giá trị từ bất kì trình

tự nào) trong các nút trong của đồ thị ARG.

Định nghĩa S1[i] khớp với S2[i] nếu hoặc cả 2 trình tự có cùng trạng thái hoặc trạng

thái của ít nhất một trong 2 trình tự là *, tức là, S1[i] khớp với S2[i] khi và chỉ khi

S1[i] = S2[i] hoặc S1[i] = * hoặc S2[i] = *.

Một toán tử bù, ¬, được định nghĩa để nếu S[i] = 0 thì ¬S[i] = 1 và ngược lại, và *

là phần bù của chính nó.

Một trình tự S1 được coi là dài hơn trình tự S2 (L(S1) > L(S2)) nếu S1 chứa nhiều vật

liệu di truyền hơn S2. Ta cũng định nghĩa (L(S1) > L(S2))[a,b] nếu S1 dài hơn S2

trong đoạn [a,b].

47

2.1.2. Thuật toán Margarita xây dựng đồ thị ARG

Ý tưởng then chốt của thuật toán Margarita là định nghĩa đoạn chung giữa các cặp

trình tự và sử dụng đoạn chung dài nhất cho bước tái tổ hợp trong quá trình xây

dựng đồ thị ARG.

Thuật toán định nghĩa có một đoạn chung giữa trình tự S1 và S2 trên một đoạn liên

tục từ vị trí a đến vị trí b nếu:

1. S1[i] khớp với S2[i] với mọi a ≤ i ≤ b;

2. Tồn tại ít nhất 1 vị trí i mà S1[i] = S2[i] ≠ *;

3. Nếu a > 1 thì S1[a-1] ≠ S2[a-1];

4. Nếu b < m thì S1[b+1] ≠ S2[b+1].

Điều kiện thứ (1) yêu cầu 2 trình tự có cùng trạng thái hoặc trạng thái của ít nhất

một trong 2 trình tự là * trên đoạn chung; điều kiện thứ (2) yêu cầu rằng có ít nhất

một vị trí trong đoạn chung mà cả 2 trình tự đều có giá trị xác định; điều kiện thứ

(3) và (4) yêu cầu rằng đoạn chung đó là cực đại.

Để xây dựng đồ thị ARG, thuật toán Margarita tính ngược chiều thời gian, bắt đầu

từ một tập các trình tự quan sát cho đến khi đến được một tổ tiên chung duy nhất.

Lưu đồ thuật toán được biểu diễn như Hình 2.1. Các bước của thuật toán được diễn

giải như sau:

Bước 1: Margarita tìm các cặp trình tự S1 và S2 thỏa mãn S1[i] khớp với S2[i] với

mọi 1 ≤ i ≤ m, chọn ngẫu nhiên ra một cặp trong số đó và thực hiện kết hợp 2 trình

tự đó thành một trình tự cha. Quá trình này được lặp lại đến khi không thể thực hiện

sự kiện kết hợp nào được nữa, thuật toán chuyển sang Bước 2.

Bước 2: Các sự kiện đột biến sẽ được xét đến. Thuật toán tìm các vị trí đột biến, là

các vị trí tại đó tồn tại duy nhất một trình tự có giá trị bằng 1 trong khi các trình tự

khác có giá trị bằng 0 hoặc ngược lại. Thuật toán sẽ thay đổi giá trị tại các vị trí đột

48

biến này, và quay lại bước 1. Nếu không có sự kiện đột biến thì thuật toán chuyển

Hình 2.1: Lưu đồ thuật toán Margarita.

sang Bước 3.

Bước 3: Thực hiện tái tổ hợp với chiến lược được mô tả như bên dưới. Sau đó quay

lại bước 1. Nếu không thực hiện được tái tổ hợp thì thuật toán kết thúc và đạt đến

một tổ tiên chung duy nhất SMCA.

Trong bước tái tổ hợp, Margarita thực hiện tái tổ hợp trên cặp trình tự chứa đoạn

chung liên tục dài nhất (đoạn chung dài nhất - longest shared tract) với xác suất 0.9

và thực hiện tái tổ hợp trên một cặp trình tự chứa đoạn chung bất kì với xác suất

0.1. Thuật toán thực hiện tái tổ hợp trên một trong 2 trình tự, phân tách trình tự đó

ra để có được trình tự con chứa đoạn chung để thực hiện kết hợp với trình tự còn lại.

Bài toán tìm xâu con chung dài nhất giữa 2 xâu cùng độ dài m đã được chứng minh

có độ phức tạp O(m2) nếu sử dụng quy hoạch động và có độ phức tạp O(2m) nếu sử

49

dụng cây hậu tố tổng quát (generalized suffix tree) [24]. Trong bài báo, Margarita

không công bố cụ thể thuật toán tìm đoạn chung dài nhất. Vì vậy, Margarita sẽ cần

duyệt qua 2m vị trí để tìm đoạn con chung dài nhất giữa 2 trình tự độ dài m.

Đáng chú ý, nếu đoạn chung được tìm thấy nằm bên trong trình tự, Margarita sẽ

phải thực hiện 2 sự kiện tái tổ hợp, sinh ra 3 trình tự con từ 1 trình tự để có được

trình tự chỉ chứa đoạn chung để thực hiện kết hợp với trình tự còn lại (Hình 2.2).

Chiến lược này gây ra sự bùng nổ về số nút trong quá trình xây dựng đồ thị khi

đoạn chung dài nhất luôn được tìm thấy bên trong trình tự. Điều này dẫn đến thuật

Hình 2.2: Vấn đề trong việc thực hiện sự kiện tái tổ hợp của Margarita. Hai trình tự S1 và

S2 với đoạn chung dài nhất giữa hai trình tự được biểu diễn bằng đoạn màu đen. Thuật toán

thực hiện lần lượt 2 sự kiện tái tổ hợp R1 và R2 trên trình tự S1 để sinh ra 3 trình tự con S11,

S12 và S13. Sau đó, trình tự con chứa đoạn chung dài nhất S13 sẽ được kết hợp với S2. Vì

vậy, khi đoạn chung dài nhất được tìm thấy bên trong trình tự, thuật toán phải thực hiện 2

sự kiện tái tổ hợp trên một trình tự và từ 2 trình tự ban đầu (S1 và S2) sẽ thành 3 trình tự ở

thế hệ tiếp theo (S11, S12 và S' (S' = S2)).

toán không thể chạy được với số lượng lớn trình tự trên cả nhiễm sắc thể.

50

2.2. Thuật toán ARG4WG

2.2.1. Chiến lược tìm đoạn đầu chung dài nhất

Cho trước một tập trình tự D và một trình tự s, ta sẽ chứng minh mệnh đề rằng số

cực tiểu sự kiện tái tổ hợp để tách s thành các trình tự con mà kết hợp được với các

trình tự trong D có thể đạt được bằng cách lặp lại việc lấy đoạn chung dài nhất từ

một phía của s.

Mệnh đề 1 dưới đây được phát biểu và chứng minh với trường hợp lặp lại việc lấy

đoạn chung dài nhất từ phía trái của s. Ta có thể chứng minh tương tự với phía bên

phải. Phần tiếp theo sẽ đưa ra một ví dụ chỉ ra rằng chiến lược lấy đoạn chung dài

nhất bên trong trình tự không phải luôn cho ta số sự kiện tái tổ hợp ít nhất.

Mệnh đề 1: Cho một tập các trình tự trong D, và 1 trình tự s có cùng độ dài m. Số

cực tiểu sự kiện tái tổ hợp, , để tách s thành các trình tự con mà có thể kết

hợp với các trình tự trong D có thể đạt được bằng cách lặp lại việc lấy các đoạn

chung dài nhất từ phía trái của s.

Chứng minh Mệnh đề 1:

nếu s có thể kết hợp với một trình tự trong D.

nếu s có thể được biểu diễn thành trong đó và có thể kết

hợp với các trình tự trong D.

Ngoài ra, đặt trong đó và có thể kết hợp với các trình tự

trong D. có thể được viết dưới dạng:

(1)

51

Đặt trong đó là đoạn dài nhất phía bên trái của s mà có thể kết hợp

với một trình tự trong D. Như vậy, tất cả các trình tự con từ phía bên trái của s mà

có thể kết hợp với 1 trình tự trong D là một tập con của .

Chúng ta sẽ chứng minh rằng:

Đặt là phần bù của là giải pháp tối ưu của phương trình (1) và

Hình 2.3: Tất cả các trình tự con từ phía bên trái của s mà có thể kết hợp với một trình tự

trong D là một tập con của đoạn bên trái dài nhất của s (

).

trong , .

Rõ ràng là là một chuỗi con của vì là một chuỗi con của . Do đó, nếu

có thể kết hợp với một trình tự h trong D thì

có thể kết hợp với h (xem Hình

2.3). Điều này dẫn tới:

52

Nói cách khác, chúng ta có thể có được cực tiểu số sự kiện tái tổ hợp để tách s thành

các trình tự con mà kết hợp được với các trình tự trong D bằng cách lặp lại việc lấy

ra các đoạn chung dài nhất từ phía bên trái của s. Chứng minh tương tự với trường

hợp lấy từ phía bên phải.

Tuy nhiên, điều này là không đúng nếu chúng ta không chọn các đoạn chung dài

nhất từ hai phía của s. Hình 2.4 mô tả giải pháp tối ưu mà chỉ cần một sự kiện tái tổ

hợp (xem Kịch bản A). Tuy nhiên, nếu ta chọn đoạn chung dài nhất không phải từ 2

phía của s (ở đây là chọn đoạn chung dài nhất trong s) thì ta phải cần đến 2 sự kiện

Hình 2.4: Phân tách s bằng cách chọn các đoạn chung dài nhất trong s để kết hợp với các

trình tự trong D có thể không dẫn tới số cực tiểu sự kiện tái tổ hợp.

tái tổ hợp (Kịch bản B).

Từ mệnh đề trên, luận án định nghĩa đoạn đầu chung dài nhất (longest shared end)

là đoạn chứa thông tin di truyền giống nhau liên tục dài nhất tính từ 2 đầu của các

53

trình tự. Từ đó, luận án đề xuất thuật toán ARG4WG sử dụng chiến lược tìm cặp

trình tự có đoạn đầu chung dài nhất cho bước tái tổ hợp. Thuật toán cần duyệt

(lR+lL) vị trí (với lR là độ dài đoạn đầu chung dài nhất từ phía bên phải, lL là độ dài

đoạn đầu chung dài nhất từ phía bên trái, 0 ≤ lL,lR ≤ m) để tìm ra đoạn đầu chung dài

nhất giữa 1 cặp trình tự. Chiến lược thực hiện tái tổ hợp sử dụng đoạn đầu chung dài

nhất này giúp thuật toán ARG4WG luôn đảm bảo số nút được ổn định sau mỗi bước

tái tổ hợp (minh họa trong Hình 2.5) và thuật toán ARG4WG có thể chạy được với

dữ liệu lớn hàng nghìn trình tự độ dài hệ gen trong thời gian hợp lý.

2.2.2. Thuật toán ARG4WG

Tương tự thuật toán Margarita, ARG4WG được xây dựng ngược chiều thời gian, từ

một tập các trình tự cho tới khi đạt tới một tổ tiên chung duy nhất. ARG4WG gồm 3

bước chính: bước kết hợp, bước đột biến và bước tái tổ hợp. Lưu đồ thuật toán

giống với Margarita như trong Hình 2.1.

Bước kết hợp và bước đột biến được thực hiện tương tự như trong thuật toán

Margarita. Trong bước tái tổ hợp, thuật toán ARG4WG định nghĩa đoạn đầu chung

dài nhất là đoạn chứa chung phần vật liệu di truyền liên tục nhiều nhất tính từ phía

bên trái hoặc phía bên phải của 2 trình tự.

Thuật toán sẽ chọn một cặp trình tự có đoạn đầu chung dài nhất để thực hiện bước

tái tổ hợp. Trong 2 trình tự được chọn, thuật toán thực hiện một sự kiện tái tổ hợp

bằng việc tách một trình tự thành 2 trình tự con mới, trình tự con chứa đoạn chung

sẽ được kết hợp với trình tự còn lại ngay sau đó (xem Hình 2.5). Như vậy, sự kiện

tái tổ hợp được thực hiện theo chiến lược này chỉ thay thế một trình tự bằng một

trình tự mới có ít vật liệu di truyền hơn. Điều này luôn đảm bảo số nút trong đồ thị

được ổn định (luôn có xu hướng giảm) trong suốt quá trình xây dựng đồ thị ARG.

Chi tiết thuật toán ARG4WG được trình bày trong phần dưới đây.

54

Hình 2.5: Sự kiện tái tổ hợp được biểu thị trong thuật toán ARG4WG. (a) Xét 2 trình tự S1

và S2, các đoạn đầu chung của 2 trình tự từ phía bên trái (hình lượn sóng) và từ phía bên

phải (màu đen) được xác định. (b) Với 1 tập 3 trình tự S1, S2 và S3, các đoạn đầu chung của

mỗi cặp được tính toán (hình lượn sóng) và đoạn đầu chung dài nhất được xác định được

mô tả bằng đoạn màu đen giữa trình tự S1 và S2. (c) Một sự kiện tái tổ hợp được thực hiện

trên trình tự S1 để sinh ra 2 trình tự con S11 và S12. S12 chứa đoạn đầu chung dài nhất sau đó

sẽ được kết hợp với S2. Như vậy, ARG4WG luôn chỉ thực hiện 1 tái tổ hợp trên 1 trình tự

và từ 2 trình tự ban đầu (S1, S2) sẽ thành 2 trình tự ở thế hệ tiếp theo (S11, S’), trong đó S’ =

S2 và S11 có ít vật liệu di truyền hơn S1.

55

Với một cặp (S1, S2), đặt (S1, S2){d} là đoạn đầu chung của chúng. Cụ thể, (S1,

S2){d=left} là phần chung của đầu bên trái của (S1, S2); (S1, S2){d=right} là phần

chung của đầu bên phải của (S1, S2).

Định nghĩa cặp có đoạn đầu chung cực đại (S1,S2){d,l} với độ dài đoạn chung l (0 <

l ≤ m) của S1 và S2 nếu nó thỏa mãn các điều kiện sau:

1. Nếu d = left thì S1[i] khớp với S2[i] với mọi 1  i  l và hoặc l = m hoặc

S1[l+1] không giống S2[l+1].

2. Nếu d = right thì S1[i] khớp với S2[i] với mọi m-l  i  m và hoặc l = m hoặc

S1[m-l] không giống S2[m-l].

3. Vùng giống nhau phải có ít nhất một vị trí i mà S1[i] = S2[i]  *.

Điều kiện đầu tiên và thứ 2 xác định rằng đoạn đầu chung liên tục của 2 trình tự là

cực đại. Điều kiện thứ 3 nhấn mạnh rằng đoạn đầu chung giữa 2 trình tự có chung ít

nhất một vị trí mang giá trị xác định. Điều này làm giảm số các nhánh dư thừa trong

quá trình xây dựng ARG [50,52].

Xét cặp trình tự (S1,S2) có các đoạn đầu chung cực đại từ phía bên trái và từ phía

bên phải tương ứng là lL và lR. Nếu đoạn đầu chung cực đại từ phía bên phải chứa

nhiều phần vật liệu di truyền chung hơn đoạn đầu chung cực đại từ phía bên trái thì

lR được xác định là đoạn đầu chung dài nhất của cặp trình tự (S1,S2).

Xét ví dụ như hình trên đây, cặp trình tự (S1, S2) có lR = 4, lL = 5, tuy nhiên lR chứa

nhiều phần vật liệu di truyền chung hơn (3 vị trí có giá trị xác định) so với lL (2 vị

trí có giá trị xác định) nên cặp trình tự (S1, S2) được xác định có đoạn đầu chung dài

nhất là từ phía bên phải.

56

Với 1 cặp trình tự được chọn cho bước tái tổ hợp, trình tự chứa ít vật liệu di truyền

trong phần đoạn đầu chung hơn sẽ được chọn để thực hiện tái tổ hợp. Điều kiện này

nhằm đảm bảo sự kiện tái tổ hợp chỉ thay thế một trình tự bằng một trình tự con của

trình tự ở thế hệ trước đó, không phát sinh trình tự khác, giúp đảm bảo quá trình

tính toán ổn định của thuật toán.

Xét cặp trình tự (S1, S2) như trên, đoạn đầu chung dài nhất được xác định là từ phía

bên phải lr = 4. Trong đó, S2 có ít vật liệu di truyền trong đoạn chung hơn (3 giá trị

xác định) so với trình tự S1 (4 giá trị xác định). Do đó, S2 sẽ được chọn để thực hiện

tái tổ hợp. Sau bước tái tổ hợp, S2 được phân tách thành 2 trình tự S21 =

100000001**** và S22 = *********011*. S22 chứa phần đoạn chung sẽ được kết

hợp với S1 và sinh ra trình tự S' = S1. Như vậy, sau bước tái tổ hợp và thực hiện 1

kết hợp, từ 2 trình tự S1 và S2 sẽ thu được 2 trình tự S' = S1 và S21 chứa ít vật liệu di

truyền hơn S2. Trong khi nếu ta chọn thực hiện tái tổ hợp trên S1 thì ta sẽ được 2

trình tự con S11 = ***001000**** và S12 = *********0110. S12 chứa phần đoạn

chung sẽ được kết hợp với S2 và sinh ra một trình tự mới S' = 1000000010110. Như

vậy, sau bước tái tổ hợp và thực hiện 1 kết hợp sẽ sinh ra trình tự S11 chứa ít vật liệu

di truyền hơn S1 và một trình tự mới S' là sự kết hợp của trình tự S2 và trình tự S12.

Điều này làm tăng độ phức tạp tính toán của thuật toán.

Thuật toán bắt đầu từ thời gian t = 1. Tập các trình tự tại thời gian t được ký hiệu là

Dt (D1 = D). Với mỗi Dt, 3 danh sách ứng cử viên cho các sự kiện kết hợp, đột biến

và tái tổ hợp được xây dựng như sau:

• Danh sách kết hợp C: Với một cặp có đoạn đầu chung dài nhất (S1,S2){d,l},

nếu l = m, ta cho cặp này vào danh sách kết hợp.

• Danh sách đột biến M: Với một vị trí i (1 ≤ i ≤ m), nếu tồn tại duy nhất một

trình tự S1, và với mọi trình tự S2 trong Dt╲{S1} ta có S2[i] = ¬S1[i] thì S1[i]

được cho vào danh sách đột biến.

• Danh sách tái tổ hợp R: Với một cặp có đoạn đầu chung dài nhất

(S1,S2){d,l}, nếu 0 < l < m, (S1,S2){d,l} được cho vào danh sách tái tổ hợp.

57

Khi một trong ba sự kiện xuất hiện, tập trình tự tiếp theo Dt+1 được tạo ra từ tập

trình tự hiện thời Dt và 3 danh sách ứng cử viên được cập nhật.

• Nếu một sự kiện kết hợp xảy ra giữa 2 trình tự S1 và S2 thì 2 trình tự S1 và S2

được hợp lại thành một tổ tiên chung S’. Loại bỏ S1 và S2 từ tập trình tự Dt;

và thêm trình tự S’ vào Dt+1.

• Nếu một sự kiện đột biến xảy ra trên trình tự S thì một trình tự mới S’ được

tạo ra từ trình tự S với điểm đột biến. Thay thế trình tự S bằng trình tự mới S’

trong Dt+1.

• Nếu một sự kiện tái tổ hợp xảy ra trên trình tự S1, trình tự S1 sẽ được tách ra

thành 2 trình tự con mới S11, S12. Thay thế S1 bằng 2 trình tự con mới đó

trong Dt+1.

Thuật toán được mô tả đầy đủ trong Thuật toán 2.1 với các quy tắc sau:

• Quy tắc 1: Thứ tự ưu tiên thực hiện các sự kiện là kết hợp, đột biến và cuối

cùng là tái tổ hợp. Các thao tác giúp giảm số trình tự có thứ tự ưu tiên lớn

hơn nhằm giúp cho quá trình xây dựng đồ thị nhanh hội tụ.

58

• Quy tắc 2: Nếu có nhiều hơn một ứng cử viên trong danh sách kết hợp, lấy

ngẫu nhiên một ứng cử viên trong danh sách đó để thực hiện kết hợp.

• Quy tắc 3: Nếu có nhiều hơn 1 ứng cử viên trong danh sách đột biến, một

ứng cử viên được lấy ngẫu nhiên để thực hiện đột biến. Lưu ý rằng thuật toán

chỉ thực hiện sự kiện đột biến duy nhất một lần tại mỗi vị trí trong suốt quá

trình xây dựng đồ thị.

• Quy tắc 4: Nếu một sự kiện tái tổ hợp cần được thực hiện, một cặp trình tự

có đoạn đầu chung dài nhất sẽ được chọn để thực hiện tái tổ hợp. Nếu có hơn

một ứng cử viên có cùng độ dài đoạn đầu chung dài nhất, một trong số đó sẽ

được chọn một cách ngẫu nhiên.

• Quy tắc 5: Với 1 cặp trình tự được chọn cho bước tái tổ hợp, trình tự chứa ít

vật liệu di truyền trong phần đoạn đầu chung hơn sẽ được chọn để thực hiện

tái tổ hợp. Sau bước tái tổ hợp, trình tự con chứa phần đoạn đầu chung dài

nhất sẽ được thực hiện kết hợp với trình tự còn lại ngay sau đó. Điều này

đảm bảo cho sự kiện tái tổ hợp chỉ thay thế một trình tự bằng một trình tự

mới có ít vật liệu di truyền hơn trong thế hệ tiếp theo.

Thuật toán ARG4WG

ĐẦU VÀO: Tập dữ liệu D = {S1, …, SN} trình tự (các haplotype) độ dài m, Sx[i] có giá trị bằng 0 hoặc 1, 1 ≤ x ≤ N, 1 ≤ i ≤ m.

ĐẦU RA: một đồ thị ARG mô tả các mối quan hệ (các sự kiện kết hợp, đột biến, tái tổ hợp) giữa các

nút (các trình tự) trong đồ thị đến một tổ tiên chung gần nhất SSCA.

BEGIN

t = 1; Dt = D;

Gán danh sách kết hợp C = {tất cả các cặp (Sx,Sy){d,l} (1 ≤ x, y ≤ N) có l = m}; Gán danh sách đột biến M = {tất cả các trình tự chứa các vị trí đột biến đơn}; Gán danh sách tái tổ hợp R = {tất cả các cặp (Sx,Sy){d,l} (1 ≤ x, y ≤ N) có 0 < l < m }; while chưa đạt tới một tổ tiên chung duy nhất do

if (danh sách kết hợp C không rỗng) then

Lấy ngẫu nhiên một cặp trình tự có đoạn đầu chung (S1,S2);

59

Thực hiện kết hợp như sau:

Gán S’ = S1 nếu L(S1) > L(S2); ngược lại S’ = S2;

Dt+1 = (Dt\{S1,S2}) ∪ {S’};

Cập nhật 3 danh sách C, M, R;

else

if (danh sách đột biến M không rỗng) then

Lấy ngẫu nhiên một trình tự S với một đột biến tại vị trí i;

Thực hiện sự kiện đột biến như sau:

Dt+1 = (Dt\{S})∪{S’} với S’[i] = S[i] và S’[j] = S[j] với mọi j ≠ i và 1 ≤ i,j ≤ m

Cập nhật 3 danh sách C, M, R;

else

Lấy cặp trình tự có đoạn đầu chung dài nhất (S1,S2){d,l} từ danh sách tái tổ hợp;

Thực hiện tái tổ hợp như sau:

if d = left then // đoạn đầu chung dài nhất của (S1, S2) là từ đầu phía bên trái

Gán SR = S1 nếu (L(S1) < L(S2))[1,l]; ngược lại SR = S2;

SR1[i] = SR[i] với mọi 1 ≤ i ≤ l; SR1[j] = * với mọi l < j ≤ m

SR2[i] = * với mọi 1 ≤ i ≤ l; SR2[j] = SR[j] với mọi l < j ≤ m

else //d = right

Gán SR = S1 nếu (L(S1) < L(S2))[m-l+1,m]; ngược lại SR = S2;

SR1[i] = * với mọi 1 ≤ i ≤ m-l; SR1[j] = SR[j] với mọi m-l < j ≤ m

SR2[i] = SR[i] với mọi 1 ≤ i ≤ m-l; SR2[j] = * với mọi m-l < j ≤ m

endif

Dt+1 = (Dt\{SR}) ∪ {SR1,SR2};

Cập nhật 3 danh sách C, M, R;

endif

endif

endwhile

END;

Thuật toán 2.1: Thuật toán ARG4WG xây dựng một ARG từ một tập trình tự D cho trước.

Như vậy, một sự kiện kết hợp làm giảm số lượng trình tự đi một. Một sự kiện đột

biến chỉ làm thay đổi giá trị tại 1 vị trí của 1 trình tự, không làm tăng số lượng trình

60

tự. Một sự kiện tái tổ hợp chỉ thay thế một trình tự bằng một trình tự mới có ít vật

liệu di truyền hơn con của nó. Chính vì vậy, ARG4WG luôn đạt tới được một tổ

tiên chung duy nhất. Những lựa chọn ngẫu nhiên trong các bước của thuật toán dẫn

tới việc sinh ra các đồ thị ARG khác nhau cho mỗi lần chạy.

2.3. Kết quả thực nghiệm

Thuật toán ARG4WG được cài đặt sử dụng ngôn ngữ C++, có khả năng xử lý đa

luồng. Mã nguồn của thuật toán có thể được truy cập tại địa chỉ:

https://github.com/thaontp711/arg4wg.

Do các phương pháp khác không khả thi cho các tập dữ liệu lớn nên ARG4WG

được tiến hành thực nghiệm và so sánh với thuật toán Margarita. Các thực nghiệm

được tiến hành trên hệ thống Rocks Cluster của Trung tâm tin học và tính toán, Viện

Hàn lâm khoa học và công nghệ Việt Nam với cấu hình CPU 2600 MHz x 24 lõi,

RAM 32GB, HDD 1TB. Lưu ý rằng các thực nghiệm so sánh ARG4WG với

Margarita được tiến hành trên cùng hệ thống máy tính và ARG4WG không chạy đa

luồng.

Đầu tiên, các so sánh về thời gian chạy và số sự kiện tái tổ hợp của các ARG được

xây dựng sử dụng Margarita và ARG4WG được tiến hành trên các tập dữ liệu thật,

là các tập dữ liệu SNP haplotype gồm hàng nghìn trình tự và hàng nghìn đến chục

nghìn SNP được trích xuất từ dự án 1000 hệ gen người (1kGP). Tiếp theo, hình thái

cây được sinh ra từ 2 thuật toán được so sánh trên các tập dữ liệu mô phỏng (sử

dụng các chương trình máy tính để tạo dữ liệu).

2.3.1. Các kết quả trên dữ liệu thật

Thời gian chạy và số sự kiện tái tổ hợp của 2 thuật toán ARG4WG và Margarita

được so sánh trên 3 tập dữ liệu trích xuất từ dự án 1000 hệ gen người (1kGP) [12]

gồm 500, 1000, và 2000 trình tự với 1000, 2000, 5000, và 10000 SNP. Với mỗi cấu

hình, chúng tôi thực hiện 3 thực nghiệm khác nhau, mỗi thực nghiệm tương ứng với

61

một ARG trên 1 vùng khác nhau của nhiễm sắc thể 1. Tổng hợp dữ liệu thử nghiệm

Bảng 2.1: Tập dữ liệu trích xuất từ dự án 1000 hệ gen người.

được mô tả trong Bảng 2.1.

Tập dữ

Số thử

Số trình

Số SNP

liệu

nghiệm

tự

1

12

500

{1000, 2000, 5000, 10000}

2

12

1000

{1000, 2000, 5000, 10000}

3

12

2000

{1000, 2000, 5000, 10000}

Trung bình thời gian chạy và số sự kiện tái tổ hợp được tính toán cho mỗi cấu hình.

Do thuật toán Margarita sử dụng xác suất 0.9 cho việc chọn đoạn chung dài nhất và

0.1 cho việc chọn đoạn chung có độ dài bất kì cho bước tái tổ hợp, chúng tôi đã tiến

hành thử nghiệm Margarita trên cả 2 trường hợp: cấu hình mặc định chọn đoạn

chung có độ dài bất kì với xác suất 0.1 (Margarita) và cấu hình luôn chọn đoạn

chung dài nhất (Margarita1.0).

Hình 2.6 minh họa kết quả so sánh trung bình thời gian chạy giữa ARG4WG và

Margarita, Margarita1.0. ARG4WG nhanh hơn hàng nghìn lần so với Margarita và

Margarita1.0. Ví dụ, Margarita phải mất >105 giây để xây dựng 1 ARG cho 1000

trình tự và 10,000 SNP trong khi ARG4WG chỉ cần 140 giây (Hình 2.6b). Và

Margarita không thể xây dựng được ARG cho 2000 trình tự và 10,000 SNP trong

khi ARG4WG chỉ cần trung bình là 466 giây (Hình 2.6c). Ngoài ra, ta thấy

Margarita1.0 hầu hết có thời gian chạy nhiều hơn so với Margarita . Điều này có thể

được giải thích là do khi đó thuật toán mất nhiều chi phí thời gian cho việc tìm đoạn

chung dài nhất giữa 2 trình tự để thực hiện sự kiện tái tổ hợp.

62

100000

) y â

10000

1000

i g ( y ạ h c n a

100

(a)

i g i

10

ờ h T

1

1000

2000

5000

10000

Số vị trí SNP

1000000

100000

) y â

10000

1000

i g ( y ạ h c n a

100

(b)

i g i

10

ờ h T

1

1000

2000

5000

10000

Số vị trí SNP

1000000

100000

10000

) y â

1000

100

(c)

i g ( y ạ h c n a

10

i g i

1

ờ h T

1000

2000

5000

10000

Số vị trí SNP

Hình 2.6: Trung bình thời gian chạy của Margarita, Margarita1.0 và ARG4WG cho: (a)

500 haplotype; (b) 1000 haplotype; và (c) 2000 haplotype.

63

Hình 2.7 minh họa kết quả so sánh trung bình số sự kiện tái tổ hợp giữa ARG4WG

và Margarita, Margarita1.0. Kết quả cho thấy thuật toán ARG4WG sinh ra các ARG

có số sự kiện tái tổ hợp ít hơn rất nhiều so với Margarita. Số sự kiện tái tổ hợp của

Margarita nhiều hơn trung bình là 1.4 lần so với ARG4WG trong tất cả các thực

nghiệm. Ví dụ, Margarita sinh ra ARG trên 1000 trình tự và 10,000 SNP chứa trung

bình 72,678 tái tổ hợp, trong khi ARG xây dựng trên tập dữ liệu đó sử dụng

ARG4WG chỉ chứa trung bình 50,567 tái tổ hợp. Số sự kiện tái tổ hợp của

Margarita1.0 ít hơn so với Margarita nhưng vẫn nhiều hơn so với ARG4WG từ 1.2

đến 1.3 lần. Các kết quả này một lần nữa khẳng định rằng chiến lược đoạn chung

dài nhất không phải luôn cho ra đồ thị ARG có số sự kiện tái tổ hợp nhỏ nhất.

p ợ h ổ t i

(a)

á t n ệ i k ự s ố S

45000 40000 35000 30000 25000 20000 15000 10000 5000 0

1000

10000

2000 5000 Số vị trí SNP

p ợ h ổ t i

(b)

á t n ệ i k ự s ố S

80000 70000 60000 50000 40000 30000 20000 10000 0

1000

2000

5000

10000

Số vị trí SNP

64

p ợ h ổ t i

(c)

á t n ệ i k ự s ố S

100000 90000 80000 70000 60000 50000 40000 30000 20000 10000 0

1000

2000

5000

10000

Số vị trí SNP

Hình 2.7: Trung bình số sự kiện tái tổ hợp của Margarita, Margarita1.0 và ARG4WG cho:

(a) 500 haplotype; (b) 1000 haplotype; và (c) 2000 haplotype.

Chúng tôi cũng đã kiểm tra khả năng thực thi của ARG4WG trên dữ liệu toàn

nhiễm sắc thể. ARG4WG được chạy trên 4246 trình tự (2123 mẫu gen người) độ

dài toàn nhiễm sắc thể 1 (174,234 SNP – nhiễm sắc thể dài nhất trong bộ gen người)

từ dự án 1kGP. ARG4WG có thể sinh ra 1 ARG với thời gian ~ 4.5 giờ trong một

lần chạy sử dụng 1 máy tính 16-thread. Kết quả này đã nhấn mạnh khả năng của

ARG4WG trong việc thực thi trên dữ liệu hàng nghìn trình tự độ dài hệ gen người.

2.3.2. Các kết quả trên dữ liệu mô phỏng

Trong thực nghiệm với dữ liệu thật, ta không biết được đồ thị ARG đúng (đồ thị

ARG phản ánh đúng lịch sử tiến hóa của các trình tự quan sát). Do đó, để đánh giá

độ hợp lý của đồ thị ARG sinh ra sử dụng thuật toán ARG4WG đề xuất, chúng tôi

đã tiến hành các thực nghiệm trên dữ liệu mô phỏng.

Để làm điều này, chúng tôi xây dựng các cây đúng (là cây được xác định ban đầu)

và các bộ dữ liệu trình tự mô phỏng tương ứng sử dụng các chương trình máy tính.

Sau đó, chúng tôi xây dựng đồ thị ARG trên các tập dữ liệu mô phỏng này sử dụng

2 thuật toán ARG4WG và Margarita. Tiếp theo, từ đồ thị ARG sinh ra từ 2 thuật

65

toán này chúng tôi sẽ trích xuất ra các cây biên và so sánh hình thái cây với cây

đúng.

MacS [11] được sử dụng để tạo ra 500 trình tự trên một vùng độ dài 1Mbp với kích

thước quần thể hiệu quả là 15000. Tỉ lệ đột biến được thiết lập là 1.2x10-8 trên một

vị trí trên một thế hệ. Giống với cách làm trong [58], 4 tập dữ liệu khác nhau được

tạo ra với tỉ lệ của đột biến trên tái tổ hợp lần lượt là 1, 2, 4 và 6. Với mỗi tập dữ

liệu, khoảng 800 SNP có vị trí gần với vị trí của SNP trên dữ liệu thật của 1Mbp dữ

liệu của nhiễm sắc thể 1 (167,000,000-168,000,000) trong 1kGP được lựa chọn.

Việc làm này nhằm mục đích lấy dữ liệu mô phỏng gần giống với dữ liệu thật nhất

và có độ lớn phù hợp cho việc thử nghiệm. Mỗi thuật toán Margarita và ARG4WG

được chạy để sinh ra 20 ARG. Sau đó, cây biên tại các vị trí SNP từ mỗi đồ thị

ARG được trích rút ra. Các hình thái cây được sinh ra từ 2 thuật toán này được so

sánh với cây đúng được sinh ra qua mô phỏng tại các vị trí tương ứng sử dụng

khoảng cách Robinson-Fould (RF). Phần mềm PhyloNet [65] được sử dụng để tính

khoảng cách RF này.

Khoảng cách RF giữa cấu trúc của hai cây là tỷ lệ giữa số phân vùng chỉ có ở một

trong hai cây trên tổng số phân vùng của cả hai cây. Khoảng cách RF có khoảng giá

trị từ 0% đến 100%. Giá trị RF giữa hai cây càng nhỏ thì cấu trúc của hai cây càng

giống nhau.

Các kết quả khoảng cách RF trung bình với các tỉ lệ đột biến/tái tổ hợp được thể

hiện trong Hình 2.8.

Kết quả cho thấy Margarita có khoảng cách RF nhỏ hơn so với ARG4WG. Tuy

nhiên, sự khác nhau giữa 2 thuật toán giảm dần với sự tăng lên của tỉ lệ đột biến/tái

tổ hợp. Ví dụ, với tỉ lệ đột biến/tái tổ hợp bằng 1 thì độ chênh lệch giữa 2 thuật toán

là ~2% nhưng với tỉ lệ bằng 6, khoảng cách RF của cả 2 thuật toán là gần như nhau

(~0.14%).

66

64

62

)

%

60

(

58

ARG4WG

56

Margarita

54

52

F R h c á c g n ả o h K

50

1

2

4

6

Tỉ lệ đột biến/tái tổ hợp

Hình 2.8: Khoảng cách RF của các cây được tạo ra bởi thuật toán Margarita và ARG4WG

so với các cây đúng tương ứng trên các khoảng tỉ lệ đột biến và tái tổ hợp khác nhau.

2.4. Kết quả ứng dụng ARG4WG vào bài toán tìm vùng gen liên

quan đến bệnh sốt rét ở Châu Phi

Các kết quả thực nghiệm trong mục 2.3 đã chỉ ra khả năng nổi trội của thuật toán

ARG4WG khi làm việc với dữ liệu lớn hàng nghìn trình tự trên toàn bộ nhiễm sắc

thể. Để làm rõ hơn hiệu quả của thuật toán đề xuất cũng như chứng minh chất lượng

của các đồ thị ARG sinh ra từ thuật toán, trong phần này, luận án trình bày ứng

dụng ARG4WG vào bài toán ánh xạ tương quan giữa vùng gen liên quan tới bệnh

quan tâm trên tập dữ liệu GWAS lớn. Cụ thể, luận án thực nghiệm ứng dụng

ARG4WG vào bài toán tìm vùng gen liên quan đến bệnh sốt rét ở Châu Phi sử dụng

tập dữ liệu tập Gambia [3]. Đây là tập dữ liệu case-control lớn gồm 2780 mẫu, trong

đó có 1533 mẫu người khỏe mạnh và 1247 mẫu người bị bệnh sốt rét trên toàn

nhiễm sắc thể 11 (22,028 SNP).

Qua các khảo sát chúng tôi nhận thấy, chương trình Margarita vừa xây dựng đồ thị

ARG hợp lý lại vừa xây dựng thuật toán tìm ánh xạ tương quan dựa trên đồ thị

ARG hợp lý đó, nên đây là lựa chọn phù hợp cho việc thử nghiệm các đồ thị ARG

kết quả từ thuật toán ARG4WG vào bài toán tìm ánh xạ tương quan toàn hệ gen.

67

Thuật toán tìm ánh xạ tương quan trong chương trình Margarita được thực hiện như

sau [52]:

Đầu vào: Tập dữ liệu D gồm các trình tự nhị phân (SNP haplotype). Các trình tự

này có nhãn người bệnh và người không bệnh.

Đầu ra: Điểm số về độ phân tách giữa người bệnh và người không bệnh tại từng vị

trí SNP. Độ phân tách càng lớn thì gần vị trí SNP đó có nhiều khả năng liên quan

đến bệnh.

Do các lựa chọn ngẫu nhiên trong thuật toán xây dựng đồ thị ARG nên với cùng

một tập dữ liệu đầu vào D, mỗi lần chạy thuật toán xây dựng đồ thị ARG trong

Margarita sẽ cho ra một đồ thị ARG khác nhau. Để thực hiện ánh xạ tương quan,

Margarita chạy n lần để có được n ARG khác nhau. Tại mỗi vị trí SNP c, n cây biên

được trích rút ra từ n ARG. Và trong mỗi cây biên T, mỗi cạnh được tính điểm số

về độ phân biệt giữa các cá thể bệnh với các cá thể khỏe mạnh. Sau đó, điểm số cao

nhất trong số các cạnh đó được gán cho T. Cuối cùng, các điểm số liên quan đến n

cây biên tại vị trí c được tính trung bình cho ra điểm số tương quan toàn cục cho vị

trí c. Điểm số tương quan là thước đo hỗ trợ cho giả thuyết rằng có một đột biến gây

bệnh xuất hiện gần vị trí c.

Cụ thể, điểm số cho 1 cạnh e trong cây biên T cho vị trí c là một kiểm định tính độc

lập sử dụng phân bố chi-bình-phương, sử dụng một bảng 2x2. Một trục của bảng là

thông tin các cá thể là người bệnh hay người không bệnh; và một trục là thông tin

các cá thể có lá nằm dưới e và các cá thể có lá không nằm dưới e trong T. Thống kê

chi-bình-phương được tính cho e sẽ kiểm định xem việc bị bệnh và đặc tính nằm

dưới cạnh e trong T có độc lập hay không. Từ đó, nó sẽ cung cấp một một điểm số

cho giả thuyết rằng có một đột biến gây bệnh xuất hiện trên cạnh e trong T và một

điểm số cho giả thuyết rằng đột biến xuất hiện gần vị trí c trong nhiễm sắc thể. Giá

trị thống kê càng cao thì khả năng giả thuyết đúng càng lớn. Để kết hợp các điểm số

68

cho vị trí c, n kiểm định chi-bình-phương (tương ứng với n cây biên) sẽ được tính

trung bình và cho ra điểm số tương quan cho vị trí c.

Tiếp theo, một kiểm định hoán vị được sử dụng để đánh giá ý nghĩa thống kê của

điểm số tương quan cho c. Nhiều lần (trong Margarita đặt mặc định là 10,000 lần),

các nhãn người bệnh và người không bệnh được hoán vị ngẫu nhiên mà không thay

đổi số lượng của từng loại. Một điểm số cho c sau đó được tính toán như trên cho

mỗi hoán vị. P-value cho c được định nghĩa là tỉ lệ hoán vị trong đó điểm số tương

quan được tính cho c cao hơn điểm số tương quan thu được sử dụng phân vùng

đúng các nhãn. P-value cho vị trí c nhỏ dưới một ngưỡng nào đó sẽ ủng hộ cho giả

thuyết rằng một đột biến gây bệnh xuất hiện gần vị trí c.

Để tiến hành thực nghiệm, chúng tôi tiền xử lý dữ liệu Gambia, sử dụng công cụ

SHAPEIT [15] để chuyển đổi dữ liệu kiểu gen sang dữ liệu haplotype. Dữ liệu

haplotype (5560 haplotype cho 2780 mẫu) sẽ là đầu vào cho thuật toán ARG4WG

để xây dựng các ARG. Với mỗi ARG, chúng tôi trích xuất ra các cây biên cho từng

vị trí SNP và các cây biên này là đầu vào cho Margarita để thực hiện ánh xạ tương

quan, tìm vùng gen liên quan đến bệnh sốt rét.

ARG4WG mất khoảng 3.1 giờ để xây dựng một ARG sử dụng máy tính 16-thread

cho toàn bộ tập dữ liệu Gambia. Chúng tôi thực hiện kiểm thử ánh xạ với 106 hoán

vị với 3 kịch bản với số lượng SNP khác nhau như sau:

• 10 ARG xây dựng từ toàn bộ tập dữ liệu Gambia bao gồm 5560 haplotype trên

toàn nhiễm sắc thể 11 (22,028 SNP);

• 30 ARG xây dựng từ 5560 haplotype độ dài 5000 SNP xung quanh gen HBB;

• 50 ARG xây dựng từ 5560 haplotype và 1000 SNP xung quanh gen HBB;

Các kết quả thực nghiệm được biểu thị trong Hình 2.9.

69

Hình 2.9: Sự tương quan đến bệnh từ 106 kiểm định hoán vị trên: (A) 10 ARG xây dựng

trên toàn bộ NST 11; (B) 30 ARG xây dựng trên vùng 5000 SNP quanh gen HBB; và (C)

Tổng hợp kết quả cho các thực nghiệm trên vùng 1000 SNP quanh gen HBB.

Kết quả cho thấy cả 3 thực nghiệm đều phát hiện ra vùng có tín hiệu mạnh liên quan

70

đến bệnh là từ 4.43Mb tới 6.28Mb trên nhiễm sắc thể 11 với p-value ≤ 10-7. Kết quả

này phù hợp với phân tích của nhóm tác giả Garvin Band [3] là vùng gen HBB

(4.5Mb-5.5Mb) có nhiều khả năng liên quan đến bệnh sốt rét. Trong nghiên cứu của

họ, họ đã chỉ ra giá trị P-value thấp nhất trong vùng này là 5.7x10-13 sử dụng

phương pháp phân tích SNPTEST meta-analysis. Tuy nhiên, với dữ liệu vào như

trên thì thuật toán Margarita không thực hiện được phân tích sâu đến >107. Sự thống

nhất trong kết quả của 3 thực nghiệm trên cũng chỉ ra rằng ARG4WG rất ổn định

trong việc xây dựng ARG với số lượng SNP khác nhau.

Chúng tôi cũng đã kiểm tra thực thi của Margarita trong việc xác định vùng gen liên

quan đến bệnh cho dữ liệu Gambia. Vì Margarita không thể thực thi trên cả nhiễm

sắc thể nên ba thực nghiệm với 106 hoán vị trong vùng 4M đến 6M quanh gen HBB

gồm 600 SNP đã được thực hiện:

- Test1: 10 ARG sinh ra từ 2000 haplotype (1000 cá thể bệnh, 1000 cá thể

khỏe mạnh).

- Test2: 10 ARG sinh ra từ 3000 haplotype (1500 cá thể bệnh, 1500 cá thể

khỏe mạnh).

Test3: 10 ARG sinh ra từ 5560 haplotype (toàn bộ cá thể trong tập Gambia).

Để xây dựng 10 ARG, Margarita mất 30 giờ cho Test1, 90 giờ cho Test2, và 420

giờ cho Test3. Các kết quả thực nghiệm trong Hình 2.10 chỉ ra rằng càng dùng

nhiều dữ liệu thì Margarita càng cho kết quả tốt hơn. Với tập dữ liệu nhỏ, ít mẫu cá

thể, Margarita chỉ cho ra các tín hiệu yếu trong vùng gen HBB. Tín hiệu trở nên

mạnh hơn khi nhiều mẫu dữ liệu được sử dụng. Với toàn bộ mẫu dữ liệu như trong

Test3, Margarita đã phát hiện được tín hiệu mạnh liên quan đến bệnh trong vùng từ

4.46Mb đến 5.98Mb.

71

Hình 2.10: Sự tương quan với bệnh khi sử dụng thuật toán Margarita trên vùng 4M-6M

quanh gen HBB.

Tóm lại, Margarita cũng có thể tìm ra các tín hiệu liên đới nhưng mất rất nhiều thời

gian để làm việc đó. Ví dụ trong bài toán này, Margarita mất đến 420 giờ (17.5

ngày) để sinh ra 10 ARG cho 5560 haplotype trên vùng 2Mbp. Như vậy, trong

trường hợp vùng liên quan đến bệnh là chưa biết trước thì việc chia nhỏ hệ gen

thành các vùng dữ liệu và thực hiện ánh xạ dùng ARG từ Margarita là việc làm khó

khả thi trong thực tế. Điều này đã nhấn mạnh thêm sức mạnh, khả năng ứng dụng

của ARG4WG trong các bài toán thực tế với dữ liệu lớn.

2.5. Kết luận chương

Bước tái tổ hợp là nút thắt chính trong thời gian chạy của tất cả các thuật toán xây

dựng đồ thị ARG vì tái tổ hợp phân tách 1 trình tự thành 2 trình tự con sẽ làm tăng

số lượng nút trong đồ thị. Thuật toán Margarita đã thực hiện tái tổ hợp trên cặp trình

tự có đoạn chung dài nhất, phân tách 1 trong 2 trình tự đó nhằm có được trình tự

con chứa đoạn chung để kết hợp với trình tự còn lại. Mục đích của thuật toán nhằm

giảm lượng thông tin di truyền nhiều nhất qua bước tái tổ hợp, hướng tới mục tiêu

nhanh hội tụ về nút tổ tiên chung gần nhất. Tuy nhiên, chiến lược này làm bùng nổ

số nút trong đồ thị khi đoạn chung dài nhất luôn được tìm thấy bên trong trình tự.

Do đó, luận án đề xuất thuật toán ARG4WG sử dụng chiến lược tìm cặp trình tự có

72

đoạn đầu chung dài nhất (đoạn chung dài nhất từ phía bên phải hoặc phía bên trái

của trình tự) cho bước tái tổ hợp. Với chiến lược này, sự kiện tái tổ hợp chỉ thay thế

1 trình tự bằng một trình tự con chứa ít thông tin di truyền hơn. Điều này đảm bảo

số nút trong đồ thị luôn ổn định sau các bước tái tổ hợp.

Các thực nghiệm trên các bộ dữ liệu khác nhau đã đưa đến kết luận rằng, thuật toán

ARG4WG tuy có hình thái cây kém hơn một chút nhưng có thời gian tính toán

nhanh gấp hàng trăm tới hàng nghìn lần so với thuật toán Margarita. Đặc biệt,

ARG4WG có thể chạy được với hàng nghìn trình tự trên toàn nhiễm sắc thể trong

một lần chạy trong khoảng thời gian hợp lý.

Ngoài ra, Mệnh đề 1 đã được chúng tôi đưa ra và chứng minh về tính tối ưu số sự

kiện tái tổ hợp của chiến lược tìm đoạn đầu chung dài nhất trên phạm vi cục bộ mỗi

bước thực hiện sự kiện tái tổ hợp. Điều này đã mang lại hiệu quả và cho ra các đồ

thị ARG có số sự kiện tái tổ hợp ít hơn Margarita trên các tập dữ liệu thử nghiệm

lớn.

ARG4WG đã được thử nghiệm ứng dụng vào bài toán tìm vùng gen liên quan đến

bệnh sốt rét ở Châu Phi trên tập dữ liệu Gambia gồm 2780 người (1533 người khỏe

mạnh, 1247 người bị bệnh) trên toàn bộ nhiễm sắc thể 11. Các kết quả thực nghiệm

đã cho thấy khả năng ứng dụng của thuật toán đề xuất trong việc phát hiện ra vùng

gen liên quan đến bệnh cho các nghiên cứu tương quan toàn bộ nhiễm sắc thể trên

các tập dữ liệu lớn. Từ đó, ý tưởng sử dụng thuật toán ARG4WG để có nhanh được

kết quả bước đầu, khu trú được các vùng gen tiềm năng là một việc làm khả thi. Các

nhà phân tích dữ liệu sau đó có thể tiến hành các phân tích sâu trên các vùng gen

này. Điều này sẽ giúp giảm đáng kể chi phí và thời gian phân tích. Từ các kết quả

này, chúng tôi tin tưởng rằng ARG4WG có thể được ứng dụng hiệu quả cho nhiều

bài toán thực tế khác như bài toán tìm đa hình di truyền đơn nucleotit, bài toán xử lý

dữ liệu bị khuyết, … trên các tập dữ liệu lớn.

73

Các kết quả nghiên cứu của chương này đã được công bố trong một bài báo trên tạp

chí quốc tế IEEE/ACM Transactions on Computational Biology and Bioinformatics

năm 2017 (công trình khoa học số 1).

74

Chương 3. PHƯƠNG PHÁP TỐI ƯU HÓA SỐ SỰ KIỆN

TÁI TỔ HỢP TRONG QUÁ TRÌNH XÂY DỰNG

ĐỒ THỊ ARG

3.1. Giới thiệu

Hầu hết các lịch sử tiến hóa được cho là chứa một số lượng nhỏ sự kiện tái tổ hợp

có thể phát hiện được. Hơn nữa, trong tất cả các số liệu thống kê mà ta muốn xác

định liên quan đến lịch sử tái tổ hợp, số sự kiện tái tổ hợp nhỏ nhất là một số liệu có

thể được xác định cụ thể, và về nguyên tắc là có thể tính toán được.

Ngoài các ứng dụng của đồ thị ARG tối thiểu và gần tối thiểu, ngay cả cận dưới tái

tổ hợp cũng được chứng minh là có ích. Chúng có thể được dùng để trả lời các câu

hỏi về tái tổ hợp như: tìm các điểm nóng tái tổ hợp (recombination hotspots) tiềm

năng trong hệ gen [2,19]; ước lượng tỉ lệ tái tổ hợp trong các trình tự quan sát [68]

và xác định các thông số di truyền quần thể khác nhau [35].

Vì vậy, việc xây dựng đồ thị ARG với hàm mục tiêu cực tiểu hóa số sự kiện tái tổ

hợp luôn là mục tiêu hướng tới nhằm phát hiện ra các điểm tái tổ hợp được xem là

quan trọng phục vụ cho các phân tích. Quá nhiều sự kiện tái tổ hợp được phát hiện

sẽ gây khó khăn cho các tính toán dựa trên nó.

Thuật toán ARG4WG đề xuất được giới thiệu trong chương 2 (Công trình khoa học

số 01) có thể xây dựng được đồ thị ARG cho dữ liệu lớn hàng nghìn trình tự trên

toàn hệ gen người. Tuy nhiên, thuật toán không được thiết kế nhằm tối ưu hóa số sự

kiện tái tổ hợp. Việc sử dụng đoạn đầu chung dài nhất đã được chứng minh là tối ưu

về số sự kiện tái tổ hợp trên phạm vi cục bộ khi phân tách 1 trình tự để có thể kết

hợp với các trình tự còn lại. Tuy nhiên, điều này là không đúng trên phạm vi toàn

cục. Mục 3.3 sẽ trình bày về hạn chế này của ARG4WG. Từ đó, luận án trình bày 2

phương pháp: (1) kết hợp các đặc trưng của dữ liệu và (2) kết hợp các kĩ thuật tối

75

ưu vào thuật toán ARG4WG nhằm tối ưu hóa thêm số sự kiện tái tổ hợp trong quá

trình xây dựng đồ thị ARG.

3.2. Một số định nghĩa và khái niệm sử dụng trong các thuật

toán

Dưới giả định các vị trí vô hạn, ta gọi 2 vị trí i và j là không tương thích nếu chúng

chứa tất cả 4 loại giao tử 00, 01, 10, 11 [62]. Sẽ có ít nhất một sự kiện tái tổ hợp

giữa 2 vị trí không tương thích i và j. Các phương pháp vét cạn hướng tới việc tìm

ra các điểm cắt tái tổ hợp tối ưu, tức là, số sự kiện tái tổ hợp ít nhất để phá vỡ tất cả

các vị trí không tương thích này.

Xét một tập dữ liệu D(5) = {S1, S2, S3, S4, S5} của 5 trình tự với 5 vị trí như dưới

1 2 3 4 5

đây:

S1 = 1 1 0 0 1

S2 = 0 1 0 1 0

S3 = 0 0 0 1 0

S4 = 1 0 0 0 0

S5 = 1 0 0 0 1

Trong tập dữ liệu D(5), có 3 cặp vị trí không tương thích: vị trí 1 và vị trí 2; vị trí 2

và vị trí 4; vị trí 2 và vị trí 5. Trong trường hợp này, ít nhất 2 sự kiện tái tổ hợp phải

xảy ra trong lịch sử tiến hóa của các trình tự. Hình 3.1 là một ARG tối thiểu với 2

sự kiện tái tổ hợp (sự kiện thứ 1 và sự kiện thứ 4) biểu diễn lịch sử tiến hóa của tập

dữ liệu D(5).

76

Hình 3.1: Một ví dụ đồ thị ARG tối thiểu cho tập dữ liệu D(5) gồm 5 trình tự độ dài 5. Xét ngược chiều thời gian, thứ tự thực hiện các sự kiện đột biến, kết hợp hay tái tổ hợp để xây dựng đồ thị ARG được đánh số trong hình tròn. Trong ví dụ này, sự kiện tái tổ hợp được thực hiện đầu tiên trên trình tự “01010” sinh ra 2 trình tự “01***” và “**010”. Tiếp theo là sự kiện kết hợp trình tự “**010” và “00010” thành trình tự “00010”. Sự kiện đột biến được thực hiện sau đó biến đổi trình tự “00010” thành trình tự “00000”. Quá trình xây dựng đồ thị ARG được tiếp tục thực hiện cho tới khi tổ tiên chung “10001” được tìm thấy.

Đặt D = {S1, S2, …, SN} là tập N trình tự nhị phân có độ dài m, Sx[i] có giá trị bằng 0

hoặc 1, 1 ≤ x ≤ N, 1 ≤ i ≤ m; gọi * là trạng thái không di truyền, tức là không mang

thông tin di truyền từ dữ liệu quan sát. Một số định nghĩa được sử dụng giống như

trong thuật toán ARG4WG như sau:

• Xét 1 vị trí i, Sx[i] khớp với Sy[i] nếu Sx[i] = Sy[i] hoặc Sx[i] = * hoặc Sy[i] = *.

77

• (Sx,Sy){d,l} là một cặp trình tự Sx và Sy có đoạn đầu chung với độ dài tối đa l từ

phía bên trái (d = left) hoặc từ phía bên phải (d = right).

• (Sx,Sy){d,l} tồn tại nếu và chỉ nếu có ít nhất một vị trí i trong phần chung thỏa

mãn Sx[i] = Sy[i]  *.

• Cặp (Sx,Sy) gọi là cặp có đoạn đầu chung dài nhất nếu cặp đó chứa phần vật liệu

di truyền chung dài nhất trong đoạn đầu chung.

Với 1 cặp có đoạn đầu chung (Sx,Sy){d,l}, theo chiến lược đoạn đầu chung dài nhất

thì điểm cắt tái tổ hợp được xác định giữa:

• l và l + 1 khi d = left và Sx[i] khớp với Sy[i] với mọi 1  i  l và Sx[l+1] 

Sy[l+1].

• l -1 và l khi d = right và Sx[i] khớp với Sy[i] với mọi l  i  m và Sx[l-1] 

Sy[l-1].

Cũng giống với ARG4WG, các thuật toán đề xuất dưới đây đều hoạt động ngược

chiều thời gian và có cùng giả định có nhiều nhất một đột biến xảy ra tại mỗi vị trí

trong suốt quá trình xây dựng đồ thị ARG.

3.3. Hạn chế của thuật toán ARG4WG

ARG4WG trước tiên thực hiện tất cả các sự kiện kết hợp và đột biến có thể xảy ra.

Sau đó, thuật toán tìm một cặp trình tự có đoạn đầu chung dài nhất, tức là, đoạn

trong đó có chứa phần vật liệu di truyền giống nhau dài nhất từ phía bên trái hoặc

bên phải của 2 trình tự. Một sự kiện tái tổ hợp được thực hiện trên trình tự có ít vật

liệu di truyền trong đoạn chung hơn để tách trình tự đó thành 2 trình tự con. Trình

tự con chứa đoạn đầu chung sẽ được kết hợp với trình tự còn lại ngay sau bước tái

tổ hợp.

Chiến lược đoạn đầu chung dài nhất giúp cho ARG4WG chạy được với dữ liệu lớn

gồm hàng nghìn trình tự độ dài hệ gen. Tuy nhiên thuật toán hướng đến việc xây

78

dựng đồ thị ARG hợp lý chứ không thể xây dựng đồ thị ARG tối thiểu. Hình 3.2

minh họa ngắn gọn cách thuật toán ARG4WG thực hiện với tập dữ liệu D(5). Đoạn

đầu chung dài nhất được xác định là giữa trình tự S4 và S5 (trong khung chữ nhật),

ARG4WG sẽ luôn thực hiện tái tổ hợp trên trình tự S4 hoặc S5 trước. Lựa chọn này

không làm phá vỡ bất kì cặp vị trí không tương thích nào và thuật toán luôn cần đến

3 sự kiện tái tổ hợp để xây dựng đồ thị ARG. Trong khi số sự kiện tái tổ hợp ít nhất

Hình 3.2: Quá trình xây dựng đồ thị ARG cho tập dữ liệu D={S1,S2,S3,S4,S5} của thuật toán

ARG4WG.

𝑅𝑖,𝑗 → biểu thị một sự kiện tái tổ hợp giữa vị trí i và vị trí j;

𝐶𝑥 → biểu thị sự kiện kết

hợp thứ x;

𝑀𝑖 → biểu thị một sự kiện đột biến tại vị trí i.

để xây dựng đồ thị ARG cho tập dữ liệu D(5) là 2.

3.4. Thuật toán REARG

3.4.1. Động cơ nghiên cứu

Xuất phát từ các quan sát trong quá trình làm thực nghiệm, chúng tôi nhận thấy rằng

việc lựa chọn cặp trình tự có độ dài đoạn đầu chung dài nhất cho việc thực hiện tái

tổ hợp trong thuật toán ARG4WG thường là không duy nhất. Nói cách khác,

ARG4WG thường phải chọn ngẫu nhiên 1 cặp trình tự cho việc thực hiện tái tổ hợp

từ rất nhiều cặp có cùng độ dài đoạn đầu chung dài nhất. Ví dụ, trong Hình 3.3, có 3

79

cặp ứng cử viên (S1, S2), (S2, S3) và (S4, S5) có cùng độ dài đoạn đầu chung dài nhất.

Hình 3.3: Thuật toán ARG4WG xác định được 3 cặp ứng cử viên có cùng đoạn đầu chung

dài nhất cho tập 5 trình tự như trong các khung hình chữ nhật. Một trong 3 cặp sẽ được

chọn ngẫu nhiên để thực hiện tái tổ hợp.

Khi đó ARG4WG sẽ chọn ngẫu nhiên một trong 3 cặp để thực hiện tái tổ hợp.

Các phân tích thực nghiệm cho thấy, bên cạnh tiêu chí độ dài đoạn đầu chung dài

nhất, các yếu tố khác như độ tương đồng của cặp trình tự được chọn hay độ dài của

trình tự được chọn để thực hiện tái tổ hợp cũng có ảnh hưởng đáng kể đến số sự

kiện tái tổ hợp. Do đó, việc kết hợp các yếu tố này trong việc lựa chọn cặp trình tự

thích hợp nhất cho việc tái tổ hợp có thể giúp định hướng quá trình xây dựng đồ thị

ARG tới đồ thị ARG với số sự kiện tái tổ hợp tối ưu hơn khi chạy với dữ liệu lớn

với số lần chạy giới hạn.

3.4.2. Thuật toán REARG

Trong thuật toán này, chúng tôi định nghĩa:

Độ tương đồng của 2 trình tự S1 và S2:

Với

80

Độ dài của một trình tự S:

Với

Lưu đồ thuật toán REARG giống với lưu đồ thuật toán ARG4WG và Margarita như

trong Hình 2.1. Các bước của thuật toán được trình bày trong Thuật toán 3.1.

Thuật toán REARG

Đầu vào: Một tập N trình tự, mỗi trình tự độ dài m.

vào, các trình tự trung gian được sinh ra và trình tự tổ tiên chung duy nhất được tìm thấy.

• Bước 1: Thực hiện tất cả các khả năng kết hợp.

• Bước 2: Thực hiện một đột biến sau đó quay lại bước 1.

Nếu không thực hiện được đột biến nào nữa thì chuyển sang bước 3.

• Bước 3: Thực hiện 1 sự kiện tái tổ hợp với chiến lược được mô tả như bên dưới,

theo sau là 1 sự kiện kết hợp rồi quay lại bước 1.

Nếu không thực hiện được tái tổ hợp thì chuyển sang bước 4.

• Bước 4: Kết thúc thuật toán, đạt đến một trình tự tổ tiên chung duy nhất.

Thuật toán 3.1: Thuật toán REARG.

Đầu ra: Đồ thị ARG chứa các sự kiện kết hợp, đột biến và tái tổ hợp giữa các trình tự đầu

Khác với ARG4WG, để thực hiện tái tổ hợp, nếu có nhiều hơn 1 cặp trình tự có

cùng độ dài đoạn đầu chung dài nhất thì REARG sẽ sử dụng thêm tiêu chuẩn về độ

tương đồng giữa các cặp trình tự và độ dài của trình tự để lựa chọn ứng cử viên

cho bước tái tổ hợp. Phần dưới đây mô tả 3 phiên bản khác nhau của thuật toán

REARG: REARG_SIM, REARG_LEN và REARG_COM tương ứng với 3 tiêu

chuẩn lựa chọn ứng cử viên cho bước tái tổ hợp.

81

Bước tái tổ hợp của thuật toán REARG_SIM

• Bước 1: Tính độ dài của các đoạn đầu chung cho tất cả các cặp trình tự. Các

cặp trình tự có cùng độ dài đoạn đầu chung dài nhất được chọn là các cặp ứng

cử viên cho việc tái tổ hợp.

• Bước 2: Tính độ tương đồng của tất cả các cặp ứng cử viên. Chọn cặp ứng cử

viên có độ tương đồng cao nhất để thực hiện tái tổ hợp. Trong trường hợp có

nhiều ứng cử viên có cùng độ tương đồng cao nhất, một cặp trong số đó sẽ

được chọn ngẫu nhiên để thực hiện tái tổ hợp.

Bước tái tổ hợp của thuật toán REARG_LEN

• Bước 1: Tính độ dài của các đoạn đầu chung cho tất cả các cặp trình tự. Các

cặp trình tự có cùng độ dài đoạn đầu chung dài nhất được chọn là các cặp ứng

cử viên cho việc tái tổ hợp.

• Bước 2: Tính độ dài của trình tự ngắn hơn của tất cả các cặp ứng cử viên.

Chọn ứng cử viên có độ dài trình tự dài nhất để thực hiện tái tổ hợp. Trong

trường hợp có nhiều ứng cử viên có cùng độ dài trình tự dài nhất, một trong

số đó sẽ được chọn ngẫu nhiên để thực hiện tái tổ hợp.

Bước tái tổ hợp của thuật toán REARG_COM

• Bước 1: Tính độ dài của các đoạn đầu chung cho tất cả các cặp trình tự. Các

cặp trình tự có cùng độ dài đoạn đầu chung dài nhất được chọn là các cặp ứng

cử viên cho việc tái tổ hợp.

• Bước 2: Tính độ tương đồng của tất cả các cặp ứng cử viên và tính độ dài của

trình tự ngắn hơn của các cặp ứng cử viên.

• Bước 3: Chọn ngẫu nhiên một cặp ứng cử viên có độ tương đồng cao nhất

hoặc một ứng cử viên có độ dài trình tự dài nhất để thực hiện tái tổ hợp.

82

3.5. Thuật toán GAMARG

3.5.1. Động cơ nghiên cứu

Do chiến lược đoạn đầu chung dài nhất không dẫn đến số sự kiện tái tổ hợp cực

tiểu, nên ý tưởng đặt ra là kết hợp ARG4WG với các tiêu chí tối ưu khác để giảm số

sự kiện tái tổ hợp. Đáng chú ý, kiểm thử 4 giao tử (four-gamete test) là ý tưởng then

chốt dẫn đến nhiều thuật toán khác nhau trong bài toán tìm cận dưới số sự kiện tái

tổ hợp và trong bài toán xây dựng đồ thị ARG có chính xác số sự kiện tái tổ hợp

nhỏ nhất. Do đó, luận án đề xuất thuật toán GAMARG kết hợp giữa ràng buộc trong

kiểm thử 4 giao tử với chiến lược đoạn đầu chung dài nhất trong ARG4WG để tối

ưu hóa số sự kiện tái tổ hợp trong quá trình xây dựng đồ thị ARG. Các kết quả thực

nghiệm trên các tập dữ liệu khác nhau cho thấy GAMARG có thể chạy được với

hàng nghìn trình tự với hàng chục nghìn SNP và có thể so sánh được với các thuật

toán xây dựng đồ thị ARG tối thiểu trên các bộ dữ liệu nhỏ.

3.5.2. Thuật toán GAMARG

Trước khi đi vào chi tiết thuật toán đề xuất, chúng tôi đưa ra một số quan sát trong

quá trình xây dựng ARG sử dụng kiểm thử 4 giao tử, từ đó dẫn đến một số mở rộng

được đề xuất khi áp dụng kiểm thử 4 giao tử vào thuật toán.

Đặt FreqGametei,j = {freq00i,j, freq01i,j, freq10i,j, freq11i,j} là tần số của các loại

giao tử 00, 01, 10, 11 xuất hiện giữa vị trí i và vị trí j.

Tần số của 4 loại giao tử giữa các vị trí không tương thích trong tập dữ liệu D(5) lần

lượt là FreqGamete1,2 = {1,1,2,1}; FreqGamete2,4 = {2,1,1,1}; FreqGamete2,5 =

{2,1,1,1}.

Ta nhận thấy rằng có 3 loại giao tử có tần số bằng 1. Vì vậy, việc lựa chọn trình tự

chứa một trong số các loại giao tử đó giữa các vị trí không tương thích để thực hiện

tái tổ hợp sẽ cho ta kết quả tốt hơn. Ví dụ, việc thực hiện một sự kiện tái tổ hợp giữa

vị trí 1 và vị trí 2 trên một trong 3 trình tự S1, S2, S3 sẽ phá vỡ ngay cặp vị trí ko

83

tương thích này. Ngược lại, vì freq101,2 = 2 nên nếu ta thực hiện một sự kiện tái tổ

hợp giữa vị trí 1 và vị trí 2 trên một trong 2 trình tự S4, S5 thì ta chỉ làm giảm bớt 1

lần tần số xuất hiện của loại giao tử 10 và ta cần thêm 1 sự kiện tái tổ hợp nữa để

phá vỡ được cặp vị trí không tương thích này. Cụ thể, xét ví dụ như trong Hình 3.4,

việc chọn S4 để thực hiện tái tổ hợp sẽ cần đến 2 sự kiện tái tổ hợp giữa vị trí 1 và vị

Hình 3.4: Cho tập dữ liệu D={S1,S2,S3,S4,S5}, lựa chọn thực hiện tái tổ hợp trên trình tự S4

giữa vị trí 1 và vị trí 2 dẫn đến việc phải thực hiện thêm 1 sự kiện tái tổ hợp nữa để phá vỡ

cặp vị trí không tương thích (1,2).

trí 2 (R1,2(1) và R1,2(2)) để phá vỡ cặp vị trí không tương thích này.

Vì việc xây dựng ARG tối thiểu là một bài toán NP-khó nên không thể tìm được

ARG tối thiểu với các tập dữ liệu lớn. Để vượt qua gánh nặng tính toán, luận án đơn

giản hóa chiến lược kiểm tra 4 giao tử bằng cách chỉ xem xét các cặp vị trí không

tương thích có ít nhất một loại giao tử có tần số bằng 1. Giả định này đảm bảo rằng

thuật toán sẽ luôn phá vỡ ít nhất một cặp vị trí không tương thích khi thực hiện một

tái tổ hợp giữa một cặp vị trí không tương thích i và j.

Đặt ઠ là kích thước của cửa sổ trượt mà ta sẽ quét để tìm tất cả các cặp vị trí không

tương thích trong vùng đó. Cụ thể, tất cả các vị trí sẽ được kiểm tra. Với mỗi vị trí i

(0 ≤ i < m), chúng tôi sẽ quét để tìm tất cả các cặp vị trí không tương thích trong

phạm vi [i, i+ ઠ].

Đặt Sx(i,j) là một trình tự có loại giao tử có tần số bằng 1 giữa cặp vị trí không

𝑓𝑟𝑒𝑞00𝑖,𝑗 > 0 𝑎𝑛𝑑 𝑓𝑟𝑒𝑞01𝑖,𝑗 > 0 𝑎𝑛𝑑 𝑓𝑟𝑒𝑞10𝑖,𝑗 > 0 𝑎𝑛𝑑 𝑓𝑟𝑒𝑞11𝑖,𝑗 > 0 { 𝑓𝑟𝑒𝑞00𝑖,𝑗 = 1 𝑜𝑟 𝑓𝑟𝑒𝑞01𝑖,𝑗 = 1 𝑜𝑟 𝑓𝑟𝑒𝑞10𝑖,𝑗 = 1 𝑜𝑟 𝑓𝑟𝑒𝑞11𝑖,𝑗 = 1

tương thích i và j (0 ≤ i < m, j - i ≤ ઠ). Tức là, Sx(i,j) thỏa mãn điều kiện sau:

84

Cho một trình tự ứng cử viên Sx(i,j), ta cần tìm điểm cắt tái tổ hợp tốt nhất trong

phạm vi [i,j]. Vấn đề này lại được giải quyết sử dụng chiến lược đoạn đầu chung dài

nhất. Đoạn đầu chung dài nhất giữa trình tự này với tất cả các trình tự khác được

tính toán. Nếu tồn tại một trình tự Sz mà (Sx, Sz){d,l} thỏa mãn i ≤ l ≤ j, thì điểm cắt

tái tổ hợp được xác định là giữa l và l + 1 khi d = left hoặc giữa l - 1 và l khi d =

right. Nếu không tồn tại cặp có đoạn đầu chung nào trong phạm vi [i,j] thì điểm cắt

tái tổ hợp được chọn ngẫu nhiên giữa vị trí i và i+1 hoặc giữa vị trí j - 1 và j.

Hình 3.5: Lưu đồ thuật toán GAMARG.

Lưu đồ thuật toán được biểu diễn trong Hình 3.5.

Thuật toán GAMARG bắt đầu từ thời điểm t = 1. Tập các trình tự tại thời điểm t

được kí hiệu là Dt (D1=D). Với mỗi Dt, các danh sách cho các sự kiện kết hợp, đột

biến và tái tổ hợp được xây dựng như sau:

85

• Danh sách kết hợp C: Đối với một cặp trình tự Sx và Sy có đoạn đầu chung

(Sx,Sy){d,l}, nếu l = m thì (Sx,Sy){d,l} được thêm vào danh sách kết hợp.

• Danh sách đột biến M: Với một vị trí i (1 ≤ i ≤ m), nếu Sx[i] = 1 và ∀𝑆𝑦 ∈ 𝐷𝑡 ∖

{𝑆𝑥}: 𝑆𝑦[𝑖] ≠ 1 hoặc Sx[i] = 0 và ∀𝑆𝑦 ∈ 𝐷𝑡 ∖ {𝑆𝑥}: 𝑆𝑦[𝑖] ≠ 0, thì Sx[i] được thêm

vào danh sách đột biến.

• Danh sách giao tử G: Đối với một cặp vị trí không tương thích (i,j) (0 ≤ i < m,

j-i ≤ ઠ), nếu tồn tại một trình tự Sx chứa loại giao tử có tần số bằng 1 thì Sx(i,j)

được thêm vào danh sách giao tử.

• Danh sách đoạn đầu chung S: Với một cặp trình tự Sx và Sy có đoạn đầu chung

(Sx,Sy){d,l}, nếu 0 < l < m thì (Sx,Sy){d,l} được thêm vào danh sách đoạn đầu

chung.

Khi một trong 3 sự kiện xảy ra, tập trình tự tiếp theo Dt+1 được tạo ra từ tập trình tự

Dt hiện thời như mô tả dưới đây và 4 danh sách ứng cử viên được cập nhật.

• Nếu một sự kiện kết hợp xảy ra giữa 2 trình tự Sx và Sy, hai trình tự Sx và Sy được

kết hợp thành 1 trình tự tổ tiên chung S’:

𝐷𝑡+1 = (𝐷𝑡\{𝑆𝑥, 𝑆𝑦}) ∪ {𝑆′}.

• Nếu một sự kiện đột biến xảy ra trên trình tự S, một trình tự mới S’ được tạo ra

từ trình tự S với đột biến:

𝐷𝑡+1 = (𝐷𝑡\{𝑆}) ∪ {𝑆′}.

• Nếu một sự kiện tái tổ hợp xảy ra trên một trình tự Sx(i,j), một điểm cắt tái tổ

hợp được thực hiện trong đoạn [i,j]. Hai trình tự con mới Sx1 và Sx2 được tạo ra

từ Sx:

𝐷𝑡+1 = (𝐷𝑡\{𝑆𝑥}) ∪ {𝑆𝑥1, 𝑆𝑥2}

• Nếu một tái tổ hợp xuất hiện trên một cặp trình tự có đoạn đầu chung (Sx,

Sy){d,l}, thực hiện tái tổ hợp trên trình tự có ít thông tin di truyền trong phần

86

đoạn chung hơn. Giả sử trình tự Sx có ít thông tin di truyền trong phần đoạn

chung hơn Sy, Sx sẽ được tách thành 2 trình tự con Sx1 và Sx2:

𝐷𝑡+1 = (𝐷𝑡\{𝑆𝑥}) ∪ {𝑆𝑥1, 𝑆𝑥2}

Các bước thực hiện thuật toán được trình bày trong Thuật toán 3.2.

Thuật toán GAMARG

Đầu vào: Một tập N trình tự nhị phân độ dài m.

Đầu ra: Một đồ thị ARG chứa các sự kiện kết hợp, đột biến, tái tổ hợp giữa các trình

tự, các trình tự trung gian được sinh ra và trình tự tổ tiên chung duy nhất được tìm thấy.

• Bước 1: Nếu danh sách kết hợp C không rỗng, thực hiện tất cả các kết hợp có thể.

• Bước 2: Nếu danh sách đột biến M không rỗng, thực hiện tất cả các đột biến có thể sau

đó chuyển sang Bước 1. Nếu không có đột biến nào, chuyển sang Bước 3.

• Bước 3: Nếu danh sách giao tử G không rỗng, thực hiện một tái tổ hợp sau đó chuyển

sang Bước 1. Nếu G rỗng, chuyển sang Bước 4.

• Bước 4: Nếu danh sách đoạn đầu chung S không rỗng, thực hiện một tái tổ hợp theo sau

là một sự kiện kết hợp. Chuyển đến Bước 1. Nếu S rỗng, chuyển sang Bước 5.

• Bước 5: Kết thúc thuật toán, đạt đến một trình tự tổ tiên chung duy nhất.

Thuật toán 3.2: Thuật toán GAMARG.

Các ứng cử viên từ 4 danh sách được chọn như sau:

• Ứng cử viên từ danh sách kết hợp và đột biến để thực hiện kết hợp và đột biến

được lấy ngẫu nhiên.

• Trong danh sách Giao tử G, nếu một trình tự ứng cử viên Sx(i, j) có khoảng cách

ngắn nhất từ vị trí i đến vị trí j, tức là, (j – i) có giá trị nhỏ nhất thì Sx có thứ tự

ưu tiên hàng đầu để thực hiện tái tổ hợp. Nếu có nhiều hơn một ứng cử viên có

cùng khoảng cách ngắn nhất thì một trong số ứng cử viên đó sẽ được chọn ngẫu

nhiên.

87

• Trong danh sách có đoạn đầu chung S, cặp trình tự có đoạn đầu chung dài nhất

(có đoạn thông tin di truyền chung nhiều nhất trong đoạn đầu chung) sẽ được

chọn thực hiện tái tổ hợp đầu tiên. Nếu có nhiều hơn một ứng cử viên có cùng

đoạn đầu chung dài nhất thì một trong số đó sẽ được chọn ngẫu nhiên.

Các lựa chọn ngẫu nhiên trong thuật toán GAMARG dẫn đến các ARG khác nhau

cho các lần chạy khác nhau.

3.6. Kết quả thực nghiệm

Để đánh giá hiệu suất của REARG và GAMARG, các thử nghiệm trên các bộ dữ

liệu khác nhau đã được tiến hành. Đầu tiên, chúng tôi so sánh các thuật toán

REARG, GAMARG, Margarita, và ARG4WG với kết quả từ các thuật toán xây

dựng đồ thị ARG tối thiểu (MinARG) trên các tập dữ liệu nhỏ gồm:

- Tập dữ liệu của Kreitman [41] bao gồm 11 trình tự độ dài 43. Tập dữ liệu

nhỏ này là một bộ dữ liệu chuẩn được sử dụng để đánh giá hiệu suất của

nhiều thuật toán tìm cận dưới tái tổ hợp cũng như các thuật toán xây dựng

ARG tối thiểu [47,62].

- Hai tập dữ liệu mô phỏng: SDS1 bao gồm 50 trình tự độ dài 54 và SDS2

gồm 75 trình tự độ dài 45 được công khai tại địa chỉ

https://people.eecs.berkeley.edu/~yss/lu.html.

Thứ 2, bốn thuật toán REARG, GAMARG, Margarita và ARG4WG được thử

nghiệm và so sánh trên 18 bộ dữ liệu trích xuất từ 3 vùng dữ liệu khác nhau của

Nhiễm sắc thể 1 từ dự án 1kGP [12] với số trình tự và số SNP được mô tả trong

Bảng 3.1.

Chúng tôi tiến hành so sánh các thuật toán GAMARG, Margarita, ARG4WG,

REARG về số sự kiện tái tổ hợp so với các thuật toán vét cạn trên các bộ dữ liệu

nhỏ. Với bộ dữ liệu lớn hơn như bộ dữ liệu trích xuất từ dự án 1kGP, các thuật toán

88

vét cạn không có khả năng thực thi được, chúng tôi tiến hành so sánh, đánh giá 4

Bảng 3.1: Tập dữ liệu từ dự án 1kGP.

thuật toán trên về số sự kiện tái tổ hợp và thời gian chạy của các thuật toán.

Tập dữ liệu

Số trình tự

Số SNP

{DS1, DS2, DS3}

100

2000

{DS1, DS2, DS3}

100

5000

{DS1, DS2, DS3}

100

10000

{DS1, DS2, DS3}

200

2000

{DS1, DS2, DS3}

200

5000

{DS1, DS2, DS3}

200

10000

REARG có 3 phiên bản là REARG_SIM, REARG_LEN, REARG_COM. Đối với

các thực nghiệm mà kết quả của cả 3 phiên bản là như nhau thì chúng tôi để là kết

quả của thuật toán REARG nói chung.

3.6.1. Kết quả trên các tập dữ liệu nhỏ

Với mỗi thuật toán, 10000 lần chạy được thực hiện để sinh ra 10000 ARG và ARG

được xây dựng với ít số sự kiện tái tổ hợp nhất được ghi lại. Đối với thuật toán

GAMARG, nhiều giá trị khác nhau cho tham số ઠ đã được chúng tôi thực nghiệm

và kết quả tốt nhất thu được là 18 ≤ 𝛿 < 43 cho tập dữ liệu Kreitman; 29 ≤ δ <

54 cho tập SDS1 và 11 ≤ δ < 45 cho tập SDS2. Các kết quả của các thuật toán

Bảng 3.2: Các kết quả của các thuật toán khác nhau trên các tập dữ liệu nhỏ.

được mô tả trong Bảng 3.2.

Kreitman

SDS1

SDS2

MinARG

7

10

12

Margarita

8

14

18

ARG4WG

10

17

18

REARG

10

17

20

GAMARG

7

10

13

89

Kết quả cho thấy, chiến lược đoạn chung dài nhất của Margarita tỏ ra hiệu quả hơn

so với chiến lược đoạn đầu chung dài nhất trong ARG4WG và REARG khi cho ra

kết quả số sự kiện tái tổ hợp ít hơn trong trường hợp dữ liệu nhỏ này. Thuật toán

REARG sử dụng các ràng buộc hạn chế hơn so với ARG4WG, đó là, thay vì lựa

chọn ngẫu nhiên trong số các cặp trình tự có cùng độ dài đoạn chung dài nhất như

trong thuật toán ARG4WG, REARG sử dụng thêm các ràng buộc về đặc trưng dữ

liệu để lựa chọn ra ứng cử viên cho bước tái tổ hợp. Cách làm này dẫn đến REARG

sinh ra các đồ thị ARG với số sự kiện tái tổ hợp luôn lớn hơn hoặc bằng số sự kiện

tái tổ hợp trong ARG4WG. Các kết quả thử nghiệm trên cho thấy chiến lược sử

dụng trong thuật toán REARG và ARG4WG không phù hợp với các tập dữ liệu

nhỏ. Tuy nhiên, các kết quả của Margarita, ARG4WG, và REARG đều còn rất xa

các kết quả tối ưu.

Thuật toán GAMARG cho kết quả tốt nhất khi có thể đạt tới ARG tối thiểu với tập

Kreitman và tập SDS1 và chỉ hơn 1 sự kiện tái tổ hợp so với phương pháp tối ưu ở

tập SDS2. Kết quả này chỉ ra tính hiệu quả của phương pháp kết hợp kiểm thử 4

giao tử và đoạn đầu chung dài nhất trong thuật toán GAMARG khi chạy với tập dữ

liệu nhỏ.

3.6.2. Các kết quả trên các tập dữ liệu từ dự án 1kGP

Với mỗi thuật toán, 1000 lần chạy được thực hiện để sinh ra 1000 ARG và ARG

được xây dựng với ít số sự kiện tái tổ hợp nhất được ghi lại. Do thuật toán

Margarita mất rất nhiều thời gian để xây dựng 1 đồ thị ARG trên các tập dữ liệu

này, chính vì vậy, ARG có ít số sự kiện tái tổ hợp nhất được tìm thấy sau 9 ngày

chạy thuật toán được ghi lại là kết quả cho thuật toán Margarita.

Đối với thuật toán GAMARG, các giá trị khác nhau (tức là, 5, 10, 15, 20, 25, và 30)

cho tham số 𝛿 đã được thử nghiệm trên các tập dữ liệu có các kích thước khác nhau.

5000 ARG được xây dựng và ARG với số sự kiện tái tổ hợp ít nhất được ghi lại trên

mỗi tập dữ liệu. Các kết quả cho thấy GAMARG cho ra các kết quả tương tự nhau

90

khi 𝛿 bằng một trong các giá trị 5, 10, 15 với độ dài 500 SNP. Tuy nhiên, với các

trình tự dài hơn, tức là, 1000 và 2000 SNP thì thuật toán cho ra số sự kiện tái tổ hợp

ít nhất với tham số 𝛿 = 5. Do đó, trong các thực nghiệm này, chúng tôi chạy

GAMARG sử dụng 𝛿 = 5.

Các kết quả thực nghiệm (xem Bảng 3.3 và Bảng 3.4) cho thấy các thuật toán

REARG và GAMARG đề xuất đều cho ta các đồ thị ARG với số sự kiện tái tổ hợp

ít hơn so với thuật toán Margarita và ARG4WG. Đặc biệt, thuật toán GAMARG

Bảng 3.3: Số sự kiện tái tổ hợp ít nhất được tìm thấy bởi 5 thuật toán cho 100 trình tự của

(a) DS1, (b) DS2 và (c) DS3.

đều có kết quả vượt trội trong tất cả các thực nghiệm.

Số SNP

2000

5000

10000

Margarita

30749

77574

13234

ARG4WG

2596

5837

10490

(a)

REARG_SIM

2579

5786

10324

REARG_LEN

2560

5741

10336

REARG_COM

2560

5766

10307

2441

5610

10052

GAMARG

Số SNP

2000

5000

10000

Margarita

33820

86041

10874

ARG4WG

1924

4335

8741

(b)

REARG_SIM

1949

4284

8623

REARG_LEN

1924

4288

8627

REARG_COM

1930

4279

8613

1824

4093

8298

GAMARG

91

Số SNP

2000

5000

10000

Margarita

32807

81829

11714

ARG4WG

1555

4120

9100

(c)

REARG_SIM

1545

4087

8987

REARG_LEN

1527

4077

8960

REARG_COM

1545

4063

8934

1502

3994

8817

GAMARG

Bảng 3.4: Số sự kiện tái tổ hợp ít nhất được tìm thấy bởi 5 thuật toán cho 200 trình tự của

(a) DS1, (b) DS2 và (c) DS3.

Số SNP

2000

5000

10000

Margarita

55788

139136

22692

ARG4WG

4218

9583

17083

(a)

REARG_SIM

4176

9480

16860

REARG_LEN

4180

9437

16834

REARG_COM

4182

9451

16829

4099

9315

16715

GAMARG

Số SNP

2000

5000

10000

Margarita

60337

153145

18467

ARG4WG

3072

6998

14158

(b)

REARG_SIM

3027

6909

13900

REARG_LEN

3020

6877

13887

REARG_COM

3021

6861

13925

2955

6679

13606

GAMARG

92

Số SNP

2000

5000

10000

Margarita

58313

144777

20047

ARG4WG

2620

6652

14813

(c)

REARG_SIM

2586

6607

14620

REARG_LEN

2595

6564

14634

REARG_COM

2584

6600

14642

2521

6504

14583

GAMARG

Ta thấy, với các trình tự dài (10,000 SNP), Margarita sinh ra đồ thị ARG có số sự

kiện tái tổ hợp nhiều hơn gấp khoảng 1.3 lần so với thuật toán REARG. Tuy nhiên,

Margarita cần một lượng lớn số sự kiện tái tổ hợp, gấp khoảng 10 đến 20 lần so với

REARG để xây dựng ARG cho các tập dữ liệu có trình tự ngắn hơn (2000 và 5000

SNP). Như vậy, Margarita cần số sự kiện tái tổ hợp để xây dựng 1 ARG cho dữ liệu

độ dài 10,000 SNP thậm chí còn ít hơn rất nhiều so với các tập dữ liệu độ dài 2000

và 5000 SNP. Kết quả cho thấy, thuật toán Margarita không ổn định. Điều này có

thể được lý giải là do chiến lược đoạn chung dài nhất của thuật toán. Margarita luôn

cần đến gấp đôi số sự kiện tái tổ hợp để thực hiện tái tổ hợp khi đoạn chung dài nhất

được tìm thấy bên trong trình tự. Vì vậy, khi đoạn chung dài nhất luôn được tìm

phía bên trong trình tự thì thuật toán sẽ bị bùng nổ về số nút cũng như số sự kiện tái

tổ hợp.

Mặc dù cả 3 phiên bản của thuật toán REARG đều tốt hơn so với ARG4WG nhưng

không có phiên bản nào tốt hơn hoàn toàn trong tất cả các thực nghiệm.

REARG_LEN và REARG_COM tốt hơn REARG_SIM trên hầu hết các tập dữ liệu;

tuy nhiên, REARG_SIM lại là thuật toán tốt nhất trong 3 phiên bản của REARG với

2 tập dữ liệu: tập DS1 với 200 trình tự và 2000 SNP và tập DS3 với 200 trình tự và

10,000 SNP.

93

Hình 3.6 minh họa các kết quả của 3 thuật toán GAMARG, REARG và ARG4WG.

Trong đó, kết quả của thuật toán REARG là kết quả tốt nhất trong 3 phiên bản

10600

2680

5700

10300

5400

10000

2380

9700

5100

2080

9400

4800

9100

REARG_LEN, REARG_COM, và REARG_SIM trên mỗi thử nghiệm.

100 trình tự

4500

1780

8800

4200

8500

1480

3900

8200

DS1

DS2

DS3

DS1

DS2

DS3

DS1

DS2

DS3

2000 SNP

5000 SNP

10000 SNP

4300

4000

3700

3400

200 trình tự

3100

2800

2500

9400 9100 8800 8500 8200 7900 7600 7300 7000 6700 6400

17100 16800 16500 16200 15900 15600 15300 15000 14700 14400 14100 13800 13500

DS1

DS2

DS3

DS1

DS2

DS3

DS1

DS2

DS3

2000 SNP

5000 SNP

10000 SNP

Hình 3.6: Số sự kiện tái tổ hợp ít nhất được tìm thấy bởi 3 thuật toán ARG4WG,

REARG và GAMARG cho 100 và 200 trình tự với 2000, 5000, và 10000 SNP của tập

DS1, DS2, và DS3.

Thuật toán GAMARG cho kết quả tốt hơn hẳn các thuật toán còn lại trong tất cả các

thực nghiệm. Sự vượt trội của GAMARG so với ARG4WG và REARG được thể

hiện rõ trong các thực nghiệm với 100 trình tự. Với các tập dữ liệu lớn hơn với

94

nhiều trình tự hơn, độ đa dạng của dữ liệu tăng lên, do đó có nhiều cặp vị trí không

tương thích hơn. Tuy nhiên, chỉ số ít trong số đó có thể thỏa mãn ràng buộc là ít

nhất có một loại giao tử có tần số bằng 1. Trong trường hợp này, lợi thế của

GAMARG so với ARG4WG và REARG là không đáng kể.

Trung bình thời gian chạy để xây dựng một đồ thị ARG được tính toán cho mỗi

thuật toán trên mỗi tập dữ liệu, các kết quả được tổng hợp trong Bảng 3.5 và Bảng

3.6.

Do sự bùng nổ về số sự kiện tái tổ hợp trong thuật toán Margarita khiến cho thuật

toán này có thời gian tính toán rất cao, gấp từ hàng trăm đến hàng nghìn lần so với

các thuật toán đề xuất. Thời gian chạy của thuật toán REARG_LEN gần bằng với

thời gian chạy của thuật toán ARG4WG. Do việc tính toán độ tương đồng mất

nhiều thời gian hơn nên thuật toán REARG_SIM và REARG_COM tốn nhiều thời

gian so với thuật toán ARG4WG và REARG_LEN. Thuật toán GAMARG có thời

gian chạy chậm hơn so với ARG4WG và REARG_LEN nhưng nhanh hơn

Bảng 3.5: Trung bình thời gian chạy (giây) của 5 thuật toán cho 100 trình tự của các tập dữ

liệu (a) DS1, (b) DS2, và (c) DS3.

REARG_SIM và REARG_COM.

Số SNP

2000

5000

10000

442.00

5690.00

201.50

Margarita

0.57

1.26

2.08

ARG4WG

(a)

3.27

17.66

60.64

REARG_SIM

0.62

1.35

2.46

REARG_LEN

3.39

18.34

62.80

REARG_COM

4.15

10.18

30.83

GAMARG

95

Số SNP

2000

5000

10000

754.00

7709.00

140.00

Margarita

0.41

0.99

1.90

ARG4WG

(b)

2.41

12.98

53.50

REARG_SIM

0.44

1.06

2.15

REARG_LEN

2.56

13.77

55.88

REARG_COM

2.41

6.83

21.09

GAMARG

Số SNP

2000

5000

10000

743.50

7627.50

166.00

Margarita

0.36

0.96

1.96

ARG4WG

(c)

2.04

13.01

53.63

REARG_SIM

0.39

1.02

2.08

REARG_LEN

2.22

13.34

55.72

REARG_COM

1.65

6.30

23.99

GAMARG

Các thuật toán này tuy không có khả năng chạy được với dữ liệu hàng nghìn trình tự

độ dài hàng trăm nghìn SNP như ARG4WG nhưng có khả năng chạy được với dữ

liệu hàng nghìn trình tự độ dài hàng chục nghìn SNP.

96

Bảng 3.6: Trung bình thời gian chạy (giây) của 5 thuật toán cho 200 trình tự của các tập dữ

liệu (a) DS1, (b) DS2, và (c) DS3.

Số SNP

2000

5000

10000

2826.51 31459.54

1157.00

Margarita

1.33

3.26

5.50

ARG4WG

(a)

8.84

49.85

168.09

REARG_SIM

1.43

3.51

5.76

REARG_LEN

9.71

49.20

169.77

REARG_COM

14.91

34.42

105.01

GAMARG

Số SNP

2000

5000

10000

3953.000 42623.510

839.503

Margarita

0.998

2.442

4.739

ARG4WG

(b)

6.181

35.391

145.266

REARG_SIM

0.999

2.558

4.879

REARG_LEN

7.001

35.246

146.843

REARG_COM

5.886

20.043

59.926

GAMARG

97

Số SNP

2000

5000

10000

3710.50 39230.55

1074.52

Margarita

0.96

2.42

4.94

ARG4WG

(c)

5.55

34.77

149.67

REARG_SIM

0.95

2.55

5.45

REARG_LEN

6.28

34.46

153.76

REARG_COM

3.95

18.62

60.35

GAMARG

3.7. Kết luận chương

Chiến lược đoạn chung dài nhất của Margarita và chiến lược đoạn đầu chung dài

nhất của ARG4WG đều không tối ưu số sự kiện tái tổ hợp trong quá trình xây dựng

đồ thị ARG. Các thực nghiệm đã cho thấy chiến lược đoạn chung dài nhất trong

Margarita phù hợp hơn so với chiến lược đoạn đầu chung dài nhất trong ARG4WG

trên các bộ dữ liệu nhỏ. Tuy nhiên, Margarita trở nên không ổn định và cho ra các

đồ thị ARG có số sự kiện tái tổ hợp nhiều hơn so ARG4WG trên các bộ dữ liệu vừa

và lớn.

Trong chương này, luận án đã giới thiệu hai thuật toán REARG và GAMARG cải

tiến từ ARG4WG nhằm tối ưu thêm số sự kiện tái tổ hợp trong quá trình xây dựng

đồ thị ARG.

Thông qua việc kết hợp thêm các đặc trưng về độ tương đồng và độ dài của trình tự

được chọn thực hiện tái tổ hợp bên cạnh ràng buộc đoạn đầu chung dài nhất, thuật

toán REARG có thể giúp tìm ra các ARG có số sự kiện tái tổ hợp ít hơn so với

ARG4WG với những tập dữ liệu vừa và lớn. Tức là, 2 đặc trưng này là phù hợp, có

thể giúp quá trình tìm kiếm khu trú được vào các ARG có số sự kiện tái tổ hợp nhỏ

nhanh hơn trong hữu hạn số lần chạy thuật toán. Tuy nhiên, không đặc trưng nào là

98

tốt nhất và việc tìm kiếm cần tiến hành song song giữa các phiên bản khác nhau của

thuật toán REARG.

Kiểm thử 4 giao tử là một kĩ thuật đơn giản nhưng hiệu quả trong việc tính toán đồ

thị ARG tối thiểu cho các bộ dữ liệu nhỏ. Chiến lược đoạn đầu chung dài nhất trong

ARG4WG rất hiệu quả đối với các bộ dữ liệu lớn. Sự kết hợp của chúng trong

GAMARG làm cho thuật toán là tốt nhất so với ARG4WG và REARG về số sự

kiện tái tổ hợp. GAMARG không những chạy được với dữ liệu hàng nghìn trình tự

độ dài hàng nghìn đến chục nghìn SNP mà còn có khả năng so sánh được với các

thuật toán xây dựng ARG tối thiểu trên các bộ dữ liệu nhỏ.

Các kết quả nghiên cứu của chương này đã được công bố trong một bài kỉ yếu Hội

nghị quốc tế NAFOSTED năm 2017 (công trình khoa học số 2) và một bài kỉ yếu

Hội nghị quốc tế ICBBB năm 2019 (công trình khoa học số 3).

99

KẾT LUẬN

Xác định nguồn gốc di truyền của bệnh bằng việc xác định các gen và alen nhạy

cảm với bệnh là mục tiêu then chốt của nghiên cứu di truyền học con người. Đồ thị

tái tổ hợp di truyền đóng một vai trò quan trọng trong nghiên cứu di truyền quần

thể, đa dạng hệ gen và đa hình di truyền SNP. Tuy nhiên, bài toán xây dựng đồ thị

ARG là một bài toán NP-khó và đòi hỏi tính toán khối lượng lớn nên ứng dụng vào

thực tế còn hạn chế.

Thông qua việc nghiên cứu các phương pháp xây dựng đồ thị ARG, tập trung theo

hướng tiếp cận xây dựng đồ thị ARG có ít số sự kiện tái tổ hợp nhất và thuật toán

Margarita, luận án đã đề xuất thuật toán ARG4WG xây dựng đồ thị ARG hợp lý

cho dữ liệu lớn hàng nghìn trình tự trên toàn hệ gen.

Bằng cách tiếp cận vấn đề theo cách của Margarita, cải tiến sử dụng đoạn đầu

chung dài nhất cho bước tính toán sự kiện tái tổ hợp, thuật toán ARG4WG đề xuất

không những giúp làm giảm đáng kể thời gian tìm kiếm các đoạn chung dài nhất

sau mỗi lần thực hiện bước tái tổ hợp mà còn đảm bảo số nút trong đồ thị luôn được

ổn định trong quá trình xây dựng đồ thị ARG. Kết quả thực nghiệm cho thấy thuật

toán ARG4WG nhanh hơn hàng trăm đến hàng nghìn lần thuật toán Margarita. Đặc

biệt, ARG4WG có thể chạy được với hàng nghìn trình tự trên toàn nhiễm sắc thể

trong 1 lần chạy trong khoảng thời gian hợp lý thông qua xử lý đa luồng.

Thuật toán ARG4WG cũng đã được thử nghiệm ứng dụng vào một bài toán thực tế

xác định tương quan toàn bộ nhiễm sắc thể trên tập dữ liệu lớn, cụ thể là trong bài

toán tìm vùng gen liên quan đến bệnh sốt rét ở Châu Phi trên 5560 trình tự độ dài

toàn nhiễm sắc thể 11. Kết quả vùng tín hiệu bệnh sốt rét tìm được trùng với các kết

quả phân tích đã có. Các kết quả này đã cho thấy khả năng ứng dụng của thuật toán

ARG4WG vào các bài toán thực tế trên dữ liệu lớn. Thuật toán được cài đặt và để

100

dưới dạng mã nguồn mở cho cộng đồng nghiên cứu tại địa chỉ:

https://github.com/thaontp711/arg4wg.

Luận án cũng đã đề xuất 2 thuật toán cải tiến từ thuật toán ARG4WG là REARG và

GAMARG nhằm tối ưu thêm số sự kiện tái tổ hợp trong quá trình xây dựng đồ thị

ARG. Thuật toán REARG giúp quá trình xây dựng ARG khu trú được vào các ARG

có số sự kiện tái tổ hợp nhỏ nhanh hơn ARG4WG trong hữu hạn số lần chạy thuật

toán đối với các tập dữ liệu vừa và lớn. Tuy nhiên, thuật toán GAMARG tổng quát

hơn. GAMARG có khả năng xây dựng được những ARG có chính xác hoặc gần

chính xác số sự kiện tái tổ hợp nhỏ nhất.

Trong thời gian tới, chúng tôi tiếp tục nghiên cứu các cách để xây dựng đồ thị ARG

tối thiểu cho dữ liệu hệ gen. Hệ gen người có cấu trúc là các khối haplotype

(haplotype blocks), mà trong các khối này không có sự kiện tái tổ hợp xảy ra và các

khối được xác định bởi các sự kiện tái tổ hợp. Do đó, một hướng đi tiềm năng có

thể xét đến là ứng dụng các thuật toán trong bài toán tìm các khối haplotype, từ đó

tìm được các điểm nóng phân biệt các khối (hot spots) chính là các vị trí tiềm năng

xảy ra các sự kiện tái tổ hợp, từ đó xây dựng đồ thị ARG dựa trên các vị trí tái tổ

hợp đã được xác định đó. Ngoài ra, chúng tôi sẽ nghiên cứu kết hợp các phương

pháp tối ưu tổ hợp vào thuật toán GAMARG để tối ưu số sự kiện tái tổ hợp trong

quá trình xây dựng đồ thị ARG. Bên cạnh đó, chúng tôi sẽ tiếp tục nghiên cứu và

triển khai các ứng dụng thuật toán ARG4WG, GAMARG vào các bài toán thực tế

khác trên dữ liệu lớn như bài toán tìm đa hình di truyền đơn nucleotide, xử lý dữ

liệu bị khuyết, …

101

DANH MỤC CÁC CÔNG TRÌNH KHOA HỌC CỦA TÁC

GIẢ LIÊN QUAN ĐẾN LUẬN ÁN

for whole genomes”, recombination graphs

1. Nguyen, T. T. P., Le, V. S., Ho, H. B., & Si Le, Q. (2016), “Building IEEE/ACM ancestral Transactions on Computational Biology and Bioinformatics (TCBB), 14(2), 478-483.

2. Nguyen, T. T. P., Le, V. S. (2017), "Building minimum recombination ancestral recombination graphs for whole genomes", The 4th NAFOSTED Conference on Information and Computer Science 2017, pp. 248-253. (IEEE conference).

3. Nguyen, T. T. P., Le, V. S. (2019), “A Hybrid Approach to Optimize the in Ancestral Recombination Graphs”, In Number of Recombination Proceedings of the 2019 9th International Conference on Bioscience, Biochemistry and Bioinformatics, pp. 36-42. (ACM conference).

102

TÀI LIỆU THAM KHẢO

1. Arenas M (2013), “The importance and application of the ancestral

recombination graph,” Frontiers in genetics, Vol. 4, p.206.

2. Bafna V, Bansal V (2006), “Inference about recombination from haplotype

data: lower bounds and recombination hotspots,” Journal of Computational

Biology, Vol. 13(2), pp.501–521.

3. Band G, Le QS, Jostins L, Pirinen M, Kivinen K, Jallow M, et al. (2013),

“Imputation-based meta-analysis of severe malaria in three African

populations,” PLoS genetics, Vol. 9(5), p.e1003509.

4. Barsh GS, Copenhaver GP, Gibson G, Williams SM (2012), “Guidelines for

genome-wide association studies,” PLoS genetics, Vol. 8(7), p.e1002812.

5. Browning SR, Browning BL (2011), “Haplotype phasing: existing methods

and new developments,” Nature Reviews Genetics, Vol. 12(10), p.703.

6. Bush WS, Moore JH (2012), “Genome-wide association studies,” PLoS

computational biology, Vol. 8(12), p.e1002822.

7. Cámara PG, Levine AJ, Rabadán R (2016), “Inference of ancestral

recombination graphs through topological data analysis,” PLoS computational

biology, Vol. 12(8), p.e1005071.

8. Cao M, Shi J, Wang J, Hong J, Cui B, Ning G (2015), “Analysis of Human

Triallelic SNPs by Next-Generation Sequencing,” Annals of human genetics,

Vol. 79(4), pp.275–281.

9. Carlsson G (2009), “Topology and data,” Bulletin of the American

Mathematical Society, Vol. 46(2), pp.255–308.

10. Charlton ND, Carbone I, Tavantzis SM, Cubeta MA (2008), “Phylogenetic

relatedness of the M2 double-stranded RNA in Rhizoctonia fungi,”

103

Mycologia, Vol. 100(4), pp.555–564.

11. Chen GK, Marjoram P, Wall JD (2009), “Fast and flexible simulation of

DNA sequence data,” Genome research, Vol. 19(1), pp.136–142.

12. Consortium 1000 Genomes Project, others (2010), “A map of human genome

variation from population-scale sequencing,” Nature, Vol. 467(7319), p.1061.

13. Consortium IH, others (2003), “The international HapMap project,” Nature,

Vol. 426(6968), p.789.

14. Darwin C (2004), On the origin of species, 1859, Routledge.

15. Delaneau O, Zagury J-F, Marchini J (2012), “Improved whole-chromosome

phasing for disease and population genetic studies,” Nature methods, Vol.

10(1), p.5.

16. Devlin B, Risch N (1995), “A comparison of linkage disequilibrium measures

for fine-scale mapping,” Genomics, Vol. 29(2), pp.311–322.

17. Didelot X, Lawson D, Darling A, Falush D (2010), “Inference of homologous

recombination in bacteria using whole-genome sequences,” Genetics, Vol.

186(4), pp.1435–1449.

18. Durrant C, Zondervan KT, Cardon LR, Hunt S, Deloukas P, Morris AP

(2004), “Linkage disequilibrium mapping via cladistic analysis of single-

nucleotide polymorphism haplotypes,” The American Journal of Human

Genetics, Vol. 75(1), pp.35–43.

19. Fearnhead P, Harding RM, Schneider JA, Myers S, Donnelly P (2004),

“Application of coalescent methods to reveal fine-scale rate variation and

recombination hotspots,” Genetics, Vol. 167(4), pp.2067–2081.

20. Frazer KA, Murray SS, Schork NJ, Topol EJ (2009), “Human genetic

variation and its contribution to complex traits,” Nature Reviews Genetics,

Vol. 10(4), p.241.

104

21. Grelon M (2016), “Meiotic recombination mechanisms,” Comptes rendus

biologies, Vol. 339(7–8), pp.247–251.

22. Griffiths AJF, Miller JH, Suzuki DT, others (2000), “Sources of variation,”

An Introduction to Genetic Analysis 7th edition Available from:

https://www.ncbi.nlm.nih.gov/books/NBK22012/,.

23. Griffiths RC, Marjoram P (1996), “Ancestral inference from samples of DNA

sequences with recombination,” Journal of Computational Biology, Vol. 3(4),

pp.479–502.

24. Gusfield D (1997), “Algorithms on stings, trees, and sequences: Computer

science and computational biology,” Acm Sigact News, Vol. 28(4), pp.41–60.

25. Gusfield D (2005), “Optimal, efficient reconstruction of root-unknown

phylogenetic networks with constrained and structured recombination,”

Journal of Computer and System Sciences, Vol. 70(3), pp.381–398.

26. Gusfield D (2014), ReCombinatorics: the algorithmics of ancestral

recombination graphs and explicit phylogenetic networks, MIT Press.

27. Gusfield D, Eddhu S, Langley C (2004), “Optimal, efficient reconstruction of

phylogenetic networks with constrained recombination,” Journal of

bioinformatics and computational biology, Vol. 2(01), pp.173–213.

28. Hein J, Schierup M, Wiuf C (2004), Gene genealogies, variation and

evolution: a primer in coalescent theory, Oxford University Press, USA.

29. Heine K, Beskos A, Jasra A, Balding D, De Iorio M (2018), “Bridging trees

for posterior inference on ancestral recombination graphs,” Proceedings of

the Royal Society A, Vol. 474(2220), p.20180568.

30. Hejase HA, Dukler N, Siepel A (2020), “From Summary Statistics to Gene

Trees: Methods for Inferring Positive Selection,” Trends in Genetics,.

31. Hobolth A, Christensen OF, Mailund T, Schierup MH (2007), “Genomic

105

relationships and speciation times of human, chimpanzee, and gorilla inferred

from a coalescent hidden Markov model,” PLoS genetics, Vol. 3(2), p.e7.

32. Hubisz MJ, Williams AL, Siepel A (2019), “Mapping gene flow between

ancient hominins through demography-aware inference of the ancestral

recombination graph,” bioRxiv, p.687368.

33. Hubisz M, Siepel A (2020), “Inference of ancestral recombination graphs

using ARGweaver,” In: Statistical Population Genomics, Humana, New

York, NY, pp.231–266.

34. Hudson RR (1983), “Properties of a neutral allele model with intragenic

recombination,” Theoretical population biology, Vol. 23(2), pp.183–201.

35. Hudson RR, Kaplan NL (1985), “Statistical properties of the number of

recombination events in the history of a sample of DNA sequences,”

Genetics, Vol. 111(1), pp.147–164.

36. Huson DH, Rupp R, Scornavacca C (2010), Phylogenetic networks: concepts,

algorithms and applications, Cambridge University Press.

37. Huson DH, Scornavacca C (2011), “A survey of combinatorial methods for

phylogenetic networks,” Genome biology and evolution, Vol. 3, pp.23–35.

38. Jenkins PA, Song YS, Brem RB (2012), “Genealogy-based methods for

inference of historical recombination and gene flow and their application in

Saccharomyces cerevisiae,” PloS one, Vol. 7(11), p.e46947.

39. Kingman JFC (1982), “The coalescent,” Stochastic processes and their

applications, Vol. 13(3), pp.235–248.

40. Kitts A, Sherry S (2002), “The single nucleotide polymorphism database

(dbSNP) of nucleotide sequence variation,” The NCBI Handbook McEntyre J,

Ostell J, eds Bethesda, MD: US National Center for Biotechnology

Information,.

106

41. Kreitman M (1983), “Nucleotide polymorphism at the alcohol dehydrogenase

locus of Drosophila melanogaster,” Nature, Vol. 304(5925), p.412.

42. Lam F, Tarpine R, Istrail S (2010), “The imperfect ancestral recombination

graph reconstruction problem: upper bounds for recombination and

homoplasy,” Journal of Computational Biology, Vol. 17(6), pp.767–781.

43. Larribe F, Lessard S, Schork NJ (2002), “Gene mapping via the ancestral

recombination graph,” Theoretical population biology, Vol. 62(2), pp.215–

229.

44. Le SQ, Durbin R (2011), “SNP detection and genotyping from low-coverage

sequencing data on multiple diploid samples,” Genome research, Vol. 21(6),

pp.952–960.

45. Li H, Durbin R (2011), “Inference of human population history from

individual whole-genome sequences,” Nature, Vol. 475(7357), p.493.

46. Li Y, Chen W, Liu EY, Zhou Y-H (2013), “Single nucleotide polymorphism

(SNP) detection and genotype calling from massively parallel sequencing

(MPS) data,” Statistics in biosciences, Vol. 5(1), pp.3–25.

47. Lyngsø RB, Song YS, Hein J (2005), “Minimum recombination histories by

branch and bound,” In: International Workshop on Algorithms in

Bioinformatics, pp.239–250.

48. Mailund T, Dutheil JY, Hobolth A, Lunter G, Schierup MH (2011),

“Estimating divergence time and ancestral effective population size of

Bornean and Sumatran orangutan subspecies using a coalescent hidden

Markov model,” PLoS genetics, Vol. 7(3), p.e1001319.

49. McCarthy JJ, Hilfiker R (2000), “The use of single-nucleotide polymorphism

maps in pharmacogenomics,” Nature biotechnology, Vol. 18(5), p.505.

50. McVean GAT, Cardin NJ (2005), “Approximating the coalescent with

107

recombination,” Philosophical Transactions of the Royal Society B:

Biological Sciences, Vol. 360(1459), pp.1387–1393.

51. Menelaou A, Marchini J (2012), “Genotype calling and phasing using next-

generation sequencing reads and a haplotype scaffold,” Bioinformatics, Vol.

21(6), pp.84–91.

52. Minichiello MJ, Durbin R (2006), “Mapping trait loci by use of inferred

ancestral recombination graphs,” The American Journal of Human Genetics,

Vol. 79(5), pp.910–922.

53. Morris AP, Whittaker JC, Balding DJ (2002), “Fine-scale mapping of disease

loci via shattered coalescent modeling of genealogies,” The American Journal

of Human Genetics, Vol. 70(3), pp.686–707.

54. NIH (2007), “Understanding human genetic variation,” NIH Curriculum

Supplement Series, http://www ncbi nlm nih gov/books/NBK20363 (last

accessed 13 October 2015),.

55. Parida L, Melé M, Calafell F, Bertranpetit J, Consortium G (2008),

“Estimating the ancestral recombinations graph (ARG) as compatible

networks of SNP patterns,” Journal of Computational Biology, Vol. 15(9),

pp.1133–1153.

56. Pritchard JK, Przeworski M (2001), “Linkage disequilibrium in humans:

models and data,” The American Journal of Human Genetics, Vol. 69(1),

pp.1–14.

57. Rahim NG, Harismendy O, Topol EJ, Frazer KA (2008), “Genetic

determinants of phenotypic diversity in humans,” Genome biology, Vol. 9(4),

p.215.

58. Rasmussen MD, Hubisz MJ, Gronau I, Siepel A (2014), “Genome-wide

inference of ancestral recombination graphs,” PLoS genetics, Vol. 10(5),

108

p.e1004342.

59. Salemi M, Vandamme A-M, Lemey P (2009), The phylogenetic handbook: a

practical approach to phylogenetic analysis and hypothesis testing,

Cambridge University Press.

60. Scally A, Durbin R (2012), “Revising the human mutation rate: implications

for understanding human evolution,” Nature Reviews Genetics, Vol. 13(10),

pp.745–753.

61. Song YS, Ding Z, Gusfield D, Langley CH, Wu Y (2007), “Algorithms to

distinguish the role of gene-conversion from single-crossover recombination

in the derivation of SNP sequences in populations,” Journal of Computational

Biology, Vol. 14(10), pp.1273–1286.

62. Song YS, Hein J (2005), “Constructing minimal ancestral recombination

graphs,” Journal of Computational Biology, Vol. 12(2), pp.147–169.

63. Song YS, Lyngso R, Hein J (2006), “Counting all possible ancestral

configurations of sample sequences in population genetics,” IEEE/ACM

Transactions on Computational Biology and Bioinformatics (TCBB), Vol.

3(3), pp.239–251.

64. Song YS, Wu Y, Gusfield D (2005), “Efficient computation of close lower

and upper bounds on the minimum number of recombinations in biological

sequence evolution,” Bioinformatics, Vol. 21(suppl_1), pp.i413--i422.

65. Than C, Ruths D, Nakhleh L (2008), “PhyloNet: a software package for

analyzing and reconstructing reticulate evolutionary relationships,” BMC

bioinformatics, Vol. 9(1), p.322.

66. Vaughan TG, Welch D, Drummond AJ, Biggs PJ, George T, French NP

(2017), “Inferring ancestral recombination graphs from bacterial genomic

data,” Genetics, Vol. 205(2), pp.857–870.

109

67. Visscher PM, Brown MA, McCarthy MI, Yang J (2012), “Five years of

GWAS discovery,” The American Journal of Human Genetics, Vol. 90(1),

pp.7–24.

68. Wall JD (2000), “A comparison of estimators of the population

recombination rate,” Molecular Biology and Evolution, Vol. 17(1), pp.156–

163.

69. Wang L, Zhang K, Zhang L (2001), “Perfect phylogenetic networks with

recombination,” Journal of Computational Biology, Vol. 8(1), pp.69–78.

70. Wiuf C, Hein J (1999), “Recombination as a point process along sequences,”

Theoretical population biology, Vol. 55(3), pp.248–259.

71. Wu Y (2007), “Association mapping of complex diseases with ancestral

recombination graphs: Models and efficient algorithms,” In: Annual

International Conference on Research in Computational Molecular Biology,

pp.488–502.

72. Wu Y, Gusfield D (2007), “Efficient computation of minimum recombination

with genotypes (not haplotypes),” Journal of bioinformatics and

computational biology, Vol. 5(02a), pp.181–200.

73. Zöllner S, Pritchard JK (2005), “Coalescent-based association mapping and

fine mapping of complex trait loci,” Genetics, Vol. 169(2), pp.1071–1092.

110