So sánh về mặt thời gian chạy, bộ nhớ

Một phần của tài liệu Các kỹ thuật toán học cho bài toán so sánh đa trình tự (Trang 88 - 100)

4- NGÀY HOÀN THÀNH NHI ỆM VỤ :

5.3.3.So sánh về mặt thời gian chạy, bộ nhớ

Như đã trình bày ở phần thuật toán, chương trình MSAPR nhắm đến việc tăng độ chính xác của chương trình, cũng như giảm thiểu bộ nhớ sử dụng nên so sánh về mặt thời gian MSAPR có thời gian chạy lâu hơn so với CLUSTALW. Khi các sequence có chiều dài nhỏ(50-100 phần tử), thời gian chạy của CLUSTALW và MSAPR là tương đương, khi các sequence có chiều dài trung bình thì thời gian chạy giữa MSAPR và CLUSTALW chênh nhau khoảng 1,5 lần. Khi các sequence có chiều dài lớn, thời gian chạy có thể chênh lệch từ 3-4 lần.

Hầu hết các MSA trong BAliBASE có ít hơn 50 sequence, do đó thời gian chạy thường dao động từ 10 giây đến 10 phút, tùy theo chiều dài của các sequence. Khi xét tập sequence lớn từ 100 đến 500 sequence, thời gian chạy của chương trình dao động trong khoảng từ 3 giờ đến 15 giờ.

0 1 0 0 2 0 0 3 0 0 4 0 0 5 0 0 1 0 0 2 0 0 3 0 0 4 0 0 5 0 0 Số s e q u e n c e Th i g ia n (ph út ) M S A P R C L U S T A L W

Hình 5.6 So sánh thời gian thực thi của MSAPR và CLUSTALW

Xét về bộ nhớ sử dụng, như đã đề cập trong phần thiết kế giải thuật, chương trình hạn chế tối đa việc cấp phát bộ nhớ. Xét trên tập kết quả từ 5 nhóm dữ liệu của BAliBASE, MSAPR chiếm dụng từ 3.5MB đến 10MB bộ nhớ. Đây là một kết quả khá tốt về mặt quản lý bộ nhớ.

Chương 6. KT LUN

Sinh tin học(Bioinformatics) đang có những bước phát triển đột phá, và từng bước trở thành một ngành khoa học có vai trò vô cùng quan trọng trong sự phát triển của nhân loại. Được đánh giá là một trong 10 bài toán lớn của Bioinformatics, từ khi được đặt ra cho đến hiện nay, bài toán MSA đã và vẫn đang được nghiên cứu. Nhiều giải pháp được đưa ra để giải quyết bài toán này, tuy nhiên cho đến hiện nay(2007), bài toán MSA vẫn là một bài toán mở, chưa có một lời giải nào có thể giải quyết bài toán trọn vẹn. Đứng trên góc độ của một công trình nghiên cứu, luận văn cố gắng đưa ra một giải pháp nhằm cung cấp thêm một cách thức để giải quyết bài toán này. Tiếp cận theo hướng kết hợp phương pháp Progressive Algorithm và một số kỹ thuật heuristic, luận văn đã tối ưu hóa bài toán PSA về độ chính xác, cũng như không gian nhớ sử dụng cho chương trình, thông qua việc sử dụng giải thuật chia để trị kết hợp với việc sử dụng đồng thời 3 ma trận BLOSUM và các tham số về khả năng sinh gap, để phục vụ cho việc tính toán. Cùng với việc cải thiện chất lượng bài toán PSA, luận văn cũng đã sử dụng kết quả của bài toán TSP để mô tả quá trình phân hoạch cũng như gom nhóm, để thực hiện phép toán align cho bài toán MSA. Với việc kết hợp những kỹ thuật này, chương trình hiện thực cho giải thuật được đề xuất đã cho kết quả khá tốt. Kiểm thử chương trình trên tập dữ liệu mẫu BAliBASE và so sánh kết quả của chương trình với một số phần mềm được đánh giá rất tốt trong việc giải quyết bài toán MSA: CLUSTALW, SAGA, MULTALIGN,…. Về cơ bản chương trình cho lời giải có độ ổn định cao, chính xác không thua kém CLUSTALW(phần mềm được đánh giá là cho kết quả tốt và ổn định nhất), mặc dù thời gian chạy dài hơn so với CLUSTALW tuy nhiên xét về bộ nhớ sử dụng chương trình cho kết quả sử dụng bộ nhớ khá tốt. Đây cũng là mục tiêu hướng tới của luận văn: cung cấp một giải pháp, cho phép giải bài toán MSA có độ chính xác cao, thời gian chạy chấp nhận được và tiết kiệm về mặt bộ nhớ.

