Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 68 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
68
Dung lượng
604,39 KB
Nội dung
i ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THƠNG TIN&TRUYỀN THƠNG PHẠM THỊ NGA CÂY QUẢN LÍ ĐOẠN VÀ ỨNG DỤNG LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái Ngun - 2015 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn ii LỜI CAM ĐOAN Tôi xin cam đoan luận văn tự thân tơi tìm hiểu, nghiên cứu Các tài liệu tham khảo trích dẫn thích đầy đủ Nếu khơng tơi xin hồn tồn chịu trách nhiệm Tác giả luận văn Phạm Thị Nga Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn iii LỜI CẢM ƠN Lời tơi xin bày tỏ lịng biết ơn chân thành đến Ban Giám Hiệu, thầy giáo, cô giáo phịng Sau đại học trường Đại học Cơng Nghệ Thông Tin & Truyền Thông, thầy giáo Viện Công Nghệ Thông Tin giảng dạy tạo điều kiện cho tơi học tập, nghiên cứu hồn thành luận văn Đặc biệt, xin bày tỏ kính trọng lịng biết ơn sâu sắc đến PGS TSKH Vũ Đình Hịa, người tận tình hướng dẫn giúp đỡ tơi suốt q trình học tập, nghiên cứu hồn thành luận văn Tơi chân thành cảm ơn thầy cô tổ Tin học, trường Trung học phổ thơng chun Lam Sơn, Thanh Hóa, nơi công tác tạo điều kiện hỗ trợ suốt thời gian qua Tôi xin chân thành cảm ơn người thân, bạn bè giúp đỡ động viên suốt thời gian học tập thời gian thực luận văn Xin chân thành cảm ơn ! Thanh Hóa, ngày 10 tháng 04 năm 2015 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn iv MỤC LỤC Trang Lời cam đoan i Lời cảm ơn .iii Mục lục iv Danh mục bảng v Danh mục hình vii Danh mục kí hiệu, chữ viết tắt .viii MỞ ĐẦU Chƣơng TỔNG QUAN VỀ SINH HỌC PHÂN TỬ, TIN SINH HỌC VÀ BÀI TỐN TÌM GIAO CÁC ĐOẠN GEN 1.1 Một số khái niệm sinh học phân tử 1.1.1 Ở cấp độ tế bào 1.1.2 Ở cấp độ phân tử 1.1.3 Phiên mã dịch mã 11 1.2 Tổng quan tin sinh học 12 1.3 Bài tốn tìm giao đoạn gen 15 Chƣơng ỨNG DỤNG CỦA CÂY QUẢN LÍ ĐOẠN ĐỂ TÌM GIAO CÁC ĐOẠN GEN 17 2.1 Đặc tả tốn tìm giao đoạn gen 17 2.2 Thuật tốn tìm kiếm .18 2.3 Cây quản lí đoạn 19 2.3.1 Cấu trúc quản lí đoạn 22 2.3.2 Các thao tác quản lí đoạn 23 2.4 Thuật tốn tìm giao đoạn gen sử dụng quản lí đoạn .28 2.4.1 Xây dựng rừng quản lí đoạn lưu trữ thơng tin đoạn gen 29 2.4.2 Tìm kiếm đoạn gen giao 34 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn v Chƣơng MÃ HÓA, THỬ NGHIỆM CHƢƠNG TRÌNH TÌM GIAO CÁC ĐOẠN GEN 36 3.1 Chuẩn bị liệu 36 3.2 Mã hóa chương trình tìm giao đoạn gen 37 3.2.1 Ngôn ngữ mơi trường lập trình 37 3.2.2 Chức cửa sổ truy vấn gen 39 3.2.3 Chức tìm giao hai tập đoạn gen 41 3.3 Kiểm thử chương trình .43 3.3.1 Sử dụng cửa sổ truy vấn tìm giao đoạn gen virus Ebola với hệ gen người 43 3.3.2 Tìm giao hệ gen người hệ gen chuột 44 3.3.3 Tìm giao hệ gen chuột nhắt hệ gen chuột cống 46 3.4 Đánh giá độ phức tạp kết thực chương trình 48 3.4 Mở rộng hướng nghiên cứu 49 KẾT LUẬN 51 TÀI LIỆU THAM KHẢO PHỤ LỤC Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn vi DANH MỤC CÁC BẢNG Trang Bảng 3.1 Kết kiểm thử cửa sổ truy vấn 44 Bảng 3.2 Kết kiểm thử tính đắn chương trình tìm giao hai hệ gen 45 Bảng 3.3 Thời gian (s) trung bình chạy chương trình 47 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn vii DANH MỤC CÁC HÌNH Trang Hình 1.1 Xếp nhiễm sắc thể người Hình 1.2 Gen cấu tạo từ ADN, nhiễm sắc thể chứa nhiều gen Hình 1.3 Cấu trúc phân tử ADN ARN .8 Hình 1.4 Học thuyết trung tâm sinh học phân tử 12 Hình 2.1 Hình vẽ thể giao hai tập đoạn gen 18 Hình 2.2 Sơ đồ khối mơ tả thuật tốn tìm kiếm 19 Hình 2.3 Ví dụ quản lí đoạn 21 Hình 2.4 Ví dụ cửa sổ truy vấn 22 Hình 2.5 Các bước tìm giao đoạn gen với đoạn gen hệ gen 28 Hình 2.6 Cấu trúc nút quản lí đoạn lưu thơng tin đoạn gen nhiễm sắc thể 31 Hình 3.1 Giao diện mô cách lấy liệu hệ gen người từ UCSC Table Browser 37 Hình 3.2 Giao diện lựa chọn chức .39 Hình 3.3 Giao diện cửa sổ truy vấn gen .39 Hình 3.4 Giao diện hộp thoại định tệp liệu đoạn gen 40 Hình 3.5 Giao diện chức tìm giao hai tập đoạn gen 42 Hình 3.6 Giao diện hộp thoại lưu kết đoạn gen giao vào tệp 42 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn viii DANH MỤC CÁC KÍ HIỆU, CHỮ VIẾT TẮT A adenine ADN Axit deoxyribonucleic ARN Axit ribonucleic BED Browser Extensible Data C cytosine G guanine mARN messenger ARN NST nhiễm sắc thể PTB Polypyrimidine Tract-Binding protein rARN ribosomal ARN T thymine, thymidine tARN transfer ARN U uracil UCSC University of California Santa Cruz Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn MỞ ĐẦU Lý chọn đề tài Từ năm 2001 trở lại đây, tiến công nghệ phổ cập hệ thống phần mềm tiên tiến đưa đến thay đổi cách đào tạo chuyên gia lĩnh vực tin học Các kiến thức giải thuật coi đỉnh cao trước trở thành “bảng cửu chương” mà phải biết phải thuộc Những giải thuật dùng phức tạp khơng thiết phải biết nhớ lúc tra cứu, tìm kiếm chúng internet cần thiết Thử thách chỗ ta tìm giải pháp hữu hiệu giải cách có hiệu tốn, vấn đề có mơ hình tốn học đơn giản có kích thước lớn hay khơng? Để đạt mục đích đó, người lập trình phải tận dụng tối đa khả mà phần cứng hệ điều hành cung cấp, khai thác tối đa khả cơng cụ lập trình, sử dụng linh hoạt cấu trúc liệu Trong đó, quản lí đoạn (interval tree) cấu trúc liệu quan trọng, có nhiều ứng dụng hình học tính tốn, truy vấn sở liệu xử lí tín hiệu Bên cạnh đó, tin sinh học lĩnh vực mới, giải toán sinh học phương pháp khoa học tính tốn với nguồn liệu khổng lồ Việc so sánh liệu đa dạng di truyền để hiểu hệ gen sinh học Các nhà nghiên cứu phải khám phá nhiều liệu lớn đoạn gen (ví dụ gen, trình tự) để đặt kết thí nghiệm họ bối cảnh rộng thực khám phá Mối quan hệ tập hợp liệu gen thường đo cách xác định đoạn giao nhau, nghĩa là, chúng chồng lên chia sẻ đoạn gen chung Với tiến cơng nghệ trình tự ADN, phương pháp hiệu để đo mối quan hệ có ý nghĩa thống kê nhiều tính di truyền quan trọng phát tương lai Trong khuôn khổ luận văn thạc sĩ, chọn đề tài nghiên cứu: “Cây quản lí đoạn ứng dụng”, nghiên cứu cấu trúc liệu quản lí đoạn thực phương pháp tiếp cận mới, nhanh chóng linh hoạt để tìm giao đoạn gen cách sử dụng cấu trúc liệu Đối tƣợng phạm vi nghiên cứu Cây quản lí đoạn ứng dụng để tìm giao đoạn gen Những nội dung nghiên cứu Chương Tổng quan sinh học phân tử, tin sinh học tốn tìm giao đoạn gen Chương trình bày số khái niệm sinh học phân tử, tổng quan tin sinh học tốn tìm giao đoạn gen sinh học Chương Ứng dụng quản lí đoạn để tìm giao đoạn gen Chương trình bày cấu trúc thao tác cấu trúc liệu quản lí đoạn ứng dụng để giải tốn tìm giao đoạn gen Chương Mã hóa, thử nghiệm chương trình tìm giao đoạn gen Phƣơng pháp nghiên cứu Phương pháp nghiên cứu lí thuyết: Tổng hợp tài liệu, suy diễn, quy nạp, phương pháp hình thức, Phương pháp thực nghiệm: xử lí thống kê, đối sánh, Phương pháp trao đổi khoa học, tổng hợp kết nhà nghiên cứu liên quan đến lĩnh vực nghiên cứu, lấy ý kiến chuyên gia 44 Bảng 3.1 Kết kiểm thử cửa sổ truy vấn Số lượng đoạn gen giao đoạn Đoạn gen g virus Ebola gen g với đoạn gen nhiễm sắc thể số hệ gen người 55 3026 3031 4407 4389 5894 5899 8305 8287 9740 9884 11518 11500 18282 3.3.2 Tìm giao hệ gen ngƣời hệ gen chuột Gen chồng chéo hệ gen động vật có vú tượng bất ngờ hàng trăm cặp protein mã hóa gen chồng chéo báo cáo Gen chồng chéo chia thành loại khác dựa định hướng phiên mã trình tự phân đoạn chia sẻ vùng mã hóa chồng chéo [6] Năm 2005, nhà khoa học Anh cấy thành công nhiễm sắc thể số 21 người vào chuột để gây bệnh Down nhằm phục vụ nghiên cứu phát triển phương pháp điều trị cho người bị rối loạn gen Thông thường, hầu hết người có 23 cặp nhiễm sắc thể Người bị bệnh Down (thiểu trí tuệ) lại có ba nhiễm sắc thể 21 thay cho hai nhiễm sắc thể bình thường Nhóm nghiên cứu tạo giống chuột mang thể giống nhiễm sắc thể số 21, có 200 gen người, cách lấy nhiễm sắc thể từ tế bào người cấy vào tế bào phôi chuột Qua vài hệ, giống chuột có triệu chứng bệnh Down rối loạn 45 trí nhớ, rối loạn chức não rối loạn cấu tạo tim Việc cấy ghép thành cơng giúp nhà khoa học nghiên cứu sâu vấn đề mà bệnh nhân Down gặp phải Hội chứng Down ảnh hưởng tới 1/800 ca sinh nở, gây chậm chễ việc phát triển thể chất thần kinh Những người bị bệnh gặp vấn đề tim, thính giác có nguy cao mắc bệnh máu trắng trí nhớ Nghiên cứu đánh giá tiến kỹ thuật quan trọng nghiên cứu bệnh Down bệnh khác khơng bình thường nhiễm sắc thể Vì thế, tiến hành kiểm thử chương trình hai tập liệu đoạn gen hệ gen người hệ gen chuột, xem xét đoạn giao cặp nhiễm sắc thể, mục đích đánh giá tính đắn chương trình tìm giao hai tập đoạn gen, kết mô tả bảng 3.2 Khoảng 90% gen chuột có gen tương ứng người, mô tả tài liệu [6] Bảng 3.2 Kết kiểm thử tính đắn chương trình tìm giao hai hệ gen Hệ gen người (số đoạn gen) chr1 5677 chr2 3780 chr3 3132 chr4 2122 chr5 2519 chr6 3177 chr7 2925 chr8 1883 chr9 2428 chr10 2325 46 chr11 3323 chr12 2767 chr13 1061 chr14 2126 chr15 2689 chr16 2382 chr17 3241 chr18 884 chr19 3408 chr20 1432 chr21 2170 3.3.3 Tìm giao hệ gen chuột nhắt hệ gen chuột cống Chuột chia thành khoảng 35 họ Mỗi họ có khoảng 350 lồi Trong lồi có chuột nhắt hay chuột nhà chuột cống Xã hội chuột tự nhiên tổ chức theo kiểu phân tán để tồn Nhờ có chuột, hàng loạt loại thuốc đời để trị bệnh cho người Về di truyền học, chuột cống có 22 cặp nhiễm sắc thể với 2,75 triệu cặp bazơ nitơ chuột nhắt có 20 cặp nhiễm sắc thể với 2,6 triệu cặp (người có 2,9 triệu) Cặp nhiễm sắc thể cuối cặp nhiễm sắc thể giới tính Khoảng 90% gen chuột cống có gen tương ứng chuột nhắt [6] Tiến hành chạy thử chương trình với liệu vào hai tập liệu hệ gen chuột nhắt chuột cống, tính số lượng gen giao theo nhiễm sắc thể, quan sát thời gian thực chương trình cho kết bảng 3.3 Mục đích thử nghiệm: đánh giá thời gian, hiệu chạy chương trình 47 Hệ gen chuột nhắt chr1 1697 chr2 2782 chr3 1508 chr4 1950 chr5 1736 chr6 1634 chr7 2808 chr8 1490 chr9 1645 chr10 1506 chr11 2344 chr12 1019 chr13 1160 chr14 1116 chr15 1075 chr16 970 chr17 1501 chr18 745 chr19 908 Tổng cộng 48 3.4 Đánh giá độ phức tạp kết thực chƣơng trình Tuy trường hợp xấu nhất, mà đoạn cần tìm giao bao cây, chương trình có độ phức tạp tương đương với việc duyệt thông thường Nhưng với liệu thực tế, chương trình nhanh chóng loại tập đoạn không phù hợp trả kết thời gian cho phép Việc đọc liệu từ tệp tiêu tốn thời gian tốc độ đọc tệp chậm khả xử lý, độ phức tạp O(n) Việc thêm đoạn vào chương trước đề cập O(lgn), thao tác xây dựng O(nlg(n)), xây dựng rừng quản lí đoạn itContainer O(n.k.lg(n)) với k số nhiễm sắc thể khác tập gen số quản lí đoạn khác dựng từ tệp ban đầu Tốc độ xử lý chương trình: liệu gen có việc tìm giao hai đoạn khơng 3s kết chấp nhận được, điều có ý nghĩa thực tiễn cao việc đưa cơng cụ lượng hóa mối quan hệ có ý nghĩa thống kê đặc tính di truyền, giải mã đầu mối tiến hóa, chẩn đốn cấu trúc chức gen.Việc so sánh liệu đa dạng di truyền để hiểu hệ gen sinh học Các nhà nghiên cứu sử dụng cơng cụ để khám phá nhiều liệu lớn đoạn gen, để đặt kết thí nghiệm họ bối cảnh rộng hơn, tìm lời giải cho giả thuyết khoa học, từ thực khám phá Mối quan hệ tập hợp liệu gen thường đo cách xác định đoạn giao nhau, nghĩa là, chúng chồng lên chia sẻ đoạn gen chung Việc tìm phương pháp hiệu để đo mối quan hệ có ý nghĩa thống kê nhiều tính di truyền quan trọng phát tương lai 49 3.4 Mở rộng hƣớng nghiên cứu Chương trình thử nghiệm áp dụng hai trường hợp tìm giao đoạn gen đưa đoạn gen giao tập Ta sử dụng câu trúc quản lí đoạn cài đặt để thực thêm số cơng việc sau: Tìm đoạn gen tập A khơng giao với đoạn gen tập B Tìm đoạn gen tập B khơng giao với đoạn gen tập A Tìm số cặp ba zơ giao đoạn giao (độ dài đoạn gen giao nhau) Tính xác suất đoạn gen giao tổng số đoạn gen Con số có ý nghĩa tốn thống kê đặc tính di truyền Tìm đoạn gen tập đoạn gen có vị trí gần so với đoạn gen biết trước Bài tốn mở rộng phạm vi trường hợp liệu đoạn gen phức tạp, người dùng có nhu cầu lưu trữ tìm kiếm thuộc tính giải gen Tìm giao nhiều tập đoạn gen cách đồng thời Chẳng hạn, nhu cầu tìm giao tập đoạn gen virus sởi qua mùa bệnh khác (các năm khác nhau, năm có hệ gen khác nhau) Hay tìm giao đoạn gen tập liệu hệ gen chủng virus cúm (có tới hàng trăm loại virus cúm).v.v Ngành sinh tin học ngành hấp dẫn nhiều nhà nghiên cứu nước tham gia Với khám phá cấu trúc gen mở nhiều hướng nghiên cứu y sinh học, điều trị bệnh, phát 50 tài năng, trì bảo tồn, cải tạo nịi giống; giải mã lịch sử tiến hóa, v.v Với nguồn liệu tin sinh học tăng theo Việc tìm kiếm thơng tin khai thác thơng tin chứa nguồn liệu lúc cần thiết Vì thế, việc tìm kiếm với thời gian có hiệu ln nhà nghiên cứu tìm tịi phát triển Luận văn thực với mục tiêu nghiên cứu, áp dụng cấu trúc liệu quản lí đoạn thao tác cấu trúc để giải tốn tìm giao đoạn gen để tối ưu thời gian xử lý, giới hạn phạm vi nguồn liệu tìm kiếm nguồn liệu lớn Việc kiểm thử ứng dụng tìm giao tập đoạn gen nguồn liệu hệ gen người, hệ gen chuột, hệ gen virus Ebola cho kết đắn, xác nhanh chóng 51 KẾT LUẬN Luận văn thu số kết sau: Luận văn hệ thống hóa vấn đề xung quanh cấu trúc liệu quản lí đoạn Luận văn đưa số kỹ thuật dùng để thực thao tác quản lí đoạn Luận văn đề cập đến lĩnh vực nghiên cứu mới, hấp dẫn tin sinh học Luận văn thực với mục tiêu nghiên cứu, áp dụng cấu trúc liệu quản lí đoạn thao tác cấu trúc để giải toán tìm giao đoạn gen, tối ưu thời gian xử lý, giới hạn phạm vi nguồn liệu tìm kiếm nguồn liệu lớn Luận văn đưa trường hợp ví dụ mẫu điển hình, trường hợp kiểm thử tiêu biểu áp dụng chương trình cài đặt cấu trúc liệu quản lí đoạn thực thao tác Như vấn đề mà luận văn nêu phù hợp với yêu cầu thực tiễn, nghiên cứu giai đoạn nay, nhiệm vụ đặt hoàn thành Luận văn đạt mục đích đề TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt [1] Nguyễn Cường (2013), Các sở liệu sinh học, http://www.tinsinhhoc.org/index.php/genomics/3-bio-database.html, truy cập ngày 13/01/2015 [2] Hồ Sĩ Đàm (chủ biên), Đỗ Đức Đơng, Lê Minh Hồng, Nguyễn Thanh Hùng (2009), Tài liệu chuyên tin học, NXB Giáo dục Việt Nam, Quyển [3] Hồ Sĩ Đàm (chủ biên), Nguyễn Thanh Tùng, Lê Minh Hoàng, Nguyễn Thanh Hùng, Đỗ Đức Đông (2011), Tài liệu tập huấn phát triển chuyên môn giáo viên Trường THPT Chuyên (tài liệu lưu hành nội bộ), Bộ giáo dục đào tạo [4] Vũ Đình Hồ, Giáo trình Tốn rời rạc 5, NXB Giáo dục [5] Trần Văn Lăng, Ứng dụng Tin học việc giải số toán Sinh học phân tử, NXB Giáo dục, 2008 Tài liệu tiếng Anh [6] Chaitanya R Sanna1, Wen-Hsiung Li, Liqing Zhang (2008), Overlapping gens in the human and mouse genomes, http://www.biomedcentral.com/1471-2164/9/169, 01/02/2015 [7] F P Preparata and M I Shamos (1985), Computational Geometry: An Introduction, Springer-Verlag [8] Izabela Makalowska , Chiao-Feng Linb, Wojciech Makalowski (2005), Overlapping gens in vertebrate genomes [9] M de Berg, O Cheong, M van Kreveld, M Overmars (2000), Computational Geometry: algorithms and applications, third edition, Springer [10] Paux E, Sourdille P, Salse J (2008), A Physical Map of the 1-Gigabase Bread Wheat Chromosome 3B, Science 322 (5898), p101–104 [11] Ucsc genome browser website, bed format, http://genome.ucsc.edu/FAQ/FAQformat.html#format1, 01/02/2015 [12] Ucsc genome browser website, table browser, http://genome.ucsc.edu/cgi-bin/hgTables?command=start, 01/02/2015 PHỤ LỤC A Xây dựng lớp itContainer package intervaltreeinbios; import java.awt.Color; import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; class itContainer { List listIT = new ArrayList(); List chromeName = new ArrayList(); public itContainer() {} void clear() { listIT = new ArrayList(); chromeName = new ArrayList(); } int findChromeName(String chName) { for (int i = 0; i < chromeName.size(); i++) { if (chromeName.get(i).equals(chName)) { return i; } } return -1; } void loadFromFile(String pathFile) throws IOException, NumberFormatException { BufferedReader br = null; try { br= new BufferedReader(new FileReader(pathFile)); } catch (FileNotFoundException ex) { Logger.getLogger(itContainer.class.getName()).log(Level.SEVER E, null, ex); } String sCurrentLine; while ((sCurrentLine = br.readLine()) != null) { String sTokens[] = sCurrentLine.split("\\s+"); if ("1".equals(sTokens[0])) { break; } int t = findChromeName(sTokens[0]); if (t == -1) { chromeName.add(sTokens[0]); listIT.add(new ITtree()); t = chromeName.size() - 1; } int u = Integer.parseInt(sTokens[1]); int v = Integer.parseInt(sTokens[2]); listIT.get(t).addSegment(new Interval(u, v)); } } } B Lớp ITTree package intervaltreeinbios; import java.util.ArrayList; import java.util.List; class ITtree { ITnode root; public ITtree() {root = null;} void addSegment(Interval i) { if (root == null) { root = new ITnode(i); return; } int l = root.i.low; if (i.low < l) { root.left.addSegment(i); } else { root.right.addSegment(i ); } if (root.max < i.high) { root.max = i.high; } } List overlapSearch(Interval i) { if (root == null) { return new ArrayList(); } List tmp = new ArrayList(); if (doOverlap(root.i, i)) {tmp.add(root.i);} if (root.left.root != null) { if (root.left.root.max >= i.low) { tmp.addAll(root.left.overlapSearch(i) ); } } return tmp; } private boolean doOverlap(Interval i1, Interval i2) { return i1.low