Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 82 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
82
Dung lượng
1,84 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ CAO THỤC TUYẾT TRINH NGHIÊN CỨU PHƯƠNG PHÁP NÉN DỮ LIỆU ĐỂ TĂNG HIỆU QUẢ LƯU TRỮ CHUỖI DNA LUẬN VĂN THẠC SĨ HỆ THỐNG THÔNG TIN HÀ NỘI – 2016 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ CAO THỤC TUYẾT TRINH NGHIÊN CỨU PHƯƠNG PHÁP NÉN DỮ LIỆU ĐỂ TĂNG HIỆU QUẢ LƯU TRỮ CHUỖI DNA Ngành: Hệ thống thông tin Chuyên ngành: Hệ thống thông tin Mã số: 60 48 01 04 LUẬN VĂN THẠC SĨ HỆ THỐNG THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: Tiến sĩ Nguyễn Thị Hậu HÀ NỘI – 2016 LỜI CAM ĐOAN Tôi xin cam đoan nội dung luận văn “Nghiên cứu phương pháp nén liệu để tăng hiệu lưu trữ chuỗi DNA” sản phẩm thực hướng dẫn TS Nguyễn Thị Hậu Trong toàn nội dung luận văn, điều trình bày cá nhân tổnghợp từ nhiều nguồn tài liệu Tất tài liệu tham khảo có xuất xứ rõ ràng trích dẫn hợp pháp Tơi xin hồn tồn chịu trách nhiệm chịu hình thức kỷ luật theo quy định cho lời cam đoan Hà Nội, ngày 20 tháng năm 2016 TÁC GIẢ Cao Thục Tuyết Trinh LỜI CẢM ƠN Trước tiên xin gửi lời cảm ơn chân thành tới tập thể các thầy cô giáo Khoa Công nghệ Thông tin, Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội giúp đỡ tận tình chu tơi có mơi trường tốt học tập nghiên cứu Đặc biệt, xin bày tỏ lòng biết ơn sâu sắc tới TS Nguyễn Thị Hậu, người trực tiếp hướng dẫn, bảo tơi tận tình suốt q trình nghiên cứu hồn thiện luận văn Một lần tơi xin gửi lời cảm ơn đến tất thầy giáo, bạn bè gia đình giúp đỡ tơi thời gian vừa qua Tơi xin kính chúc thầy cô giáo, anh chị bạn mạnh khỏe hạnh phúc Hà Nội, ngày 20 tháng năm 2016 TÁC GIẢ Cao Thục Tuyết Trinh MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN MỤC LỤC DANH MỤC KÍ HIỆU VÀ CHỮ VIẾT TẮT GIỚI THIỆU CHƯƠNG – TỔNG QUAN VỀ THUẬT TOÁN NÉN DỮ LIỆU 10 1.1 Thuật toán mã hóa bit (Nạve Bit) 10 1.1.1 Mã hóa trực tiếp phần khác biệt (thuật toán 2D) 11 1.1.2 Thuật toán nén DNABIT 16 1.2 Thuật toán nén dựa từ điển 20 1.2.1 LZ77 21 1.2.2 LZ78 22 1.3 Thuật toán nén xác suất thống kê 24 1.3.1 Thuật toán nén HuffBit sử dụng nhị phân mở rộng với mã Huffman 26 1.3.2 Thuật toán Expert Markov (XM) 29 1.4 Thuật toán nén tham chiếu 33 1.4.1 Đặc trưng thuật toán tham chiếu 33 1.4.2 Các thuật toán nén tham chiếu 38 CHƯƠNG – THUẬT TOÁN NÉN THAM CHIẾU JDNA 40 2.1 THUẬT TOÁN JDNA - Nén tham chiếu chuỗi gen xếp 41 2.1.1 Thuật toán nén 42 2.1.2 Thư viện FRESCO 42 2.1.3 Bảng K-mer 46 2.1.4 Định dạng tệp 46 2.2 Đánh giá 47 2.2.1 Cải thiện tỉ lệ nén 47 2.2.2 Cải thiện thời gian 57 2.2.3 Cải thiện vùng nhớ 59 CHƯƠNG – THỰC NGHIỆM SO SÁNH THUẬT TOÁN JDNA VỚI THUẬT TỐN MÃ HĨA HUFFMAN VÀ LEMPEL - ZIV 61 3.1 Môi trường thực nghiệm 61 3.2 Thực nghiệm so sánh JDNA với Mã hóa Huffman Lempel – Ziv 64 3.3 Phân tích đánh giá kết thực nghiệm 67 KẾT LUẬN 74 TÀI LIỆU THAM KHẢO 76 DANH MỤC KÍ HIỆU VÀ CHỮ VIẾT TẮT Kí hiệu DNA Tiếng Anh Deoxyribonucleic acid NST A T G C SNP Chromosome Adenine Thymine Guanine Cytosine Single nucleotide polymorphisms CPU RAM FRESCO 2D Cental processing unit Random access memory Framework for REferential Sequence Compresion Differential Direct coding XM GRS eXpert Markov Genome ReSequencing RLZ Relative Lempel-Ziv GDC HTS Genome Differential Compressor High – Throughput Sequencing Tiếng Việt Phân tử mang cấu trúc gen di truyền Nhiễm sắc thể Tính đa hình phân tử nucleotit Mỗi SNP biểu diễn biến đổi khối chuỗi DNA Khối xử lý trung tâm Bộ nhớ truy cập ngẫu nhiên Khung nén tham chiếu FRESCO Mã hóa trực tiếp phần khác biệt Thuật toán Markov Thuật toán xếp chuỗi gen GRS Thuật toán Lempel Ziv RLZ Bộ nén chuỗi gen GDC Sắp xếp chuỗi đa lượng GIỚI THIỆU Những tiến kỹ thuật việc xếp chuỗi đa lượng (highthroughput sequencing) tạo khối lượng khổng lồ liệu chuỗi gen phục vụ cho y sinh học đại Kích thước liệu ngày tăng đặt vấn đề chi phí cho khơng gian lưu trữ tốc độ truy cập, truyền tải Bộ gen người gồm khoảng tỉ đặc trưng 23 cặp nhiễm sắc thể (NST) Cơ sở liệu hệ gen vô lớn phức tạp Để lưu trữ, truy cập xử lý liệu cách hiệu nhiệm vụ khó khăn Do cần thuật toán nén hiệu để lưu trữ khối lượng liệu khổng lồ DNA (Deoxyribonucleic Acid) tên hóa học phân tử mang cấu trúc gen tất thực thể sống DNA gồm chuỗi tạo nên từ loại đơn vị nucleotide, loại gồm: đơn vị đường carbon (2’-deoxyribose), nhóm phốt phát (phosphate) thành phần adenine, cystosine, guanine thymine gọi bazơ Mỗi phân tử đường gắn với ¼ thành phần Dạng đơn giản DNA tế bào cấu trúc dây xoắn đơi, sợi DNA đơn xoắn quanh theo hình xoắn ốc thuận tay phải Do chuỗi DNA gồm thành phần A, T, G, C nên cách đơn giản để biểu diễn chúng sử dụng bits cho kí hiệu Tuy nhiên, ứng dụng phần mềm nén tiêu chuẩn “Unix\compress and \compact” chương trình nén “MS-DOS \pkzip and \arj” tệp bị mở rộng bit thành phần cho dù phần mềm nén thuật toán nén Những phần mềm thiết kế để nén văn bản, quy tắc chuỗi DNA lại phức tạp Mã hóa bit cách hiệu bazơ xuất ngẫu nhiên chuỗi Nhưng sống sinh vật khơng ngẫu nhiên, chuỗi DNA xuất sinh vật khơng ngẫu nhiên có số ràng buộc Nén chuỗi DNA nhiệm vụ thách thức Đặc trưng phức tạp chuỗi DNA nằm chỗ chuỗi số độ dài khác biểu diễn phạm vi dự đốn thành phần cấu tạo nên DNA Những đặc trưng phức tạp cho phép tìm kiếm cấu trúc lặp bên nhiễm sắc thể qua nhiều nhiễm sắc thể Và đặc trưng sử dụng để tìm khoảng cách tiến hóa cấu trúc nên phát sinh loài Do cấu tạo phức tạp mà thấy thực tế khơng có chương trình nén tệp thơng thường nén chuẩn chuỗi DNA Nhiều thuật toán nén dành riêng cho chuỗi DNA phát triển từ khoảng 10 năm trước Sự thật nén chuỗi DNA việc khó thuật toán nén bản, từ quan điểm lý thuyết nén đề tài thú vị cho việc tìm hiểu thuộc tính nhiều thuật tốn nén Ở nói phương pháp luận phương pháp nén cách ngắn gọn Hiện nay, kỹ thuật nén liệu chuỗi gen sử dụng rộng rãi lưu trữ liệu sinh học Có hàng trăm thuật tốn đề xuất cho nén liệu DNA nhìn chung thuật toán nén chia thành số cách tiếp cận sau: (1) mã hóa bit (naive bit manipulation), (2) nén dựa từ điển (dictionary-based), (3) nén thống kê (statistical), (4) nén tham chiếu (reference-based) [1,2] Trong khn khổ luận văn, người viết trình bày số thuật toán tiêu biểu cho phương pháp nêu hầu hết phương pháp nhằm mục đích đạt tỉ lệ nén cao để tiết kiệm khơng gian lưu trữ đạt tốc độ nén/giải nén truy cập thơng tin nhanh chóng Thuật tốn mã hóa bit: sử dụng mã hóa độ dài cố định hai nhiều kí tự byte đơn [38] Thuật toán nén dựa từ điển: hay cịn gọi thuật tốn thay thế, thuật tốn thay chuỗi lặp việc tham chiếu tới từ điển (một tập chuỗi có xác định trước), từ điển xây dựng thời gian chạy (runtime) ngoại tuyến (offline) [39, 40] Thuật tốn nén thống kê: hay cịn gọi thuật tốn mã hóa entropy, bắt nguồn từ mơ hình lấy xác suất liệu đầu vào Dựa chuỗi khớp phần tập đầu vào, mơ hình dự đốn kí tự chuỗi Tỉ lệ nén cao đạt mơ hình ln xác suất cao cho kí tự tiếp theo, nghĩa dự đốn đáng tin cậy [15, 41] Thuật toán nén tham chiếu: tương tự nén dựa từ điển, thuật toán thay chuỗi dài đầu vào với tham chiếu tới chuỗi khác Tuy nhiên, tham chiếu trỏ tới chuỗi bên ngồi mà khơng phải phần liệu nén Hơn nữa, tham chiếu thường tĩnh cịn từ điển mở rộng pha nén Trung bình thuật tốn mã hóa bit đạt tỉ lệ 4:1, thuật toán nén dựa từ điển đạt 4:1 đến 6:1, thuật toán xác suất đạt 4:1 tới 8:1, riêng thuật tốn nén tham chiếu đạt tỉ lệ 400:1 [2] cao với điều kiện lý tưởng lựa chọn chuỗi tham chiếu số nén Thuật toán nén tham chiếu mang tới tiềm lớn cho nén chuỗi đa lượng, điển hình chuỗi DNA Tương tự thuật toán nén dựa từ điển chuỗi mã hóa tham chiếu tới tập hợp chuỗi tham chiếu bên nên tốc độ nén cao giải mã thuận lợi Các chuỗi DNA nén tham chiếu bao gồm phần khớp khoảng đạt tới tốc độ nén cao nén loài Tuy số bất lợi cho nén hệ gen khác loài nén tham chiếu rõ ràng cho thấy lợi tỉ lệ nén tốc độ nén đạt số điều kiện lý tưởng Vì việc tìm chuỗi tham chiếu phù hợp điều khó khăn chuỗi gen nghiên cứu mẫu lấy ngẫu nhiên từ tập hợp lớn lồi Bên cạnh việc tìm kiếm chuỗi khớp xác định việc khớp đầu vào chuỗi tham chiếu phức tạp Tuy nhiên, phương pháp tìm kiếm chuỗi tham chiếu tốt dựa băm k-mer Sự tương đồng cao k-mers đưa tiềm lớn cho việc nén dựa tham chiếu Có nhiều khung nén phát triển dựa thuật toán nén tham chiếu Qua thời gian, phương pháp nén dựa tham chiếu cải tiến phương thức lưu trữ liệu, đánh số chuỗi gen, thuật tốn tìm kiếm chuỗi tham chiếu tốt hay viết lại tham chiếu tìm kiếm chuỗi khớp tối ưu Tất cải tiến cho thấy hiệu khả quan đạt tỉ lệ tốc độ nén/giải nén chuỗi gen thuật toán nén dựa tham chiếu Đây lý mà luận văn này, người viết tập trung nghiên cứu, thực nghiệm so sánh kết nén chuỗi đa lượng DNA dựa thuật toán nén tham chiếu với thuật toán nén tiêu biểu JDNA, phát triển dựa thuật toán sử dụng FRESCO [25], tối ưu với phương pháp cải tiến lựa chọn tham chiếu, viết lại tham chiếu nén thứ tự hai Ngồi JDNA cịn thêm hai cải tiến để tối ưu tỉ lệ nén thời gian nén/giải nén (1) sử dụng tính tương đương (2) thay số tham chiếu hoàn toàn phương thức số theo yêu cầu Những cải tiến cho kết tốt tỉ lệ nén, đạt tỉ lệ nén cao mong đợi thuật toán nén tham chiếu cho việc nén chuỗi DNA Người viết thực thực nghiệm bổ sung so sánh thuật toán tham chiếu JDNA với thuật toán nén dựa phương thức khác Lempel-Ziv, nén dựa từ điển Huffman, nén dựa xác suất thống kê để thấy rõ tính ưu việt thuật toán tham chiếu cải thiện tỉ lệ nén, tốc độ giải nén dung lượng lưu trữ Tuy kết đạt tỉ lệ nén thời gian nén thực nghiệm bổ sung chưa đạt tỉ lệ mong đợi cao thuật tốn nén tham chiếu cịn hạn chế mơi trường thực nghiệm góp phần chứng minh nhận định hiệu thuật toán nén tham chiếu việc nén chuỗi gen mà người viết nghiên cứu Bố cục luận văn chia thành chương Chương trình bày tổng quan phương thức nén liệu sử dụng cho nén chuỗi DNA Thuật toán nén tham chiếu cụ thể mà người viết luận văn tập trung nghiên cứu, thuật toán nén 66 Hình 3.5 Chương trình thuật tốn Lempel-Ziv (LZW) (3) Lệnh nén chuỗi DNA sử dụng thuật toán JDNA alias java='java -Xmx4096M' export _JAVA_OPTIONS="-Xmx4096M" java -jar JDNA.jar COMPRESS ref_ex.raw hs_alt_CHM1_1.1_chr21.fa hs_alt_CHM1_1.1_chr21.fa.cmp Trong đó, // hs_alt_CHM1_1.1_chr21.fa tệp đầu vào // hs_alt_CHM1_1.1_chr21.fa.cmp tệp nén đầu thuật toán Hình 3.6 thể hình thực chương trình thuật tốn JDNA Hình 3.6 Chương trình thuật tốn tham chiếu JDNA Trong nhiều trường hợp, việc nén liệu thành công không đồng nghĩa với việc giải nén thành công đạt hiệu tốt mong đợi Vì lý mà khn khổ thực nghiệm so sánh bổ sung, người viết chỉnh sửa 67 chương trình thực giải nén chuỗi gen nén Ở phần nén thuật toán JDNA đạt hiệu tốt thuật toán thuộc loại khác, kết phân tích phần 3.3 nên thực so sánh hiệu giải nén, người viết thống kê kết thời gian thực để chứng minh tính ưu việt thời gian giải nén thuật toán JDNA so với hai thuật toán lựa chọn để so sánh Việc giải nén thực dòng lệnh tương ứng chạy Linux 3.3 Phân tích đánh giá kết thực nghiệm Bộ liệu tải lớn, tổng cộng gần 100GB mơi trường thực nghiệm có hạn nên người viết lựa chọn số chuỗi với dung lượng phù hợp để thực trình nén, giải nén so sánh Hình 3.7 thể bảng thống kê kết đạt nén tập liệu sử dụng thuật toán nén Huffman, Lempel-Ziv JDNA 68 Hình 3.7 Thống kê kết nén thuật toán Huffman, Lempel-Ziv JDNA 69 JDNA đạt hiệu kích thước tệp nén (trung bình 6,74MB cho 27 tập liệu) hệ số nén tốt 9,14 tức tỉ lệ nén khoảng 9:1 cho tập liệu thực nghiệm Lempel-Ziv đạt hiệu nén tốt thứ hai (trung bình 22,55MB cho 27 tập liệu) hệ số nén trung bình 3,06 Huffman đạt tốc độ nén tốt (trung bình 5,44 giây) lại chưa hiệu kích thước tệp nén, hệ số nén khơng gian lưu trữ Thuật tốn Huffman xử lý mã hóa chuỗi dựa xác suất xảy hay nói cách khác tần số xuất bazơ (A, C, G, T) nên với chuỗi có mật độ bazơ xảy cao kích thước nén giảm đáng kể Ngồi ra, thuật tốn Huffman điển hình thuật tốn “tham lam”, thuật tốn tìm kiếm lựa chọn tối ưu địa phương bước với hy vọng tìm tối ưu tồn cục Kết nối nút gần để tạo mã hóa dài cho kết mã hóa tối ưu tổng thể Tại bước thuật toán, quy hoạch động đưa định dựa định bước trước, xét lại đường bước trước hướng tới lời giải Giải thuật tham lam định sớm thay đổi đường thuật tốn theo định đó, khơng xét lại định cũ Đối với số tốn, thuật tốn khơng xác Đây lý mà thuật tốn Huffman cho kết tốt thời gian nén lại chưa tốt tỉ lệ nén hay dung lượng tệp nén (trung bình kích thước tệp nén 27,22MB 27 chuỗi thực nghiệm) JDNA sử dụng số k-mer cho chuỗi tham chiếu Lựa chọn k có ảnh hưởng lớn lên tốc độ nén, không ảnh hưởng tới tỉ lệ nén Với giá trị k nhỏ nén xác nhận chậm hơn, JDNA phải kiểm tra nhiều chuỗi khớp giả mà không liên quan tới nén tham chiếu chúng khơng đạt chuỗi khớp dài Với giá trị k tương đối lớn tốc độ nén tăng đáng kể, tỉ lệ nén xác nhận không thay đổi Thời gian tạo số k-mer cho chuỗi tham chiếu khoảng phút chuỗi lớn không bao gồm phép tính tốn Ngồi JDNA cịn cải tiến để xử lý bazơ có độ tương đồng chưa cao, bazơ đặc trưng A, T, G, C cịn có bazơ khơng xác định đưa dạng N Điều làm ảnh hưởng tương đối tới tốc độ nén JDNA, thấy thực nghiệm tốc độ nén JDNA (trung bình 6001,67 giây cho 27 tập liệu thực nghiệm) chậm hai thuật toán nén Huffman Lempel-Ziv Điểm tương đồng gen tham chiếu gen đầu vào định kết thuật toán JDNA, tương đồng lớn tỉ lệ nén cao thời gian nén cải thiện nhiều Tuy nhiên, thực nghiệm đạt hiệu đáng mong đợi tỉ lệ nén, kích thước tệp nén dung lượng lưu trữ cho nén chuỗi gen 70 Bên cạnh JDNA cịn thuật toán thực nghiệm khác cho kết thời gian nén chưa cao Lempel-Ziv (trung bình 40,07 giây) Ở thuật tốn Lempel-Ziv, mã hóa kiểm tra chuỗi đầu vào cách nhấn vào dịch vụ cửa sổ trượt gồm phần: đệm tìm kiếm đệm xem thẳng Một đệm tìm kiếm gồm phần chuỗi mã hóa đệm xem thẳng gồm phần chuỗi mã hóa Trong đó, Lempel-Ziv cịn đề xuất mã hóa tồn độ dài chuỗi phần bù, chí chuỗi tìm thấy mà khơng khớp, đệm tìm kiếm dài hàng nghìn bytes, đệm xem thẳng 10 bytes Quá trình mã hóa tiêu tốn thời gian phải thực số lượng so sánh lớn để tìm mẫu khớp Với lý mà Lempel-Ziv dù đạt dung lượng nén hệ số nén mã hóa Huffman lại tốn thời gian nén Trong trình thực nghiệm, người viết thấy kết đạt thuật toán quán với nhiễm sắc thể khác loài, với loài khác định dạng tệp liệu khác Tóm lại, thuật tốn nén tham chiếu JDNA đạt kết nén tốt tỉ lệ nén giảm kích thước tệp nén đáng kể với hiệu không gian lưu trữ phải tốn nhiều thời gian cho xử lý bazơ có độ tương đồng chưa cao Thuật tốn nén xác suất Huffman đạt tốc độ nén cao lại tỉ lệ nén kích thước tệp nén Thuật toán nén dựa từ điển Lempel-Ziv với tỉ lệ nén không JDNA, tốc độ nén Huffman kích thước tệp nén hệ số nén lại có phần nhỉnh Huffman Hình 3.8 tóm tắt kết nén trung bình thuật toán JDNA, Lempel-Ziv Huffman cho tổng thể tập liệu thực nghiệm 71 Hình 3.8 Tóm tắt kết nén đạt từ thuật toán JDNA, Lempel-Ziv Huffman 72 Kết thực nghiệm cho thấy JDNA đạt hiệu tốt hai thuật toán thuộc loại khác nén dựa từ điển Lempel-Ziv nén xác suất thống kê Huffman Như trình bày trên, JDNA khơng thuật toán hiệu tỉ lệ nén tối ưu dung lượng lưu trữ mà hiệu thời gian thực giải nén Hình 3.9 thể so sánh thời gian giải nén JDNA so với Huffman LZW Kết cho thấy thời gian giải nén JDNA nhanh hai thuật toán Huffman LZW bậc Trong thời gian giải nén trung bình LZW 15,3 giây cho chuỗi gen thực nghiệm thời gian giải nén trung bình Huffman xếp thứ hai với 4,26 giây thời gian giải nén JDNA cho chuỗi lựa chọn 1,44 giây Hình 3.9 Thống kê kết giải nén thuật toán Huffman, Lempel-Ziv JDNA 73 Kết nén giải nén cho thấy thuật toán Lempel-Ziv tốn thời gian nhiều cho việc thực Điều Lempel-Ziv trình nén phải tạo từ điển gặp chuỗi không khớp dài khoảng giải nén khơng có từ điển ngồi nên tạo vấn đề giải mã máy khác Ở thuật tốn này, mà khơng có mẫu khớp mã hóa chuỗi độ dài phần bù, điều làm tốn không gian bước không cần thiết làm tăng thời gian thực thuật toán Thuật toán xác suất thống kê Huffman giữ kết thời gian thực tốt, đứng thứ thuật toán thực nghiệm Thuật toán nén tham chiếu JDNA phải dùng tới thời gian nén lâu phải xử lý phần bù chuỗi gen (những thành phần A, T, G, C) phần chưa tương đồng chuỗi gen cho thấy hiệu thời gian giải nén tốt nhiều so với hai thuật tốn Lempel-Ziv Huffman, trung bình 1,44 giây cho giải nén tập liệu thực nghiệm nén Như sau trình thực thực nghiệm, kết cho thấy thuật toán nén tham chiếu JDNA đạt hiệu khả quan cho việc nén chuỗi gen Không đạt hiệu tỉ lệ nén cao, kích thước tệp gen nén giảm rõ rệt, tiết kiệm dung lượng lưu trữ mà JDNA đạt ưu việt thời gian giải nén đáng mong đợi 74 KẾT LUẬN Mặc dù thách thức lưu trữ thông tin chuỗi DNA kiểm soát phần việc cải tiến xếp chuỗi đa lượng phương pháp nén tốt cho chuỗi DNA vấn đề quan trọng cộng đồng sinh học, tiềm việc kiểm sốt việc thơng tin sau trình nén/giải nén chuỗi gen Sắp xếp chuỗi đa lượng (HTS) tạo nên cách mạng nghiên cứu sinh học phân tử [44] Công nghệ cung cấp phương thức nén hiệu cho tập liệu DNA khổng lồ Thêm vào thách thức việc hiểu cấu trúc, chức tiến hóa hệ gen, phương pháp xếp chuỗi đa lượng đặt câu hỏi tập trung vào việc biểu diễn, lưu trữ, truyền tải, truy vấn bảo vệ thông tin chuỗi gen Trong luận văn này, người viết trình bày phương thức thuật toán nén tiêu biểu cho phương thức nén liệu chuỗi DNA Trong đó, người viết chọn phương thức nén tham chiếu thuật toán nén tiêu biểu JDNA làm mục tiêu nghiên cứu hiệu mà thuật toán mang lại cho nén chuỗi DNA tiết kiệm không gian lưu trữ, tỉ lệ nén đạt cao thuật toán nén loại khác bậc JDNA phát triển dựa thuật toán sử dụng FRESCO [25] Thuật toán đạt hiệu việc tăng tỉ lệ nén chuỗi đa lượng phương pháp kế thừa: (1) lựa chọn tham chiếu, (2) viết lại tham chiếu (3) nén thứ tự hai Tỉ lệ nén đạt 400:1 cao với kế thừa điều kiện lý tưởng chuỗi tham chiếu lựa chọn phù hợp hay chuỗi gen lồi có độ tương đồng cao Bên cạnh đặc trưng kế thừa từ thuật tốn nén tham chiếu Fresco, JDNA cịn thực hiệu sử dụng phương pháp đánh số theo yêu cầu để tiết kiệm thời gian nén thực tăng tỉ lệ nén đáng kể Đóng góp JDNA sử dụng phương thức đánh số theo yêu cầu Cơ chế kết hợp hai đặc tính tốt là: cấu trúc số đơn giản xử lý khác biệt tệp gen nén nhanh chuỗi khớp trực tiếp Đạt ưu việt tỉ lệ nén, thời gian giải nén không gian lưu trữ Đồng thời xử lý nén nhiều định dạng tệp gen Nhưng JDNA lại gặp bất lợi thời gian nén phải xử lý chuỗi gen có tương đồng chưa cao, gồm nhiều kí tự khác bazơ đặc trưng (A, T, G, C) đạt tỉ lệ nén cao với chuỗi DNA xếp JDNA bị hạn chế hiệu suất JVM, việc quản lý nhớ phức tạp JVM làm tăng độ khó khăn việc tạo ứng dụng nhớ hiệu Để nén toàn 75 hệ gen, hiệu suất JDNA tăng nhờ chế song song JDNA nén tệp lớn theo khối độc lập mà nén riêng biệt Cơ chế song song làm tăng việc sử dụng vùng nhớ giảm thời gian nén đáng kể Tuy gặp số bất lợi thời gian nén dung lượng máy ảo JVM sử dụng ngôn ngữ Java làm công cụ phát triển JDNA chứng minh tính hiệu việc nén chuỗi gen thuật tốn nén tham chiếu Trong tương lai JDNA tiếp tục cải tiến để đạt tốc độ nén hiệu suất lưu trữ đáng mong đợi Cùng với nghiên cứu nhận định trình bày, người viết thực thực nghiệm so sánh thuật toán tham chiếu JDNA với hai thuật toán nén thuộc phương thức khác nén dựa từ điển Lempel-Ziv thuật toán nén xác suất thống kê Huffman để bổ sung cho kết nghiên cứu đạt Kết thực nghiệm chưa đạt tỉ lệ nén hay thời gian mong đợi cao thuật toán nén tham chiếu số hạn chế môi trường thực nghiệm, bước đầu khẳng định tối ưu thuật toán nén tham chiếu mà tiêu biểu JDNA cho nén chuỗi gen Những kết thực nghiệm tiền đề để người viết tiếp tục nghiên cứu cải tiến cho việc nén chuỗi gen tương lai 76 TÀI LIỆU THAM KHẢO [1] Samantha Woodward BIOC 218 A Critical Analysis of DNA Data Compression Methods, 2011 [2] Sebastian Wandelt, Marc Bux, and Ulf Leser Trends in Genome Compression, 2013 [3] P Raja Rajeswari, Allam Apparo, and V K Kumar Genbit compress tool(gbc): A javabased tool to compress dna sequences and compute compression ratio(bits/base) of genomes CoRR, abs/1006.1193, 2010 [4] Rajendra Kumar Bharti, Archana Verma, and R.K Singh A biological sequence compression based on cross chromosomal similarities using variable length lut International Journal of Biometrics and Bioinformatics, 4:217 – 223, 2011 [5] Ateet Mehta and Bankim Patel Dna compression using hash based data structure International Journal of Information Technology & Knowledge Management, 3:383 – 386, 2010 [6] Piyuan Lin, Shaopeng Liu, Lixia Zhang, et al Compressed pattern matching in dna sequences using multithreaded technology In 3rd International Conference on Bioinformatics and Biomedical Engineering, ICBBE'09, 2009 [7] Pothuraju Rajarajeswari, Allam Apparao DNABIT Compress – Genome compression agorithm, Journal on Bioinformation, Volume 5, Issue 8, January 2011 [8] Shanika Kuruppu, Bryan Beresford-Smith, Thomas Conway, et al Iterative dictionary construction for compression of large dna data sets IEEE/ACM Transactions on Computational Biology and Bioinformatics, 9(1):137 – 149, 2012 [9] Dimitris Antoniou, Evangelos Theodoridis, and Athanasios Tsakalidis Compressing biological sequences using self adjusting data structures In Information Technology and Applications in Biomedicine, 2010 77 [10] K R Venugopal, K G Srinivasa, and Lalit Patnaik Probabilistic Approach for DNA Compression Chapter 14, pages 279 – 289 Springer, 2009 [11] I.Tabus and G.Korodi Genome compression using normalized maximum likelihood models for constrained markov sources In Information Theory Workshop, 2008 [12] Kalyan Kumar Kaipa, Kyusang Lee, Taejin Ahn, et al System for random access dna sequence compression In International Conference on Bioinformatics and Biomedicine Workshops, 2010 [13] B G Chern, I Ochoa, A Manolakos, A No, K Venkat and T Weissman,Department of Electrical Engineering, Stanford University, Stanford CA 94305 Reference Based Genome Compression [14] Suman M Choudhary, Anjali S Patel, Sonal J Parmar Study of LZ77 and LZ78 Data Compression Techniques, International Journal of Engineering Science and Innovative Technology (IJESIT), Volume 4, Issue 3, May 2015 [15] M D Cao, T Dix, L Allison, and C Mears A simple statistical algorithm for biological sequence compression In Data Compression Conference, 2007 DCC ’07, pages 43 –52, march 2007 [16] P.Raja Rajeswari, Dr Allam Apparao, Dr R.Kiran Kumar Huffbit Compress – Algorithm To Compress Dna Sequences Using Extended Binary Trees, Journal of Theoretical & Applied Information Technology, Vol 13 Issue 1/2, pages 101-106, 2010 [17] I H G S Consortium Initial sequencing and analysis of the human genome Nature, 409(6822):860–921, February 2001 [18] E E Schadt, S Turner, and A Kasarskis A window into thirdgeneration sequencing Human molecular genetics, 19(R2):R227–R240, Oct 2010 [19] S Deorowicz and S Grabowski Robust relative compression of genomes with random access Bioinformatics, 27(21):2979–2986, 2011 78 [20] C Wang and D Zhang A novel compression tool for efficient storage of genome resequencing data Nucleic Acids Research, 39(7):e45, Apr 2011 [21] Jim Dowling, KTH Reference Based Compression Algorithm, Scalable, Secure Storage of Biobank Data, Work Package 2, pages 23 – 44, June 2014 [22] M Cohn and R Khazan Parsing with prefix and suffix dictionaries In Data Compression Conference, pages 180–189, 1996 [23] S Grabowski and S Deorowicz Engineering relative compression of genomes CoRR, abs/1103.2351, 2011 [24] S Kuruppu, S J Puglisi, and J Zobel Optimized relative Lempel-Ziv compression of genomes In Proceedings of the Thirty-Fourth Australasian Computer Science Conference - Volume 113, ACSC ’11, pages 91–98, Darlinghurst, Australia, Australia, 2011 [25] S.Wandelt and U.Leser Fresco: Referential compression of highly similar sequences Computational Biology and Bioinformatics, IEEE/ACM Transactions on, 10(5):1275–1288, Sept 2013 [26] S.Kurtz, A.Narechania, J.Stein, and D.Ware A new method to compute k-mer frequencies and its application to annotate large repetitive plant genomes BMC Genomics, 9(1):517, 2008 [27] 1000 Genomes Project Consortium A map of human genome variation from populationscale sequencing Nature, 467(7319):1061–1073, October, 2010 [28] P Danecek, A Auton, G Abecasis, and 1000 Genomes Project Analysis Group The variant call format and VCFtools Bioinformatics, 27(15):2156–2158, August 2011 [29] H.Mewes, K.Albermann, M.Bahr, D.Frishman, A.Gleissner, J.Hani, K.Heumann, K.Kleine, A.Maierl, S.Oliver, et al Overview of the yeast genome Nature, 387(6632):7–8, 1997 [30] Shanika Kuruppu, Simon J Puglisi, and Justin Zobel Relative lempelziv compression of genomes for large-scale storage and retrieval In 79 Proceedings of the 17th International Conference on String Processing and Information Retrieval, SPIRE'10, pages 201 – 206, 2010 [31] A J Pinho, D Pratas, and S P Garcia GReEn: a tool for efficient compression of genome resequencing data Nucleic Acids Research, December 2011 [32] Marty C Brandon, Douglas C Wallace, and Pierre Baldi Data structures and compression algorithms for genomic sequence data Bioinformatics, 25(14):1731 – 1738, 2009 [33] Scott Christley, Yiming Lu, Chen Li, et al Human genomes as email attachments Bioinformatics, 25(2):274 – 275, 2009 [34] Hyoung Do Kim and Ju-Han Kim Dna data compression based on the whole genome sequence Journal of Convergence Information Technology, 4(3):82 – 85, 2009 [35] Sebastian Kreft and Gonzalo Navarro Lz77-like compression with fast random access In Proceedings of the 2010 Conference on Data Compression, DCC'10, pages 239 – 248, 2010 [36] Andrew Peel, Anthony Wirth, and Justin Zobel Collection-based compression using discovered long matching strings In Proceedings of the 20th ACM International Conference on Information and Knowledge Management, CIKM'11, pages 2361 – 2364, 2011 [37] Pragya Pande and Dhruv Matani Compressing the human genome against a reference Technical report, Stony Brook University, 2011 [38] Stéphane Grumbach and Fariza Tahi A new challenge for compression algorithms: genetic sequences Information Processing & Management, 30(6):875 – 886, 1994 [39] Jesper Larsson and Alistair Mofat Offline dictionary-based compression In Proceedings of the 1999 Conference on Data Compression, DCC'99, pages 296 – 305, 1999 [40] John G Cleary, Ian, and Ian H Witten Data compression using adaptive coding and partial string matching IEEE Transactions on Communications, 32:396 – 402, 1984 80 [41] M H Fritz, R Leinonen, G Cochrane, et al Efficient storage of high throughput DNA sequencing data using reference-based compression Genome Research, 21(5):734–740, May 2011 [42] Xin Chen, Sam Kwong, Ming Li A Compression Algorithm for DNA Sequences and Its Applications in Genome Comparison, International Conference on Genome Informatics, 10:51-61, February 1999 [43] Gregory Vey Differential direct coding - A compression algorithm for nucleotide sequence data, Article ID bap013, June 2009 [44] M L Metzker Sequencing technologies — the next generation, Nat Rev Genet., 11(1):31–46, January 2010 [45] M R Wick An object-oriented refactoring of Huffman encoding using the Java Collections Framework SIGCSE Bull., 35(1):283–287, January 2003 [46] D A Huffman A method for the construction of minimumredundancy codes Proceedings of the Institute of Radio Engineers, 40(9):1098–1101, September 1952