Nghiên cứu phương pháp nén dữ liệu để tăng hiệu quả lưu trữ chuỗi DNA (TT)

25 583 0
Nghiên cứu phương pháp nén dữ liệu để tăng hiệu quả lưu trữ chuỗi DNA (TT)

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠ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 TÓM TẮT LUẬN VĂN THẠC SĨ HỆ THỐNG THÔNG TIN HÀ NỘI – 2016 GIỚI THIỆU Những tiến kỹ thuật việc xếp chuỗi đa lượng 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ể 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 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 5, nhóm phốt phát 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” tệp bị mở rộng bit thành phầ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 2 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, (2) nén dựa từ điển, (3) nén thống kê, (4) nén tham chiếu [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, từ điển xây dựng thời gian chạy ngoại tuyến [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 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ả môi trường thực nghiệm so sánh thuật toán nén tham chiếu JDNA với hai thuật toán thuộc phương thức nén khác số phân tích đánh giá người viết kết đạt Cuối kết luận hiệu hạn chế tồn hướng phát triển tương lai 4 CHƯƠNG – TỔNG QUAN VỀ THUẬT TOÁN NÉN DỮ LIỆU 1.1 THUẬT TOÁN MÃ HÓA BIT (Naïve Bit) Thuật toán mã hóa bit sử dụng bit trạng thái để biểu diễn liệu nén bazơ đặc trưng DNA mã hóa bit (4 trạng thái) Kỹ thuật nén thẳng liệu chuỗi DNA mã hóa bazơ vừa đủ byte (8 bit) theo mã hóa bit Mỗi kí tự đầu vào thay bit sử dụng phép thay {A = 00, C = 01, G = 10, T = 11} Tỉ lệ nén thuật toán mã hóa bit 4:1 kích thước chuỗi kí tự đầu vào 4:1 nhiều kí tự [2] 1.1.1 Mã hóa trực tiếp phần khác biệt (thuật toán 2D) Thuật toán 2D thiết kế để cung cấp giao thức nén chuỗi nucleotit thông thường Giao thức phân biệt liệu chuỗi liệu phần bù, từ đưa điều chỉnh phù hợp nén liệu chung chung cụ thể Thuật toán 2D có mục tiêu sau:  Thời gian thực tuyến tính cho việc hỗ trợ tập liệu lớn  Hỗ trợ bao gồm kí tự phụ mà thành phần tập bazơ nucleotit  Mã hóa trực tiếp pha đơn  Nén không liệu  Không phân biệt loại chuỗi  Giải nén chuỗi polipeptit (mỗi peptit gồm 10 tới 100 amino axit)  Sử dụng với phương pháp nén khác 1.1.2 Thuật toán nén DNABIT Thuật toán DNABIT nén chuỗi DNA toàn hệ gen (cả chuỗi lặp không lặp) theo pha Hai pha sử dụng kỹ thuật gọi kỹ thuật Bit, 3, 5, Bit pha: (1) Kỹ thuật Bit chẵn: kỹ thuật 2Bit; (2) Kỹ thuật Bit lẻ: kỹ thuật 3Bit, kỹ thuật 5Bit, kỹ thuật 7Bit, kỹ thuật 9Bit  Kỹ thuật Bit chẵn: Chuỗi DNA gán bit cho bazơ đơn Các bazơ {A, C, G, T} bit gán tới bazơ vùng không lặp Các bit gán tới bazơ đơn  Kỹ thuật Bit lẻ Kỹ thuật Bit lẻ sử dụng kỹ thuật Kỹ thuật 3Bit, Kỹ thuật 5Bit, Kỹ thuật 7Bit Kỹ thuật 9Bit 5 Tuy nhiên, thuật toán DNABIT quan tâm tới nén chuỗi lặp xác nghịch đảo không lặp mà chưa tính tới trường hợp có phần bù kí tự đặc biệt Giả sử có kí tự bù N cho bazơ không phân biệt việc mã hóa trở nên phức tạp Ngoài sử dụng bit nhị phân để mã hóa bazơ kí tự văn khiến lãng phí không gian 1.2 THUẬT TOÁN NÉN DỰA TRÊN BỘ TỪ ĐIỂN Nén dựa từ điển khung nén độc lập với thuộc tính cụ thể liệu đầu vào Phương thức thuật toán thay phần tử liệu lặp (các chuỗi DNA) đầu vào với tham chiếu tới từ điển Những phần lặp thường phát cách lưu lại chuỗi xuất trước Bộ từ điển tái cấu trúc theo nhiều cách thực trình giải nén 1.2.1 LZ77 Trong thuật toán LZ77, từ điển phần mã hóa chuỗi trước tiên Bộ 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  Một số hạn chế thuật toán LZ77 - Trong thuật toán LZ77 gốc, Lempel Ziv đề xuất toàn chuỗi mã hóa độ dài phần bù (offset), chí chuỗi tìm thấy mà không khớp - Trong LZ77, đệ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 - LZ77 từ điển nên tạo vấn đề giải mã máy khác Việc tạo phần bù 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 1.2.2 LZ78 LZ78 thuật toán nén dựa từ điển mà trì từ điển rõ ràng Đầu mã hóa gồm hai thành phần: số tham chiếu tới từ điển mẫu khớp đầu vào kí tự không khớp Thuật toán bổ sung cặp số kí tự cho từ điển Với phương pháp này, thuật toán tạo nên từ điển 6 Thuật toán LZ78 có khả bắt mẫu giữ chúng xác định có hạn chế nghiêm trọng Từ điển lớn dần lên mà điểm dừng Có thể nói thuật toán nén Lempel Ziv (LZ77, LZ78) dựa từ điển thuật toán nén không liệu, ứng dụng tốt nén văn chuỗi khớp ngẫu nhiên Nhưng để nén chuỗi DNA thuật toán không thỏa mãn không phù hợp 1.3 THUẬT TOÁN NÉN XÁC SUẤT THỐNG KÊ Thuật toán thống kê tạo mô hình thống kê liệu đầu vào mà hầu hết trường hợp biểu diễn cấu trúc liệu tiền tố xác suất Các chuỗi với tần suất cao gen biểu diễn với mã ngắn Tỉ lệ nén phụ thuộc chất lượng mô tồn mẫu phát đầu vào Tỉ lệ nén thuật toán nén xác suất thường khoảng 4:1 8:1 Tỉ lệ nén phụ thuộc chủ yếu vào phân bố kí tự đầu vào nhớ sẵn có cho cấu trúc phân bố tần suất 1.3.1 Thuật toán nén HuffBit sử dụng nhị phân mở rộng với mã Huffman Nén Huffbit sử dụng khái niệm nhị phân mở rộng để nén; gán cho trái phải Huffbit thuật toán xử lý chiều; tạo nhị phân mở rộng pha khởi tạo Trong trường hợp tốt thuật toán đạt tỉ lệ nén 1.006 bit bazơ Thuật toán đơn giản nên tỉ lệ nén đạt không thỏa mãn cần quét toàn chuỗi gen để đạt tần suất bazơ đơn trước bắt đầu trình tự nén Thuật toán đưa trình xử lý chiều: (a) Thực cấu trúc nhị phân mở rộng (b) Mã hóa Huffman từ nhị phân mở rộng sử dụng để tính số bit độ dài chuỗi mã hóa Tỉ lệ nén kích thước nén kích thước chưa nén Thuật toán chưa kiểm tra hệ gen lớn 1.3.2 Thuật toán Expert Markov (XM) Thuật toán mã hóa kí tự cách đánh giá xác suất dựa thông tin có từ kí tự trước Là phương pháp thống kê, thuật toán XM nén kí tự cách xác định phân bố xác suất cho kí tự sau sử dụng khung nén sơ cấp để mã hóa [15] Phân bố xác suất vị trí dựa kí tự nhìn thấy trước Tương ứng với nó, giải mã tìm tất kí tự giải mã trước để tính phân bố xác suất đồng khôi phục lại kí tự vị trí  Các loại chuyên gia Một chuyên gia thứ mà đưa phân bố xác suất hợp lý cho vị trí chuỗi Một chuyên gia đơn giản mô hình Markov (Markov expert) Một chuyên gia Markov thứ tự k đưa xác suất kí tự vị trí kí tự trước k Về bản, Markov expert cung cấp phân bố xác suất sở kí tự chuỗi Ở sử dụng Markov expert thứ tự cho DNA thứ tự cho protein Một loại chuyên gia khác chuyên gia Markov ngữ cảnh (context Markov expert), phân bố xác suất chuyên gia không dựa toàn lịch sử chuỗi mà dựa ngữ cảnh hạn chế trước Khả nén chuỗi sinh học xuất phát từ chuỗi lặp Bởi vậy, chuyên gia sử dụng đặc tính quan trọng XM sử dụng chép chuyên gia (copy expert) mà coi kí tự phần vùng chép từ phần bù cụ thể 1.4 THUẬT TOÁN NÉN THAM CHIẾU 1.4.1 Đặc trưng thuật toán tham chiếu Cũng kỹ thuật nén dựa từ điển, thuật toán thay chuỗi dài đầu vào nén với tham chiếu tới chuỗi khác Tuy nhiên, tham chiếu trỏ tới chuỗi bên ngoài, phần liệu đầu vào nén Ngoài ra, tham chiếu thuật toán tĩnh, tham chiếu thuật toán sở từ điển mở rộng trình nén liệu Do 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 Thuật toán nén tham chiếu đạt tỉ lệ nén 400:1 tốt đưa chuỗi tham chiếu khớp hiệu 1.4.2 Các thuật toán nén tham chiếu Có nhiều khung nén tham chiếu phát triển dựa thuật toán nén tham chiếu Khung nén [32] đề xuất lưu khác chuỗi đầu vào nén chuỗi tham chiếu Thuật toán xem xét loại thay đổi bazơ đơn: chèn, xóa thay Kết đạt phân tích cách mã hóa số nguyên cho vị trí tham chiếu tương đối tuyệt đối Tuy nhiên, thuật toán nhấn mạnh việc lựa chọn chuỗi tham chiếu có ảnh hưởng tới tỉ lệ nén nhiều khung mã hóa số nguyên thực tế GRS [20] công cụ nén tham chiếu khác dựa chương trình Unix diff, tìm kiếm chuỗi dài hai chuỗi đầu vào 8 RLZ [30] mô tả phương pháp dựa việc tự đánh số Thuật toán hoạt động sau: thuật toán nén chuỗi đầu vào với mã hóa LZ77 liên quan tới mảng hậu tố chuỗi tham chiếu Không lưu chuỗi thô kể có chuỗi khớp ngắn với tham chiếu mã hóa Thuật toán coi việc xem xét chuỗi tham chiếu vấn đề sống GreEn [31] khung nén tham chiếu dựa hệ chuyên gia đề xuất gần Lấy ý tưởng từ khung nén XM (eXpert Markov) không tham chiếu, GreEn chép hệ chuyên gia tìm kiếm chuỗi khớp k-mers đầu vào tham chiếu Vượt lên nhiều khung nén tham chiếu với nhiều cải thiện đạt tỉ lệ nén không gian lưu trữ, JDNA biết đến khung nén tham chiếu hiệu quả, xây dựng dựa thuật toán nén tham chiếu nhanh mã nguồn mở để cộng đồng sử dụng cải tiến JDNA sử dụng bảng k-mer để đánh số cho chuỗi tham chiếu, JDNA tốn thời gian nén, phần lớn thời gian thực dùng cho việc đánh số JDNA sử dụng thư viện mã nguồn mở dùng FRESCO [21] đáp ứng thiết kế thực thuật toán nén tham chiếu là: (1) định dạng đầu vào, (2) cấu trúc số tham chiếu, (3) thuật toán nén (4) định dạng thứ tự chuỗi cho tệp nén [25] Bên cạnh JDNA thêm hai cải tiến để tối ưu thời gian nén/giải nén dung lượng lưu trữ (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 Giao diện chuỗi khung nén cho phép tải chuỗi từ tệp viết chuỗi vào tệp với định dạng liệu RAW FASTA Một số index dựa số băm k-mer sử dụng để tìm chuỗi khớp cho chuỗi nén dựa tham chiếu Tiếp theo giao diện nén cung cấp thực hai hàm, cho nén chuỗi vào danh sách đầu vào khớp tham chiếu hàm khác cho giải nén Cuối thực chuỗi hóa, xếp danh sách khớp tham chiếu vào tệp với xử lý chuẩn: (1) định dạng ASCII, (2) mã hóa DELTA, (3) dạng nhị phân rút gọn (COMPACT) Có thể nói JDNA đạt hiệu nén chuỗi đa lượng đáng mong đợi có tiềm mở rộng, cải tiến lớn Ở chương 2, người viết tập trung trình bày chi tiết khung nén JDNA, cách mà khung nén kế thừa đặc trưng FRESCO cải tiến mà thuật toán thực để mang lại hiệu tỉ lệ nén dung lượng lưu trữ nén chuỗi gen 9 CHƯƠNG – THUẬT TOÁN NÉN THAM CHIẾU JDNA Do lợi ích hiệu mà JDNA đạt nén chuỗi gen theo phương pháp nén tham chiếu mà chương này, người viết luận văn lựa chọn trình bày thuật toán nén tham chiếu JDNA, khung nén tham chiếu xây dựng thuật toán nén tham chiếu nhanh mã nguồn mở Fresco phát hành miễn phí cho cộng đồng sử dụng mở rộng Hiệu thực đạt tỉ lệ nén cao thuật toán thuộc phương thức khác cao Fresco bậc Thêm vào đó, người viết trình bày đặc trưng Fresco mà JDNA kế thừa, đồng thời trình bày đặc trưng mà JDNA cải tiến mang lại hiệu thực tỉ lệ nén dung lượng lưu trữ tốc độ nén chuỗi gen Thuật toán đánh giá tập liệu từ loài: 1092 gen người, 180 gen loài cỏ Arabidopsis thaliana 38 gen khuẩn men 2.1 THUẬT TOÁN JDNA – Nén tham chiếu chuỗi gen xếp Phương pháp đánh số theo yêu cầu phát triển cung cấp công cụ nén dùng ngôn ngữ Java, gọi JDNA cho nén tham chiếu sử dụng phương pháp JDNA thiết kế để áp dụng nén tham chiếu cho tệp gen Có bốn loại biến gen JDNA hỗ trợ là: SNPs, thay thế, chèn xóa  SNP: sai khác cặp bazơ đơn vị trí từ gen khác  Thay (Substitution): chuỗi cặp bazơ mà khác vùng hai gen  Chèn (Insertion): chuỗi cặp bazơ mà thêm vào vùng gen Do đó, vùng DNA khác chuỗi cặp bazơ không biểu diễn  Xóa (Deletion): chuỗi cặp bazơ không biểu diễn vùng gen biểu diễn phần gen 2.1.1 Thuật toán nén Nén thực khối tệp với toàn tệp nhớ JDNA thiết kế để tải tệp lên tới 250MB lên nhớ với tệp lớn tải vào khối 250MB Cả tệp tham chiếu đầu vào tải theo cách Mỗi khối nén riêng biệt, kết nối khối nén chí chúng tệp Nếu nén khối sử dụng tệp nén tạo gồm khối nén Trong JDNA, chuỗi khớp tìm thấy bước: Kiểm tra xác định có SNP hay không 10 Nếu SNP thực tìm kiếm cục khoảng cặp bazơ cho chuỗi khớp – khoảng gồm hầu hết SDs; lần K, K kích thước K-mer Nếu không tìm thấy chuỗi khớp đánh số phần tham chiếu bảng K-mer tìm kiếm vị trí đầu vào bảng Nếu sau bước mà không tìm thấy chuỗi khớp ghi lại cặp bazơ đầu vào lặp lại trình Tệp đầu vào xử lý tìm kiếm chuỗi khớp tham chiếu toàn đầu vào so sánh Mã hóa Huffman Sử dụng mã hóa Huffman [45] ghi lại chuỗi khớp để tăng nén cách giảm kích thước phần ghi vào đĩa 2.1.2 Thư viện FRESCO FRESCO thư viện nén tham chiếu không liệu cho tệp gen xếp, lưu định dạng RAW FASTA Được viết C++ mã nguồn mở [25] FRESCO gồm biến phát sinh sau: single nucleotide polymorphisms (SNPs), phép chèn, phép xóa phép thay Nó thực ba bước bên (hình 2.1 [21]): (1) đánh số; (2) nén (3) mã hóa Hình 2.1 Mô hình bước thực FRESCO (1) Đánh số gen tham chiếu (2) Nén gen đầu vào, sử dụng tham chiếu đánh số (3) Mã hóa kết sơ để tạo tệp cuối  FRESCO – Mã nguồn mở FRESCO – Framework for REferential Sequence Compresion, tên mã nguồn mở Phần mềm có https://github.com/hubsw/FRESCO.git FRESCO viết C++, sử dụng thư viện BOOST, CST libz FRESCO thiết kế theo module để dễ thay phần thuật toán nén, ví dụ cấu trúc số với thực nghiệm khác Những lựa chọn thiết kế thực thuật toán nén tham chiếu 1) định dạng đầu vào, 2) cấu trúc 11 số cho tham chiếu, 3) thuật toán nén, ví dụ: tham ăn (greedy) 4) định dạng thứ tự chuỗi cho tệp nén, nghĩa mã hóa thực tế chuỗi khớp FRESCO gồm giao diện cho phần phần cho phép sử dụng thực thay khác thêm vào thuật toán chuyên dụng 2.1.3 Bảng K-mer Việc nén liệu cần cấu trúc đánh số Đầu tiên, JDNA sử dụng đối tượng cổ điển (như HashMap) để đánh số Tuy nhiên, nhớ sử dụng cho đối tượng phức tạp lớn Khai báo HashMap 50000 ngăn cung cấp cấu trúc tương ứng làm cho việc sử dụng nhớ tăng 20GB Một bảng băm gọi bảng K-mer sử dụng để lưu thông tin liên quan tới thuật toán nén Bảng K-mer giống với cấu trúc MultiValueMap, lưu trữ nhiều giá trị khóa thay giá trị Bảng K-mer bảng table ma trận số nguyên mảng đếm integer số nguyên (mục đích giải thích sau) Trong Java, ma trận số nguyên mảng sơ cấp nhiều mảng thứ cấp số nguyên Mỗi vị trí mảng sơ cấp bắt đầu với giá trị null Sau đó, dựa theo ArrayList vị trí mảng sơ cấp để chèn giá trị vào table cách tạo mảng kích thước cố định sử dụng biến đếm counter để điều khiển số phần tử vị trí sơ cấp Mảng counter sử dụng để truy cập giá trị lưu trữ để biết mở rộng mảng 2.1.4 Định dạng tệp JDNA chấp nhận hai loại tệp cho đầu vào nén: RAW FASTA Nếu tệp RAW tệp CRAW (cho RAW nén) tạo ra; tệp FASTA CRAW CCOM tạo Tệp CCOM có thích tệp FASTA số dòng thích Với giải nén, tệp CRAW gán đầu vào JDNA tìm kiếm tệp CCOM tên với tệp CRAW Nếu tìm thấy CCOM FASTA tạo ra, không RAW tạo Thông tin tóm tắt hình 2.4 Hình 2.4 Định dạng file đầu vào, đầu JDNA 12 2.2 Đánh giá Ở phần đánh giá này, người viết trình bày kết nén đạt tỉ lệ nén, thời gian nén vùng nhớ để so sánh hiệu suất thuật toán tham chiếu FRESCO với thuật toán loại khác GDC RLZ Đồng thời so sánh hiệu suất JDNA với Fresco để thấy cải tiến JDNA thực mang lại hiệu tỉ lệ nén dung lượng lưu trữ 2.2.1 Cải thiện tỉ lệ nén Chuỗi tham chiếu nhân tố xác định tỉ lệ nén, cho mã hóa đầu vào khớp tham chiếu cố định Ngay loài chuỗi tham chiếu có ảnh hưởng quan trọng tới tỉ lệ nén Với việc làm tăng giống tham chiếu chuỗi nén đầu vào khớp tham chiếu dài tìm thấy tỉ lệ nén tăng lên  Lựa chọn tham chiếu tốt Đầu tiên, nói lựa chọn chuỗi tham chiếu tốt cho chuỗi nén đơn Có thể tồn tham chiếu tốt nhất, trường hợp tham chiếu chọn ngẫu nhiên Theo thực nghiệm trường hợp không xảy Một phương thức đơn giản để tìm chuỗi tham chiếu tốt nén tất chuỗi dựa tất chuỗi tham chiếu chọn tham chiếu mà cho số đầu vào khớp tham chiếu nhất, gọi Rsbest Nếu chuỗi dài trường hợp đưa tốn nhiều thời gian để tính toán nén tham chiếu n * m, m số chuỗi tham chiếu ứng cử n số chuỗi nén Nếu muốn nén 1000 chuỗi mà chọn chuỗi tham chiếu tốt theo phương thức tốn vài tuần; nhiên, ta sử dụng phương thức mẫu để đánh giá phương pháp mô tả  Viết lại tham chiếu Một phương thức khác viết lại chuỗi tham chiếu theo cách mà biểu diễn đường (chuỗi hành động) giống qua tất chuỗi tập hợp chuỗi nén Trong phương thức này, số chuỗi tham chiếu ứng cử cố định Viết lại chuỗi có động lực sinh học: SNP khác thường xảy với tần suất khác Bằng việc viết lại tham chiếu để xác định gắn SNP thường xuyên tới tham chiếu Hình 2.6 mô tả thuật toán viết lại tham chiếu [21] 13 Hình 2.6 Thuật toán viết lại tham chiếu Phép viết lại cho vị trí có tần suất cao tham chiếu sử dụng để viết lại chuỗi tham chiếu Đầu vào thuật toán tập nén tham chiếu S, chuỗi tham chiếu sẽ-được-viết-lại ref giới hạn t Giới hạn sử dụng để chọn phép viết lại mà có tần suất tương đối S Theo thực nghiệm việc lựa chọn chuỗi tham chiếu ban đầu có tác động nhỏ tới tỉ lệ nén Hơn nữa, tính toán lại nén tham chiếu chuỗi tham chiếu viết lại thực nghiệm Việc cập nhật nén tham chiếu để phản ánh thay đổi tham chiếu viết lại mà không cần phải nén lại hướng đáng quan tâm tương lai (1) So sánh FRESCO với hai thuật toán loại GDC RLZ So sánh thực thuật toán nén tham chiếu với FRESCO Hai đối thủ FRESCO GDC [19] RLZ [24] Có thể thấy RLZ ngang hàng nén tham chiếu, GDC chương trình tốt so tốc độ nén tỉ lệ nén Kết nén 10 chuỗi Hình 2.7 14 Hình 2.7 Thống kê nén 10 chuỗi ngẫu nhiên dựa tham chiếu cố định (kết tốt bôi đậm) GDC đạt kết nén tốt cho tập liệu dùng để đánh giá (trung bình 2.0MB cho 10 chuỗi) FRESCO đạt hiệu nén tốt thứ hai (trung bình 2.3MB cho 10 chuỗi) RLZ đạt hệ số nén thấp Y-WG dường kỹ thuật tối ưu hạn chế FRESCO có thời gian nén ngắn (trung bình 8.6 giây cho 10 chuỗi), RLZ chậm khoảng 10 lần GDC chậm khoảng 16 lần Lưu ý tốc độ đọc cao đĩa cứng thực nghiệm khoảng 145 MB/s Nén với FRESCO dường có giới hạn vào/ra: thực thực nghiệm bổ sung với chuỗi nhớ Tóm lại, GDC đạt kết nén tốt nhất, FRESCO đạt tốc độ nén nhanh RLZ GDC Hình 2.8 tóm tắt kết nén tham chiếu FRESCO so với GDC RLZ Hình 2.8 Tóm tắt kết nén đạt từ FRESCO, GDC RLZ (CF: hệ số nén, C.speed: tốc độ nén MB/s) 15 (2) So sánh hiệu JDNA Fresco Tỉ lệ nén hầu hết xác định JDNA FRESCO JDNA sử dụng phiên mã hóa Huffman chỉnh sửa Gzip, FRESCO sử dụng Gzip để nén chuỗi khớp Bảng 2.1 Bảng so sánh JDNA/FRESCO 2.1.1 Cải thiện thời gian Thực nghiệm chứng minh Fresco hiệu thuật toán loại cho thấy vượt trội JDNA so với Fresco Ở phần tiếp theo, người viết trình bày so sánh hiệu thời gian vùng nhớ JDNA với Fresco Thực nghiệm so sánh hiệu thời gian hai công cụ cho việc nén giải nén hệ gen người Việc đánh giá thời gian chia thành phần: - Nén đầy đủ - Đánh số thời gian - Thời gian nén - Thời gian giải nén Thời gian nén đầy đủ đo sử dụng dòng lệnh time, kết thấy hình 2.10 16 Hình 2.10 Thời gian nén Thời gian thư viện dùng để đánh số gen tham chiếu đo trình thực chương trình, kết thấy bảng 2.1 JDNA không tốn thời gian đánh số, đặc biệt so với thời gian đánh số lớn FRESCO 2.1.2 Cải thiện vùng nhớ Vùng nhớ nén Một công cụ sử dụng để đo việc sử dụng nhớ lớn hai phương pháp Hình 2.17 cho thấy việc sử dụng nhớ JDNA FRESCO JDNA thực chế tái sử dụng đối tượng giảm việc tạo đối tượng Tuy nhiên, JDNA FRESCO sử dụng vùng nhớ tương tự nhau, sau nỗ lực giảm sử dụng vùng nhớ đáng kể Việc sử dụng nhớ JDNA phụ thuộc bảng K-mer Mặc dù JDNA giảm đánh số bảng K-mer ma trận số nguyên, dòng ma trận đối tượng nên nhớ sử dụng lớn so với FRESCO, phương thức mà đánh số toàn tham chiếu Vùng nhớ giải nén Giải nén sử dụng lượng vùng nhớ cố định cho tham chiếu, kết số sử dụng vùng Điểm tương đồng gen tham chiếu gen đầu vào định kết FRESCO JDNA, tương đồng lớn tỉ lệ nén cao Các kết trình bày giá trị trung bình Nén toàn hệ gen người cho kết tệp kích thước từ tới 10MB Kết phần đánh giá chứng minh thuật toán đánh số theo yêu cầu sử dụng để xây dựng công cụ so sánh với công cụ khác mà đánh số tham chiếu hoàn toàn Các kết có tính cạnh tranh cho thuộc tính kiểm thử cho thấy cải thiện tổng thời 17 gian thực tỉ lệ nén JDNA kế thừa cải tiến cho thấy thuật toán đạt hiệu khả quan việc nén chuỗi gen hệ gen Thuật toán nén tham chiếu dù phát triển gần biết đến loại thuật toán thứ tư cho nén chuỗi đa lượng cho thấy hiệu vượt trội hẳn so với ba loại thuật toán nén biết đến trước (1) thuật toán nén mã hóa bit, (2) thuật toán nén dựa từ điển (3) thuật toán nén xác suất thống kê Trong luận văn này, người viết thực thực nghiệm bổ sung so sánh JDNA với thuật toán thuộc phương thức xác suất thống kê Huffman thuật toán nén dựa từ điển Lempel-Ziv để làm rõ tính ưu việt thuật toán nén tham chiếu nhận định Chi tiết thực nghiệm so sánh trình bày chương luận văn 18 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 Ở chương này, người viết trình bày thực nghiệm bổ sung để minh họa thêm tính hiệu thuật toán nén tham chiếu nén chuỗi gen DNA mà tiêu biểu thuật toán JDNA so với hai thuật toán thuộc loại khác LempelZiv, thuật toán nén dựa từ điển Huffman, thuật toán nén dựa xác suất thống kê 3.1 Môi trường thực nghiệm Tất thực nghiệm thực máy tính cá nhân Dell Latitude E6420 với cấu sau:  CPU: Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz / L2 cache  Bộ nhớ: 6GB RAM (1x4GB, 1x2GB)/ DIMM  Dung lượng: 250GB/ SCSI/ Disk drives WDC WD2500BEKT75PVMT0 Phần mềm sử dụng: Các chương trình chạy Linux kernel (64bit) JDNA mã nguồn mở viết chỉnh sửa ngôn ngữ Java sử dụng Oracle Java JVM (build 1.7.0 40-b43) Huffman Lempel Ziv (LZW) viết chỉnh sửa ngôn ngữ C++ Các tập liệu thực nghiệm: Người viết thực so sánh ba thuật toán nén ba tập liệu sinh học: tập hợp gen người, tập hợp gen từ Arabidopsis thaliana tập hợp gen khuẩn men Dữ liệu tệp gen nén có dạng chuỗi 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 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 19 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 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) 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ữ 20 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 Hình 3.9 Thống kê kết giải nén thuật toán Huffman, Lempel-Ziv JDNA 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 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 Thực nghiệm thuật toán nén tham chiếu JDNA 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à đạt ưu việt thời gian giải nén đáng mong đợi 21 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 22 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 23 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 [7] Pothuraju Rajarajeswari, Allam Apparao DNABIT Compress – Genome compression agorithm, Journal on Bioinformation, Volume 5, Issue 8, January 2011 [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 [19] S Deorowicz and S Grabowski Robust relative compression of genomes with random access Bioinformatics, 27(21):2979–2986, 2011 24 [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 [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 [30] Shanika Kuruppu, Simon J Puglisi, and Justin Zobel Relative lempelziv compression of genomes for large-scale storage and retrieval In 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 [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 [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 [...]... JDNA JDNA đạt hiệu quả về kích thước tệp nén (trung bình 6.74MB cho 27 tập dữ liệu) và tỉ lệ nén khoảng 9:1 cho các tập dữ liệu thực nghiệm Lempel-Ziv đạt hiệu quả nén tốt thứ hai (trung bình 22.55MB cho 27 tập dữ liệu) và hệ số nén trung bình là 3.06 Huffman đạt được tốc độ nén khá tốt (trung bình 5.44 giây) nhưng lại chưa hiệu quả về kích thước tệp nén, hệ số nén cũng như không gian lưu trữ 20 JDNA... thông tin chuỗi gen Trong luận văn này, người viết đã trình bày các phương thức và thuật toán nén tiêu biểu cho mỗi phương thức nén dữ liệu chuỗi DNA Trong đó, người viết chọn phương thức nén tham chiếu và thuật toán nén tiêu biểu JDNA làm mục tiêu nghiên cứu chính vì những hiệu quả mà thuật toán này mang lại cho nén DNA như tiết kiệm không gian lưu trữ, tỉ lệ nén đạt được cao hơn các thuật toán nén loại... quá 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 một cuộc cách mạng trong nghiên cứu sinh học phân tử [44] Công nghệ cung cấp những phương thức nén hiệu quả cho tập dữ liệu DNA khổng lồ Thêm vào đó là những thách thức trong việc hiểu cấu trúc, chức năng và tiến hóa của hệ gen, những phương pháp sắp xếp chuỗi đa lượng cũng đặt ra câu hỏi và tập trung vào việc biểu diễn, lưu trữ, truyền... toán hiệu quả về tỉ lệ nén và tối ưu dung lượng lưu trữ mà còn rất hiệu quả về thời gian khi thực hiện giải nén Hình 3.9 dưới đây thể hiện so sánh thời gian giải nén của JDNA so với Huffman và LZW Kết quả cho thấy thời gian giải nén của JDNA nhanh hơn hai thuật toán Huffman và LZW một bậc Hình 3.9 Thống kê kết quả giải nén của các thuật toán Huffman, Lempel-Ziv và JDNA Thuật toán nén tham chiếu JDNA... triển nhưng JDNA đã chứng minh được tính hiệu quả trong việc nén chuỗi gen của thuật toán nén tham chiếu Trong tương lai JDNA có thể được tiếp tục cải tiến để đạt được tốc độ nén và hiệu suất lưu trữ đáng mong đợi Cùng với những nghiên cứu và nhận định đã trình bày, người viết cũng đã thực hiện 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 là nén dựa trên... JDNA không chỉ đạt được hiệu quả về 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à còn đạt được sự ưu việt về thời gian giải nén đáng mong đợi 21 KẾT LUẬN Mặc dù những thách thức đối với lưu trữ thông tin chuỗi DNA cho tới nay đã có thể kiểm soát phần nào nhưng việc cải tiến trong sắp xếp chuỗi đa lượng và phương pháp nén tốt hơn cho chuỗi DNA vẫn là một vấn đề quan... giải nén các chuỗi gen đã được nén Ở phần nén thuật toán JDNA đã đạt được hiệu quả tốt hơn các thuật toán thuộc loại khác, kết quả sẽ được phân tích ở phần 3.3 dưới đây nên khi thực hiện so sánh hiệu quả giải nén, người viết sẽ chỉ thống kê kết quả về thời gian thực hiện để chứng minh tính ưu việt về thời gian giải nén của thuật toán JDNA so với hai thuật toán được lựa chọn để so sánh Việc giải nén. .. Đồng thời so sánh hiệu suất của JDNA với Fresco để thấy được những cải tiến của JDNA đã thực sự mang lại hiệu quả về tỉ lệ nén và dung lượng lưu trữ 2.2.1 Cải thiện tỉ lệ nén Chuỗi tham chiếu là nhân tố chính xác định tỉ lệ nén, cho một mã hóa đầu vào khớp tham chiếu cố định Ngay cả khi trong cùng một loài thì chuỗi tham chiếu cũng có ảnh hưởng quan trọng tới tỉ lệ nén Với việc làm tăng sự giống nhau... từ thuật toán nén tham chiếu Fresco, JDNA còn thực sự hiệu quả khi sử dụng phương pháp đánh chỉ số theo yêu cầu để tiết kiệm thời gian nén thực và tăng tỉ lệ nén đáng kể Đóng góp chính của JDNA là sử dụng phương thức đánh chỉ số theo yêu cầu Cơ chế này kết hợp được hai đặc tính tốt nhất đó là: một cấu trúc chỉ số khá đơn giản xử lý những khác biệt chính giữa các tệp gen và nén nhanh các chuỗi khớp trực... việt về tỉ lệ nén, thời gian giải nén và không gian lưu trữ Đồng thời xử lý và nén được nhiều định dạng tệp gen Nhưng JDNA lại gặp bất lợi về thời gian nén do phải xử lý những chuỗi gen có sự tương đồng chưa cao, gồm nhiều những kí tự khác các bazơ đặc trưng (A, T, G, C) và chỉ đạt được tỉ lệ nén cao với các chuỗi DNA đã được sắp xếp JDNA cũng bị hạn chế hiệu suất bởi JVM, trong đó việc quản lý bộ nhớ

Ngày đăng: 14/09/2016, 23:08

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan