Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 74 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
74
Dung lượng
1,71 MB
Nội dung
i LỜI CẢM ƠN Ln PGS. TS. Trn tôi trong sut thi gian hc tp v ng dn tôi hoàn thành lu y cô Khoa Công ngh hc tp và nghiên cu kin và h tr tôi trong sut thi gian qua. i thân, b ng viên tôi trong sut thi gian hc ti gian thc hin lu Biên Hòa, ngày 25 tháng 05 Phạm Đông Phong ii LỜI CAM ĐOAN u ca bn thân. Các s liu, kt qu trình bày trong luc. Nhc s dng trong lun gc và trích d. Biên Hòa, ngày 25 tháng 05 Hc viên Ph iii TÓM TẮT Bắt cặp các trình tự (Sequence Alignment) sinh học DNA, Protein là một bài toán cơ bản và đòi hỏi nhiều thời gian xử lý trong lĩnh vữc sinh tin học (Bioinfomatics). Trong đó, Smith-Waterman là một thuật toán bắt cặp cục bộ nhằm giải quyết bài toán này. Trên cơ sở bài toán bắt cặp này, có thể ứng dụng cho nhiều bài toán khác. Đặc biệt đó là bài toán tìm sự tƣơng đồng của các trình tự.(Sequence Similarity Searching) Tuy nhiên, hiện nay số lƣợng các trình tự trong các cơ sở dữ liệu sinh học lớn trên thế giới nhƣ NCBI, EMBL, DDBJ đang gia tăng nhanh chóng dẫn đến việc các thuật toán xử lý trên khối lƣợng lớn dữ liệu trở nên kém hiệu quả. Luận văn này trình bày một phƣơng pháp triển khai thuật toán Smith-Waterman trên môi trƣờng phân tán MPI kết hợp với kiến trúc chia sẻ GPU-CPU nhằm tăng tốc thuật toán. Môi trƣờng phân tán MPI với các thuật toán xử lý song song phù hợp cho phân hoạch dữ liệu giúp cải thiện hiệu suất tìm kiếm và kiến trúc chia sẻ sử dụng CUDA cho phép song song hóa bài toán bắt cặp trình tự. Từ khoá: Sinh tin hc, bt cp trình t, CUDA, GPU, MPI. iv MỤC LỤC LỜI CẢM ƠN i LỜI CAM ĐOAN ii TÓM TẮT iii DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT vi DANH MỤC HÌNH vii DANH MỤC BẢNG ix DANH MỤC BIỂU ĐỒ x MỞ ĐẦU 1 CHƢƠNG 1. TỔNG QUAN 5 1.1. Giới thiệu vấn đề 5 1.2. Tổng quan về sinh tin học 7 1.2.1. Amino acid và tính chất 7 1.2.2. DNA và RNA 8 1.2.3. Protein 10 1.2.4. Ngân hàng dữ liệu và phần mềm trong sinh tin học 11 1.3. Bắt cặp trình tự 13 1.4. Song song hoá dữ liệu trên môi trƣờng phân tán dùng MPI 14 1.5. Công nghệ CUDA giải quyết bài toán sắp hàng trình tự. 15 CHƢƠNG 2. CÁC PHƢƠNG PHÁP SẮP HÀNG TRÌNH TỰ 19 2.1. Khái niệm alignment 19 2.1.1. Ký tự ―gap‖ 19 2.1.2. Hàm đánh giá 20 2.1.3. Phân loại bắt cặp trình tự 22 2.2. Bắt cặp hai trình tự (Pairwise Sequence Alignment-PSA) 22 2.3. Bắt cặp đa trình tự (Multiple Sequence Alignment-MSA) 23 2.4. Các thuật toán so sánh các trình tự sinh học 24 2.4.1. Thuât toán Needleman – Wunsch 24 2.4.2. Thuật toán Smith-Waterman 27 CHƢƠNG 3. MÔI TRƢỜNG LẬP TRÌNH CUDA VÀ MPI 30 3.1. Khái niệm và thuật ngữ 30 3.1.1. Kiến trúc máy tính Von Neumann 30 3.1.2. Phân loại theo Flynn 31 3.2. Môi trƣờng lập trình CUDA 34 3.2.1. Giới thiệu bộ xử lý đồ hoạ - GPU. 34 3.2.2. Môi trƣờng lập trình CUDA 38 3.3. Môi trƣờng lập trình truyền thông điệp với MPI 44 3.3.1. Lịch sử MPI 44 3.3.2. Đặc điểm của MPI 45 v 3.3.3. Cấu trúc chƣơng trình MPI 45 3.3.4. Cách lập trình MPI 45 CHƢƠNG 4. GIẢI THUẬT VÀ PHƢƠNG PHÁP HIỆN THỰC HÓA GIẢI THUẬT TRÊN MÔI TRƢỜNG MPI KẾT HỢP CÔNG NGHỆ CUDA. 47 4.1. Thuật toán Smith-Waterman 47 4.2. Xây dựng giải thuật song song và cài đặt trên môi trƣờng CUDA. 51 Xây dựng giải thuật 51 4.3. Song song hoá xử lý dữ liệu dựa trên mô hình truyền thông điệp MPI 54 4.3.1. Lý do chọn mô hình truyền thông điệp MPI 54 4.3.2. Mô tả bài toán 54 4.3.3. Mô tả thuật toán 54 CHƢƠNG 5. KẾT QUẢ THỰC NGHIỆM 58 5.1. So sánh thời gian chạy chƣơng trình. 59 5.2. So sánh độ chính xác. 62 KẾT LUẬN 64 TÀI LIỆU THAM KHẢO vi DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT BLOSUM Block Subtitutation Matrix CPU Central Processing Unit CUDA Compute Unified Device Architecture DDBJ DNA Data Bank of Japan. DMA Direct Memory Access DNA Deoxyribonucleic Acid DRAM Dynamic Random Access Memory EMBL European Molecular Biology Laboratory GPC Graphics Processing Cluster GPU Graphics Processing Unit mRNA messenger RNA MSA Multiple Sequence Alignment NCBI National Center for Biotechnology Information PC Personal Computer PSA Pairwise Sequence Alignment RNA Ribonucleic Acid SISD Single Instruction, Single Data SIMD Single Instruction, Multiple Data MISD Multiple Instruction, Single Data MIMD Multiple Instruction, Multiple Data SM Streaming Multiprocessor vii DANH MỤC HÌNH Hình 1.1. Cơ bản cấu trúc của một acid α-amino 8 Hình 1.2. Cấu tạo một nucleotide 9 Hình 1.3. Chuỗi xoắn kép DNA 9 Hình 1.4. Hình thức của protein 11 Hình 1.5. Biểu đồ năng lực tính toán CPU-GPU 17 Hình 2.1. Các loại GAP 20 Hình 2.2. Bắt cặp hai trình tự 22 Hình 3.1. Kiến trúc máy tính Von Neumann 30 Hình 3.2. Kiến trúc máy SISD 32 Hình 3.3. kiến trúc máy SIMD 32 Hình 3.4. Kiến trúc máy MISD 33 Hình 3.5. Kiến trúc máy MIMD 34 Hình 3.6. Kiến trúc GPU GF100 35 Hình 3.7. Cấu trúc của một SM 36 Hình 3.8. Kiến trúc bộ phần mềm CUDA 39 Hình 3.9. Các thao tác thu hồi và cấp phát bộ nhớ 40 Hình 3.10. Vùng nhớ dùng chung mang dữ liệu gần ALU hơn 40 Hình 3.11. Khối luồng 42 Hình 3.12. Mô hình bộ nhớ 43 Hình 4.1. Bƣớc khởi tạo 49 Hình 4.2. Điền giá trị vào ma trận 50 Hình 4.3. Tìm ô ( i max, j max) có điểm cao nhất trong ma trận 50 Hình 4.4. Quay lui tìm kết quả 50 Hình 4.5. Phƣơng pháp song song tính giá trị các phần tử ma trận đánh giá 53 viii Hình 4.6. Sơ đồ biểu diễn Server gửi chuỗi DNA về Client 55 Hình 4.7. Sơ đồ biểu diễn Server gửi vị trí các trình tự DNA trong ngân hàng về Client 56 Hình 4.8. Sơ đồ biểu diễn Client bắt cặp từng trình tự DNA trong ngân hàng với chuỗi truy vấn DNA muốn tìm 57 Hình 5.1. Kết quả chạy chƣơng trình với file cơ sở dữ liệu db1b 59 Hình 5.2. File lƣu trữ kết quả sắp hàng đa trình tự 59 ix DANH MỤC BẢNG Bảng 1.1. Bảng các amino acid 8 Bảng 2.1. Ma trận M và σ 24 Bảng 2.2. Tạo vết từ ma trận Mnm và σij 26 Bảng 2.3. Các phần tử của ma trận Hij 27 Bảng 2.4. Viết lại ma trận Hij 28 Bảng 2.5. Tạo vết xuất phát từ H nmax,mmax 29 Bảng 3.1. Ma trận phân loại theo Flynn 31 Bảng 5.1. Kết quả sắp hàng đa trình tự với nhóm 1. Mỗi nhóm tiến hành chạy thử nghiệm 10 lần và lấy thời gian trung bình. 59 Bảng 5.2. Kết quả sắp hàng đa trình tự với nhóm 2. Mỗi nhóm tiến hành chạy thử nghiệm 10 lần và lấy thời gian trung bình. 60 Bảng 5.3. Kết quả sắp hàng đa trình tự với nhóm 3. Mỗi nhóm tiến hành chạy thử nghiệm 10 lần và lấy thời gian trung bình 60 Bảng 5.4. Kết quả sắp hàng đa trình tự của chƣơng trình CUDA và chƣơng trình CPU với lần lƣợt 9 nhóm dữ liệu. Thời gian chạy tính bằng giây 61 x DANH MỤC BIỂU ĐỒ Biểu đồ 5.1. Biểu đồ tƣơng quan về thời gian chạy của 3 nhóm 60 Biểu đồ 5.2. Biểu đồ tƣơng quan về thời gian chạy của 2 chƣơng trình với 9 nhóm dữ liệu 61 Biểu đồ 5.3. Biểu đồ tƣơng quan về độ chính xác của 2 chƣơng trình với 2 nhóm dữ liệu 63 [...]... đạt đƣợc − Về lý thuyết: Tài liệu về vấn đề khai thác kiến trúc phân tán và chia sẻ tìm sự tƣơng đồng của các trình tự sinh học − Về sản phẩm: Module chƣơng trình về sự tƣơng đồng của các trình tự sinh học Dự kiến tên công trình công bố trên tạp chí hoặc hội thảo khoa học: Khai thác kiến trúc phân tán và chia sẻ để tìm sự tƣơng đồng của các trình tự sinh học Bố cục luận văn Luận văn bao gồm 5 chƣơng Chƣơng... 2 CÁC PHƢƠNG PHÁP SẮP HÀNG TRÌNH TỰ 2.1 Khái niệm alignment Sắp hàng hay bắt cặp trình tự là quá trình nghiên cứu sự giống nhau giữa các chuỗi trình tự, đo lƣờng sự giống nhau giữa các chuỗi trình tự Nó là sự so sánh giữa hai hay nhiều trình tự dựa trên việc so sánh một chuỗi các thành phần của trình tự để tìm ra điểm tƣơng đồng, giống nhau giữa các trình tự Các trình tự là các chuỗi DNA, RNA hoặc các. .. dựng các module chƣơng trình giải quyết vấn đề xếp hàng trình tự trên hệ thống phân tán và tìm sự tƣơng đồng giữa các trình tự sinh học Mục tiêu luận văn Khảo sát thuật toán Smith - Waterman để sắp hàng trình tự trên hệ thống phân tán dùng MPI và kiến trúc chia sẻ với CUDA – Luận văn tập trung nghiên cứu khả năng giải quyết bài toán sắp hàng trình tự cục bộ bằng cách xử lý song song hóa dữ liệu trình tự. .. x (-1) = 37 22 2.1.3 Phân loại bắt cặp trình tự Việc phân loại bắt cặp trình tự đƣợc chia thành hai loại nhằm tìm sự tƣơng đồng giữa các trình tự tùy thuộc vào phạm vi áp dụng là trên toàn bộ trình tự hoặc trên một số phần tử của các trình tự cần so sánh – Bắt cặp toàn cục (Global Alignment) là phép sắp hàng đƣợc áp dụng trên toàn bộ trình tự để tìm sự tƣơng đồng giữa các trình tự Thuật toán đƣợc sử... dự đoán cấu trúc RNA, cấu trúc và chức năng của các protein mới đƣợc phát hiện Tập hợp các trình tự có sự tƣơng đồng cao để đƣa ra mô hình protein So sánh các trình tự DNA tƣơng đồng và thành lập cây phả hệ mô tả mối quan hệ tiến hóa Bắt cặp các trình tự hay sắp hàng các trình tự sinh học nhằm xác định sự tƣơng đồng giữa chúng là một bài toán lớn đòi hỏi nhiều tài nguyên tính toán và mất nhiều... khi mà các ngân hàng dữ liệu sinh học đã thu thập và lƣu trữ đƣợc một số lƣợng trình tự rất lớn của nhiều chủng loài sinh vật Có hai loại bắt cặp trình tự: bắt cặp toàn cục và bắt cặp cục bộ Bắt 6 cặp toàn cục đòi hỏi sắp xếp và so sánh về trình tự một cách toàn bộ Trong loại này, trình tự đầu vào thƣờng tƣơng tự và có độ dài xấp xỉ bằng nhau Bắt cặp cục bộ tập trung vào tính tƣơng đồng của các bộ... các thủ tục khác Vấn đề đặt ra là tạo ra những sự sắp hàng giữa các nucleotide thông qua việc chèn các ký tự gap, làm cho khoảng cách giữa hai trình tự tức chi phí sửa chữa (là tổng chi phí cho các sự kiện chèn – xóa, thay thế các nucleotide) giữa hai trình tự là nhỏ nhất (hoặc lớn nhất) 14 Đầu vào là 2 trình tự X = (x1, x2, …xp) và Y = (y1, y2, …yq), sắp hàng trình tự X và Y là cách chèn các kí tự. .. toán sắp hàng trình tự cục bộ bằng thuật toán Smith-Waterman trên khối lƣợng dữ liệu trình tự lớn 1.2 Tổng quan về sinh tin học Sinh tin học là một ngành khoa học mà trong đó có sự kết hợp giữa sinh học, khoa học máy tính và công nghệ thông tin Sinh tin học sử dụng các thuật toán phân tích tối ƣu xử lý dữ liệu sinh học thông qua các thiết bị phần cứng và hệ thống mạng 1.2.1 Amino acid và tính chất Amino... hoặc các trình tự amino acid Sắp hàng trình tự giúp cho quá trình dự báo sự giống nhau về chức năng của các trình tự, dự báo cấu trúc bậc 3 của DNA, protein Trong việc tìm hiểu một gene mới cho phép xác định những đặc điểm để phân biệt gene đồng thời đƣa ra những giả thuyết về chức năng của gene Chức năng của gene thƣờng dựa vào những giải thuật đánh giá sự giống nhau, tƣơng đồng giữa các trình tự Mục... đích của vấn đề bắt cặp trình tự, hay là sắp xếp thẳng hàng trình tự (Sequence Alignment) nhằm đạt đến sự giống nhau đến mức tối đa của các trình tự Việc bắt cặp đƣợc thực hiện bằng cách thêm các ―gap‖ vào các vị trí có thể sao cho các cột giống nhau hoặc tƣơng tự nhau Ví dụ cho 2 trình tự GAATTCAGTTA | || | | | GGAT-C-G—-A AC GCTG | | | -CATG-T- 2.1.1 Ký tự “gap” Trong quá trình tiến hóa, các trình tự . đề khai thác kiến trúc phân tán và chia sẻ tìm sự tƣơng đồng của các trình tự sinh học. − Về sản phẩm: Module chƣơng trình về sự tƣơng đồng của các trình tự sinh học. Dự kiến tên công trình. công trình công bố trên tạp chí hoặc hội thảo khoa học: Khai thác kiến trúc phân tán và chia sẻ để tìm sự tƣơng đồng của các trình tự sinh học. Bố cục luận văn Luận văn bao gồm 5 chƣơng. Chƣơng. thiệu về sự cần thiết việc ứng dụng công nghệ thông tin vào sinh học. Tổng quan về sinh tin học và vấn đề bắt cặp trình tự nhằm giải quyết bài toán tìm sự tƣơng đồng giữa các trình tự sinh học.