Thuật toán tìm kiếm của BLAST 0 bao gồm 3 bước sau: Bước 1: Bước xử lí đầu tiên
Trình tự cung cấp có chiều dài là L. Phân trình tự thành các từ (word) với kích thước wordsize cho trước (w).
Chuỗi nhập vào có chiều dài L Giá trị lớn nhất của (L-w+1) từ với W=3 đối với protein
Với mỗi từ trong chuỗi trên, phải tìm ra các từ có score đạt ít nhất bằng T, với score sử dụng ma trận pair-score Với w: 11 cho DNA và 3 cho Protein
Bước 2: Bước so sánh
So sánh mỗi từ có trong danh sách các từ với CSDL và tìm vùng đồng nhất chính xác (hit) Bước 3: Tìm MSP Danh sách các từ hit Cơ sở dữ liệu
Mở rộng những cặp Hits đã tìm được theo cả hai chiều và đồng thời đánh số điểm. Quá trình mở rộng kết thúc khi điểm của các cặp Hits không thể mở rộng thêm nữa.
5.3.2. Các chươ trì h BL ST mở rộng
Nucleotide-nucleotide BLAST (blastn): Chương trình này, khi đưa vào một DNA truy vấn, sẽ trả về các chuỗi DNA gần giống nhất từ cơ sở dữ liệu DNA mà người dùng chỉ định.
Protein-protein BLAST (blastp): Chương trình này, khi đưa vào một protein truy vấn, sẽ trả về các chuỗi protein gần giống nhất từ cơ sở dữ liệu protein mà người dùng chỉ định.
Position-Specific Iterative BLAST (PSI-BLAST): Một trong những chương trình BLAST mới nhất, chương trình này dùng để tìm kiếm các mối quan hệ xa (distant relative) của một protein. Trước tiên, một danh sách các protein liên quan sẽ được tạo ra. Sau đó, những protein này được kết hợp thành một "profile" dưới dạng chuỗi trung bình (av- erage sequence). Một câu truy vấn tới một cơ sở dữ liệu protein sẽ được thực thi nhờ profile này, và một nhóm lớn hơn các protein được tìm thấy. Nhóm lớn này lại được dùng để tạo ra một profile khác, và quá trình này cứ lặp lại. Bằng cách thêm các protein liên quan vào việc tìm kiếm, PSI-BLAST trở nên tốt hơn trong việc lựa ra các mối quan hệ tiến hóa cách xa nhau hơn là phần mềm chuẩn protein-protein BLAST.
mở rộng hit
Các cặp đoạn có score lớn (MSP)
Nucleotide-protein 6-frame translation (blastx): Chương trình này so sánh các sản phẩm chuyển đổi (trừu tượng) sang 6-khung (six frame) của một chuỗi nucleotide truy vấn (cả 2 dải) với một cơ sở dữ liệu chuỗi protein. Quá trình này có thể rất chậm.
Nucleotide-nucleotide 6-frame translation (tblastx): Chương trình này là chậm nhất trong họ BLAST. Nó chuyển chuỗi nucleotide truy vấn thành mọi 6-khung (frame) có thể và so sánh các proteins tạo thành. Mục tiêu của tblastx là tìm kiếm mối quan hệ rất xa giữa các chuỗi nucleotide.
Protein-nucleotide 6-frame translation (tblastn): Chương trình này chuyển cơ sở dữ liệu đích thành mọi 6-khung (frame) và so sánh với chuỗi protein truy vấn.
Large numbers of query sequences (megablast): Khi so sánh một số lượng lớn các chuỗi đầu vào qua chỉ một BLAST dạng dòng lệnh, "megablast" là nhanh hơn rất nhiều so với chạy BLAST nhiều lần.
CHƯƠNG 6. THUẬT TOÁN KẾT HỢP
Trên cơ sở thuật toán BLAST và thuật toán DBSCAN đã trình bày, chương này trình bày sự kết hợp hai thuật toán trên nhằm giới hạn phạm vi tìm kiếm và lọc bớt các trình tự không tương đồng để làm giảm thời gian so sánh trình tự.
6.1. Ý tưởng thuật toán
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