Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 80 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
80
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 hoàn toà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 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ận tình suốt trình nghiên cứu hoàn thiện luận văn Một lần xin gửi lời cảm ơn đến tất thầy cô giáo, bạn bè gia đình giúp đỡ 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 (Naï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 TOÁ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 72 TÀI LIỆU THAM KHẢO 74 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 hiệu để 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ự đoá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ế 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 toá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 toá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 khuôn 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 hai mục đích chính: đạ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 toá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 gọi thuật toán thay thế, thuật toán thay thể 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 toán nén thống kê: hay gọi thuật toá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ự đoán kí tự chuỗi Tỉ lệ nén cao đạt mô hình xác suất cao cho kí tự tiếp theo, nghĩa dự đoá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 mà phần liệu nén Hơn nữa, tham chiếu thường tĩnh từ điển mở rộng pha nén Trung bình thuật toá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 toán nén tham chiếu đạt tới tỉ lệ 400:1 [2] cao với điều kiện lý tưởng 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 loà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 toá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 Ngoài JDNA 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 tới 1000:1 với điều kiện lý tưởng 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 toán nén tham chiếu 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 tham chiếu JDNA, trình bày chương Chương luận văn mô tả 64 Hình 3.3 Định dạng tệp liệu gen khuẩn men Y-WG 3.2 Thực nghiệm so sánh JDNA với Mã hóa Huffman Lempel – Ziv So sánh thực thuật toán mã hóa Huffman Lempel-Ziv với nén tham chiếu JDNA Kết cho thấy tốc độ nén Huffman tốt, JDNA đạt hiệu vượt trội hệ số nén kích thước tệp nén So sánh sau: với loài nhiễm sắc thể, lựa chọn ngẫu nhiên số chuỗi áp dụng thuật toán lựa chọn cho chuỗi ngẫu nhiên Kết thống kê so sánh kích thước gen sau nén, thời gian nén hệ số nén thuật toán cho nhiều chuỗi gen cụ thể Các chương trình thuật toán chạy máy ảo Linux dòng lệnh tương ứng (1) Lệnh nén chuỗi DNA sử dụng mã hóa Huffman: echo 'hs_ref_GRCh38.p2_chr22.fa' echo 'hs_ref_GRCh38.p2_chr22.fa' >> /vagrant/HuffmanArchivermaster/Result/timespan1.txt; START=$(date +%s); /huffar /vagrant/jdna-master/Output/hs_ref_GRCh38.p2_chr22.fa -c /vagrant/HuffmanArchiver-master/Result/hs_ref_GRCh38.p2_chr22.fa.huf; END=$(date +%s); echo $((END-START)) | awk '{print int($1/60)":"int($1%60)}' >> /vagrant/HuffmanArchiver-master/Result/timespan1.txt; Trong đó, // hs_ref_GRCh38.p2_chr22.fa tệp đầu vào //hs_ref_GRCh38.p2_chr22.fa.huf tệp nén đầu thuật toán Tệp 65 //timespan1.txt hiển thị thời gian nén Hình 3.4 thể hình thực chương trình thuật toán mã hóa Huffman Hình 3.4 Chương trình thuật toán mã hóa Huffman (2) Lệnh nén chuỗi DNA sử dụng thuật toán LZW echo 'hs_ref_GRCh38.p2_chr22.fa' echo 'hs_ref_GRCh38.p2_chr22.fa' >> /vagrant/LZW/LZWmaster/Result/timespan1.txt; START=$(date +%s); /lzw -c /vagrant/jdna-master/Output/hs_ref_GRCh38.p2_chr22.fa /vagrant/LZW/LZW-master/Result/hs_ref_GRCh38.p2_chr22.fa.lzw; END=$(date +%s); echo $((END-START)) | awk '{print int($1/60)":"int($1%60)}' >> /vagrant/LZW/LZW-master/Result/timespan1.txt; Trong đó, // hs_ref_GRCh38.p2_chr22.fa tệp đầu vào //hs_ref_GRCh38.p2_chr22.fa.lzw tệp nén đầu thuật toán Tệp //timespan1.txt hiển thị thời gian nén Hình 3.5 thể hình thực chương trình thuật toán mã hóa Lempel-Ziv 66 Hình 3.5 Chương trình thuật toá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 toán JDNA Hình 3.6 Chương trình thuật toá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à khuôn 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 Hình 3.7 Thống kê kết nén thuật toán Huffman, Lempel-Ziv JDNA 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ữ 68 Thuật toá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ể Ngoài ra, thuật toán Huffman điển hình thuật toán “tham lam”, thuật toá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 toà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 toán theo định đó, không xét lại định cũ Đối với số toán, thuật toán không xác Đây lý mà thuật toá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 toán Ngoài JDNA cải tiến để xử lý bazơ có độ tương đồng chưa cao, bazơ đặc trưng A, T, G, C 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 Bên cạnh JDNA 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 toá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 đề xuất 69 mã hóa toà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 toá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 toá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 Hình 3.8 Tóm tắt kết nén đạt từ thuật toán JDNA, Lempel-Ziv Huffman 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 70 Hình 3.9 Thống kê kết giải nén thuật toán Huffman, Lempel-Ziv JDNA 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 từ điển nên tạo vấn đề giải mã máy khác Ở thuật toán này, mà 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 71 hai thuật toá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 72 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 soá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 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 loài có độ tương đồng cao Bên cạnh đặc trưng kế thừa từ thuật toán nén tham chiếu Fresco, JDNA 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 73 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 toá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 74 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 75 [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 76 [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 77 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 78 [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 [...]... minh trong thut toỏn nộn DNABIT mi vỡ t l nộn tt nht ca nú l R = 1,04 v xu nht l R = 1.58 Trng hp xu nht c xỏc nh l khi s lp trong chui DNA l khụng ỏng k Thut toỏn mó húa nộn DNABIT u vo: Chui u vo (INSTRING) gm A, T, G, C u ra: Chui ó mó húa (OUTSTRING) Th tc mó húa: Begin 1: Chia chui DNA thnh cỏc on, trong ú mi on gm 2 kớ t, 4 kớ t 2: To tt c cỏc liờn kt cú th trong chui DNA (A, C, G, T) 3: p dng... tr cng nh hiu qu s dng thụng tin 16 1.1.2 Thut toỏn nộn DNABIT Thut toỏn DNABIT nộn cỏc chui DNA ca ton b h gen (c cỏc chui lp v khụng lp) theo 2 pha Hai pha ln lt s dng 5 k thut c gi l k thut 2 Bit, 3, 5, 7 v 9 Bit 2 pha: (1) K thut Bit chn: k thut 2Bit; (2) K thut Bit l: k thut 3Bit, k thut 5Bit, k thut 7Bit, k thut 9Bit K thut Bit chn: Chui DNA c gỏn 2 bit cho mi baz n Cỏc baz ú l {A, C, G, T} 2... chiu JDNA vi hai thut toỏn thuc phng thc nộn khỏc v mt s phõn tớch ỏnh giỏ ca ngi vit v kt qu t c Cui cựng l kt lun v hiu qu cng nh hn ch cũn tn ti v hng phỏt trin trong tng lai 10 CHNG 1 TNG QUAN V THUT TON NẫN D LIU 1.1 Thut toỏn mó húa bit (Naùve Bit) Thut toỏn mó húa bit s dng cỏc bit trng thỏi biu din d liu nộn 4 baz c trng ca DNA c mó húa bi 2 bit (4 trng thỏi) K thut nộn thng d liu chui DNA. .. trờn mụ hỡnh Markov n cng c xut cho nộn chui DNA, gi s rng d liu chui DNA cú th c tớnh xp x bng mụ hỡnh Markov n Ngi ta dựng th t mụ hỡnh phõn bit cỏc phng phỏp da trờn mụ hỡnh Markov Vớ d mt mụ hỡnh Markov th t 2 s a ra ng cnh ca hai kớ t cui d oỏn xỏc sut ca cỏc kớ t tip theo Gene-Compressor cng c xut nh mt phng phỏp mó húa nhng phn khụng lp ca chui DNA [10] ln chy u tiờn, xỏc xut cỏc kớ t c ỏnh... chui DNA {A, C, G, T} Coi ( ) l di ca phn ngn nht t nỳt x ti mt nỳt ngoi trong cõy con ca nú Gi s nu x l mt nỳt ngoi, x c cho l 0 Nu x l mt nỳt trong, giỏ tr l: Nỳt trong = Min { [ ], [ ]} + 1 Where = con trỏi ca x And R = con phi ca x Vớ d: Cho chui = a,c,g,t di = 4 S nỳt trong = 3 S nỳt ngoi = 4 Cõy nh phõn m rng cho cỏc baz A, C, G, T ca DNA nh hỡnh 1.8 5 Hỡnh 1.8 Cõy nh phõn m rng cho cỏc baz DNA. .. Nhng phng phỏp ny ch cú th x lý 4 kớ t baz chui u vo Do ú cng nh thut toỏn mó húa bit, cha t c hiu qu nộn DNA khi cú xut hin nhng baz b sung khỏc Tip tc b sung v phỏt trin mụ hỡnh nộn xỏc sut, Kalyan Kumar Kaipa, Kyusang Lee, Taejin Ahn cựng ng nghip ó xut phng phỏp nộn truy cp ngu nhiờn chui DNA [12] Trong ú mó húa cỏc cựng khụng lp cng nh cỏc chui khụng khp phn lp vi mt b mó húa s hc da trờn mụ... on trong d liu nộn Sau cựng l mt thut toỏn tp trung vo vic phõn tớch cỏch thc lu tr cỏc phn lp vi nhng mó húa cú kớch thc bin i, thut toỏn DNABit [7] Do tớnh c trng ca thut toỏn mó húa bit c th hin khỏ rừ nột trong 2 thut toỏn mó húa trc tip phn khỏc bit (2D) v DNABit nờn sau õy ngi vit lun vn s trỡnh by chi tit hai thut toỏn ny 1.1.1 Mó húa trc tip phn khỏc bit (thut toỏn 2D) Vi s phỏt trin ngy cng... nht cho mt kớ t Phõn b xỏc sut thớch hp khi thu thp mó húa V c bn, Markov expert cung cp phõn b xỏc sut c s ca cỏc kớ t trờn chui õy chỳng ta s dng Markov expert th t 2 cho DNA v th t 1 cho protein Nhng vựng khỏc nhau ca mt chui DNA cú th cú nhng chc nng khỏc nhau v bi vy cú th cú nhng phõn b kớ t khỏc nhau Mt loi chuyờn gia khỏc ú l chuyờn gia Markov ng cnh (context Markov expert), phõn b xỏc sut ca... t da trờn phõn b xỏc sut kt hp t cỏc chuyờn gia XM l mt thut toỏn nộn n gin v hiu qu cho c DNA v protein Thut toỏn s dng cỏc phộp lp xp x v thuc tớnh thng kờ ca chui sinh hc cho vic nộn Nh mt phng thc nộn thng kờ, XM cú th tớnh toỏn ni 33 dung thụng tin ca mi kớ t trong chui, iu ny rt hu ớch cho vic tỡm hiu v DNA 1.4 Thut toỏn nộn tham chiu Cng nh k thut nộn da trờn t in, thut toỏn ny thay th cỏc chui... 3Bit cho cỏc baz nhc li chớnh xỏc 2 ln Baz Mó 3Bit AA 000 GG 010 TT 011 CC 001 Bng 1.5 Mó 3Bit cho cỏc baz nhc li chớnh xỏc 3 ln Baz Mó 3Bit AAA 100 GGG 110 17 TTT CCC 111 101 (b) K thut 5Bit Trong chui DNA nu tn ti nhiu hn 3 baz lp, lờn ti 8 (4,5,6,7,8) tc l cú t trờn 3 ti 8 baz ging nhau lin k thỡ k thut 5Bit c ng dng Chui mó húa c biu din dng mó 5Bit nh bng 1.6 n bng 1.10 Bng 1.6 Mó 5Bit cho lp 4