Dữ liệu sinh tin học luôn được cập nhật và bổ sung thêm thông tin ngày càng nhiều. Việc tìm kiếm sự tương đồng, so sánh một trình tự với tất cả các trình tự trong nguồn cơ sở dữ liệu trên sẽ tốn nhiều thời gian. Luận văn đề xuất kết hợp sử dụng thuật toán DBSCAN nhằm thực hiện việc gom cụm các trình tự có sự tương đồng. Sau khi gom cụm các trình tự, bước tiếp theo là dùng thuật toán BLAST tiến hành so sánh và tìm kiếm sự tương đồng giữa trình tự được cung cấp với các trình tự hạt giống trong từng cụm, nếu có sự tương đồng, khi đó tiến hành so sánh các trình tự khác trong cụm này. Ngược lại, nếu không tìm thấy sự tương đồng thì bỏ qua cụm đó. Điều này làm giảm thời gian tìm kiếm đáng kể.
6.2. Phươ pháp
6.2.1. Khoảng cách giữa hai trình tự
Cho một tập X = {x1, x2, … , xn} đặt tên là taxa. Input của một phép đo khoảng cách là một ma trận không đồng dạng D: X × X R ≥0 kết hợp với một khoảng cách d(xi, xj) với mọi cặp taxa xi, xj X. Viết tắt dij = d(xi, xj) hay Dij := d(xi, xj) 0.
Thường thì:
Ma trận có tính đối xứng, có nghĩa là d(x, y) = d(y, x) với mọi x, y ∈
X
D(x, x) = 0 với mọi x ∈ X
Giả sử, gọi D là một giả metric (pseudo metric) nếu bất đẳng thức tam giác thỏa:
Và nó là một metric nếu thêm vào đó ta có d(x, y) > 0 đối với mọi x ≠ y
6.2.2. Đơ vị đo khô đồng dạng giữa hai trình tự x và y
Trình tự y là một ε láng giền đến chuỗi x nếu
Với 0 < ε <1.
Nếu trình tự x và trình tự y không tương đồng thì δBLAST (x, y)=1
6.2.3. Thuật toán gom nhóm dựa theo mật độ
Gom nhóm là một thuật toán mạnh được dùng trong việc khai phá tập dữ liệu lớn. Trong việc gom nhóm các trình tự nhằm mục tiêu tìm ra các trình tự có quan hệ họ hàng, các nhóm có thể tương ứng với các mức độ tương đồng khác nhau.
Hiện nay, có nhiều thuật toán thực hiện việc gom nhóm. Hầu hết chúng đều có điểm chung là sử dụng tiêu chuẩn đánh giá tương đồng giữa các mẫu. Trong luận văn này, thuật toán DBSCAN được áp dụng để gom nhóm các trình tự theo tiêu chuẩn đánh giá tương đồng để tiến hành gom nhóm.
Có hai tham số được sử dụng trong thuật toán DBSCAN. Một là bán kính ε
vùng lân cận giữa các trình tự quan tâm, hai là ngưỡng số phần tử tối thiểu MinPts xung quanh một trình tự đang xét. Một trình tự được gọi là trình tự lõi (core se- quence) nếu có số phần tử trong bán kính lân cận nhiều hơn MinPts. Các trình tự trong bán kính lận cận ε thì đạt được một cách trực tiếp (directly reachable) từ trình tự lõi. Một trình tự đến được từ một trình tự lõi khi và chỉ khi có một dây chuyền các trình tự lõi ở giữa hai trình tự đó. Hai trình tự được gọi là density-connected khi và chỉ khi có một trình tự lõi mà nó đến được cả hai trình tự đó. Một nhóm trình tư là tập hợp các trình tự density-connected. ) , ( ) , ( 1 ) , ( y y S y x S y x BLAST BLAST BLAST BLAST(x,y)
DBSCAN sẽ khảo sát lần lượt các trình tự. Đầu tiên chọn một trình tự bất kỳ làm trình tự lõi. Tiếp theo, tìm các trình tự trong vùng lân cận có thể đạt đến một cách trực tiếp từ trình tự lõi đó, xác lập các nhóm khi cần thiết. Quá trình kết thúc khi tất các trình tự được kiểm tra. Kết quả thu được là các nhóm và loại bỏ các trình tự không thuộc bất kỳ nhóm nào.
6.2.4. Thuật toán kết hợp
Với tập dữ liệu được lưu trữ hiện tại rất lớn, làm cho việc tìm kiếm thông tin tốn khá nhiều thời gian.
Đầu tiên, thuật toán DBSCAN [9] được thiết lập nhằm phân loại nguồn dữ liệu ban đầu (tổng hợp dữ liệu được lưu trữ) thành các cụm riêng biệt dựa theo sự tương đồng của các loại virus. Việc phân cụm giúp gia tăng khả năng tìm kiếm và có sự chính xác cao hơn. Thuật toán kết hợp được thể hiện qua lưu đồ sau:
Hình 6.1:Lưu đồ kết hợp thuật toán BDSCAN và thuật toán BLAST Bắt đầu Kết quả 1 Các Sequence Sequence lõi ε, Minpts Xác định nhóm Hết se- quence Đúng Sai Các nhóm Sequence lõi Tính độ tương đồng Xác định nhóm
BLAST tìm kiếm trong nhóm
In kết quả Kết quả 1
CHƯƠNG 7. KẾT QUẢ
7.1. Bài toán cần giải quyết
Với nguồn dữ liệu trong sinh tin học tăng theo từng giờ. Việc tìm kiếm thông tin cũng như khai thác các thông tin chứa trong nguồn dữ liệu đó lúc nào cũng cần thiết. Vì thế, việc có thể tìm kiếm với ít thời gian nhất và có hiệu quả luôn được các nhà nghiên cứu tìm tòi và phát triển. Luận văn được thực hiện với mục tiêu nghiên cứu, áp dụng và kết hợp thuật toán BLAST [10] và DBSCAN [9] để giải quyết bài toán tìm mối quan hệ giữa hai trình tự và để tối ưu thời gian xử lý, giới hạn phạm vi nguồn dữ liệu tìm kiếm do nguồn dữ liệu lớn
Nghiên cứu thuật toán khai thác dữ liệu, từ đó phát triển thuật toán phân cụm kết quả tìm kiếm các trình tự sinh học sao cho tối ưu về mức độ tương đồng. Kết quả thử nghiệm được ứng dụng trên nguồn dữ liệu về virus cúm
7.2. Cấu trúc mẫu trình tự
Dữ liệu trình tự sinh tin học về virus cúm trên ngân hàng NCBI được sử dụng trong luận văn có định dạng FASTA hoặc định dạng GENBANK
7.2.1. FASTA
Trình tự lưu trữ định dạng FASTA có thể chứa nhiều chuỗi khác nhau trong cùng một file cấu trúc.
Cấu trúc file FASTA như sau:
o Mỗi chuỗi bắt đầu bằng dòng tiêu đề, theo sau là các dòng dữ liệu của chuỗi (các ký tự đại diện cho các phân tử). Dòng tiêu đề bắt đầu bằng một dấu lớn hơn (“>”), sau đó đến tên của chuỗi và các thông tin về chuỗi
o Các dòng trống và các khoảng trống hay các ký tự gap trong file định dang theo chuẩn FASTA được bỏ qua
Ví dụ:
>alpha-D
ATGCTGACCGACTCTGACAAGAAGCTGGTCCTGCAGGTGTGGGAGAAGGTGATCCGCCAC CCAGACTGTGGAGCCGAGGCCCTGGAGAGGTGCGGGCTGAGCTTGGGGAAACCATGGGCA AGGGGGGCGACTGGGTGGGAGCCCTACAGGGCTGCTGGGGGTTGTTCGGCTGGGGGTCAG
CACTGACCATCCCGCTCCCGCAGCTGTTCACCACCTACCCCCAGACCAAGACCTACTTCC CCCACTTCGACTTGCACCATGGCTCCGACCAGGTCCGCAACCACGGCAAGAAGGTGTTGG CCGCCTTGGGCAACGCTGTCAAGAGCCTGGGCAACCTCAGCCAAGCCCTGTCTGACCTCA GCGACCTGCATGCCTACAACCTGCGTGTCGACCCTGTCAACTTCAAGGCAGGCGGGGGAC GGGGGTCAGGGGCCGGGGAGTTGGGGGCCAGGGACCTGGTTGGGGATCCGGGGCCATGCC GGCGGTACTGAGCCCTGTTTTGCCTTGCAGCTGCTGGCGCAGTGCTTCCACGTGGTGCTG GCCACACACCTGGGCAACGACTACACCCCGGAGGCACATGCTGCCTTCGACAAGTTCCTG TCGGCTGTGTGCACCGTGCTGGCCGAGAAGTACAGATAA
Trong đó, alpha-D là tên của trình tự
ATGCTGACC…………..là các ký tự đại diện cho các phân tử
7.2.2. Dạng Genbank
Một file dữ liệu chuỗi Genbank có thể chứa một hay nhiều chuỗi.
Mỗi chuỗi trong file dữ liệu dạng này gồm có nhiều dòng có kiểu khác nhau. Chuỗi trình tự nằm giữa dòng chứa từ “ORIGIN” và dòng chứa hai dấu gạch chéo (//).
Ví dụ mẫu về trình tự lưu trữ theo cấu trúc GenBank
LOCUS SCU49845 5028 bp DNA PLN 21-JUN-1999 DEFINITION Saccharomyces cerevisiae TCP1-beta gene, partial cds, and Axl2p
(AXL2) and Rev7p (REV7) genes, complete cds. ACCESSION U49845
VERSION U49845.1 GI:1293613 KEYWORDS .
SOURCE Saccharomyces cerevisiae (baker's yeast) ORGANISM Saccharomyces cerevisiae
Eukaryota; Fungi; Ascomycota; Saccharomycotina; Saccharomy- cetes;
Saccharomycetales; Saccharomycetaceae; Saccharomyces. REFERENCE 1 (bases 1 to 5028)
AUTHORS Torpey,L.E., Gibbs,P.E., Nelson,J. and Lawrence,C.W.
TITLE Cloning and sequence of REV7, a gene whose function is re- quired for
DNA damage-induced mutagenesis in Saccharomyces cerevisiae JOURNAL Yeast 10 (11), 1503-1509 (1994)
PUBMED 7871890
REFERENCE 2 (bases 1 to 5028)
AUTHORS Roemer,T., Madden,K., Chang,J. and Snyder,M.
TITLE Selection of axial growth sites in yeast requires Axl2p, a novel
plasma membrane glycoprotein JOURNAL Genes Dev. 10 (7), 777-793 (1996) PUBMED 8846915
REFERENCE 3 (bases 1 to 5028) AUTHORS Roemer,T.
JOURNAL Submitted (22-FEB-1996) Terry Roemer, Biology, Yale Universi- ty, New Haven, CT, USA FEATURES Location/Qualifiers source 1..5028 /organism="Saccharomyces cerevisiae" /db_xref="taxon:4932" /chromosome="IX" /map="9" CDS <1..206 /codon_start=3 /product="TCP1-beta" /protein_id="AAA98665.1" /db_xref="GI:1293614" /translation="SSIYNGISTSGLDLNNGTIADMRQLGIVESYKLKRAVVSSASEA AEVLLRVDNIIRARPRTANRQHM" gene 687..3158 /gene="AXL2" CDS 687..3158 /gene="AXL2"
/note="plasma membrane glycoprotein" /codon_start=1
/function="required for axial budding pattern of S. cerevisiae" /product="Axl2p" /protein_id="AAA98666.1" /db_xref="GI:1293615" /translation="MTQLQISLLLTATISLLHLVVATPYEAYPIGKQYPPVARVNESF TFQISNDTYKSSVDKTAQITYNCFDLPSWLSFDSSSRT- FSGEPSSDLLSDANTTLYFN VILEGTDSADSTSLNNTYQFVVTNRPSISLSSDFNLLALLKNY- GYTNGKNALKLDPNE VFNVTFDRSMFTNEESIVSYYGRSQLYNAPLPNWLFFDSGELKFT- GTAPVINSAIA" gene complement(3300..4037) /gene="REV7" CDS complement(3300..4037) /gene="REV7" /codon_start=1 /product="Rev7p" /protein_id="AAA98667.1" /db_xref="GI:1293616" /translation="MNRWVEKWLRVYLKCYINLILFYRNVYPPQSFDYTTYQSFNLPQ FVPINRHPALIDYIEELILDVLSKLTHVYRFSICIINKKNDLCIEKYVLD- FSELQHVD KDDQIITETEVFDEFRSSLNSLIMHLEKLPKVNDDTITFEAVINAIE- LELGHKLDRNR RVDSLEEKAEIERDSNWVKCQEDENLPDNNGFQPPKIKLTSLVGSDVG- PLIIHQFSEK LISGDDKILNGVYSQYEEGESIFGSLF" ORIGIN
1 gatcctccat atacaacggt atctccacct caggtttaga tctcaacaac ggaac- cattg
61 ccgacatgag acagttaggt atcgtcgaga gttacaagct aaaacgagca gtag- tcagct
121 ctgcatctga agccgctgaa gttctactaa gggtggataa catcatccgt gcaagac- caa
181 gaaccgccaa tagacaacat atgtaacata tttaggatat acctcgaaaa //
7.3. Kết quả chươ trì h
Hình 7.2:Giao diện chức năng tìm kiếm BLASTN
Hình 7.4:Kết quả tìm kiếm trình tự có độ tương đồng.
7.4. Kết luận
Ngành sinh tin học là một ngành mới và hấp dẫn rất nhiều nhà nghiên cứu trong và ngoài nước tham gia. Với các khám phá mới trong cấu trúc gen đã mở ra nhiều hướng nghiên cứu mới trong đó có y sinh học.
Mục tiêu chính của luận văn là sử dụng thuật toán kết hợp giữa DBSCAN với thuật toán BLAST trong bài toán tìm kiếm sự tương đồng các trình tự virus cúm. Với tập dữ liệu các trình tự lớn, thực thi chương trình với thuật toán đệ quy tuần tự, thời gian thực thi thu được rất lâu. Để cải tiến về tốc độ thực thi, trước tiên sẽ thanh lọc dữ liệu bằng cách tính mức độ tương đồng giữa các trình tự trong thuật toán gom nhóm, và loại bỏ những nhóm không có khả năng tương đồng. Với tập kết quả thu được từ thuật toán gom nhóm, tiếp tục sử dụng thuật toán BLAST để tìm kiếm trình tự tương đồng.
7.5. Hướng phát triển
Mở rộng chương trình cho phép so sánh nhiều dạng cấu trúc trong sinh tin học khác nhau
Nâng cao tốc độ xử lý bằng cách áp dụng các thuật toán tối ưu song song.
Quá trình xử lý song song có thể chia nhỏ thực thi trong một số giai đoạn của chương trình như:
- Phân cụm dữ liệu
TÀ L Ệ TH M HẢO
Tiế việt
[1]. Trần Văn Lăng, Ứng dụng tin học trong việc giải một số bài toán của sinh học Phân Tử, Nxb Giáo dục, 2008.
[2]. Lê Phước Lộc và cộng sự, Một số phương pháp chuẩn đoán cấu trúc protein, Hội thảo Tính toán Sinh học, Đại học KHTN, Tp.HCM, 2004
[3]. Phạm Mạnh Hùng, Các kỹ thuật toán học cho bài toán so sánh đa trình tự, Luận văn thạc sĩ Công nghệ thông tin, Trường Đại học Bách khoa TPHCM, 11/2007.
[4]. Hồ Huỳnh Thuỳ Dương (2002), Sinh Học Phân Tử, Nhà xuất bản Giáo Dục.
[5]. Huỳnh Thị Mỹ Trang, Khai phá dữ liệu sinh học trong môi trường tính toán lưới, Luận văn thạc sĩ Công nghệ thông tin, Trường Đại học Khoa học tự nhiên TPHCM, 2005
[6]. Văn Đình Vỹ Phương, Cải tiến thuật toán so sánh cấu trúc protein, Luận văn thạc sĩ Công nghệ thông tin, Trường Đại học Lạc Hồng, 2011. [7]. Văn Đình Vỹ Phương, Trần Văn Lăng, Trần Hành, Chuẩn đoán cấu trúc bậc 3 cảu protein. Hội thảo quốc gia Một số vấn đề chọn lọc của công nghệ thông tin và truyền thông, 2010
[8]. Võ Hồng Bảo Châu, Cải tiến CLUSTALW cho bài toán sắp hàng đa trình tự, Luận văn thạc sĩ Công nghệ thông tin, Trường Đại học Khoa học tự nhiên TPHCM, 2009
Tiế h
[9]. Martin Ester, Hans-Peter Kriegel, Jörg Sander, Xiaowei Xu (1996), A Density-Based Algorithm for Discovering Clusters in Large Spatial Data- bases with Noise, Proc KDD’96, 226-231
[10]. Ian Korf, Mark Yandell, Joseph Bedell, BLAST, O'Reilly Media, 2003 [11]. Jason T.L.Wang, Mohammed J.Zaki, Hannu T.T.Toivonen, Dennis Shasha (Eds) (2005), Data Mining on Bioinformatics, Springer, page 105- 126.
[12]. Kaufman L., Rousseeuw P.J (1990), Finding Groups in Data: an In- troduce to Cluster Analysis.
Trang Web [13]. http://knol.google.com/k/mining-the-ncbi-influenza-sequence- database-adaptive-grouping-of-blast-results#. [14]. http://www.maths.tcd.ie/~lily/pres2/sld009.htm [15]. http://www.uit.edu.vn/forum/index.php?act=Attach&type=post&id=2 1163 [16]. http://d.violet.vn/uploads/resources/211/366403/preview.swf