Thông qua một số thử nghiệm trên một số tập dữ liệu mẫu khác, kết quả thu được của luận văn hoàn toàn có thể cung cấp cho các nhà sinh học một công cụ để giải các bài toán MSA.

Kết quả đạt được có thể được mở rộng thêm để cải thiện tốc độ chạy của chương trình. Hạn chế về mặt thời gian chạy của chương trình có thể được giải quyết bằng việc:

ƒ Đề xuất một phương pháp song song hóa giải thuật được nêu, và triển khai bài toán trên một hệ thống tính toán song song như Cluster hoặc triển khai trên hệ thống tính toán lưới Grid.

ƒ Thiết kế một giải thuật nhánh và cận nhằm tối ưu về thời gian chạy cũng như độ chính xác cho bài toán TSP khi số đỉnh của bài toán lớn.

Với những sự mở rộng này chúng ta có thể xây dựng một hệ thống tính toán để giải quyết bài toán MSA một cách hữu hiệu. Đây chính là hướng phát triển của luận văn.

TÀI LIU THAM KHO

1. Akutsu, T., Arimura, H., and Shimozono, S., “On Approximation Algorithms

for Local Multiple Alignment”,Proceedings of the fourth annual international conference on Computational molecular biology, Tokyo, Japan, 2000.

2. Attwood, T.K., Parry D.J.,Introduction to Bioinformatics”, Prentice Hall, 1999.

3. BAliBASE HomePage, http://www-bio3d-igbmc.u-strasbg.fr/balibase/

4. Bali_Score Program HomePage,

http://bips.u-strasbg.fr/Products/Databases/BAliBASE/bali_score.c

5. Bioinformatics Platform of Strasbourg,

http://bips.u-strasbg.fr/fr/Products/Databases/BAliBASE/prog_scores.html

6. Bonizzoni, P., Vedova, G.D “The complexity of multiple sequence alignment with SP-score that is a metric”, Theoretical Computer Science 2001, 259:63-79. 7. Cormen, T.H., Leiserson, C.E., Rivest, R.L. and Clifford, S., Introduction

to Algorithm”. Chapter 16, Dynamic Programming, MIT, 2001.

8. Eddy, S.R.,Multiple Alignment using Hidden Markov Model”.Proc. Int. Conf. Intell. Syst. Mol. Biol. 1995;3:114-20.

9. European Bioinformatics Institute, “CLUSTALW, CLUSTALX”, European Bioinformatics Institute HomPage, http://www.ebi.ac.uk/

10.Feng, D. and Doolittle, R., “Progressive alignment of amino acid sequences

and construction of phylogenetic trees from them”, Method Enzymol. , 266:368-382

11.Feng, D. and Doolittle, R., “Progressive sequence alignment as a prerequisite

to correct phylogenetic trees”, J. Mol. Evol , 25:351-360 12.GALib HomePage http://lancet.mit.edu/ga/

13.Gotoh, O.,Significant improvement in accuracy of multiple protein sequence alignments by iterative refinement as assessed by reference to structural alignments”, J. Mol. Biol. 264:823-838

14.Henikoff, S. and Henikoff, J.G., “Amino acid substitution matrices from (adsbygoogle = window.adsbygoogle || []).push({});

15.Hirschberg D.S., “A linear Space Algorithm for Computing Maximal Common

Subsequences”, Communication of the ACM, Volumn 18, Number 6, 1975 16.Huang, X., and Chao, K.-M,”A generalized global alignment algorithm”,

Bioinformatics, Oxford University Press, Vol. 19, no. 2, 2003 pp 228–233. 17.Korostensky, C. and Gonnet,G.H. , ”Near Optimal Multiple Sequence

Alignments using a Traveling Salesman Problem approach”. Proceedings of the String Processing and Information Retrieval Symposium & International Workshop on Groupware Page, 1999, pp 105.

18.Korostensky, C. and Gonnet, G.H. , ”Using traveling salesman problem algorithms for evolutionary tree construction”. Bioinformatics, 16:619-927, 2000.

19.Lipman, D. and Pearson, W. ,Rapid and sensitive protein similarity searches”. Science,227:1435–1441, 1985.

20.Myers, E.W., Miller W., Optimal alignments in linear space”.Comput Appl Biosci 1988, 4:11-17.

21.NCBI HomePage, http://www.ncbi.nlm.nih.gov/.

