Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 79 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
79
Dung lượng
2,21 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC LẠC HỒNG *** Phạm Xn Hồng SONG SONG HĨA THUẬT TỐN GOM CỤM CHO BÀI TỐN PHÂN LOẠI TRÌNH TỰ METAGENOMICS Luận văn thạc sĩ Công nghệ thông tin Đồng Nai – Năm 2016 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC LẠC HỒNG *** Phạm Xuân Hoàng SONG SONG HĨA THUẬT TỐN GOM CỤM CHO BÀI TỐN PHÂN LOẠI TRÌNH TỰ METAGENOMICS Chun ngành: Cơng Nghệ Thơng Tin Mã số: 60480201 Luận văn thạc sĩ Công nghệ thông tin NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS TS Trần Văn Hoài Đồng Nai – 2016 i LỜI CẢM ƠN Tôi xin chân thành cảm ơn: PGS TS Trần Văn Hoài nhiệt tình hướng dẫn, giúp đỡ trình làm luận văn tốt nghiệp Ban giám hiệu trường Đại học Lạc Hồng, tất quý thầy cô truyền đạt kiến thức cho thời gian học tập trường Tập thể lớp Công Nghệ Thơng Tin – Khóa – Trường Đại học Lạc Hồng bên cạnh động viên, giúp đỡ suốt thời gian qua Đồng Nai, tháng 11 năm 2016 Học viên Phạm Xuân Hoàng ii LỜI CAM ĐOAN Tơi xin cam đoan cơng trình nghiên cứu thân, xuất phát từ yêu cầu phát sinh cơng việc để hình thành hướng nghiên cứu Các số liệu có nguồn gốc rõ ràng tuân thủ nguyên tắc kết trình bày luận văn thu thập trình nghiên cứu trung thực chưa công bố trước Đồng Nai, tháng 11 năm 2016 Tác giả luận văn Phạm Xn Hồng iii TĨM TẮT LUẬN VĂN Luận văn gồm có chương trình bày theo trình tự sau: Chương giới thiệu khái niệm sinh học bản, sơ lược metagenomics tình hình phát triển metagenomics giới Việt Nam năm gần đây; dạng tổng quát tốn phân loại trình tự metagenomic ứng dụng thuật tốn k-means cho tốn phân loại trình tự metagenomics Chương giới thiệu tổng quan tính tốn song song, tổng quan ngơn ngữ lập trình Intel Cilk Plus, mơ hình lập trình, cách phân bổ nhớ, nhớ chia sẻ, cách phân công công việc công nghệ Array Notations Intel Cilk Plus, từ đánh giá lợi ích mà Cilk Plus mang lại Chương trình bày thuật tốn BiMeta, nguồn gốc đời vấn đề liên quan tới thuật tốn, trình bày giải thuật đánh giá phần thuật toán mà luận văn cố gắng song song Chương trình bày định hướng song song chương trình BiMeta mơ hình song song hóa, xây dựng mơi trường thực nghiệm kết thực nghiệm từ đánh giá kết đạt Chương tổng kết kết đạt được, đóng góp luận văn hướng phát triển iv MỤC LỤC LỜI CẢM ƠN i LỜI CAM ĐOAN ii TÓM TẮT LUẬN VĂN iii MỤC LỤC iv DANH MỤC THUẬT NGỮ VIẾT TẮT vii DANH MỤC BẢNG viii DANH MỤC BIỂU ĐỒ ix DANH MỤC HÌNH x MỞ ĐẦU CHƯƠNG 1: TỔNG QUAN VỀ METAGENOMICS .3 1.1 Các khái niệm sinh học 1.1.1 Cacbohidrat 1.1.2 Lipit 1.1.3 Protein 1.1.4 Axit nucleic 1.2 Giới thiệu metagenomics 1.3 Phân loại trình tự metagenomics .11 1.4 Giải pháp phân loại trình tự metagenomics sử dụng thuật tốn K-means 12 1.5.1 Lịch sử 12 1.5.2 Giới thiệu 12 1.5.3 Thuật toán .12 1.5.4 Độ phức tạp thuật toán .14 CHƯƠNG 2: TỔNG QUAN VỀ TÍNH TỐN SONG SONG VÀ NGƠN NGỮ LẬP TRÌNH INTEL CILK PLUS 15 v 2.1 Tổng quan INTEL CILK PLUS 15 2.1.1 Ngôn ngữ Cilk 15 2.1.2 Nguồn gốc đời Cilk .15 2.1.3 Cilk++ 16 2.1.4 Intel Cilk Plus 17 2.2 Mơ hình lập trình .17 Từ khóa cilk_for C++ 22 2.3 Phân bổ nhớ 24 2.3.1 Kiểu nhớ Stack 24 2.3.2 Kiểu nhớ Heap 26 2.4 Bộ nhớ chia sẻ 26 2.5 Work stealing 30 2.6 Array Notations .30 2.7 Lợi ích Cilk Plus .31 CHƯƠNG 3: GIỚI THIỆU VỀ THUẬT TOÁN BIMETA .33 3.1 Nguồn gốc đời .33 3.2 Ký hiệu thuật ngữ .36 3.3 Các công thức sử dụng thuật toán BiMeta 37 3.3.1 Tính tần số l-mer 37 3.3.2 Rút trích thành phần đặc trưng 38 3.3.3 Tìm chuỗi trình tự trùng lặp không trùng lặp .39 3.4 Nguyên tắc thuật toán BiMeta 40 3.5 Thuật toán BiMeta 41 3.3.1 Pha 1: Phân nhóm nút xây dựng hạt nhóm 42 3.3.2 Pha 2: Trộn nhóm 43 vi CHƯƠNG 4: SONG SONG HĨA THUẬT TỐN BIMETA 46 4.1 Định hướng song song chương trình BiMeta 46 4.2 Mơ hình song song hóa 48 4.3 Thử nghiệm đánh giá kết .48 4.3.1 Môi trường thực nghiệm 48 4.3.2 Chạy thực nghiệm 49 4.4 Đánh giá kết đạt .52 CHƯƠNG 5: TỔNG KẾT 62 5.1 Kết đạt .62 5.2 Đóng góp luận văn 62 5.3 Thuận lợi khó khăn trình xây dựng luận văn .62 5.3.1 Thuận lợi 62 5.3.2 Khó khăn 62 5.4 Một số hạn chế hướng phát triển luận văn 63 5.4.1 Hạn chế 63 5.4.2 Hướng phát triển luận văn 63 5.5 Kết luận 63 TÀI LIỆU THAM KHẢO vii DANH MỤC THUẬT NGỮ VIẾT TẮT Thuật ngữ Nghĩa tiếng Việt Tiếng Anh CPU Central Processing Unit Bộ xử lý trung tâm DNA Deoxyribo nucleic acid Axit deoxyribosenulceic MIC Many Integrated Core Đa nhân tích hợp MIT Massachusetts Institute of Viện Technology Message Passing Interface RAM Random Access Memory RNA Ribo nucleic acid SMP SPARC nghệ Massachusetts MPI Sun Cơng Mơ hình truyền thơng điệp Bộ nhớ truy cập ngẫu nhiên Axit ribonucleic Microsystems Kiến trúc thay đổi xử (Scalable lý Processor Architecture) công Microsystems ty Sun viii DANH MỤC BẢNG Bảng 4.1: Số liệu chạy thực nghiệm lần máy 52 Bảng 4.2: Số liệu chạy thực nghiệm lần máy 54 Bảng 4.3: Số liệu chạy thực nghiệm lần máy 55 Bảng 4.4: Số liệu chạy thực nghiệm lần máy 56 Bảng 4.5: Số liệu chạy thực nghiệm lần máy 57 Bảng 4.6: Số liệu chạy thực nghiệm lần máy 58 52 Hình 4.11: Mức độ xử lý CPU chạy chương trình BiMeta 1.2 song song 12 luồng máy Nhận xét: chạy chương trình BiMeta 1.2 song song nhiều luồng CPU sử dụng nhiều tài nguyên Với máy vào hàm có xử lý song song song song luồng có nhiêu luồng chiếm 100% tài nguyên Còn với máy chạy luồng chiếm 98-100% tài nguyên, chiếm 95-98% chạy 12 luồng 4.4 Đánh giá kết đạt Sử dụng công thức Speed Up [11] (tỷ lệ đánh giá nhanh chậm) để đánh giá kết đạt được: X nhanh Y n lần 𝑆𝑝𝑒𝑒𝑑𝑢𝑝 = 𝑇ℎờ𝑖 𝑔𝑖𝑎𝑛 𝑌 𝑇ℎờ𝑖 𝑔𝑖𝑎𝑛 𝑋 Và công thức Efficiency [11] (hiệu quả) để đánh giá hiệu song song dựa số luồng xử lý: Efficiency = 𝑆𝑝𝑒𝑒𝑑𝑢𝑝∗100 𝑆ố 𝑙𝑢ồ𝑛𝑔 𝑥ử 𝑙ý Chạy thực nghiệm lần 1: Bảng 4.1: Số liệu chạy thực nghiệm lần máy Số lượng BiMeta 1.2 (chuỗi) (giây) Song song luồng (giây) Speed Up (lần) Song song luồng (giây) Speed Up (lần) 100 1.141 0.717 1.59 0.663 1.72 1000 11.039 5.819 1.90 4.811 2.29 53 2000 19.21 11.667 1.65 9.5 2.02 5000 47.943 27.778 1.73 21.9 2.19 10000 89.852 50.767 1.77 40.985 2.19 15000 122.169 74.276 1.64 61.788 1.98 20000 152.819 87.544 1.75 75.657 2.02 30000 202.445 112.767 1.80 100.461 2.02 50000 280.252 153.434 1.83 133.714 2.10 100000 352.462 194.744 1.81 161.615 2.18 Speed Up trung bình 1.75 2.07 Efficiency trung bình 87.5% 51.75% Tuần tự Song song luồng Song song luồng 400 Đơn vị thời gian (giây) 350 300 250 200 150 100 50 100 1000 2000 5000 10000 15000 20000 30000 50000 100000 Số lượng chuỗi trình tự Biểu đồ 4.1: So sánh thời gian xử lý thực nghiệm lần máy 54 Bảng 4.2: Số liệu chạy thực nghiệm lần máy Số lượng BiMeta 1.2 (chuỗi) (giây) Song song luồng (giây) Speed Up (lần) Song song 12 luồng (giây) Speed Up (lần) 100 3.475 1.307 2.66 1.422 2.44 1000 21.11 7.682 2.75 6.623 3.19 2000 37.418 13.033 2.87 12.736 2.94 5000 91.337 32.804 2.78 28.715 3.18 10000 165.685 56.006 2.96 54.783 3.02 15000 231.249 78.545 2.94 77.626 2.98 20000 286.166 103.85 2.76 97.3 2.94 30000 377.937 129.392 2.92 127.826 2.96 50000 497.689 179.761 2.77 165.075 3.01 100000 637.968 230.068 2.77 229.351 2.78 Speed Up trung bình 2.82 2.94 Efficiency trung bình 47% 24.5% 55 Tuần tự Song song luồng Song song 12 luồng 700 Đơn vị thời gian (giây) 600 500 400 300 200 100 100 1000 2000 5000 10000 15000 20000 30000 50000 100000 Số lượng chuỗi trình tự Biểu đồ 4.2: So sánh thời gian xử lý thực nghiệm lần máy Chạy thực nghiệm lần 2: Bảng 4.3: Số liệu chạy thực nghiệm lần máy Số lượng BiMeta 1.2 (chuỗi) (giây) Song song luồng (giây) Speed Up (lần) Song song luồng (giây) Speed Up (lần) 100 1.093 0.688 1.59 0.578 1.89 1000 9.825 5.625 1.75 4.77 2.06 2000 19.384 10.852 1.79 9.273 2.09 5000 48.147 25.978 1.85 22.213 2.17 10000 87.722 49.157 1.78 40.158 2.18 15000 121.656 67.825 1.79 59.296 2.05 20000 150.252 86.691 1.73 73.105 2.06 30000 199.782 111.715 1.79 94.519 2.11 50000 267.289 150.783 1.77 132.038 2.02 56 100000 355.778 190.861 1.86 158.346 2.25 Speed Up trung bình 1.77 2.09 Efficiency trung bình 88.5% 52.25% Tuần tự Song song luồng Song song luồng 400 Đơn vị thời gian (giây) 350 300 250 200 150 100 50 100 1000 2000 5000 10000 15000 20000 30000 50000 100000 Số lượng chuỗi trình tự Biểu đồ 4.3: So sánh thời gian xử lý thực nghiệm lần máy Bảng 4.4: Số liệu chạy thực nghiệm lần máy Số lượng BiMeta 1.2 (chuỗi) (giây) Song song luồng (giây) Speed Up (lần) Song song 12 luồng (giây) Speed Up (lần) 100 2.615 1.458 1.79 1.229 2.13 1000 18.705 7.024 2.66 6.85 2.73 2000 37.037 14.241 2.60 12.865 2.88 5000 88.809 31.258 2.84 28.68 3.10 10000 165.679 56.277 2.94 52.936 3.13 15000 230.298 79.202 2.91 77.566 2.97 20000 286.224 102.107 2.80 98.613 2.90 57 30000 378.066 136.066 2.78 130.416 2.90 50000 500.228 174.725 2.86 164.68 3.04 100000 640.782 236.409 2.71 228.214 2.81 Speed Up trung bình 2.69 2.86 Efficiency trung bình 44.83% 23.83% Tuần tự Song song luồng Song song 12 luồng 700 Đơn vị thời gian (giây) 600 500 400 300 200 100 100 1000 2000 5000 10000 15000 20000 30000 50000 100000 Số lượng chuỗi trình tự Biểu đồ 4.4: So sánh thời gian xử lý thực nghiệm lần máy Chạy thực nghiệm lần 3: Bảng 4.5: Số liệu chạy thực nghiệm lần máy Số lượng BiMeta 1.2 (chuỗi) (giây) Song song luồng (giây) Speed Up (lần) Song song luồng (giây) Speed Up (lần) 100 1.172 0.609 1.92 0.593 1.98 1000 9.865 5.469 1.80 4.742 2.08 2000 20.434 10.814 1.89 9.333 2.19 5000 46.561 27.697 1.68 22.26 2.09 58 10000 91.027 50.029 1.82 42.155 2.16 15000 121.514 66.722 1.82 58.175 2.09 20000 160.329 87.358 1.84 70.18 2.28 30000 200.688 114.318 1.76 94.864 2.12 50000 270.156 148.868 1.81 131.848 2.05 100000 353.524 193.004 1.83 166.071 2.13 Speed Up trung bình 1.82 2.12 Efficiency trung bình 91% 53% Tuần tự Song song luồng Song song luồng 400 Đơn vị thời gian (giây) 350 300 250 200 150 100 50 100 1000 2000 5000 10000 15000 20000 30000 50000 100000 Số lượng chuỗi trình tự Biểu đồ 4.5: So sánh thời gian xử lý thực nghiệm lần máy Bảng 4.6: Số liệu chạy thực nghiệm lần máy Số lượng BiMeta 1.2 (chuỗi) (giây) Song song luồng (giây) Speed Up (lần) Song song 12 luồng (giây) Speed Up (lần) 100 2.738 1.33 2.06 1.276 2.15 1000 19.676 7.025 2.80 6.769 2.91 59 2000 36.796 13.379 2.75 12.625 2.91 5000 87.354 31.328 2.79 29.503 2.96 10000 165.614 58.356 2.84 55.724 2.97 15000 232.299 79.999 2.90 77.298 3.01 20000 289.258 103.595 2.79 95.445 3.03 30000 378.714 134.12 2.82 127.925 2.96 50000 498.89 180.803 2.76 166.596 2.99 100000 639.085 232.631 2.75 224.783 2.84 Speed Up trung bình 2.73 2.87 Efficiency trung bình 45.5% 23.92% Tuần tự Song song luồng Song song 12 luồng 700 Đơn vị thời gian (giây) 600 500 400 300 200 100 100 1000 2000 5000 10000 15000 20000 30000 50000 100000 Số lượng chuỗi trình tự Biểu đồ 4.6: So sánh thời gian xử lý thực nghiệm lần máy 60 Song song luồng Song song luồng Song song luồng Song song 12 luồng 3.5 Speed Up trung bình 2.5 1.5 0.5 Thử nghiệm Thử nghiệm Thử nghiệm Biểu đồ 4.7: So sánh Speed Up trung bình qua lần thực nghiệm Song song luồng Song song luồng Song song luồng Song song 12 luồng 100 Efficiency trung bình 90 80 70 60 50 40 30 20 10 Thử nghiệm Thử nghiệm Thử nghiệm Biểu đồ 4.8: So sánh Efficiency trung bình qua lần thực nghiệm Nhận xét: Tốc độ xử lý cải thiện đáng kể: với máy nhanh gấp 1.78 lần (trung bình Speed Up trung bình sau thí nghiệm) song song luồng 61 nhanh gấp 2.09 lần song song luồng Với máy nhanh gấp 2.75 lần song song luồng nhanh gấp 2.89 lần song song 12 luồng Hiệu xuất xử lý song song ổn định: với máy song song luồng 1.74 – 1.77 – 1.82 (Speed Up trung bình thí nghiệm) song song luồng 2.07 – 2.09 – 2.12 Với máy song song luồng 2.82 – 2.69 – 2.73 song song 12 luồng 2.94 – 2.86 – 2.87 Tốc độ xử lý tăng dần tăng số luồng xử lý Tuy Speed Up tăng theo số luồng hiệu song song lại giảm Hiệu song song luồng 62 CHƯƠNG 5: TỔNG KẾT 5.1 Kết đạt Qua trình nghiên cứu, tìm hiểu song song hóa thuật tốn gom cụm cho tốn phân loại trình tự metagenomics, luận văn đạt vấn đề sau: Tìm hiểu sở lý thuyết tảng Tìm hiểu ngơn ngữ lập trình Intel Cilk Plus khái niệm, nguồn gốc, mơ hình lập trình Intel Cilk Plus Tìm hiểu thuật tốn BiMeta nguyên lý, phương thức hoạt động thuật tốn BiMeta Áp dụng kết tìm hiểu để song song hóa chương trình BiMeta 5.2 Đóng góp luận văn Đề tài nghiên cứu song song hóa thuật tốn gom cụm cho tốn phân loại trình tự metagenomics Từ đóng góp vấn đề khoa học sau: Tìm hiểu chế song song nguyên lý hoạt động ngơn ngữ lập trình Intel Cilk Plus Tìm hiểu phương pháp giải trình tự qua thuật tốn BiMeta Xây dựng chương trình song song sử dụng Intel Cilk Plus từ chương trình BiMeta 1.2 5.3 Thuận lợi khó khăn q trình xây dựng luận văn 5.3.1 Thuận lợi Trong trình xây dựng luận văn, tác giả nhận hướng dẫn, bảo tận tình thầy, cơ; hỗ trợ, động viên từ bạn bè, đồng nghiệp 5.3.2 Khó khăn Lúc đầu tác giả xác định hướng song song GPU (Graphics Processing Unit – Bộ xử lý đồ họa) với thư viện OpenCL để song song hóa chương trình BiMeta 1.2 Nhưng sau thời gian tìm hiểu OpenCL khơng hỗ trợ hồn tồn 63 C++ (khơng thêm thư viện C++ vào hàm OpenCL) nên không song song hàm sẵn có chương trình Tuy nhiên tác giả tích cực tìm hiểu cơng nghệ song song, từ tìm hiểu Intel Cilk Plus để sử dụng Tài liệu viết Intel Cilk Plus có ít, chủ yếu phải lấy tài liệu từ website Intel Tìm kiếm tài liệu Intel Cilk Plus Việt Nam hoàn tồn khơng thấy 5.4 Một số hạn chế hướng phát triển luận văn 5.4.1 Hạn chế Phần mềm thực nghiệm chưa khai thác hết toàn lợi ích Intel Cilk Plus cung cấp Chưa tùy chỉnh thành phần bên Intel Cilk Plus nhớ heap, stack, nhớ chia sẻ v.v 5.4.2 Hướng phát triển luận văn Tiến hành thực nghiệm chương trình nhiều máy có CPU nhiều lõi, nhiều luồng để thu thập đánh giá thời gian xử lý, từ đưa kinh nghiệm để hồn thiện chương trình Phân tính sâu chương trình BiMeta 1.2 để song song thêm hàm có thời gian lượng cơng việc xử lý lớn Tìm phương hướng nâng cao hiệu xử lý song song nhiều luồng 5.5 Kết luận Gần Intel thức mắt coprocessor (bộ đồng xử lý hỗ trợ cho CPU) mang tên Intel Xeon Phi dựa kiến trúc Đa nhân tích hợp (Many Integrated Core – MIC) với số lõi lên đến 72 lõi khả tính tốn đạt 118 TFlops (1 Flops tỷ phép tính giây) Đến năm 2018, Intel kì vọng Xeon Phi đạt tốc độ PFlops Với hướng Intel với lợi ích to lớn mà Intel Cilk Plus mang lại việc song song hóa thuật tốn phức tạp trở nên thiết thực, hiệu thực tế 64 Hình 5.1: Intel Xeon Phi TÀI LIỆU THAM KHẢO Tiếng Việt [1] Nguyễn Hồng Lộc, Giáo trình sinh học phân tử, Nhà xuất Đại học Huế, 2000, 227 trang [2] Nguyễn Minh Giang, Đỗ Thị Huyền, Trương Nam Hải, Sử dụng công cụ tin sinh nghiên cứu metageneomics – hướng nghiên cứu ứng dụng sinh học; Tạp chí Khoa học ĐHSP TPHCM, số 2(67), 2015, trang 167 [3] Trương Thị Đức (2011), "Nghiên cứu phát triển thuật tốn phân cụm trình tự sinh học dựa mức độ tương đồng", luận văn thạc sĩ Công nghệ thông tin, Trường Đại học Lạc Hồng Tiếng Anh [4] Le Van Vinh, Tran Van Lang, Le Thanh Binh, Tran Van Hoai (2015) A two-phase binning algorithm using l-mer frequency on groups of non-overlapping reads, Journal of Algorithms of Molecular Biology, 10:2, DOI: 10.1186/s13015014-0030-4, ISSN: 1478-7188 [5] Thi Huyen Do, Thi Thao Nguyen, Thanh Ngoc Nguyen, Quynh Giang Le, Cuong Nguyen, Keitarou Kimura, and Nam Hai Truong (2014), Mining biomass-degrading genes through Illumina-basedde novosequencing and metagenomic analysis of free-living bacteria in the gut of the lower termite Coptotermes gestroi harvested in Vietnam, J Biosci Bioeng 2014 Dec; 118(6):66571 doi: 10.1016/j.jbiosc.2014.05.010, Epub 2014 Jun 11 [6] Tyson et al (2004) Community structure and metabolism through reconstruction of microbial genomes from the environment Nature 428(6978):3743 Website [7] A Brief History of Cilk , https://www.cilkplus.org/cilk-history [8] Cilk 5.4.6 Reference Manual, http://supertech.csail.mit.edu/cilk/manual5.4.6.pdf [9] Lê Văn Vinh, Giải pháp tính tốn cho vấn đề phân loại trình tự metagenomic; http://rvn-vallet.org/wp-content/uploads/rvn2015/tomtatdetai.pdf [10] Trần Văn Lăng, Bài giảng Tin sinh học đại cương, http://www.4shared.com/rar/IURcTe8Pce/IntroBioinf.html [11] Trần Văn Lăng, Tính tốn song song phân tán, phần 6, năm 2012, http://staff.vasthcm.ac.vn/~lang/download/Intro%20Parallel%20Computing%2006.pdf [12] Cường, Nguyễn Dự án Metagenomics, https://sites.google.com/site/juhuvn/ [13] Tutorial: Cilk Plus Keywords, https://www.cilkplus.org/tutorial-cilkplus-keywords [14] Wikipedia, Metagenomics, https://vi.wikipedia.org/wiki/Metagenomics [15] William Leiserson, Chi-Keung (CK) Luk, Peng Tu (2010), Parallel Programming in Intel Cilk Plus http://www.ckluk.org/ck/talks/cilkplus-tutorial-ppopp11.pdf with Autotuning, ... k cụm (k < n) cho cụm phải có trình tự metagenomics, trình tự metagenomic phải thuộc cụm 1.5.3 Thuật toán Thuật toán K-Means trình tự metagenomic mơ tả hình 1.2: 13 Bắt đầu Số cụm k Chọn k trình. .. gen phân lập gen dựa vào số liệu giải trình tự gen Việc phân lập gen từ metagenome thực tương tự nghiên cứu phân lập gen hệ gen (genome) [5] 1.3 Phân loại trình tự metagenomics Phân loại trình tự. .. thiệu K-Means thuật toán quan trọng sử dụng phổ biến kỹ thuật phân loại trình tự metagenomic Tư tưởng thuật tốn K-Means tìm cách phân loại trình tự metagenomic cho vào k cụm (k số cụm xác định