Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 27 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
27
Dung lượng
575,52 KB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Hồng Thị Điệp PHƯƠNG PHÁP TÍNH TỐN THƠNG MINH GIẢI MỘT SỐ BÀI TOÁN TIN SINH Chuyên ngành: Khoa học Máy tính Mã số: 62 48 01 01 TĨM TẮT LUẬN ÁN TIẾN SĨ CÔNG NGHỆ THÔNG TIN Hà Nội – 2017 Cơng trình hồn thành tại: Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội Người hướng dẫn khoa học: PGS.TS Lê Sỹ Vinh PGS.TS Hoàng Xuân Huấn Phản biện: Phản biện: Phản biện: Luận án bảo vệ trước Hội đồng cấp Đại học Quốc gia chấm luận án tiến sĩ họp vào hồi ngày tháng năm Có thể tìm hiểu luận án tại: - Thư viện Quốc gia Việt Nam - Trung tâm Thông tin - Thư viện, Đại học Quốc gia Hà Nội DANH MỤC CÁC CƠNG TRÌNH KHOA HỌC CỦA TÁC GIẢ LIÊN QUAN ĐẾN LUẬN ÁN Hoang, D T., Le, S V., Flouri, T., Stamatakis, A., von Haeseler, A and Minh, B Q (2018) ‘MPBoot: fast phylogenetic maximum parsimony tree inference and bootstrap approximation’, BMC Evolutionary Biology, 18(1), p 11 doi: 10.1186/s12862-018-1131-3 Tạp chí thuộc danh mục sở liệu ISI (Tiêu đề nộp đầu tiên: ‘MPBoot: Novel and fast approximation for maximum parsimony bootstrap’) Hoang, D T., Chernomor, O., von Haeseler, A., Minh, B Q and Le, S V (2017) ‘UFBoot2: Improving the ultrafast bootstrap approximation’, Molecular Biology and Evolution doi: 10.1093/molbev/msx281 Tạp chí thuộc danh mục sở liệu ISI Hoang, D T., Le, S V., Flouri, T., Stamatakis, A., von Haeseler, A and Minh, B Q (2016) ‘A new phylogenetic tree sampling method for maximum parsimony bootstrapping and proof-of-concept implementation’, in 2016 Eighth International Conference on Knowledge and Systems Engineering (KSE), pp 1–6 doi: 10.1109/KSE.2016.7758020 Giải nhì báo xuất sắc cho học viên (Runner up Best Student Paper) MỞ ĐẦU Tính cấp thiết luận án Tin sinh liên quan tới cơng nghệ sử dụng máy tính để lưu trữ, truy xuất phân tích thơng tin liên quan tới đại phân tử sinh học: DNA, RNA protein Tin sinh học thu hút nhiều quan tâm cộng đồng khoa học nhà đầu tư khả mang lại tiến khoa học hiệu kinh tế thông qua việc thúc đẩy phát triển công nghệ sinh học ứng dụng y tế, nông nghiệp lĩnh vực khác Nhiều khái niệm tin sinh hàng chuỗi, tìm kiếm chuỗi tương đồng xây dựng tiến hóa có liên hệ tới tiến hóa Hơn nữa, bước tiến cơng nghệ sinh học cho phép thu trình tự gen hoàn chỉnh cung cấp nguồn liệu mới, vô phong phú cho nghiên cứu tiến hóa mức độ tồn gen Điều đặt đòi hỏi phát triển phương pháp để phân tích quan hệ tiến hóa liệu nhiều chuỗi liệu mức gen Dưới góc nhìn thống kê, xây dựng tiến hóa toán ước lượng tham số thống kê Ta ước lượng tiến hóa từ mẫu gồm phần tử vị trí hàng Do đó, để kết có ý nghĩa phải có độ tin cậy kèm Làm bootstrap tiến hóa kĩ thuật phổ biến để xác định độ tin cậy tiến hóa Kĩ thuật phát triển từ kĩ thuật bootstrap thống kê phục vụ việc xác định biến thiên ước lượng thực nghiệm Làm bootstrap tiến hóa thường tiến hành sau xây dựng tiến hóa với bước sau: Với liệu vào hàng gốc 𝑚𝑚 vị trí, trước tiên, ta lấy mẫu có hồn lại vị trí hàng gốc 𝑚𝑚 lần nhằm tạo hàng bootstrap có kích thước giống hệt hàng gốc Thông thường, 100 1000 hàng bootstrap tạo theo cách Ta xây dựng tiến hóa cho hàng bootstrap, gọi bootstrap, theo cách xây dựng tiến hóa cho hàng gốc Với cạnh xây dựng hàng gốc, giá trị hỗ trợ bootstrap tính tỷ lệ bootstrap có chứa cạnh Làm bootstrap tiến hóa theo lược đồ chuẩn nói có số hạn chế lớn là: - Bootstrap chuẩn tiêu tốn nhiều thời gian Vấn đề trở nên nghiêm trọng đặc biệt với đời cơng nghệ giải trình tự hệ cho phép tạo liệu khổng lồ - Một vấn đề khác độ xác bootstrap: giá trị hỗ trợ bootstrap mà tiếp cận bootstrap chuẩn gán cho cạnh cho ước lượng thấp xác suất (tức xác suất thuộc đúng) cạnh - Riêng với phương pháp xây dựng theo tiêu chuẩn hợp lý (maximum likelihood - ML), cịn có vấn đề ảnh hưởng vi phạm giả thiết mơ hình (vi phạm mơ hình) tượng đa phân tới độ xác bootstrap Mục tiêu luận án 1) Nghiên cứu phương pháp chuẩn phương pháp xấp xỉ có cho bootstrap tiến hóa ML, từ đề xuất phương pháp giải tốt thách thức toán: thời gian chạy, độ xác, ảnh hưởng vi phạm mơ hình tượng đa phân, mở rộng cho liệu gen 2) Nghiên cứu phương pháp chuẩn cho bootstrap tiến hóa theo tiêu chuẩn tiết kiệm (maximum parsimony - MP), từ đề xuất phương pháp xấp xỉ hiệu cho toán 3) Cài đặt phương pháp đề xuất cho bootstrap tiến hóa ML bootstrap tiến hóa MP để phục vụ nhu cầu nhà khoa học phân tích tiến hóa Các đóng góp luận án Trong luận án này, với tốn bootstrap tiến hóa ML, đề xuất phương pháp UFBoot2 dựa phương pháp UFBoot (Minh et al 2013) với cải tiến quan trọng UFBoot2 cải thiện đáng kể tốc độ độ xác giá trị bootstrap so với UFBoot Hơn nữa, UFBoot2 có cải tiến để xử lý đỉnh đa phân tốt hơn, giảm ảnh hưởng vi phạm mơ hình mở rộng để phân tích hàng gen Với toán bootstrap tiến hóa MP, luận án đề xuất phương pháp MPBoot để xấp xỉ nhanh bootstrap chuẩn MPBoot phát triển từ ý tưởng UFBoot với điều chỉnh quan trọng để phù hợp với tiêu chuẩn tiết kiệm nhất: tính tốn hiệu điểm MP cho hàng bootstrap, kỹ thuật phức tạp cho tìm kiếm cắt ghép (SPR), ratchet bước tinh chỉnh bootstrap ứng viên Chúng tơi kết hợp với Trung tâm Tin sinh Tích hợp Vienna, Cộng hịa Áo phát triển tích hợp UFBoot2 vào hệ thống mã nguồn mở tốt cho phân tích tiến hóa theo tiêu chuẩn hợp lý IQ-TREE; phát triển phần mềm mã nguồn mở MPBoot cài đặt phương pháp MPBoot Các kết luận án công bố báo tạp chí SCI quốc tế báo cáo hội nghị quốc tế Bố cục luận án Ngoài phần kết luận, luận án tổ chức sau Chương giới thiệu khái niệm phân tích tiến hóa dựa liệu sinh học phân tử, phương pháp bootstrap thống kê phát biểu toán làm bootstrap tiến hóa Chương đề xuất thuật tốn pruning nhanh trường hợp mơ hình tiến hóa có tính thuận nghịch thời gian; sau đề xuất phương pháp UFBoot2 để xấp xỉ nhanh bootstrap tiến hóa ML Cuối chương trình bày thiết kế thực nghiệm kết Chương đề cập tới vấn đề liệu mơ hình mà UFBoot khơng hỗ trợ Từ đó, đề xuất ba cải tiến quan trọng: (i) cải tiến để xử lý đỉnh đa phân (ii) cải tiến để giảm ảnh hưởng vi phạm mơ hình (iii) cải tiến mở rộng để phân tích hàng nhiều gen Cuối chương trình bày thiết kế thực nghiệm kết Chương đề xuất phương pháp (MPBoot) để tìm kiếm hiệu MP, đồng thời xấp xỉ hiệu bootstrap tiến hóa MP Cuối chương trình bày thiết kế thực nghiệm kết Chương BÀI TOÁN BOOTSTRAP CÂY TIẾN HÓA 1.1 Một số khái niệm tiến hóa phân tử 1.1.1 Thơng tin di truyền Kiểu hình sinh vật sống ln kết thông tin di truyền (mà sinh vật mang truyền cho hệ kế tiếp) tương tác với môi trường Vì vậy, để nghiên cứu tiến hóa, ta cần tìm hiểu biến đổi thơng tin di truyền sinh vật Phần trình bày số khái niệm sinh học phân tử (bộ gen, DNA, RNA, protein) quan hệ chúng 1.1.2 Sắp hàng đa chuỗi Sắp hàng đa chuỗi hiểu ma trận phân tử sinh học Trong hàng chuỗi phân tử sinh học cột chứa phân tử sinh học tương đồng chuỗi Mỗi cột gọi vị trí Từ hàng đa chuỗi, chuỗi tương đồng sử dụng để phân tích tiến hóa giúp đánh giá nguồn gốc tiến hóa chuỗi 1.1.3 Cây tiến hóa Cây tiến hóa dạng sơ đồ phân nhánh thể mối quan hệ tiến hóa lồi (cũng mở rộng cho cá thể hay gen) dựa tương đồng khác biệt đặc điểm di truyền Các lồi đưa vào phân tích quan hệ tiến hóa cho có tổ tiên chung Mối quan hệ tiến hóa lồi thường biểu diễn nhị phân với cấu trúc sau: đỉnh biểu diễn loài (cho liệu vào); đỉnh biểu diễn loài tổ tiên (ta khơng có thơng tin lồi tổ tiên); cạnh nối hai đỉnh biểu diễn mối quan hệ trực tiếp hai loài hai đỉnh cây; độ dài cạnh nối hai loài cho biết khoảng cách tiến hóa chúng Khoảng cách tiến hóa biểu diễn thời gian, hay số lượng biến đổi nucleotide/axít amin hai chuỗi DNA/axít amin sử dụng để so sánh hai lồi Ta thường khơng có thơng tin lồi tổ tiên, khơng xác định xác gốc tiến hóa Chính vậy, tiến hóa thường biểu diễn nhị phân khơng gốc Sau đó, có thêm thơng tin tiến hóa, ta dùng kĩ thuật định gốc, ví dụ kĩ thuật định gốc lồi khác xa với nhóm lồi xét (outgroup rooting) 1.1.4 Xây dựng tiến hóa Cây tiến hóa khơng quan sát trực tiếp mà phải suy luận từ chuỗi liệu khác Các phương pháp xây dựng tiến hóa xếp vào hai hướng tiếp cận: dựa khoảng cách (các phương pháp khoảng cách) dựa ký tự (các phương pháp tiệm –MP , phương pháp hợp lý - ML, phương pháp suy luận Bayesian) Luận án tập trung vào xây dựng tiến hóa theo MP ML độ phổ dụng cao chúng 1.1.4.1 Tiêu chuẩn tiết kiệm (maximum parsimony – MP) Phương pháp MP tính số lượng biến đổi cực tiểu tiến hóa cách gán trạng thái ký tự cho đỉnh Chiều dài ký tự (hoặc vị trí) số lượng biến đổi tối thiểu cần thiết cho vị trí Điểm MP tổng chiều dài ký tự tính tất vị trí Cây MP có điểm MP nhỏ 1.1.4.2 Tiêu chuẩn hợp lý (maximum likelihood – ML) Để ước lượng tiến hóa theo ML cần hai bước tối ưu: tối ưu độ dài cạnh để tính điểm cho ứng viên duyệt tìm kiếm không gian để thu làm cực đại hàm likelihood Suy luận theo ML tương đương với việc so sánh nhiều giả thuyết thống kê có số lượng tham số 1.1.4.3 Một số kĩ thuật biến đổi cục dùng xây dựng tiến hóa Hốn-đổi-cạnh (branch-swapping) lớp kĩ thuật dùng để cải thiện lời giải thuật toán xây dựng tiến hóa có liên quan tới việc xáo trộn cấu trúc Ba kĩ thuật hoán-đổi-cạnh từ đơn giản đến phức tạp là: (i) hoán đổi hàng xóm gần (nearest-neighbor interchange - NNI), (ii) cắt ghép (subtree pruning and regrafting - SPR) (iii) chặt đôi nối lại (tree bisection and reconnection - TBR) 1.1.5 Mơ hình tiến hóa Tất phương pháp phân tích quan hệ tiến hóa dựa mơ hình (trong có phương pháp ML) giả thiết biến đổi tiến hóa kí tự (nucleotide hay axit amin) tuân theo xích Markov thời gian liên tục với tập trạng thái ℰ tập trạng thái kí tự Phần trình bày cơng thức với mơ hình biến đổi nucleotide (ℰ = {𝐴𝐴, 𝐶𝐶, 𝐺𝐺, 𝑇𝑇}); công thức cho mơ hình biến đổi axit amin (ℰ tập axit amin) hoạt động tương tự 1.1.5.1 Ma trận tốc độ biến đổi tức Tâm điểm xích Markov thời gian liên tục ma trận 𝐐𝐐 (trừ ô nằm đường chéo) tốc độ biến đổi tức từ trạng thái kí tự sang trạng thái kí tự khác Các đường chéo tính theo hàng để đảm bảo tổng hàng Trong Hình 1.4, hàng theo thứ tự A,C,G,T 𝜋𝜋𝐴𝐴 , 𝜋𝜋𝐶𝐶 , 𝜋𝜋𝐺𝐺 , 𝜋𝜋 𝑇𝑇 tần suất nucleotide Đại lượng 𝜇𝜇 trung bình tốc độ biến đổi tức Trong tính tốn, 𝐐𝐐 chuẩn hóa để 𝜇𝜇 = Khi ấy, độ dài cạnh tiến hóa trung bình số lượng biến đổi nucleotide vị trí hàng 𝐀𝐀 −(𝑎𝑎𝜋𝜋𝐶𝐶 + 𝑏𝑏𝜋𝜋𝐺𝐺 + 𝑐𝑐𝜋𝜋 𝑇𝑇 ) 𝑔𝑔𝜋𝜋𝐴𝐴 𝐐𝐐 = �𝑞𝑞𝑖𝑖𝑖𝑖 � = � ℎ𝜋𝜋𝐴𝐴 𝑗𝑗𝜋𝜋𝐴𝐴 𝐂𝐂 𝑎𝑎𝜋𝜋𝐶𝐶 −(𝑔𝑔𝜋𝜋𝐴𝐴 + 𝑑𝑑𝜋𝜋𝐺𝐺 + 𝑒𝑒𝜋𝜋 𝑇𝑇 ) 𝑖𝑖𝜋𝜋𝐶𝐶 𝑘𝑘𝜋𝜋𝐶𝐶 𝐆𝐆 𝑏𝑏𝜋𝜋𝐺𝐺 𝑑𝑑𝜋𝜋𝐺𝐺 −(ℎ𝜋𝜋𝐴𝐴 + 𝑖𝑖𝜋𝜋𝐶𝐶 + 𝑓𝑓𝜋𝜋 𝑇𝑇 ) 𝑙𝑙𝜋𝜋𝐺𝐺 𝐓𝐓 𝑐𝑐𝜋𝜋 𝑇𝑇 𝑒𝑒𝜋𝜋 𝑇𝑇 � 𝜇𝜇 𝑓𝑓𝜋𝜋 𝑇𝑇 −(𝑗𝑗𝜋𝜋𝐴𝐴 + 𝑘𝑘𝜋𝜋𝐶𝐶 + 𝑙𝑙𝜋𝜋𝐺𝐺 ) Hình 1.1 Ma trận tốc độ biến đổi tức Q cho mơ hình biến đổi nucleotide Trong Chương 2, luận án khảo sát lớp cụ thể mơ hình biến đổi nucleotide gọi mơ hình có tính thuận nghịch thời gian (time-reversible), tức 𝑎𝑎 = 𝑔𝑔, 𝑏𝑏 = ℎ, 𝑐𝑐 = 𝑗𝑗, 𝑑𝑑 = 𝑖𝑖, 𝑒𝑒 = 𝑘𝑘, 𝑓𝑓 = 𝑙𝑙 Khi biết 𝐐𝐐 ta tính xác suất chuyển từ trạng thái kí tự sang trạng thái kí tự khác thời gian tiến hóa 𝑡𝑡 cách tính hàm mũ ma trận: (1.1) 𝐏𝐏(𝑡𝑡) = 𝑒𝑒 𝐐𝐐𝑡𝑡 Ma trận xác suất chuyển trạng thái 𝐏𝐏(𝑡𝑡) chìa khóa để tính likelihood phương pháp xây dựng tiến hóa theo ML 1.1.5.2 Một số mơ hình biến đổi nucleotide Bảng 1.3 liệt kê mơ hình biến đổi nucleotide điển hình thuộc lớp thuận nghịch thời gian Ta nhận thấy GTR mơ hình tổng qt với tham số tự JC69 mơ hình đơn giản nhất, khơng chứa tham số tự 1.1.5.3 Tính khơng đồng tốc độ biến đổi vị trí trình tự Thực tế, tốc độ biến đổi nucleotide khác biệt đáng kể vị trí khác trình tự Để tính tới tình này, người ta đưa vào mơ hình hợp lý cho phân bố tốc độ theo vị trí Tiếp cận phổ biến dùng phân bố gamma (Γ) với kì vọng 1.0 phương sai 1/𝛼𝛼, từ có mơ hình 𝐽𝐽𝐽𝐽69 + Γ, 𝐻𝐻𝐻𝐻𝐻𝐻85 + Γ hay 𝐺𝐺𝐺𝐺𝐺𝐺 + Γ có nhiều tham số tự so với mơ hình gốc (tham số 𝛼𝛼) 1.1.6 Giới thiệu phương pháp bootstrap thống kê Bootstrap kĩ thuật thống kê để ước lượng theo cách thực nghiệm mức độ biến thiên ước lượng Nó lấy mẫu có hồn lại từ mẫu ban đầu để tạo mẫu hư cấu có kích thước Giả sử mẫu gốc có 𝑚𝑚 điểm liệu (𝑥𝑥1 , 𝑥𝑥2 , … , 𝑥𝑥𝑚𝑚 ) sinh độc lập từ phân bố 𝐹𝐹(𝜃𝜃) phụ thuộc vào tham số 𝜃𝜃 Từ mẫu gốc ta tính ước lượng 𝜃𝜃� = 𝑡𝑡(𝑥𝑥1 , 𝑥𝑥2 , … , 𝑥𝑥𝑚𝑚 ) cho tham số 𝜃𝜃 Ta muốn biết mức độ biến thiên phân bố ước lượng Việc trước phương pháp bootstrap đời thực phân bố 𝐹𝐹 chưa biết hàm ước lượng 𝑡𝑡(𝐱𝐱) phức tạp mặt toán học Bootstrap suy luận biến thiên cách sử dụng mẫu gốc, thông qua việc sinh mẫu từ 𝐹𝐹 mà từ phân bố thực nghiệm 𝐹𝐹� cho điểm liệu mẫu gốc Sinh mẫu cỡ 𝑚𝑚 từ phân bố thực nghiệm giống ∗ lấy mẫu điểm (𝑥𝑥1∗ , 𝑥𝑥2∗ , … , 𝑥𝑥𝑚𝑚 ) từ mẫu gốc Mẫu ∗ gọi bootstrap 𝐱𝐱 Từ ta tính ước lượng �∗ = 𝑡𝑡(𝐱𝐱 ∗ ) Để thấy mức độ biến thiên ước lượng cho cho tham số 𝛉𝛉 𝜃𝜃, ta cần sinh thật nhiều bootstrap làm ước lượng Các nghiên cứu rằng, 𝑚𝑚 lớn làm bootstrap với số lượng lớn cho biến thiên xác 𝜃𝜃� 1.2 Bài tốn bootstrap tiến hóa 1.2.1 Phát biểu toán Dữ liệu vào: Dữ liệu đầu vào hàng 𝑛𝑛 chuỗi phân tử sinh học (chuỗi nucleotide/axít amin/codon), chuỗi có 𝑚𝑚 vị trí (ký tự), sau gọi hàng gốc Với phân tích ML, liệu vào có thêm mơ hình tiến hóa Bài tốn: Lặp lại 𝐵𝐵 lần việc sinh hàng bootstrap có kích thước giống hệt hàng mẫu cách lấy mẫu có hồn lại vị trí hàng gốc ta thu 𝐵𝐵 hàng bootstrap Xây dựng tiến hóa cho hàng gốc cho hàng bootstrap Do có nhiều phương pháp khác cho kết với độ xác thời gian thực khác nhau, cần đề xuất phương pháp cho kết xác với thời gian thực thấp Dữ liệu ra: Cây tiến hóa cho hàng gốc có gắn giá trị hỗ trợ bootstrap cho cạnh Minh họa lược đồ tiếp cận bootstrap chuẩn tiến hóa (standard bootstrap hay SBS) minh họa Hình 1.6 1.2.2 Các tiêu chí đánh giá phương pháp bootstrap tiến hóa 1.2.2.1 Đánh giá thời gian chạy 1.2.2.2 Đánh giá độ xác Độ xác phương pháp, Z, định nghĩa 𝑓𝑓Z (𝑥𝑥 ), tỷ lệ số cạnh có mặt trong số tất cạnh có giá trị hỗ trợ bootstrap 𝑥𝑥% (đếm tất xây dựng được) 𝑓𝑓Z (𝑥𝑥 ) phản ánh xác suất cạnh với giá trị hỗ trợ bootstrap 𝑥𝑥% cạnh Phương pháp Z gọi không chệch 𝑓𝑓Z (𝑥𝑥 ) = 𝑥𝑥% cho tất giá trị 𝑥𝑥 (trên đồ thị đường chéo) Nếu đường cong 𝑓𝑓Z (𝑥𝑥 ) nằm phía đường chéo, phương pháp bootstrap cho ước lượng thấp xác suất cạnh (nghĩa phương pháp bảo thủ) Ngược lại (đường cong cho 𝑓𝑓Z (𝑥𝑥 ) nằm bên đường chéo), phương pháp cho ước lượng cao xác suất cạnh (nghĩa phương pháp lạc quan) Việc khảo sát độ xác phương pháp bootstrap Z thực thông qua thực nghiệm mô 1.2.2.3 Các tiêu chí khác a) Đánh giá ảnh hưởng vi phạm giả thiết mơ hình tiến hóa Ta giả sử liệu hàng sinh từ tiến hóa Tđúng theo mơ hình tiến hóa Mđúng Khi xây dựng tiến hóa theo tiêu chuẩn hợp lý nhất, bước xác định mơ hình tiến hóa M Khi mơ hình M chọn khác Mđúng, ta gọi mơ hình vi phạm giả thiết Việc khảo sát ảnh hưởng mơ hình tiến hóa sai thực thông qua thực nghiệm mô b) Đánh giá ảnh hưởng tượng đa phân (polytomy) Các phương pháp xây dựng tiến hóa duyệt có cấu trúc nhị phân (nghĩa đỉnh kết nối với ba cạnh khác) Đôi khi, liệu đầu vào không cho ta đủ thông tin tiến hóa, dẫn đến việc biểu diễn tốt lại có chứa đỉnh đa phân Những đỉnh gọi polytomy Các phương pháp khác cho kết khác tìm dạng nhị phân cho đỉnh đa phân Việc khảo sát ảnh hưởng tượng đa phân thực thơng qua thực nghiệm mô 1.3 Các nghiên cứu bootstrap tiến hóa Tốn nhiều thời gian chạy nút thắt lớn phân tích bootstrap tiến hóa Vấn đề trở nên nghiêm trọng với phân tích dựa ML tính tốn likehood tốn xây dựng tiến hóa theo ML thuộc lớp tốn NP-khó Luận án khơng tìm hiểu cơng trình nghiên cứu xấp xỉ bootstrap tiến hóa theo MP lại có nhiều cơng 2.2.3 Giả mã thuật toán UFBoot Thuật toán 2.1 Thuật toán UFBoot Dữ liệu vào: Sắp hàng gốc 𝐴𝐴𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 gồm 𝑛𝑛 chuỗi (taxa) Mơ hình tiến hóa M cho phép tính xác suất biến đổi trạng thái Dữ liệu ra: Cây ML xây dựng cho 𝐴𝐴𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 gắn giá trị hỗ trợ bootstrap cho cạnh Bắt đầu 1) Bước khởi đầu: Tạo 𝐵𝐵 hàng bootstrap, 𝐴𝐴1 , 𝐴𝐴2 , … , 𝐴𝐴𝐵𝐵 Với hàng bootstrap 𝐴𝐴𝑏𝑏 khởi tạo bootstrap 𝑇𝑇𝑏𝑏 : = 𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 điểm RELL bootstrap ℓ�(𝑇𝑇𝑏𝑏 |𝐴𝐴𝑏𝑏 ): = −∞ Khởi tạo tập 𝑆𝑆: = {} ngưỡng log-likelihood ℓ𝑚𝑚𝑚𝑚𝑚𝑚 ≔ −∞ 2) Bước khám phá: Tiến hành tìm kiếm sử dụng thuật tốn IQPNNI (Vinh and von Haeseler 2004) cho hàng gốc 𝐴𝐴𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 Mỗi duyệt 𝑇𝑇 ∉ 𝑆𝑆 thỏa mãn ℓ(𝑇𝑇�𝐴𝐴𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 ) ≥ ℓ𝑚𝑚𝑚𝑚𝑚𝑚 , thêm T vào S tính ℓ�(𝑇𝑇|𝐴𝐴𝑏𝑏 ), cho 𝑏𝑏 = 1, … , 𝐵𝐵 dựa Công thức 2.4 Nếu ℓ�(𝑇𝑇|𝐴𝐴𝑏𝑏 ) > ℓ�(𝑇𝑇𝑏𝑏 |𝐴𝐴𝑏𝑏 ), cập nhật 𝑇𝑇𝑏𝑏 : = 𝑇𝑇 Khi hết lượt lặp tìm kiếm thuật tốn IQPNNI, cập nhật ℓ𝑚𝑚𝑚𝑚𝑚𝑚 3) Bước tóm tắt: Xây dựng đồng thuận từ bootstrap {𝑇𝑇1 , 𝑇𝑇2 , … , 𝑇𝑇𝐵𝐵 } , ánh xạ giá trị hỗ trợ bootstrap lên ML mà IQPNNI tìm cho 𝐴𝐴𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 Kết thúc 2.3 Tính độ hợp lý (likelihood) cho cây: Thuật tốn pruning 2.3.1 Tính likelihood cho theo định nghĩa Ta khảo sát việc tính likelihood cho biết độ dài cạnh Ví dụ minh họa việc tính tốn cho chuỗi DNA tổng qt hóa cho tất mơ hình kí tự rời rạc Ta cho biết độ dài cạnh (Hình 2.1) mơ hình tiến hóa cho phép tính xác suất biến đổi trạng thái này, tức tính 𝑃𝑃𝑖𝑖𝑖𝑖 (𝑡𝑡) (xác suất trạng thái j tồn điểm kết thúc cạnh độ dài 𝑡𝑡, trạng thái điểm bắt đầu cạnh i) Tính tốn sử dụng giả thiết độc lập Theo đó, việc tính likelihood hàng quy việc tính likelihood cho vị trí đơn lẻ 𝑃𝑃(𝐴𝐴𝑖𝑖 |𝑇𝑇) = � � � � 𝑃𝑃(𝐴𝐴, 𝐶𝐶, 𝐶𝐶, 𝐶𝐶, 𝐺𝐺, 𝑥𝑥, 𝑦𝑦, 𝑧𝑧, 𝑡𝑡, 𝑤𝑤|𝑇𝑇) 𝑥𝑥 𝑦𝑦 𝑧𝑧 𝑤𝑤 tổng chạy tất bốn nucleotide 10 (2.4) C A t1 C t2 t5 t4 C y G t3 t6 a r tb b w z x ta t7 Hình 2.2 Một tiến hóa T để minh họa thuật tốn pruning pruning nhanh Nó định gốc ngẫu nhiên đỉnh r với hai đỉnh trực tiếp a b với độ dài cạnh tương ứng 𝑡𝑡𝑎𝑎 𝑡𝑡𝑏𝑏 t8 Hình 2.1 Cây minh họa tính likelihood định nghĩa chuẩn thuật toán pruning Đỉnh gốc x Xác suất vế phải Cơng thức 2.5 phân rã thành tích nhân tử: 𝑃𝑃(𝐴𝐴, 𝐶𝐶, 𝐶𝐶, 𝐶𝐶, 𝐺𝐺, 𝑥𝑥, 𝑦𝑦, 𝑧𝑧, 𝑡𝑡, 𝑤𝑤|𝑇𝑇) (2.5) = 𝑃𝑃(𝑥𝑥 )𝑃𝑃(𝑦𝑦|𝑥𝑥, 𝑡𝑡6 )𝑃𝑃(𝐴𝐴|𝑦𝑦, 𝑡𝑡1 )𝑃𝑃(𝐶𝐶 |𝑦𝑦, 𝑡𝑡2 ) 𝑃𝑃(𝑧𝑧|𝑥𝑥, 𝑡𝑡8 )𝑃𝑃(𝐶𝐶 |𝑧𝑧, 𝑡𝑡3 )𝑃𝑃(𝑤𝑤 |𝑧𝑧, 𝑡𝑡7 ) 𝑃𝑃(𝐶𝐶 |𝑤𝑤, 𝑡𝑡4 )𝑃𝑃(𝐺𝐺 |𝑤𝑤, 𝑡𝑡5 ) 𝑃𝑃(𝑥𝑥 ) đặt xác suất cân bazơ 𝑥𝑥 theo mô hình Những xác suất khác tính từ mơ hình biến đổi nucleotide Biến đổi cạnh độc lập với tất cạnh khác bazơ điểm bắt đầu cạnh xác định Công thức 2.6 có nhiều hạng tử Với vị trí hàng, ta tính tổng 44 = 256 hạng tử Số hạng tử tăng theo hàm mũ so với 𝑛𝑛 (số lồi) Trên (có gốc) có 𝑛𝑛 lồi, ta có 𝑛𝑛 − đỉnh trong, đỉnh nhận trạng thái Do ta cần 4𝑛𝑛−1 hạng tử 2.3.2 Tính likelihood cho theo thuật tốn pruning Thuật tốn pruning tính toán hiệu likelihood nhờ sử dụng tiếp cận quy hoạch động Ý tưởng đẩy kí hiệu tổng Công thức 2.5 xa tốt nhóm cặp ngoặc 11 𝑃𝑃(𝐴𝐴𝑖𝑖 |𝑇𝑇) = � 𝑃𝑃(𝑥𝑥 ) �� 𝑃𝑃(𝑦𝑦|𝑥𝑥, 𝑡𝑡6 )𝑃𝑃(𝐴𝐴|𝑦𝑦, 𝑡𝑡1 )𝑃𝑃(𝐶𝐶 |𝑦𝑦, 𝑡𝑡2 )� 𝑥𝑥 𝑦𝑦 × �� 𝑃𝑃(𝑧𝑧|𝑥𝑥, 𝑡𝑡8 )𝑃𝑃(𝐶𝐶 |𝑧𝑧, 𝑡𝑡3 ) (2.6) 𝑧𝑧 × �� 𝑃𝑃(𝑤𝑤 |𝑧𝑧, 𝑡𝑡7 )𝑃𝑃(𝐶𝐶 |𝑤𝑤, 𝑡𝑡4 )𝑃𝑃(𝐺𝐺 |𝑤𝑤, 𝑡𝑡5 ) �� 𝑤𝑤 Việc tính tốn theo Cơng thức 2.8 diễn từ cặp ngoặc sâu Điều gợi ý luồng tính tốn hướng xuống gốc Thuật toán pruning dựa hàm likelihood riêng phần con, kí hiệu 𝐿𝐿𝑟𝑟𝑖𝑖 (𝑠𝑠) Đây xác suất thứ quan sát từ nút r trở đến lá, vị trí hàng thứ i, với điều kiện nút r có trạng thái s Trong Công thức 2.8, hạng tử 𝑃𝑃(𝐶𝐶 |𝑤𝑤, 𝑡𝑡4 )𝑃𝑃(𝐺𝐺 |𝑤𝑤, 𝑡𝑡5 ) đại lượng Có đại lượng ứng với giá trị khác đỉnh w Điểm mấu chốt thuật toán pruning là, số tính ta khơng cần liên tục tính lại chúng Thuật tốn pruning tiến hành nhờ tính tốn đệ quy hàm 𝐿𝐿𝑟𝑟𝑖𝑖 (𝑠𝑠) đỉnh theo hàm này đỉnh hậu duệ gần Giả sử đỉnh 𝑟𝑟 có hậu duệ gần 𝑎𝑎 𝑏𝑏, đỉnh kết thúc cạnh có độ dài 𝑡𝑡𝑎𝑎 𝑡𝑡𝑏𝑏 Ta có 𝐿𝐿𝑟𝑟𝑖𝑖 (𝑠𝑠) = �� 𝑃𝑃(𝑥𝑥|𝑠𝑠, 𝑡𝑡𝑎𝑎 )𝐿𝐿𝑎𝑎𝑖𝑖 (𝑥𝑥 )� �� 𝑃𝑃(𝑦𝑦|𝑠𝑠, 𝑡𝑡𝑏𝑏 )𝐿𝐿𝑏𝑏𝑖𝑖 (𝑦𝑦)� 𝑥𝑥 𝑦𝑦 (2.7) Trước bắt đầu tính tốn, ta khởi tạo likelihood riêng phần đỉnh sau: đỉnh có trạng thái A giá trị 𝐿𝐿𝑖𝑖 đỉnh (2.8) �𝐿𝐿𝑖𝑖 (𝐴𝐴), 𝐿𝐿𝑖𝑖 (𝐶𝐶 ), 𝐿𝐿𝑖𝑖 (𝐺𝐺 ), 𝐿𝐿𝑖𝑖 (𝑇𝑇)� = (1,0,0,0) Thuật tốn đỉnh có tất đỉnh hậu duệ gần (trong ln có đỉnh vậy) Sau tính cho đỉnh gần gốc hơn, áp dụng với đỉnh có tất hậu duệ gần tính likelihood Kết qủa 𝐿𝐿𝑂𝑂𝑖𝑖 cho đỉnh gốc Ta hoàn thiện việc tính likelihood cho vị trí hàng cách tính trung bình có trọng số tất bazơ, sử dụng trọng số xác suất tiền nghiệm theo mơ hình xác suất: 12 𝐿𝐿𝑖𝑖 = � 𝜋𝜋𝑥𝑥 𝐿𝐿𝑂𝑂𝑖𝑖 (𝑥𝑥) (2.9) 𝑥𝑥 Công thức 2.11 cho kết giống Công thức 2.8 không tốn nhiều chi phí tính tốn Với vị trí hàng công thức đệ quy áp dụng 𝑛𝑛 − lần, lần đệ quy gồm lần tính, lần tính tích hạng tử, hạng tử tổng tích Như vậy, với có 𝑛𝑛 lá, hàng có 𝑚𝑚 vị trí kí tự nhận 𝑐𝑐 trạng thái, chi phí tính tốn tỉ lệ với 𝑚𝑚(𝑛𝑛 − 1)𝑐𝑐 Ý nghĩa thuật toán pruning Thuật tốn pruning cho phép tính nhanh likelihood cây, giúp nhanh chóng tìm độ dài tối ưu cạnh ứng với cấu trúc phân nhánh cho trước Với việc duyệt tìm cấu trúc tối ưu, thuật toán pruning cho phép đánh giá cách hiệu biến đổi cấu trúc cục 2.4 Đề xuất thuật tốn pruning nhanh Giả sử mơ hình tiến hóa chuỗi mơ hình Markov thuận nghịch với ma trận tốc độ Q Khơng tính tổng qt, chúng tơi trình bày phương pháp đề xuất cho chuỗi DNA với ký tự trạng thái {A,C,G,T} tốc độ độc lập phân bố 2.4.1 Phân tích thuật tốn pruning Felsenstein Cho trước sắp hàng hàng 𝑨𝑨 với vị trí 𝐴𝐴1 , … , 𝐴𝐴𝑚𝑚 , loglikelihood 𝑇𝑇 (có độ dài cạnh) ma trận tốc độ 𝑄𝑄 tính cơng thức: 𝑚𝑚 ℓ(𝑨𝑨 |𝑇𝑇, 𝑄𝑄 ) = � log�𝐿𝐿(𝐴𝐴𝑖𝑖 |𝑇𝑇, 𝑄𝑄 )� (2.10) 𝑖𝑖=1 𝐿𝐿(𝐴𝐴𝑖𝑖 |𝑇𝑇, 𝑄𝑄 ) likelihood cho vị trí i sắp hàng Để thu nhỏ chi phí tính tốn 𝐿𝐿(𝐴𝐴𝑖𝑖 |𝑇𝑇, 𝑄𝑄 ), Felsenstein (1981) đề xuất thuật tốn pruning Theo đó, T định gốc ngẫu nhiên đỉnh r với hai đỉnh a b Thuật toán duyệt đệ quy để tính vector likelihood riêng phần 𝐿𝐿𝑎𝑎𝑖𝑖 (𝑥𝑥 ), với 𝑥𝑥 ∈ {𝐴𝐴, 𝐶𝐶, 𝐺𝐺, 𝑇𝑇} cho có gốc a (Hình 2.2) Tương tự, ta tính vector likelihood riêng phần đỉnh b: 𝐿𝐿𝑏𝑏𝑖𝑖 (𝑥𝑥 ) Các đại lượng kết hợp lại để tính vector likelihood riêng phần gốc: 𝐿𝐿𝑟𝑟𝑖𝑖 (𝑥𝑥 ) = �� 𝑝𝑝𝑥𝑥𝑥𝑥 (𝑡𝑡𝑎𝑎 )𝐿𝐿𝑎𝑎𝑖𝑖 (𝑦𝑦)� �� 𝑝𝑝𝑥𝑥𝑥𝑥 (𝑡𝑡𝑏𝑏 )𝐿𝐿𝑏𝑏𝑖𝑖 (𝑦𝑦)� 𝑦𝑦 𝑦𝑦 13 (2.11) �𝑝𝑝𝑥𝑥𝑥𝑥 (𝑡𝑡)� 𝑥𝑥,𝑦𝑦∈{𝐴𝐴,𝐶𝐶,𝐺𝐺,𝑇𝑇} = 𝑃𝑃(𝑡𝑡) = 𝑒𝑒 𝑄𝑄𝑄𝑄 xác suất biến đổi từ trạng thái x sang trạng thái y khoảng thời gian tiến hóa t Lưu ý 𝐿𝐿𝑎𝑎𝑖𝑖 (𝑥𝑥 ) 𝐿𝐿𝑏𝑏𝑖𝑖 (𝑥𝑥 ) tính theo cách thức tương tự Cơng thức 2.13 tương ứng từ hậu duệ a b Likelihood cho vị trí hàng i tính bằng: 𝐿𝐿(𝐴𝐴𝑖𝑖 |𝑇𝑇, 𝑄𝑄 ) = � 𝜋𝜋𝑥𝑥 𝐿𝐿𝑟𝑟𝑖𝑖 (𝑥𝑥 ) (2.12) 𝑥𝑥 với 𝜋𝜋𝑥𝑥 tần suất cân trạng thái 𝑥𝑥 Theo nguyên lý Pulley, 𝑄𝑄 thuận nghịch, likelihood vị trí hàng i khơng thay đổi miễn 𝑡𝑡𝑎𝑎 + 𝑡𝑡𝑏𝑏 = 𝑡𝑡 khơng đổi Nói cách khác, ta đặt 𝑡𝑡𝑎𝑎 = (di chuyển r tới a) Khi đó, 𝑃𝑃(𝑡𝑡𝑎𝑎 ) = 𝑃𝑃(0) trở thành ma trận đơn vị kết hợp Công thức 2.13 Công thức 2.14 cho ta: 𝐿𝐿(𝐴𝐴𝑖𝑖 |𝑇𝑇, 𝑄𝑄 ) = � 𝜋𝜋𝑥𝑥 𝐿𝐿𝑎𝑎𝑖𝑖 (𝑥𝑥 ) �� 𝑝𝑝𝑥𝑥𝑥𝑥 (𝑡𝑡)𝐿𝐿𝑏𝑏𝑖𝑖 (𝑦𝑦)� 𝑥𝑥 (2.13) 𝑦𝑦 Về bản, thuật toán Felsenstein thuật tốn quy hoạch động Nó có độ phức tạp thời gian 𝑂𝑂(𝑛𝑛𝑛𝑛𝑐𝑐 ), n, m c số chuỗi, số vị trí hàng số trạng thái ký tự (dữ liệu DNA c=4) Độ phức tạp khơng gian 𝑂𝑂(𝑛𝑛𝑛𝑛𝑛𝑛) nhằm lưu vector likelihood riêng phần cho tất đỉnh 2.4.2 Phân tích giá trị đặc trưng Trước giải thích phiên đề xuất cho việc cải thiện tốc độ tính tốn chiều dài cạnh, luận án bắt đầu với đặc điểm cụ thể ma trận tốc độ thuận nghịch dạng biến đổi tương tự Gọi Q ma trận tốc độ mơ hình thuận nghịch thời gian tổng quát 𝛱𝛱 = diag(𝜋𝜋𝐴𝐴 , 𝜋𝜋𝐶𝐶 , 𝜋𝜋𝐺𝐺 , 𝜋𝜋 𝑇𝑇 ) ma trận chéo tần suất trạng thái cân Ta có, ma trận 𝑄𝑄1 = 𝛱𝛱1/2 ∙ 𝑄𝑄 ∙ 𝛱𝛱−1/2 đối xứng với giá trị đặc trưng thực vector đặc trưng thực Ngồi ra, ta tính ma trận trực giao 𝑊𝑊 từ vector đặc trưng 𝑄𝑄1 cho 𝛬𝛬 = 𝑊𝑊 𝑇𝑇 ∙ 𝑄𝑄1 ∙ 𝑊𝑊, với 𝑊𝑊 𝑇𝑇 ∙ 𝑊𝑊 = 𝐼𝐼 = diag(1,1,1,1) 𝛬𝛬 ma trận chéo với giá trị đặc trưng 𝑄𝑄1 (và 𝑄𝑄) Ta thu 𝛬𝛬 = 𝑊𝑊 𝑇𝑇 ∙ 𝛱𝛱1/2 ∙ 𝑄𝑄 ∙ 𝛱𝛱−1/2 ∙ 𝑊𝑊 Do tính kết hợp phép nhân ma trận 𝑊𝑊 𝑇𝑇 ∙ 𝛱𝛱1/2 ∙ 𝛱𝛱−1/2 ∙ 𝑊𝑊 = 𝐼𝐼 14 Do đó, 𝑈𝑈 −1 = 𝑊𝑊 𝑇𝑇 ∙ 𝛱𝛱1/2 𝑈𝑈 = 𝛱𝛱−1/2 ∙ 𝑊𝑊 ; với U ma trận vector đặc trưng 𝑄𝑄 −1 𝑇𝑇 𝑇𝑇 𝑢𝑢𝑥𝑥𝑥𝑥 = 𝑤𝑤𝑥𝑥𝑥𝑥 �𝜋𝜋𝑦𝑦 and 𝑢𝑢𝑦𝑦𝑦𝑦 = 𝑤𝑤𝑦𝑦𝑦𝑦 /�𝜋𝜋𝑦𝑦 Vì 𝑤𝑤𝑥𝑥𝑥𝑥 = 𝑤𝑤𝑦𝑦𝑦𝑦 ta thu −1 𝑢𝑢𝑥𝑥𝑥𝑥 = 𝜋𝜋𝑦𝑦 𝑢𝑢𝑦𝑦𝑦𝑦 (2.14) Công thức 2.16 dùng sau 2.4.3 Tăng tốc ước lượng độ dài cạnh Để tính ℓ(𝑨𝑨|𝑇𝑇, 𝑄𝑄 ), ta cần ước lượng độ dài tất cạnh 𝑇𝑇 Việc chiếm hầu hết thời gian chạy Ở đây, ta duyệt để tối ưu lần cạnh, chẳng hạn phương pháp Newton-Raphson (Olsen et al 1994) Duyệt lặp lại tới log-likelihood hội tụ Do đó, thao tác phổ biến tính ℓ(𝑨𝑨|𝑇𝑇, 𝑄𝑄 ) biết cạnh (𝑎𝑎, 𝑏𝑏) nối đỉnh 𝑎𝑎 𝑏𝑏 có độ dài t Bởi Công thức 2.15 áp dụng lặp lại tối ưu t, ta cần tính sẵn vector likelihood riêng phần 𝐿𝐿𝑎𝑎𝑖𝑖 ( ) 𝐿𝐿𝑏𝑏𝑖𝑖 ( ) để tiết kiệm tính tốn Chi phí tính tốn cho Cơng thức 2.15 𝑚𝑚𝑐𝑐 với độ dài t cho trước Ở phần sau đây, luận án trình bày kĩ thuật để giảm chi phí thành 𝑚𝑚𝑚𝑚, tức nhanh 𝑐𝑐 lần phiên túy Công thức 2.15 Như biến đổi phần trước: 𝑄𝑄 = 𝑈𝑈 ∙ 𝛬𝛬 ∙ 𝑈𝑈 −1 Do đó, 𝑃𝑃(𝑡𝑡) = 𝑒𝑒 𝑄𝑄𝑄𝑄 = 𝑈𝑈 ∙ 𝑒𝑒 𝛬𝛬𝛬𝛬 ∙ 𝑈𝑈 −1 𝑒𝑒 𝛬𝛬𝛬𝛬 ma trận chéo hàm mũ giá trị đặc trưng Nói cách khác, ta có: −1 𝑝𝑝𝑥𝑥𝑥𝑥 (𝑡𝑡) = � 𝑢𝑢𝑥𝑥𝑥𝑥 𝑒𝑒 𝜆𝜆𝑧𝑧𝑡𝑡 𝑢𝑢𝑧𝑧𝑧𝑧 (2.15) 𝑧𝑧 −1 phần tử ma trận với trạng thái 𝑥𝑥 𝑦𝑦, 𝑢𝑢𝑥𝑥𝑥𝑥 𝑢𝑢𝑧𝑧𝑧𝑧 vector đặc trưng 𝑈𝑈 𝑈𝑈 −1 Thay vế phải Công thức 2.17 vào Công thức 2.15 ta −1 𝑏𝑏 ( ) 𝐿𝐿𝑖𝑖 𝑦𝑦 � 𝐿𝐿(𝐴𝐴𝑖𝑖 |𝑇𝑇, 𝑄𝑄 ) = � 𝜋𝜋𝑥𝑥 𝐿𝐿𝑎𝑎𝑖𝑖 (𝑥𝑥 ) �� � 𝑢𝑢𝑥𝑥𝑥𝑥 𝑒𝑒 𝜆𝜆𝑧𝑧𝑡𝑡 𝑢𝑢𝑧𝑧𝑧𝑧 𝑦𝑦 𝑥𝑥 𝑧𝑧 Sắp xếp lại thành phần công thức để rút gọn −1 (Cơng thức 2.16), ta được: 𝜋𝜋𝑥𝑥 𝑢𝑢𝑥𝑥𝑥𝑥 = 𝑢𝑢𝑧𝑧𝑧𝑧 −1 𝑎𝑎 ( ) −1 𝑏𝑏 ( ) 𝐿𝐿(𝐴𝐴𝑖𝑖 |𝑇𝑇, 𝑄𝑄 ) = � 𝑒𝑒 𝜆𝜆𝑧𝑧𝑡𝑡 �� 𝑢𝑢𝑧𝑧𝑧𝑧 𝐿𝐿𝑖𝑖 𝑥𝑥 � �� 𝑢𝑢𝑧𝑧𝑧𝑧 𝐿𝐿𝑖𝑖 𝑦𝑦 � 𝑧𝑧 𝑥𝑥 𝑦𝑦 (2.16) Kí hiệu tổng ngoặc trịn Cơng thức 2.18 𝑉𝑉𝑖𝑖𝑎𝑎 (𝑧𝑧) 𝑉𝑉𝑖𝑖𝑏𝑏 (𝑧𝑧), ta có: 15 𝐿𝐿(𝐴𝐴𝑖𝑖 |𝑇𝑇, 𝑄𝑄 ) = � 𝑒𝑒 𝜆𝜆𝑧𝑧𝑡𝑡 𝑉𝑉𝑖𝑖𝑎𝑎 (𝑧𝑧)𝑉𝑉𝑖𝑖𝑏𝑏 (𝑧𝑧) (2.17) 𝑧𝑧 So sánh Công thức 2.15 Công thức 2.19, ta thấy rút gọn từ phép tổng lồng thành phép tổng, nhờ việc lưu trữ vector 𝑉𝑉𝑖𝑖𝑎𝑎 (𝑧𝑧) 𝑉𝑉𝑖𝑖𝑏𝑏 (𝑧𝑧) thay cho vector likelihood riêng phần 𝐿𝐿𝑎𝑎𝑖𝑖 (𝑥𝑥 ) 𝐿𝐿𝑏𝑏𝑖𝑖 (𝑥𝑥 ) Chi phí tính tốn vector V tốn gấp đơi chi phí cho vector likelihood riêng phần, bù lại, việc ước lượng độ dài cạnh sử dụng Công thức 2.19 nhanh c lần sử dụng Công thức 2.15 2.4.4 Thuật toán pruning nhanh đề xuất Thuật toán 2.2 Thuật toán pruning nhanh Dữ liệu vào: Sắp hàng gốc 𝐴𝐴𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 gồm 𝑛𝑛 chuỗi (taxa); mơ hình tiến hóa; T có độ dài cạnh; cạnh (a,b) cần tối ưu độ dài cạnh Dữ liệu ra: Cây T có cạnh (a,b) tối ưu log-likelihood tương ứng cho Bắt đầu 1) Thực duyệt theo thứ thự sau để tính vector V cho tất đỉnh dựa vector V hậu duệ sử dụng Công thức 2.20 Công thức 2.21 Chi phí tính tốn phần gấp đơi chi phí cho việc tính vector likelihood riêng phần Công thức 2.13 2) Vận dụng Công thức 2.19 để ước lượng độ dài cho cạnh (a,b) biết 𝑉𝑉𝑖𝑖𝑎𝑎 𝑉𝑉𝑖𝑖𝑏𝑏 tính trước Chi phí tính tốn phần nhanh 4, 20 61 lần so với việc sử dụng Công thức 2.15 tương ứng mơ hình DNA, protein codon Kết thúc Thuật tốn pruning tính lưu V thay cho việc lưu vector likelihood riêng phần cho đỉnh Để làm việc này, thay vế phải Công thức 2.17 vào Công thức 2.13 cho ta: −1 𝑎𝑎 ( ) −1 𝑏𝑏 ( ) 𝐿𝐿𝑟𝑟𝑖𝑖 (𝑥𝑥 ) = �� � 𝑢𝑢𝑥𝑥𝑥𝑥 𝑒𝑒 𝜆𝜆𝑧𝑧𝑡𝑡𝑎𝑎 𝑢𝑢𝑧𝑧𝑧𝑧 𝐿𝐿𝑖𝑖 𝑦𝑦 � �� � 𝑢𝑢𝑥𝑥𝑥𝑥 𝑒𝑒 𝜆𝜆𝑧𝑧𝑡𝑡𝑏𝑏 𝑢𝑢𝑧𝑧𝑧𝑧 𝐿𝐿𝑖𝑖 𝑦𝑦 � 𝑦𝑦 𝑧𝑧 𝑦𝑦 𝑧𝑧 Sắp xếp lại thành phần công thức thay L V: 𝐿𝐿𝑟𝑟𝑖𝑖 (𝑥𝑥 ) = �� 𝑢𝑢𝑥𝑥𝑥𝑥 𝑒𝑒 𝜆𝜆𝑧𝑧𝑡𝑡𝑎𝑎 𝑉𝑉𝑖𝑖𝑎𝑎 (𝑧𝑧)� �� 𝑢𝑢𝑥𝑥𝑥𝑥 𝑒𝑒 𝜆𝜆𝑧𝑧𝑡𝑡𝑏𝑏 𝑉𝑉𝑖𝑖𝑏𝑏 (𝑧𝑧)� 𝑧𝑧 𝑧𝑧 Vector V gốc tính cơng thức: 16 (2.18) −1 𝑟𝑟 ( ) 𝑉𝑉𝑖𝑖𝑟𝑟 (𝑧𝑧) = � 𝑢𝑢𝑧𝑧𝑧𝑧 𝐿𝐿𝑖𝑖 𝑥𝑥 (2.19) 𝑥𝑥 Kết hợp thành phần nói với ta có thuật tốn pruning nhanh (Thuật tốn 2.2) 2.5 Đề xuất thuật tốn UFBoot2 Chúng tơi đề xuất phương pháp UFBoot2 để xấp xỉ bootstrap tiến hóa ML việc thay tồn thuật tốn pruning UFBoot (Thuật toán 2.1) thuật toán pruning nhanh (Thuật toán 2.2) UFBoot2 cài đặt thành công hệ thống IQ-TREE (mã nguồn mở cung cấp http://www.iqtree.org) 2.5.1 Cải tiến tốc độ kĩ thuật tối ưu code Ngồi cải tiến thuật tốn, luận án đề xuất tận dụng khả tính tốn đơn lệnh đa liệu (SIMD - single instruction, multiple data) kiến trúc máy tính tính tốn đồng thời likelihood cho vị trí hàng sử dụng kiến trúc SSE (streaming SIMD extensions) cho vị trí hàng sử dụng kiến trúc AVX (advanced vector extensions), dẫn đến tăng tốc lý thuyết hai lần lần so với cài đặt không sử dụng SIMD 2.6 Kết thực nghiệm Luận án thực đánh giá thời gian chạy 70 hàng DNA and 45 hàng protein từ TreeBASE, trước phân tích Nguyen et al (2015) UFBoot2 nhanh trung bình 2,4 lần (tối đa: 77,3) so với UFBoot 0.9.6 Chương CẢI TIẾN UFBOOT2 XỬ LÝ CÁC VẤN ĐỀ DỮ LIỆU VÀ MƠ HÌNH Chương tập trung vào tốn bootstrap tiến hóa ML tổng hợp kết nghiên cứu luận án cải tiến khả xử lý vấn đề liệu mơ hình phương pháp UFBoot 3.1 Cải tiến để xử lý polytomy tốt Polytomy đỉnh đa phân mà phân giải dạng nhị phân khơng có đủ thơng tin tiến hóa liệu Tuy nhiên, việc xây dựng tiến hóa lại ln giả thiết có dạng nhị phân Khi phân giải đỉnh đa phân có nhiều cấu trúc nhị phân tối ưu ngang Vì UFBoot (và cách tiếp cận bootstrap khác) lưu tối ưu cho hàng bootstrap, gán giá trị hỗ trợ bootstrap cao cho cạnh ngắn Để khắc phục thiếu sót UFBoot2 thực kỹ thuật sau Thay chọn bootstrap với điểm số RELL cao cho hàng bootstrap, UFBoot2 chọn ngẫu nhiên số có điểm số 17 RELL khác biệt khơng q 𝜀𝜀𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏 (mặc định 0.5) so với RELL cao Thực nghiệm liệu mơ tiến hóa từ hình (với thiết kế đề xuất (Simmons and Norton 2014)) rằng: UFBoot2 giống với UFBoot gốc, khơng hỗ trợ cạnh không tồn (các giá trị hỗ trợ bootstrap ≤88%) 3.2 Cải tiến để giảm ảnh hưởng vi phạm mơ hình Minh cộng (2013) vi phạm mơ hình nhiều làm tăng giá trị hỗ trợ bootstrap UFBoot Để giải vấn đề UFBoot2 cung cấp tùy chọn để tiến hành bước bổ sung tìm kiếm hàng gốc hồn tất Theo đó, RELL tốt tiếp tục tối ưu nhờ tìm kiếm leo đồi dùng NNI dựa trực tiếp hàng bootstrap tương ứng Do đó, bước bổ sung hoạt động SBS, dạng tìm kiếm nhanh nhằm tiết kiệm thời gian Các giá trị hỗ trợ bootstrap sau tóm tắt từ bootstrap tinh chỉnh tối ưu Sau đây, chúng tơi gọi tùy chọn UFBoot2+NNI, bật lên dùng IQ-TREE thông qua tùy chọn "-bnni" Luận án thực lại thực nghiệm với liệu mô PANDIT (Minh et al 2013) để so sánh độ xác bootstrap UFBoot2 UFBoot2+NNI với SBS (bootstrap chuẩn 1000 bootstrap IQTREE) RBS (sử dụng tiêu chuẩn bootstopping RAxML) Luận án kết luận UFBoot2 UFBoot2+NNI phương pháp nhanh thay cho tiếp cận bootstrap khác Khi mô hình khơng sai sai ít, ta dùng giá trị hỗ trợ bootstrap UFBoot2 với ý nghĩa không chệch đề xuất cho UFBoot (Minh et al 2013) Nghĩa là, người dùng tin tưởng cạnh có giá trị hỗ trợ bootstrap từ UFBoot2 ≥ 95% Người dùng nên sử dụng phương pháp phát vi phạm mơ hình (Goldman 1993; Weiss and von Haeseler 2003; Nguyen et al 2011) trước làm phân tích bootstrap Khi có khả cao xảy vi phạm mơ hình so với liệu quan sát người dùng cần sử dụng UFBoot2+NNI 3.3 Cải tiến mở rộng để phân tích hàng gen Để hỗ trợ phân tích hàng đa chuỗi đa gen, UFBoot2 đề xuất thực số chiến lược sinh hàng bootstrap sau: (i) lấy mẫu có hồn lại vị trí hàng gen hàng gốc (gọi lấy mẫu theo vị trí hàng; đặt làm tùy chọn mặc định UFBoot2), (ii) lấy mẫu có hồn lại gen thay vị trí hàng (gọi lấy mẫu theo gen; gọi thông qua tham số dịng lệnh "-bsam GENE") (iii) lấy mẫu có hồn lại gen sau tiếp tục lấy mẫu có hồn lại vị trí hàng gen (gọi lấy mẫu theo gen-vị trí; gọi thơng qua tham số dịng lệnh "-bsam GENESITE") (Gadagkar et al 2005) 18 Để khảo sát ảnh hưởng ba chiến lược lấy mẫu, luận án phân tích lại liệu metazoan có 21 lồi, 225 gen tổng số 171077 vị trí aminoacid mở rộng khảo sát với 14 liệu sinh học khác Chúng quan sát kết quán kết khác biệt chiến lược lấy mẫu Trên số liệu, có cạnh gần không nhận hỗ trợ (≤10%) từ chiến lược lấy mẫu lại có hỗ trợ cao (≥95%) từ hai chiến lược lấy mẫu Tuy nhiên, khơng có dấu hiệu việc chiến lược luôn cho giá trị hỗ trợ bootstrap thấp Từ phát nói trên, luận án khuyến cáo người dùng áp dụng tất chiến lược lấy mẫu Nếu giá trị hỗ trợ bootstrap thu tương tự kết có độ tin cậy cao Chương ĐỀ XUẤT PHƯƠNG PHÁP MỚI MPBOOT XẤP XỈ NHANH BOOTSTRAP CÂY TIẾN HÓA THEO TIÊU CHUẨN TIẾT KIỆM NHẤT 4.1 Giới thiệu Bootstrap tiến hóa MP theo lược đồ chuẩn có vấn đề: (i) tiêu tốn nhiều thời gian số lượng lồi lớn; (ii) cho ước lượng chệch xác suất cạnh 4.2 Xây dựng tiến hóa theo tiêu chuẩn MP Kí hiệu 𝐴𝐴𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 hàng n chuỗi m vị trí có thơng tin parsimony Vị trí có thơng tin parsimony vị trí có chứa hai ký tự trạng thái 𝑚𝑚 vị trí nhóm thành mẫu-vị trí 𝐷𝐷1 , 𝐷𝐷2 , … , 𝐷𝐷𝑘𝑘 với tần suất tương ứng 𝑑𝑑1 , 𝑑𝑑2 , … , 𝑑𝑑𝑘𝑘 Điểm MP cho cấu trúc T biết 𝐴𝐴𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 tính cơng thức: 𝑘𝑘 𝑀𝑀𝑀𝑀 (𝑇𝑇�𝐴𝐴𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 ) = � 𝑀𝑀𝑀𝑀(𝑇𝑇|𝐷𝐷𝑖𝑖 ) × 𝑑𝑑𝑖𝑖 𝑖𝑖=1 (3.1) 𝑀𝑀𝑀𝑀(𝑇𝑇|𝐷𝐷𝑖𝑖 ) điểm MP cho T mẫu-vị trí 𝐷𝐷𝑖𝑖 Với 𝑇𝑇 cho trước, 𝑀𝑀𝑀𝑀 (𝑇𝑇|𝐷𝐷𝑖𝑖 ) tính cách hiệu nhờ thuật tốn Fitch (Fitch 1971) trường hợp chi phí biến đổi trạng thái nhau, tức ma trận chi phí Trường hợp ma trận chí phí khơng đều, ta dùng thuật tốn Sankoff (Sankoff 1975) để tính 𝑀𝑀𝑀𝑀(𝑇𝑇|𝐷𝐷𝑖𝑖 ) Một phương pháp tìm kiếm theo tiêu chuẩn MP có mục tiêu tìm có điểm MP nhỏ Bài tốn tìm MP tốt thuộc lớp NP-đầy đủ, đó, cần sử dụng heuristic cho tìm kiếm 19 4.3 Phương pháp đề xuất để xấp xỉ bootstrap theo tiêu chuẩn MP (MPBoot) 4.3.1 Lấy mẫu hàng gốc Trước tiên, MPBoot tạo tập hàng bootstrap sau tìm kiếm khơng gian dựa hàng gốc Các duyệt (còn gọi lấy mẫu) trình tìm kiếm coi MP tiềm cho hàng bootstrap Thuật tốn MPBoot tìm kiếm MP cho hàng gốc hoạt động nhờ chỉnh sửa tập ứng viên C chứa tối ưu cục khác Để khởi tạo tập ứng viên C, MPBoot tạo 100 tối ưu cục theo tiêu chuẩn MP nhờ chiến lược xây dựng bước ngẫu nhiên (randomized stepwise addition) (Wagner 1961) theo sau tìm kiếm leo đồi với kĩ thuật SPR (Stamatakis et al 2008) Thuật toán xếp tăng dần theo điểm MP chúng, chọn phân biệt để tạo tập ứng viên ban đầu Trong trình tìm kiếm cây, C cập nhật liên tục với tốt Điều hoàn tất bước khởi đầu (initial step) MPBoot Trong bước khám phá (exploration step) tiếp sau đó, MPBoot luân phiên phép xáo trộn cấu trúc (perturbation) phép leo đồi (hillclimbing) Việc lặp lại nhiều lần nhằm thoát khỏi cực trị địa phương khơng gian tìm kiếm Phép xáo trộn cấu trúc cây: MPBoot trước tiên chọn ngẫu nhiên 𝑇𝑇𝐶𝐶 từ tập ứng viên C Sau đó, 𝑇𝑇𝐶𝐶 bị xáo trộn theo cách sau: (i) thực trao đổi ngẫu nhiên hàng xóm gần (nearest neighbor interchange, NNI) 50% cạnh chọn ngẫu nhiên để tạo 𝑇𝑇 ∗ (ii) áp dụng parsimony ratchet (Nixon 1999) Parsimony ratchet nhân đơi 50% vị trí có thơng tin parsimony hàng gốc để sinh hàng xáo trộn Sau đó, ratchet thực tìm kiếm leo đồi với kĩ thuật SPR hàng xáo trộn này, 𝑇𝑇𝐶𝐶 để tìm tối ưu cục 𝑇𝑇 ∗ Nói tóm lại, 𝑇𝑇 ∗ tạo chiến lược xáo trộn (các NNI ngẫu nhiên) chiến lược xáo trộn hàng Phép leo đồi: Cây 𝑇𝑇 ∗ sau đóng vai trị ban đầu cho tìm kiếm leo đồi SPR để tìm tối ưu cục 𝑇𝑇 ∗∗ cho 𝐴𝐴𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 Nếu 𝑀𝑀𝑀𝑀(𝑇𝑇 ∗∗ |𝐴𝐴𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 ) nhỏ điểm MP lớn 𝐴𝐴𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 tập ứng viên 𝑇𝑇 ∗∗ chỗ tương ứng tập ứng viên Luận án gọi phép leo đồi thành công 𝑀𝑀𝑀𝑀(𝑇𝑇 ∗∗ |𝐴𝐴𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 ) nhỏ chặt điểm MP nhỏ 𝐴𝐴𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 tập ứng viên Ngược lại, luận án gọi phép leo đồi không thành công, nghĩa thuật tốn khơng tìm thấy tốt 20 Bước khám phá áp dụng bước xáo trộn theo sau bước leo đồi 𝑛𝑛′ (làm tròn số lượng chuỗi 𝑛𝑛 lên tới hàng trăm) bước tìm kiếm leo đồi cuối khơng thành cơng Điều cho phép tìm kiếm kỹ với hàng có nhiều chuỗi Do vậy, MPBoot dừng lại khơng thể tìm tốt Bước khám phá hoàn tất 4.3.2 Lấy mẫu điểm MP (Resampling parsimony score - REPS) Với T điểm số mẫu-vị trí 𝑀𝑀𝑀𝑀 (𝑇𝑇|𝐷𝐷𝑖𝑖 ) tính 𝐴𝐴𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 , điểm MP cho 𝐴𝐴𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏 tính nhanh tổng có trọng số điểm số mẫu-vị trí: 𝑘𝑘 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏 𝑀𝑀𝑀𝑀(𝑇𝑇�𝐴𝐴𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏 ) = � 𝑀𝑀𝑀𝑀(𝑇𝑇|𝐷𝐷𝑖𝑖 ) × 𝑑𝑑𝑖𝑖 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏 𝑑𝑑𝑖𝑖 𝑖𝑖=1 (3.2) số lần lấy mẫu mẫu-vị trí 𝐷𝐷𝑖𝑖 tạo 𝐴𝐴𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏 Vì vậy, khơng cần phải lặp lại việc tính điểm MP cho mẫu-vị trí, bootstrap 4.3.3 Tăng tốc tính tốn REPS Để tăng tốc việc tính điểm MP, MPBoot sử dụng thêm hai kĩ thuật tối ưu hóa thuật tốn Thứ nhất, luận án đề xuất sử dụng ngưỡng 𝑀𝑀𝑀𝑀𝑚𝑚𝑚𝑚𝑚𝑚 , cho điểm MP tính hàng bootstrap sử dụng Công thức 3.2 áp dụng cho T, tìm thấy bước leo đồi, thỏa mãn 𝑀𝑀𝑀𝑀(𝑇𝑇�𝐴𝐴𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 ) < 𝑀𝑀𝑀𝑀𝑚𝑚𝑚𝑚𝑚𝑚 Ban đầu, 𝑀𝑀𝑀𝑀𝑚𝑚𝑚𝑚𝑚𝑚 = ∞ Sau bước leo đồi đầu tiên, thuật toán thiết lập 𝑀𝑀𝑃𝑃𝑚𝑚𝑚𝑚𝑚𝑚 bách phân vị thứ 90 phân bố điểm MP hàng gốc tất duyệt bước leo đồi Trong bước leo núi tiếp theo, thuật toán xem xét có điểm MP 𝐴𝐴𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 nhỏ 𝑀𝑀𝑀𝑀𝑚𝑚𝑚𝑚𝑚𝑚 Điểm MP tạo thành phân bố sau sử dụng để cập nhật 𝑀𝑀𝑀𝑀𝑚𝑚𝑚𝑚𝑚𝑚 sau bước leo đồi Thứ hai, thuật tốn dừng việc tính tốn REPS cho 𝐴𝐴𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏 ta mong đợi 𝑀𝑀𝑀𝑀(𝑇𝑇�𝐴𝐴𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑝𝑝 ) nhỏ điểm MP tốt tính đến 𝑀𝑀𝑃𝑃𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏 (𝐴𝐴𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏 ) Để làm điều này, thuật tốn xếp mẫu-vị trí 𝐷𝐷𝑖𝑖 theo điểm MP giảm dần dựa xây dựng bước bắt đầu Điểm MP nhỏ mặt lý thuyết, 𝑀𝑀𝑃𝑃𝑚𝑚𝑚𝑚𝑛𝑛 (𝐷𝐷𝑖𝑖 ), số trạng thái ký tự riêng biệt có mặt 𝐷𝐷𝑖𝑖 trừ trường hợp ma trận chi phí Trường hợp ma trận chi phí khơng đều, 𝑀𝑀𝑃𝑃𝑚𝑚𝑚𝑚𝑚𝑚 (𝐷𝐷𝑖𝑖 ) độ dài khung nhỏ đồ thị chi phí Đồ thị có đỉnh tương ứng trạng thái ký tự có mặt 𝐷𝐷𝑖𝑖 trọng số 21 cạnh chi phí biến đổi trạng thái Thuật tốn dừng việc tính tốn REPS 𝑗𝑗 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏 � 𝑀𝑀𝑀𝑀 (𝑇𝑇|𝐷𝐷𝑖𝑖 ) × 𝑑𝑑𝑖𝑖 𝑖𝑖=1 > 𝑀𝑀𝑃𝑃𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏 (𝐴𝐴 𝑘𝑘 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏 + � 𝑀𝑀𝑃𝑃𝑚𝑚𝑚𝑚𝑚𝑚 (𝐷𝐷𝑖𝑖 ) × 𝑑𝑑𝑖𝑖 𝑖𝑖=𝑗𝑗+1 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏 ) (3.3) với số giá trị j (1 ≤ 𝑗𝑗 ≤ 𝑘𝑘), 𝑇𝑇 MP cho 𝐴𝐴 𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏𝑏 4.3.4 Thuật tốn MPBoot Ta tóm tắt tồn hoạt động MPBoot sau: Thuật toán 3.1 Thuật toán MPBoot Dữ liệu vào: Sắp hàng gốc 𝐴𝐴𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 gồm 𝑛𝑛 chuỗi (taxa) Dữ liệu ra: Cây MP xây dựng cho hàng gốc gắn giá trị bootstrap cho cạnh Bắt đầu 4) Bước khởi đầu: Tạo 𝐵𝐵 hàng bootstrap, 𝐴𝐴1 , 𝐴𝐴2 , … , 𝐴𝐴𝐵𝐵 Với 𝐴𝐴𝑏𝑏 khởi tạo bootstrap 𝑇𝑇𝑏𝑏 : = 𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 𝑀𝑀𝑀𝑀 (𝑇𝑇𝑏𝑏 |𝐴𝐴𝑏𝑏 ): = +∞ Khởi tạo tập 𝑆𝑆: = {} ngưỡng 𝑀𝑀𝑃𝑃𝑚𝑚𝑚𝑚𝑚𝑚 ≔ +∞ Khởi tạo tập ứng viên 𝐶𝐶 𝐴𝐴𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 giải thích Phần 3.2.1 5) Bước khám phá: Từ chọn ngẫu nhiên tập ứng viên 𝐶𝐶, thực bước xáo trộn theo sau bước leo đồi Mỗi duyệt T thỏa mãn 𝑀𝑀𝑀𝑀 (𝑇𝑇�𝐴𝐴𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 ) < 𝑀𝑀𝑀𝑀𝑚𝑚𝑚𝑚𝑚𝑚 , thêm T vào S tính 𝑀𝑀𝑀𝑀(𝑇𝑇|𝐴𝐴𝑏𝑏 ), cho 𝑏𝑏 = 1, … , 𝐵𝐵 dựa Công thức 3.2 Nếu 𝑀𝑀𝑀𝑀(𝑇𝑇|𝐴𝐴𝑏𝑏 ) < 𝑀𝑀𝑀𝑀 (𝑇𝑇𝑏𝑏 |𝐴𝐴𝑏𝑏 ), cập nhật 𝑇𝑇𝑏𝑏 : = 𝑇𝑇 Khi bước leo đồi thực xong, cập nhật 𝑀𝑀𝑃𝑃𝑚𝑚𝑚𝑚𝑚𝑚 bách vị phân thứ 90 phân bố điểm MP S 6) Điều kiện dừng: Nếu 𝑛𝑛′ bước leo đồi liên tiếp không thành công, thực bước Ngược lại, quay bước 7) Bước tinh chỉnh: Với MP 𝑇𝑇𝑏𝑏 (𝑏𝑏 = 1, … , 𝐵𝐵) hàng tương ứng 𝐴𝐴𝑏𝑏 , tiến hành lượt tìm kiếm leo đồi dùng SPR thay 𝑇𝑇𝑏𝑏 MP có điểm MP tốt 8) Bước tóm tắt: Xây dựng đồng thuận từ bootstrap {𝑇𝑇1 , 𝑇𝑇2 , … , 𝑇𝑇𝐵𝐵 } , ánh xạ giá trị hỗ trợ bootstrap lên MP tốt 𝐴𝐴𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 Kết thúc MPBoot sử dụng thư viện tính tốn likelihood cho phân tích tiến hóa PLL để tính tốn parsimony hiệu Ngồi ra, tất tính tốn cốt lõi 22 parsimony tính tốn REPS vector hố khả tính tốn đơn lệnh đa liệu (SIMD) kiến trúc máy tính x86 đại 4.4 Thiết kế thực nghiệm Luận án so sánh hiệu MPBoot SPR3 SPR6 (được biên dịch với SSE4) với bootstrap chuẩn (1000 bootstrap), cài đặt TNT phiên 1 (tháng 10 năm 2014) PAUP * phiên 4.0a152 (tháng năm 2017) Tất phương pháp lưu tốt cho hàng bootstrap Luận án so sánh hàng DNA protein sử dụng ma trận chi phí khơng Chúng tơi sử dụng hai phân tích bootstrap TNT: fast-TNT tìm kiếm nhanh hàng gốc hàng bootstrap intensive-TNT tìm kiếm kĩ hàng gốc tìm kiếm nhanh hàng bootstrap Chúng khảo sát bootstrap chuẩn cài đặt PAUP* với chiến lược giống fast-TNT 4.5 Kết MPBoot cho điểm MP tốt fast-TNT PAUP* tương đương với intensive-TNT MPBoot SPR6 thu giá trị bootstrap gần không chệch loại liệu sử dụng ma trận chi phí cụ thể MPBoot có thời gian chạy đáng kể so với PAUP* KẾT LUẬN Cũng giống ý nghĩa quan trọng thơng số độ tin cậy tốn ước lượng tham số thống kê, việc làm bootstrap tiến hóa để xác định độ tin cậy cho cạnh tiến hóa xây dựng bước khơng thể thiếu phân tích tiến hóa Luận án tập trung vào toán cho tiêu chuẩn hợp lý tiêu chuẩn tiết kiệm hai hướng tiêu biểu phân tích tiến hóa phân tử Phương pháp bootstrap chuẩn có hai hạn chế (i) vơ tốn thời gian thực (ii) cho ước lượng thấp xác suất cạnh Sự gia tăng không ngừng quy mô liệu sinh học phân tử phục vụ phân tích tiến hóa đặt địi hỏi phải khắc phục hạn chế Dựa phân tích điểm mạnh, điểm yếu phương pháp UFBoot xấp xỉ nhanh bootstrap chuẩn theo tiêu chuẩn hợp lý nhất, luận án đề xuất phương pháp UFBoot2 với bốn cải tiến quan trọng: (i) Cải tiến tốc độ với đề xuất thuật toán pruning nhanh kĩ thuật tối ưu code, nhờ nhanh phiên cũ trung bình 2,4 lần; (ii) Cải tiến để xử lý đỉnh đa phân tốt hơn, nhờ thể thành cơng thực nghiệm mơ kiểm tra hình (iii) Cải tiến để giảm ảnh hưởng vi phạm mơ hình , nhờ 23 cho ước lượng sát với xác suất cạnh vi phạm mơ hình nhiều (iv) Cải tiến mở rộng để phân tích hàng nhiều gen Phỏng theo ý tưởng UFBoot cho ML, luận án đề xuất phương pháp MPBoot để tìm kiếm hiệu MP, đồng thời xấp xỉ hiệu bootstrap chuẩn theo tiêu chuẩn MP MPBoot sử dụng ma trận chi phí khơng Luận án thực thực nghiệm liệu mô liệu sinh học lớn để so sánh MPBoot phương pháp cài đặt hai cơng cụ phân tích parsimony tốt TNT PAUP* mặt: thời gian tính tốn, khả tìm MP độ xác ước lượng bootstrap Xấp xỉ bootstrap MPBoot thực nhanh bootstrap chuẩn cài đặt PAUP* sử dụng ma trận đều; nhanh fast-TNT sử dụng ma trận chi phí khơng MPBoot xây dựng MP có điểm MP tương đương với intensive-TNT Trong cài đặt bootstrap chuẩn cho ước lượng thấp xác suất cạnh, MPBoot SPR6 thu giá trị bootstrap gần không chệch loại liệu sử dụng ma trận chi phí cụ thể MPBoot, đó, thay hiệu tiếp cận bootstrap chuẩn theo tiêu chuẩn MP Cuối cùng, phương pháp UFBoot2 đề xuất luận án tích hợp vào hệ thống IQ-TREE (địa website: http://www.iqtree.org) phần mềm mã nguồn mở tốt cho phân tích tiến hóa theo tiêu chuẩn hợp lý có nhiều người sử dụng Các đề xuất phương pháp MPBoot cài đặt phần mềm mã nguồn mở MPBoot (địa website: http://www.cibiv.at/software/mpboot) 24