22.Needleman, S. B. and Wunsch, C. D. ,A general method applicable to the search for similarities in the amino acid sequence of two proteins”. Journal of Molecular Biology, 48:443–453, 1970.

23.Nicholas, H.B.Jr, Ropelewski, A.J. and Deerfield, D.W., “Strategies for

multiple sequence alignment”, Biotechniques, 32:572-578.

24.Notredame, C., and Higgins, D. G.,SAGA: sequence alignment by genetic algorithm”, Nucleic Acids Research, vol. 24, no. 8, 1996, pp. 1515-1524. 25.Pearson, W.R, Miller, W. ,Dynamic programming algorithms for biological

sequence comparison”. Meth. Enzymol. 210:575-601, 1992.

26.Shyu, C.,Multiple Sequence Alignment with Evolutionary Computation“ ,Genetic Programming and Evolvable Machines, Vol 5, Number 2. 2005, pp 121-144.

27.Smith, T. F. and Waterman, .M. S., “Identification of common molecular subsequences”, Journal of Molecular Biology, 147(1):195–197, Mar. 1981.

28.Thompson , S.M., ”Multiple Sequence Alignment & Analysis”, Florida State University School of Computational Science and Information Technology (CSIT), 2007.

29.Thompson, J.D., Plewniak, F. and Poch, O.”A comprehensive comparision of

multiple sequence alignment”, Nucleic Acids Res., 27:2682-2690. 30.Tompa, M.Alignment by Dynamic Programming”,

http://www.cs.washington.edu/homes/tompa/.

31.TSPBIB HomePage,

http://www.densis.fee.unicamp.br/~moscato/TSPBIB_home.html.

32.Wang, L. and Jiang, T.,On the complexity of multiple sequence alignment”.

Journal of Computationa Biology, 1994, pp 337–348.

33.Wallace I.M., Blackshields G., Higgins D.G.,Multiple sequence alignments”

Curr Opin Struct Biol 2005, 15:261-266.

34.Wayama, W., Takahashi, K., and Shimizu, T.,An approach to amino acid sequence alignment using a genetic algorithm”. Genome Informatics, vol. 6, 1995, pp. 122-123.

35.Yang, Y.,Comparative analysis of methods for multiple sequence alignment”, Stanford University, 2001.

36.Zhong, W., Using Traveling Salesman Problem Algorithms to Determine Multiple Sequence Alignment Orders”. http://www.cs.uga.edu/~rwr/STUDENTS/

Ph lc 1. Bng đối chiếu Thut ng

Anh - Vit (adsbygoogle = window.adsbygoogle || []).push({});

Các thuật ngữ trong Sinh học:

Thuật ngữ Tiếng Anh Thuật ngữ Tiếng Việt

Amino Acid Acid amin, là đơn vị cấu trúc cơ bản của protein

Biology Sinh học

Block Khối

Chromosome Nhiễm sắc thể

DNA(Deoxyribonucleic Acid)

Là một phân tử nucleic acid mang thông tin di truyền mã hóa cho hoạt động sinh trưởng và phát triển của các dạng sống. DNA chứa các gene cấu trúc.(còn gọi là ADN)

Evolution Tree Cây tiến hoá

Genomic Công nghệ gene

Gene địLà mnh trong quá trình truyột đoạn DNA mang mền thông tin di truyột chức năng nhấềt n

Identity Giống nhau

Molecular Biology Sinh học phân tử

Nucleotide Nu, là các loại A,C,G,T đơn phân cấu thành DNA. Gồm 4

Parent Thế hệ cha mẹ

Phylogenetic Tree Cây sinh loài

Protein Hợp chất đại phân tửđược tạo thành từ rất nhiều các đơn phân là các acid amin. Protein Family Họ các protein có liên quan với nhau

RNA(Ribonucleic Acid) ARN) Là cơ sở di truyền ở cấp độ phân tử(còn gọi là

Sequence Chuỗi trình tự

Secondary Structure of Proteins Cấu trúc bậc 2 của Protein

Similarity Tương đồng

Tertiary Structure of Proteins Cấu trúc bậc 3 của Protein

Các thuật ngữ trong chuyên ngành(Sinh tin học):

Thuật ngữ Tiếng Anh Thuật ngữ Tiếng Việt

Align Thực hiện so sánh(gióng hàng, gióng cột) 2 hay nhiều trình tự.

BAliBASE benchmark Dữ liệu kiểm thử BAliBASE

BAliScore ĐộBAliBASE chính xác của MSA so với MSA mẫu của

Bioinformatics Sinh tin học

BLOSUM Matrix Ma trận BLOSUM

Center Star Algorithm Giải thuật chọn phần tử trung tâm Circular Tour Chu trình, lời giải bài toán TSP (adsbygoogle = window.adsbygoogle || []).push({});

Crossover Phép lai ghép

Deletion Sự mất đi các phần tử

Deletion gap Các gap được sinh ra bằng cách xóa đi các phần tử của sequence.

Divide and Conquer Algorithm Giải thuật chia để trị

Distance Matrix Ma trận khoảng cách Dynamic Programming Quy hoạch động Execution Time Thời gian thực thi

FASTA Chuẩn định dạng FASTA lưu trữ các sequence

Fitness Function Hàm thích nghi

Feng-Doolittle Algorithm Giải thuật của Feng-Doolittle

GALib Thcác ưứ ving dện hàm cho phép thiụng về thuật giải di truyết kế, hềỗn trợ lập trình Gap Phần tử sinh ra trong quá trình so sánh các trình

tự

Gap Open Penalty Khả năng mở gap

Gap Extension Penalty Khả năng mở rộng của gap Genetic Algorithm-GA Giải thuật di truyền

Gene Finding Problem Bài toán tìm gene

Global Sequence Alignment Phép so sánh trình tự theo hướng toàn cục Guide Tree Cây mô tả quá trình so sánh của các sequence Heuristic quyCác kết các bài toán 1 cách tỹ thuật trong Trí tuệ nhân tự nhiên. ạo, giúp giải

Insertion Sự thêm vào các phần tử

Insertion gap Các gap vào sequence được sinh ra do sự thêm các phần tử Iterative Algorithm

Giải thuật tìm MSA bằng cách sinh ra 1 MSA có chất lượng thấp và cải tiến dần theo các bước lặp

Local Sequence Alignment Phép so sánh trình tự theo hướng cục bộ

Match Ssequence ự tương ứng, phù hợp giữa 2 thành phần của 2 MSF Chuẩn định dạng MSF lưu trữ các MSA

Multiple Sequence Alignment-MSA So sánh đa trình tự

Mutation Phép đột biến

NCBI

Trung tâm quốc gia về Thông tin Công nghệ

sinh học của Hoa Kỳ, cung cấp ngân hàng gene, Cơ sở dữ liệu Protein, các chương trình phục vụ

cho mục đích sinh học… Near Optimal MSA MSA gần tối ưu

Nondeterministic Polynomial-NP Bài toán NP, không ththức ể tính với độ phức tạp đa Optimal MSA Phép so sánh đa trình tự tối ưu(tốt nhất)

Order for Alignment Thứ tự so sánh của các sequence Pairwise Distance Khoảng cách của các cặp sequence Pairwise Sequence Alignment-PSA So sánh 2 trình tự

Progressive Algorithm Giải thuật tìm MSA thông qua việc sử dụng bài toán PSA nhiều lần

PMX(Partially Mapped Crossover) Kỹ thuật lai ghép từng phần

Population Quần thể (adsbygoogle = window.adsbygoogle || []).push({});

Scoring Matrix Ma trận đánh giá Scoring Method Phương pháp đánh giá

Selection Phép chọn lọc

Sequence Trình tự

Sequence Alignment So sánh trình tự

Subtitution Sự thay thế

Sum of Pair Phương pháp đánh giá theo tổng các cặp trình tự

Traceback Quá trình tìm alignment từ các vết Traveling Salesman Problem-TSP Bài toán người bán hàng

Ph lc 2. T viết tt

Tên viết tắt Tên đầy đủ

BLOSUM Block Substitution Matrix BAliBASE Benchmark Alignment DataBase

CSDL Cơ sở dữ liệu

DNA Deoxyribonucleic Acid GA Genetic Algorithm

FASTA Fast Alignment Search Tool HMM Hidden Markov Model

MSA Multiple Sequence Alignment

NCBI National Center for Biotechnology Information NP Nondeterministic Polynomial

NST Nhiễm Sắc Thể

PSA Pairwise Sequence Alignment RNA Ribonucleic Acid

SP Sum of Pair

Tham kho Ch mc

A

amino acid, 6, 9, 10, 12, 13, 14, 16, 17, 20, 21, 25, 38 Average Information Content, 17

B BAliBase, 3 BaliScore, 69 Bioinformatics, iii, 1, 70, 78 block, 13 C

Center Star Alignment, 33, 37 Circular Tour, 51, 52, 53, 54, 55, 56 CLUSTALW, 19, 40, 41, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78 Crossover, 57 Chromosome, 1, 57, 58, 59, 60 D DIALIGN, 19, 69, 70, 71, 72, 73, 74, 75, 76 Distance Matrix, 51, 53, 61, 65

Divide and Conquer Algorithm, 5, 43, 65 DNA, 1, 2, 6, 7, 10, 19 Dynamic Programming, 2, 18, 19, 24 E Entropy, 17 Execution Time, v, 43, 68, 77, 78, 79 F FASTA, 19, 63, 69 Feng-Doolittle Algorithm 4, 38, 39, 40 fitness function, 58 G Gap, 11, 14, 15 deletion, 11, 27, 28 insertion, 11, 27, 28 Gap Extension Penalty, 15 Gap Open Penalty, 15

gene, 1, 2, 6, 7, 10, 19, 57, 59, 60 Gene Finding Problem, 6 Genetic Algorithm, 5, 21, 57 Genomic, 1

Giải thuật 1A, 51 Giải thuật 1B, 55, 57

Giải thuật cải tiến không gian nhớ, 29 Gotoh Algorithm, 28

Guide Tree, 40, 54

H

heuristic, 2, 3, 4, 18, 20, 23, 24, 33, 40, 62, 78 Hidden Markov Model, 19, 21 (adsbygoogle = window.adsbygoogle || []).push({});

HMMT, 22, 69, 70, 71, 72, 73, 74, 75 I Identity, 6, 68, 71 Iterative Algorithm, 18, 19 M ML_PIMA, 69, 70, 71, 72, 73, 74, 75, 76 MSAPR, 60, 66, 67, 68, 69, 70, 72, 74, 75, 76, 77 MSF, 64, 69 MULTAL, 19, 69, 70, 71, 72 MULTALIGN, 19, 40, 69, 70, 71, 72, 73, 74, 75, 76, 78 Mutation, 58 N NCBI, 3, 63

Near Optimal Alignment, 3, 18

NP, 2, 18, 23, 51, 62

nucleotide, 9, 10, 12, 17, 21, 25

O

Oder for Alignment, 5, 50, 51, 52, 54, 58, 61, 62 Optimal Alignment, 11, 24, 25, 26, 33, 36, 43, 44, 47 P Pairwise Distance, 40, 49 Parent, 57 Phylogenetic Tree, 1 PILEUP, 19, 40 PMX(Partially-Mapped Crossover), 59 Population, 21, 57, 58, 59 Progressive Algorithm 2, 3, 4, 18, 19, 23, 24, 37, 39, 40, 41, 49, 50, 52, 70, 78 protein, 1, 2, 6, 7, 9, 10, 13, 14, 19, 66, 67, 68, 69 protein family, 9 R RNA, 1, 6, 7, 83 S SAGA, 21, 69, 70, 71, 72, 73, 74, 75, 76, 78 SB_PIMA, 69, 70, 72, 73, 74, 75, 76 Scoring function, 5, 7, 12, 13, 14, 15, 16, 17, 20, 22, 25, 32, 34, 36, 38, 39, 40, 44, 48 Scoring Matrix BLOSUM, 3, 5, 13, 14, 47, 48, 61, 65, 78 Chemical Similarity Matrix, 13

Genetic Code Matrix, 13 Identity Matrix, 13

Subtitution Matrix, 13 Scoring Method, 15 Sum-of-Pair, 16, 18, 32, 40, 50 Selection, 58 Sequence Alignment Global, 7 Local, 7 Multiple, 2, 3, 4, 5, 9, 10, 13, 16, 17, 18, 19, 20, 21, 22, 23, 24, 32, 33, 34, 37, 39, 41, 42, 49, 50, 60, 61, 62, 63, 65, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79 Pairwise, 2, 3, 4, 5, 7, 8, 15, 18, 23, 24, 25, 26, 33, 34, 35, 37, 38, 42, 43, 44, 48, 49, 51, 53, 57, 60, 61, 65, 78 Similarity, 7, 12, 13, 14, 16, 17, 39, 40, 51, 68 Substitution, 10, 14 T

Tertiary Structure of Protein, 6, 9, 68 Traceback, 20, 26, 27, 45

transmembrane protein, 68

Traveling Salesmans Problem(TSP), 3, 5, 50, 51, 52, 53, 55, 57, 59, 60, 62, 65, 78, 79

Một phần của tài liệu Các kỹ thuật toán học cho bài toán so sánh đa trình tự (Trang 88 - 100)