Fueled by rapid progress in high-throughput sequencing, the size of public sequence databases doubles every two years. Searching the ever larger and more redundant databases is getting increasingly inefficient. Clustering can help to organize sequences into homologous and functionally similar groups and can improve the speed, sensitivity, and readability of homology searches. However, because the clustering time is quadratic in the number of sequences, standard sequence search methods are becoming impracticable.Here we present a method to cluster large protein sequence databases such as UniProt within days down to 20%–30% maximum pairwise sequence identity. kClust owes its speed and sensitivity to an alignment-free prefilter that calculates the cumulative score of all similar 6-mers between pairs of sequences, and to a dynamic programming algorithm that operates on pairs of similar 4-mers. To increase sensitivity further, kClust can run in profile-sequence comparison mode, with profiles computed from the clusters of a previous kClust iteration. kClust is two to three orders of magnitude faster than clustering based on NCBI BLAST, and on multidomain sequences of 20%–30% maximum pairwise sequence identity it achieves comparable sensitivity and a lower false discovery rate. It also compares favorably to CD-HIT and UCLUST in terms of false discovery rate, sensitivity, and speed.http://toolkit.lmb.uni-muenchen.de/pub/kClust/.kClust fills the need for a fast, sensitive, and accurate tool to cluster large protein sequence databases to below 30% sequence identity. kClust is freely available under GPL at In recent years, the amount of sequence data has been growing at an accelerating pace. While one would expect the denser sampling of sequence space to lead to better performance of sequence searches, the opposite seems to be true: The increase has led to stagnating or even negative returns, as measured by the ability to detect homologous sequences for structure or function predictions. RemovinAn important motivation to develop kClust was our need for a database of profile hidden Markov models (HMMs) that contains all UniProt sequences, clustered down to 20%–30% sequence identity (uniprot20). Such a database is required by HHblits, the most sensitive protein sequence search method to date. HHblitsk-mer-based heuristic filters, yet they would require around 80 years of CPU time to cluster the UniProt database version with ∼35.5 million sequence from scratch. SIMAP  are generated for each cluster stemming from the previous iteration of kClust, and for each MSA a profile HMM and a consensus sequence are calculated with the  package. The kCl package. The BLOk-mers in the prefiltering and kDP steps. The generation of similar spaced k-mers for a sequence is illustrated in Figure k-mers reduce the correlation of neighboring k-mer scores[k-mer matches are more evenly distributed and the probability of high scoring clusters of chance matches is reduced.We use spaced instead of consecutive r scores. TherefokClust_mkAln generates MSAs for each sequence cluster, using a user-specified multiple sequence alignment program. In addition, a cluster header with merged and redundancy-filtered names and annotations from the headers of the contained sequences is generated. The merging of UniProt and NCBI headers is supported.The binary We compared kClust to three methods that are able to cluster large protein databases: CD-HIT, UCLUST, and BLAST-based clustering.-n 2 setting (k-mer word length) recommended for a clustering threshold of 40%. We set the minimum alignment coverage of the longer sequence to 80% with the -aL 0.8 option and the maximum available memory to 6000 MB with the -M 6000 option. We used parallel calculation on 16 cores of the computer by setting -T 0 .We clustered the datasets with the newest, parallelized version of CD-HIT on 16 co-id 0.3 and 0.4 options (“UCLUST 30” and “UCLUST 40”). Additionally, we used the -targetfract 0.8 setting for the minimum alignment coverage 0.8 of the longer sequence. We tried the -usersort option that should sort the input database by length, but this led to occasional segmentation faults. We therefore gave UCLUST a length-sorted database as input. As a side note, when not crashing, UCLUST produced worse results with the -usersort option than with a presorted database.We ran UCLUST with the pdbfilter.pl from HH-suite (http://toolkit.lmb.uni-muenchen.de/HH-suite/), adapted to our input data. This simple procedure uses the same incremental greedy clustering strategy as CD-HIT, UCLUST, and kClust, but instead of comparing sequences using a prefilter and dynamic programming, parallel BLAST (option -a 8) was employed. The acceptance condition to add a query sequence to an existing cluster was an E-value below 1E-3 and an alignment that covers more than 80% of the representative sequence. No condition on the sequence identity is used, which corresponds to the “max sens” version of kClust.BLAST-based clustering was calculated using E-value was 1E-3 and the minimum alignment coverage was 80%, which are the default values. For “kClust 30” and “kClust 20”, kClust was run with a clustering threshold of 30% and 20%, respectively. “kClust sens” was run with maximum sensitivity, i.e., with a clustering threshold at 0%. For “kClust iter”, one profile-based kClust iteration was run after a single iteration with “kClust max sens” settings.Four parameter settings were tested that differed in the acceptance criteria for adding sequences to existing clusters. In all four cases, the maximum Pfam-A-seeds version 24.0 are the 500 361 sequences that define the manually curated 11 912 domain families of the Pfam data base. Of thesA pair of sequences is considered to be incorrectly grouped together in one cluster if the sequences belong to different Pfam families and to different clans. We call such a cluster corrupted.All benchmarked methods produce an order of magnitude more clusters than the possible 8359 groups s. Table . The reaTwo iterations kClust achieve the highest sensitivity, i.e., the lowest number of clusters. The second iteration of kClust reduces the number of clusters in the first iteration almost by 30% without increasing the number of corrupted clusters. BLAST produces slightly more clusters with a comparable error rate. However, there is a striking difference in the run times – two iterations kClust take 28 min while BLAST clustering takes 66 hours. UCLUST is the fastest method, but it clusters less effectively 1.5 times more clusters than kClust and twice more than BLAST. CD-HIT produces less clusters than UCLUST, but with the highest error rate and is slow.Most eukaryotic sequences consist of two or more structural domains. Multi-domain sequence pose greater challenges to clustering algorithms because they tend to cluster sequences together if they are sufficiently similar within one domain, even though their other domains may be unrelated.Currently, most protein sequences are only partly or not annotated with contained domains. To test the ability of the tools to correctly cluster multi-domain sequences, we need a dataset of multi-domain sequences where all the sequences are annotated over their entire length. It should contain a sufficient number of sequences with the same domain composition in order to form enough clusters and also enough sequences with only local similarities, so it would be not trivial. Currently, there is no real dataset that would meet these criteria.http://astral.berkeley.edu/). For each seed sequence from SCOP, we searched for homologous sequence segments using two iterations of PSI-BLAST[nr) and filtered the results to 30% minimum sequence identity to the seed sequence from SCOP and to 70% maximum pairwise sequence identity, using the hhfilter binary from the HH-suite package[To test the ability of the tools to correctly cluster multi-domain sequences, we generated an artificial dataset of 100 000 two-domain proteins. We used the SCOP25 database . For each such two-domain architecture, 100 two-domain sequences were generated by concatenating two randomly drawn sequences from the corresponding family groups. Additionally, we rejected a sequence if the longer domain in the artificial sequence covered more than 80% of the overall sequence length.Two sequences were considered to be grouped correctly in one cluster if they have the same domain architecture. Thus, the dataset could, in principle, be clustered into 1000 clusters of homologous sequences with the same domain architecture.The results of the clustering are shown in Table BLAST is clearly the most sensitive method, generating only 6977 clusters. kClust produces 17 070 in the first iteration with the maximum sensitivity setting, and one additional iteration reduces this number to 8537 without increasing the number of false positives. kClust clustered the dataset in the first iteration in about 9 min, the second iteration takes additional 4 minutes . BLAST-based clustering took about 3.5 hours. UCLUST is very fast, needing less than one minute, but is much less sensitive, producing clusters with only 2.5 sequences on average, compared to kClust 20 with 5.8 on average.It is noteworthy that even BLAST produces significantly more than the 1000 clusters that are theore- tically possible. The reason is that many alignments between sequences within one architecture group do not fulfill the coverage criterion, because the longest sequence is often significantly longer than many of the other members of the group, and because BLAST, like all other local alignment methods, often generates alignments that do not cover the entire homologous region.At the time of the benchmark calculation (June 2013), UniProt containeThe results for the clustering of the UniProt database are shown in Table We compared the quality of the clustering by checking the performance of HHblits on UniProt clustered with kClust or UCLUST, respectively Figure . The perk-mer lists during the prefiltering and the alignment in order to increase sensitivity. As a consequence, the generation of the lists and index table matching takes longer.Running time of kClust depends heavily on the desired sequence identity threshold for the clustering. For lower thresholds, in addition to lowering the sequence identity threshold, kClust generates longer similar We performed a benchmark on SwissProt, a protein sequence database containing 540 261 sequences at the time of the benchmark calculation, and plotted kClust running times against the sequence identity threshold. The results are shown in Figure We performed a comparison of memory consumption of kClust and UCLUST for different database sizes. The results are shown in Figure With the rapidly growing numbers of protein sequences from genome sequencing and metagenomics projects, methods that can cluster huge sequence sets in a reasonable time are in great need. Tools that are sensitive enough to cluster sequences together down to ∼30 % sequence identity will be particularly useful, since at that similarity protein domains usually still have the same or very similar molecular functions, in particular if their domain architecture is conserved,36. MostCD-HIT is fast and works well at high sequence identity clustering threshold, but it gets impracticably slow and inaccurate below 50% sequence identity. UCLUST is a very fast alternative which has, however, limited sensitivity as demonstrated in our study. kClust is to our knowledge the only method at present that fills the need for the fast clustering of large sequence databases or metagenomics sequence with a sensitivity not far from BLAST. kClust achieves this sensitivity with its prefilter that sums up the scores of similar 6-mers, its fast 4-mer-based alignment algorithm kDP, and its iterative, profile-based clustering strategy.This is to our knowledge a novel approach to solving the problem of inexact, alignment-free comparison of sequences. A somewhat related approach that is popular in next-Generation sequencing data analysis is the “spaced seed” approach. In that approach, exemplified by PatternHunter or SEEDWe are currently working on a faster and more flexible successor software which will be parallelized to run efficiently on multi-core architectures, which offers a more powerful clustering algorithm than the incremental, greedy clustering used in kClust, CD-HIT and UCLUST, and which will also allow to perform very fast parallelized sequence searches of a set of sequences against another set of sequences or sequence profiles. Importantly, it will allow updating of clustered databases with new sequences, thus obviating the need to recluster the entire sequence set from scratch.The authors declare that they have no competing interests.CEM and JS designed the fast k-mer prefiltering, kDP, and kClust. CEM implemented the fast k-mer prefiltering, kDP, and noniterative kClust. MH designed and implemented the iterative kClust and the benchmarks. MH and JS wrote the manuscript. JS coordinated the project. All authors read and approved the final manuscript.Supplementary material.Click here for file


Comparative genomics, or the study of the relationships of genome structure and function across different species, offers a powerful tool for studying evolution, annotating genomes, and understanding the causes of various genetic disorders. However, aligning multiple sequences of DNA, an essential intermediate step for most types of analyses, is a difficult computational task. In parallel, citizen science, an approach that takes advantage of the fact that the human brain is exquisitely tuned to solving specific types of problems, is becoming increasingly popular. There, instances of hard computational problems are dispatched to a crowd of non-expert human game players and solutions are sent back to a central server.We introduce Phylo, a human-based computing framework applying “crowd sourcing” techniques to solve the Multiple Sequence Alignment (MSA) problem. The key idea of Phylo is to convert the MSA problem into a casual game that can be played by ordinary web users with a minimal prior knowledge of the biological context. We applied this strategy to improve the alignment of the promoters of disease-related genes from up to 44 vertebrate species. Since the launch in November 2010, we received more than 350,000 solutions submitted from more than 12,000 registered users. Our results show that solutions submitted contributed to improving the accuracy of up to 70% of the alignment blocks considered.http://phylo.cs.mcgill.ca.We demonstrate that, combined with classical algorithms, crowd computing techniques can be successfully used to help improving the accuracy of MSA. More importantly, we show that an NP-hard computational problem can be embedded in casual game that can be easily played by people without significant scientific training. This suggests that citizen science approaches can be used to exploit the billions of “human-brain peta-flops” of computation that are spent every day playing games. Phylo is available at:  The problem of optimally aligning a set of biological sequences ) is one of the most fundamental question in computational biology, with the first problem formulations and accompanying algorithms dating back to the early 1970's Most mathematical formulations of MSA aim at identifying a maximum-scoring alignment, given a set of sequences. Although the sum-of-pairs score  has been heavily used in early studies, more phylogenetically-aware scoring schemes are now preferred To produce accurate alignments using a classical computational framework, exact and computationally intensive algorithms are required. Unfortunately, their usage on genome-scale problems clearly exceeds the capacity of even the most powerful computer clusters. In recent years, outsourcing has become a common strategy to address these computational limitations. The connection of thousands of individual computers through the internet network enabled to build giant virtual clusters with unmatched computing power, at a minimal cost. In 1999, the SETI@home project citizen scienceIn classical outsourcing methods such as SETI@home and Folding@home, the bottleneck is twofold. First, the objective function can be hard to formalize. For instance, this is the case when the goal is to identify objects inside images. Next, even when fully defined, the objective function may not allow an efficient computing schema and thus require an exhaustive enumeration of the solution landscape. When the number of candidate solutions grows exponentially with the size of the input, this leads to computationally prohibitive algorithms. It turns out that these features characterize many real world problems. Interestingly, the human brain developed capabilities to efficiently address some of these problems. In particular, humans excel at visual pattern recognition. In such cases, the assistance of humans appears to be a reasonable option. This observation motivated the development of methods for harnessing these human abilities and has been embedded in a concept called Historically, the first attempt to apply citizen science principles was made by the Audubon Society's Christmas Bird Count, which started in 1900. However, the emergence of computers and of the internet greatly expanded the range of applications and the potential of this approach. Indeed, by developing human-computer interfaces that enable users to assist a computer program to solve a problem, and distributing this interface through the web, we can easily gather a large community of volunteers to help solving a given problem. In 2006, Stardust@home In this paper, we introduce Phylo, a citizen science framework to solve MSA problems. More specifically, Phylo aims to compute high-quality alignments of a set of orthologous promoter regions from different vertebrate species. Unlike previous citizen science applications, Phylo intentionally hides much of the science behind it. A central idea of our contribution is to reduce the human computing part to a casual game, a puzzle, in order to broaden the spectrum of participants and collect the computing power generated by regular, non-scientist gamers. This approach expands to natural sciences the concepts of re-usability previously introduced by Luis von Ahn and co-workers in the ESP game The paper is organized as follows. In the Results section, we describe Phylo and the set of alignments considered and show evidence of the effectiveness of our approach at improving alignments. In the Methods section, we detail the game mechanism and explain how the data are validated and re-inserted into the original MSA. Finally, we conclude by discussing the perspectives offered by citizen science approaches.Phylo is a citizen computing framework for local improvement of multiple sequence alignment. Phylo aims to convert a MSA problem into a puzzle game that can be easily understood and played by web users through a flash or javascript interface . Here, DWe score the puzzles using a simple but realistic, easy-to-understand maximum parsimony algorithm that predicts ancestral sequences from the given alignment and sums the scores of the induced pairwise alignments, over all branches of the tree see . The paiSeveral mechanisms have been added to increase the entertaining value of the game while helping players achieve good solutions. First, the sequences are progressively added. The game starts with two sequences and the player must find an alignment with a score that is at least as good as the score of the original alignment . We call the score of this alignment the “par” to be allowed to proceed to the next stage. Then, another sequence is added to the puzzle and the process is iterated until all sequences have been added. Note that contrary to the classical progressive alignment approach, players are allowed to revise any part of the alignment at any point. The second feature we added is a timer. Each stage must be completed within a certain time limit. In addition, we have also implemented a ranking system that records the number of puzzles solved by each registered user, and displays the list of the top 20 contributors. Together, these features aim to stimulate the competitiveness between players. Finally, we have implemented multiple mechanisms of puzzle selection. Players can either choose a puzzle by its difficulty level or by the type of disease the corresponding gene is associated to.To evaluate the effectiveness of crowd computing at multiple sequence alignment, we selected a set of human promoters associated to genes with known implications in various diseases from the OMIM database For each selected promoter (1 kb region upstream of the annotated transcription start site), we then extracted the corresponding sections of a 44-species multiple genome alignment regular players, who logged in multiple times. completed; they are the only ones whose solution get transmitted back to our server). Roughly two thirds of the puzzles are solved by registered members.Phylo was officially released on November 29, 2010 Phylo is not equally attractive to all players. Registered users completed an average of In Puzzle solutions with score better than the par were sent back to our database. Each solution was re-inserted into the original alignment block and sequences that had been left out from the puzzle were re-inserted into the alignment see . AlignmeOriginal Multiz alignment is the MSA produced by the Multiz program, without any realignment.Phylo-based alignment is the MSA obtained by reinserting a solution to the Phylo puzzle into the original Multiz alignment, and completing it by adding the species that had been left out of the puzzle.De novo alignment is the MSA produced by applying the alignment completion algorithm as in (2), but starting from an empty alignment instead of starting from the Phylo puzzle solution.Multiz-completed alignment is the MSA obtained by applying the alignment completion algorithm to a version of the original Multiz alignment where only the set of sequences present in the corresponding Phylo puzzle are retained.average Phylo-based alignment exceeded that of the Multiz alignment about half the time. To rule out the possibility that alignment improvements may be only due to the alignment completion algorithm rather than the Phylo puzzle solutions themselves, we also compared the scores of the Phylo-based alignments to those of the de novo realignment and the Multiz-completed realignment. Phylo-based alignments produce strictly better scores than the three other approaches for 36% of the puzzles, while the de novo alignment outperformed the other three in 46% of cases. Original Multiz and Multiz-completed alignments outperform the other three for only 9% and 8% of the puzzles respectively. Taken together, these results suggest that improved alignments result from a combination of a better multiple re-aligner and a set of high quality initial solutions produced by Phylo players. Although the magnitude of the alignment score improvement is generally small , these improvements are important for a number of applications that heavily rely on alignment accuracy, including phylogenetic inference, identification of sites under selection, or RNA secondary structure prediction.For each alignment block, the Phylo-based alignment was built from each of the different puzzle solutions, irrespective of the Phylo score they obtained. Each completed alignment was scored and the highest-scoring alignment was retained. Original and improved alignment blocks are available in Supplementary Material. Overall, the best Phylo-based alignment outscored the original Multiz alignments for 70% of the alignment blocks. In fact, even the score of Recall that the puzzle score shown to the user only measures the quality of the solution to the alignment puzzle itself, outside of its alignment block context and with only a subset of the species present in the full alignment block. An interesting question is whether this score correlates with the final score of the alignment after its completion and reinsertion into the full alignment block. This correlation is weak, with only 55% of the puzzles played at least 5 times showing a positive correlation between Phylo score and final alignment score. Note however that puzzle solutions are only returned to our server if they achieve a score at least as good as the “par”, which means that only “good” solutions are considered. This suggests that the Phylo puzzle solutions form a good pool of initial solutions based on which improved multiple alignments can be obtained, but that the Phylo scores themselves (or at least those beating the par) are not very indicative of the quality of the alignment when placed in its context and extended to the full set of sequences. In that case, puzzles played a large number of times would have a better chance of producing improved alignments. Indeed, this is the case: 77% of the puzzles with at least 5 different Phylo solutions yield an improvement over the original alignment, whereas this fraction drops to 53% for puzzles with at most two different solutions.Unsurprisingly, the number of species in the puzzle has an impact on the quality of the completed alignments that can be obtained from them. Small puzzles (3 or 4 sequences) result in improved alignments less than 63% of the time, while this percentage goes up to 73% for larger ones (size 7 and above). This is despite the fact that small puzzles are played on significantly more often than larger ones (2-fold difference in number of different solutions).In this paper, we showed that a citizen science approach can be applied to improve the accuracy of multiple sequence alignments. More importantly, we demonstrated that we can turn this problem into a intuitive and entertaining computer game suited for casual gamers without any scientific background. Contrary to existing alignment editing tools such as JalView http://phylo.cs.mcgill.ca. This demonstrates that crowd sourcing yields practical improvements to the accuracy of MSA's. In future work, we plan to expand the range of application of “casual” citizen science techniques to other bioinformatics problems such as the RNA sequence/structure alignment and phylogenetic inference.In this work, we applied our methodology on a 44-way Multiz MSA from the UCSC genome browser The clarity and the simplicity of the design that characterizes Phylo is an important asset to ensure the popularity of our game. In particular, we abstract the nucleotides to coloured blocks and develop an intuitive yet realistic scoring scheme that is well supported visually by various aspects of the game interface. This allows players to solve puzzles MSA's with up to An interesting related question is how best to harness crowd computing for improving alignments: one wants the player community to work on as many regions of the alignment as possible, but also to do as good a job as possible at improving each of them. As discussed previously, the more often a puzzle is played on, the better the chances of producing good alignments. However, the value of additional solutions diminishes as the number of available solutions increases. While our current dispatching system assigns puzzles to players in a random manner (subject to an user's preferences about problem size and disease associations), a better approach would be an adaptive approach where we monitor, for each puzzle, the number of different solutions obtained to date and the number of people who played on it. Puzzles whose solution space seems to saturate (i.e. the same solutions are found over and over again by the players) should be considered solved and stop being fed to players. Similarly, puzzles that are rarely completed by the players may have properties that makes them boring or too challenging and should stop being sent to users. Adapting puzzle dispatching may even go further and detect a specific player's preferences or skills via the set of solutions produced to date and select new puzzles on that basis.Finally, we conclude this paper by discussing the validity and the scientific impact of citizen science frameworks. Above everything, the question of the computational tractability of the problem addressed is fundamental. Indeed, to be scientifically justified, this strategy must demonstrate that human expertise is necessary and that computer programs cannot perform better. We believe that any citizen science approach applied to well-defined scientific problems must satisfy these three criteria: (i) Computational difficulty of the problem, (ii) range of application of exact methods, and (iii) comparison with heuristic methods. Here, we stress that the MSA problem using a maximum parsimony score has been shown However, computational considerations are not the only ones of interest. Another fundamental aspect of this game is its role toward educating people to the challenges encountered in computational biology and discrete optimization in general, as well hinting to some important evolutionary biology and genetic concepts. Although Phylo intentionally abstracts the scientific context of MSA's to an intuitive casual game, it also offers a portal for anyone looking for information on the subject. More precisely, two games menu sections titled “About” and “FAQ” describe the biological motivations, the scoring scoring algorithm and how the puzzle solution are used. Moreover, over the last year, our interface has been already used in several classes and public demonstrations around the world to illustrate genomic research.Billions of “human-brain peta-flops” of computation are wasted daily playing games that do not contribute to advancing knowledge. While only a small fraction of important computational problems are amenable to crowd computing, and translating those that are into fun, intuitive games can be challenging, the reward of a well-designed framework for human computation, combined with a wide user-base, is access to a huge basin of computing power.The interface of Phylo displays a simplified and entertaining representation of an MSA instance with its associated phylogenetic tree. Each nucleotide is represented by a block whose colour corresponds to its type . The scoring scheme for a given puzzle alignment must be evolutionarily realistic while being intuitive and fast to compute . To evaluate a given alignment, the game starts by inferring ancestral nucleotides or gaps at each ancestral node of the phylogenetic tree using a maximum parsimony approach . We then scan each reduced “interesting” block with a sliding window of size Recall that a Phylo puzzle consists of a slice of 24 columns taken from the original UCSC 44-way multiple alignment, and then reduced to a set of at most 8 species. To be useful, a solution to the puzzle must be reinserted into the original alignment block and completed by adding any left-out species to the alignment. This is performed as follows. Consider an alignment block For the purposes of comparing the accuracy of the various alignment strategies proposed, maximum likelihood ancestral sequences for a given alignment block are first inferred using Ancestors 1.0 program The original client interface has been implemented in a Adobe Flash Actionscript 3.0. More recently, we released a javascript interface to improve the portability of our system and enable users to play Phylo on tablets and other mobile devices. The server has been implemented in Java. The client connects to the server via XMLSocket and the server listens through SocketServer. The communication between the server and the MySQL database is supported by JDBC drivers. Finally, password of registered users are encrypted SHA-512 and Salting to ensure user privacy.http://phylo.cs.mcgill.ca/eng/submit.html.Phylo is open, free of charges, to academic users who are willing to use it to improve their MSA data. Interested users are invited to send us data using the MAF format at phylo-submit@cs.mcgill.ca. Sequences should be pre-aligned using a computer program, preferably together with a confidence score. Once submitted, the data will be scanned in order to create new puzzles. Once every puzzle will have been played a predefined number of times (by default


The Smith-Waterman algorithm, which produces the optimal pairwise alignment between two sequences, is frequently used as a key component of fast heuristic read mapping and variation detection tools for next-generation sequencing data. Though various fast Smith-Waterman implementations are developed, they are either designed as monolithic protein database searching tools, which do not return detailed alignment, or are embedded into other tools. These issues make reusing these efficient Smith-Waterman implementations impractical.https://github.com/mengyao/Complete-Striped-Smith-Waterman-Library.To facilitate easy integration of the fast Single-Instruction-Multiple-Data Smith-Waterman algorithm into third-party software, we wrote a C/C++ library, which extends Farrar’s Striped Smith-Waterman (SSW) to return alignment information in addition to the optimal Smith-Waterman score. In this library we developed a new method to generate the full optimal alignment results and a suboptimal score in linear space at little cost of efficiency. This improvement makes the fast Single-Instruction-Multiple-Data Smith-Waterman become really useful in genomic applications. SSW is available both as a C/C++ software library, as well as a stand-alone alignment tool at: TANGRAM, and the read-overlap graph generation program RZMBLR. The speeds of the mentioned software are improved significantly by replacing their ordinary Smith-Waterman or banded Smith-Waterman module with the SSW Library.The SSW library has been used in the primary read mapping tool MOSAIK, the split-read mapping program SCISSORS, the MEI detector  There are several practical obstacles. Firstly, implementing a striped SW requires good understanding of SSE2 instructions and the more complex algorithm, which may take significant development time. Secondly, the original striped SW only gives the optimal alignment score but does not report the position or the detailed alignment, the information necessary for using SW as a component to construct the final alignment. How to report the position and alignment without affecting speed is non-trivial. Thirdly, while a few implementations report position and alignment, they are tightly integrated in a larger project and cannot be easily reused in other programs. Fourthly, when aligning a short read against a long sequence, we would like to know suboptimal alignments such that we can tell if the optimal position is trustworthy. Most existing libraries have not addressed this issue.Although striped SW has been published for six years, we are still in lack of a fast, versatile and standalone library. This leads us to develop the SSW library, a light weighted but comprehensive C/C++ library for pairwise sequence alignment with the striped SW algorithm.To build a light-weight and easily reusable SIMD SW library for the genomic application development community, we made the SSW Library. It extends the Striped SW and SWPS3’s SIMD implementations to provide the mapping location and detailed alignment information (traceback), without performance penalty. Though these features are crucial when integrating SW into other genomic analysis systems, among the existing SIMD SW implementations only SSEARCH provides them, and as discussed in the Performance: Short-Read Genomic Alignment section its performance in typical genomic alignment contexts is poor. The SSW library can also return the heuristic suboptimal (second-best) alignment score and location without additional computational cost, which enables the use of the method in contexts that exploit this information in mapping-quality estimation. We describe our efficient implementation of these features in the Methods section.https://github.com/mengyao/Complete-Striped-Smith-Waterman-Library). A test data set is also provided there. The SSW library is an application program interface (API) that can be used as a component of C/C++ software to perform optimal protein or genome sequence alignment. The library returns the SW score, alignment location and traceback of the optimal alignment, and the alignment score and location of the suboptimal alignment. We provide the library with an executable alignment tool that can be used directly to perform protein or DNA alignments. It is a demonstration of the API usage and a practical tool for accurate whole viral or bacterial genome alignment. Moreover, since this tool is sufficiently fast and memory-efficient for alignment to very large reference genome sequences, e.g. the human genome, it can also be used to validate alignments produced by heuristic read mappers. The instructions of how to install and run the library is described in the README file at the software website  to Farrar’s accelerated SW and SSEARCH (version 36.3.5c) on a Linux machine with 2GHz x86 64 AMD processors. We ran each program on a single thread. Since the optimal alignment scores for long DNA sequences given by SWPS3 are not consistent with others’, we did not benchmark its running time here.To measure the speed of protein database searching, we aligned five protein sequences (Q6GZW9 (75 aa), P14942 (192 aa), P42357 (551 aa), P07756 (1283 aa), and P19096 (2154 aa)) against the Uni-Prot Knowledgebase release 2013_09 , by all four algorithms see . Since SWe also compared the CPU SW implementations with one of the most popular GPU implementations, CUDASW++ ,5. We wehttp://www.seqan.de/projects/mason/) we generated a thousand 100 bp-long sequences from these regions. We then aligned these reads back to their corresponding reference sequences with each of the five algorithms  and compared their running times ; (3) Illumina reads (100 bp) against T. gondii (6.08 × 107 bp); and (4) Illumina reads against human genome chromosome 1 (2.49 × 108 bp) as shown in For the comparisons on real sequencing datasets, we aligned four sets of a thousand reads representing three different sequencing technologies against four different reference genomes: (1) Applied Biosystems (ABI) capillary reads  against the severe acute respiratory syndrome (SARS) virus ; (2) Ion Torrent reads (236 bp) against We note that the relative performance of SSEARCH against our method is worst when working with short target DNA sequences, which is exactly the context in which pairwise alignment is most likely to be used.Here we demonstrate the utility of our SSW library as a component of four different biologically meaningful applications.To provide highly accurate alignments, most short-read mappers integrate an SW algorithm for a final “polishing” step. This step is especially important for aligning reads containing short insertions and deletions. Even though each SW run is short, it may be applied hundreds of millions of times within a single run of a mapper, and therefore even small inefficiencies result in wasteful resource usage. To quantify time savings with SSW, we compared the performance of our new method with the existing SW implementation within the MOSAIK mapping program , which uhttps://github.com/wanpinglee/scissors) to map reads across structural variation event boundaries (breakpoints), rescuing reads not mapped, or inaccurately mapped by primary mapping approaches. We used our SSW library to align “orphaned” or severely “clipped” fragment-end read mates  to the genomic regions indicated by the well-mapped mates’ coordinates. Inclusion of the SW mapping routines of our SSW library makes accurate and fast split-read alignment for SV detection possible. The split-read mapping functionality, using our SSW library, has also been implemented in the TANGRAM SV detection tool (https://github.com/jiantao/Tangram). TANGRAM is used intensively in the 1000 Genomes Project [http://ftp.1000genomes.ebi.ac.uk/vol1/ftp/technical/working/20120815meicalls/BC/). In SCISSORS and TANGRAM, SSW is also called in multi-threaded way.Primary read mappers are often unable to map or properly align reads in structural variant (SV) regions, e.g. in regions of deletions, insertions, inversions, or translocations. Therefore, we developed a split-read aligner program, SCISSORS . To do the speed comparison test, we generated read-overlap graphs for the genomic region 20:21026000-21027500 using 22,543 reads (70 bp long) from 191 African samples in the 1000 Genomes Project dataset. The sample identifiers are listed in Appendix S2 in File S1. The running time of the read-overlap graph generation program RZMBLR (https://github.com/ekg/rzmblr") embedded with an ordinary SW (1795.66 seconds) is about twice of that embedded with our SSW library (973.02 seconds).To evaluate evidence for putative SV and large INDEL calls generated by assembly methods, we can employ a read-overlap graph generated by exhaustive pairwise alignment of a set of reads which co-localize in a specific genomic region. We tested the effect of the SSW library in this application against a standard SW implementation , as well as the score of the best secondary alignment. For speedup, we adopted the “lazy F loop” improvement proposed by SWPS3 . FurtherFile S1(DOCX)Click here for additional data file.


Protein structure comparison is one of the most widely performed tasks in bioinformatics. However, currently used methods have problems with the so-called "difficult similarities", including considerable shifts and distortions of structure, sequential swaps and circular permutations. There is a demand for efficient and automated systems capable of overcoming these difficulties, which may lead to the discovery of previously unknown structural relationships.We present a novel method for protein structure comparison based on the formalism of local descriptors of protein structure - DEscriptor Defined Alignment (DEDAL). Local similarities identified by pairs of similar descriptors are extended into global structural alignments. We demonstrate the method's capability by aligning structures in difficult benchmark sets: curated alignments in the SISYPHUS database, as well as SISY and RIPC sets, including non-sequential and non-rigid-body alignments. On the most difficult RIPC set of sequence alignment pairs the method achieves an accuracy of 77% (the second best method tested achieves 60% accuracy).http://bioexploratorium.pl/EP/DEDAL.DEDAL is fast enough to be used in whole proteome applications, and by lowering the threshold of detectable structure similarity it may shed additional light on molecular evolution processes. It is well suited to improving automatic classification of structure domains, helping analyze protein fold space, or to improving protein classification schemes. DEDAL is available online at  The methods of protein structure alignment play a crucial role in computational and structural biology. However, despite extensive research, comparison of protein structures still remains an open subject. Even in the category of the most straightforward approaches which focus on finding the largest possible sets of superimposable amino-acids, treating structures as rigid entities and preserving the order of aligned residues, there is no definitive "best of all" method . Furtherα-match [α-match [The reason behind the aforementioned problems is the fact that proteins which in fact are fairly elastic objects are represented by fixed atomic coordinates in 3D space, usually obtained from crystallographic experiments and most methods focus on finding a superposition which would minimize the distance between the respective amino-acids. Such a paradigm greatly simplifies the difficult task of identifying equivalent residues and thus may be very appealing, but is incapable of distinguishing between regions which are strongly stabilized by actual protein interactions and those which are of looser composition. The major approaches to structure superposition, including comparing intramolecular inter-residue distances , matchiα-match , 3D motiα-match , growingα-match ). In priα-match ). Still α-match ), spheriα-match ), and ge[α-match ). To spe[α-match , FlexPro[α-match , ProtDef[α-match , FlexSna[α-match ). For an[α-match .Methods which attempt a decomposition of protein structures to smaller blocks are most likely to suffer from combinatorial complexity. While in principle they should be capable of finding alignments unconstrained by amino-acid sequence (i.e. with permutations or segment swaps), finding such an alignment is likely to be computationally prohibitive. Therefore, most approaches do not allow for sequential rearrangements. This is of less importance in the case of the methods using relatively large SSEs. However, one of the disadvantages of using SSEs is that the active sites are frequently small and contained in the coiled regions, and it is particularly important to align these correctly. Another method of curbing combinatorial complexity is to use the scoring function based on the rigid-body superposition, possibly allowing for "hinges" between superposable rigid parts. To date, we are aware of only one method capable of computing non-rigid alignments with sequential permutations (FlexSnap ). It shoFinding an elegant way to address the aforementioned difficulties has been a motivation behind developing DEDAL. It is based on a formalism for representing and comparing local structure, the so called Local Descriptors of Protein Structure (LDPS) ,28. In aOur method performs comparison based on local structural similarities. After all of the local descriptors in each structure are identified, they are compared against each other. Pairs of similar descriptors are then used as building blocks for the alignment. For a schematic diagram of the alignment process see Figure A local descriptor is a small part of a structure that can be viewed as a residue-attached local environment. In principle, it is possible to build a descriptor for every residue of a given protein. This process begins by identifying all residues in contact with the descriptor's central residue. Elements are then built by including two additional residues along the main-chain, both upstream and downstream of each contact residue. Any overlapping elements are concatenated into single segments. Thus, a descriptor is typically built of several disjoint pieces of the main chain Figure . It reflUsing more complex building blocks resulted in several problems which had to be solved. The first was assessing similarity between descriptors. In the case of single segments of the same length, it is easy to compute RMSD between respective amino-acids. When comparing descriptors, we first have to identify the mapping between their residues and only afterwards can we compute the RMSD between them. We consider the two descriptors similar and the resulting sequence alignment valid only when descriptors display sufficiently similar residue-residue contact patterns and the corresponding RMSD is sufficiently small. In our implementation we search for all alignments with a total RMSD not exceeding 2.5Å, and such that at least half of the segments in each of the descriptors are aligned.To extend the alignment to whole structures we employ a three-stage process. First, we find all pairs of similar descriptors and their respective structural alignments. To discover significant similarities between local structures and avoid small accidental matches, we consider only alignments that consist of at least three segments, postponing the use of the two- and single segment descriptors to the final stage of the algorithm. Each such alignment can be considered as a building block for the alignment of whole structures. Obviously, not all blocks fit together, but those that do can be combined into larger alignments. In the second stage, we identify the largest sets (with respect to the number of residues) of non-conflicting descriptor pairs, i.e. the largest building block assemblages. From a mathematical point of view, this is a clique finding problem. In the final stage we use the remaining descriptor alignments, which were previously set aside, and add them to alignments from the second stage, but only if they overlap with the alignment being built. The resulting alignments have the following properties:• Each pair of aligned amino-acids belongs to at least one pair of aligned descriptors, which implies that their respective local neighborhoods are preserved,• There does not necessarily exist a superposition of aligned amino-acids, the alignment may have to be divided into several independently superposable parts,• Alignments may contain permutations of segments.Our approach is of a non-rigid-body type but, contrary to other non-rigid-body methods, it does not attempt to find "hinges" which might make superposition possible. Rather, it ensures that alignment can be broken into separately superimposable regions, which are large enough to be structurally meaningful. In particular, separating stages two and three guarantees that each region will contain at least one three-segmented descriptor. The third property provides the ability to handle "difficult similarities". During the process of building an alignment, no restrictions are placed on the order of segments in the resulting mapping. Therefore, two similar proteins with different threading, but similar arrangements of secondary structure elements, can still be aligned. Using the terminology employed by CATH , it is pThe algorithm can be adjusted by modifying the internal scoring function. The most basic score is simply the number of aligned residues. It is also possible to limit the maximal offset between aligned residues. If the lengths of compared chains differ then offset is measured relative to the closest of shortest possible (i.e. ungapped) alignments or allowing gaps only in the shorter of the two protein chains. Sometimes, it is undesirable to find alignments with permutations. In such cases it is possible to take the largest sub-alignment which has no more than a given number of swaps. This, for example, permits searching explicitly for circularly permuted proteins.As mentioned above, DEDAL is not restricted to finding rigid-body superpositions. This feature can be exploited in two ways. Firstly, it can be used to discover several disjoint, differently arranged similar substructures within one pair of proteins (e.g. domains or subdomains). Secondly, it can be used to address minute local differences which in a gradual continuous way may result in a global RMSD too large to handle for the traditional rigid-body methods.The performance of structure superposition methods is commonly tested by (a) rigid-body RMSD and (b) the extent of the obtained superposition. While in many cases this is a valid approach, in many others alignments containing local alignment errors  are indistinguishable from correct ones. This in turn may result in misleading assessments of performance, especially in cases of low structure similarity, at which DEDAL is primarily aimed. Therefore, we resort to the manually curated structural alignments and a simple measure of how accurately they are reproduced by the automated approach. The numerical measure we use is the ratio of the number of residue pairs aligned in the same way in both the computed and curated alignments, and the size of the curated alignment. As a reference we use alignments compiled in (a) the SISYPHUS database , (b) theThe SISYPHUS database contains manually curated alignments for proteins with non-trivial relationships, which are divided into three categories . Similarities in the homologous sequence and fold categories are usually large enough to encompass a significant portion of the aligned structures and thus present a good benchmark for the structural alignment software. Each multi-alignment in SISYPHUS consists of at least two structures with a common substructure. It frequently occurs that some of these structures are almost identical. We chose to filter out all structures with at least 80% of residues superimposable within the distance not greater than 2Å. This was done with the LGA structure alignment program . A greed1. SCOP - alignments comprising structures which can be related to domains in the SCOP database,2. MD - alignments containing multi-domain structures,3. MC - alignments containing multi-chain structures.Machine parsable lists of alignments can be found in Additional files Structures in the PDB very often contain multiple chains filling a unit cell within a crystal. An undesired redundancy may be created if the entire contents of the unit cell are compared. Therefore, we have used the PDB "biological units" whenever possible.The SISY set contains 69 non-redundant pairs selected from the SISYPHUS database by Mayr et al. . From eaThe RIPC set comprises 40 pairs of SCOP domains also selected by Mayr et al. . These, We have executed the TS+CTS and CTS+CTS algorithms (see Methods) on all pairs of structures from the pruned SISYPHUS alignment set, computing for each algorithm at most the 5 largest alignments which differ significantly, and selecting the one that was most similar to the alignment curated in the SISYPHUS database. Computing more than one alignment is necessary because the SISYPHUS reference alignment is not always the largest or the best one, for example when the compared structures contain repeated motifs or internal symmetries which make alternative superpositions/alignments possible. This fact has been also noted by Mayr et al. .For the single chain structures we repeated this experiment using DALI  with the-4 or lower). It also performs better then FATCAT  and MATRAS , and performs on a par with DALI. On the more difficult RIPC set, it performs significantly better than all other methods .We have also used the protocol described for the SISYPHUS dataset above to generate alignments for the SISY and RIPC sets. We have compared the results of the TS+CTS and CTS+CTS algorithms (see Methods) with results for CE, DALI, FATCAT, MATRAS, CA and SHEBA as computed by Mayr et al.  and FlexWe have implemented the described algorithms in C on the Linux platform. The typical running time of a single comparison of a pair of structures using the TS and CTS algorithms ranges from seconds to a few minutes (on a 2.6 GHz AMD Opteron CPU), depending on the number of pairs of similar descriptors. In some cases, when structures are composed of several similar subdomains (e.g. propeller folds), the running time can reach several hours. We extracted 14 of the most computationally intensive cases and used them to test the REMC algorithm. We have experimentally determined the optimal number of replicas, the frequency of replica exchanges and the number of iterations required to reach globally the maximal score. The running time of the Monte-Carlo algorithm is mostly dependent on these three factors, therefore typically any pair of structures can be aligned in a few minutes. In the experiments described above, the REMC algorithm was used as a fallback option in the cases where combinatorial algorithms failed to finish in 120 seconds.http://bioexploratorium.pl/EP/DEDAL. The website also provides Linux binaries of the software. The server can be used to align structures identified by PDB or SCOP accession codes or supplied in uploaded files. Both TS+CTS and CTS+CTS algorithms are available, along with other modes potentially useful for the advanced user to cope with special cases, or to provide more insight into the behavior of DEDAL. It is also possible to define the parameters of the scoring function . Results are presented in HTML format. Superpositions can be downloaded as PDB files or RasMol scripts, and also viewed through the Jmol applet. The alignments are available in FASTA format and as a list of corresponding residue ranges.We have made DEDAL available online at To illustrate the capacity of the descriptor based approach we present three cases of difficult structure alignments not handled effectively by methods limited by the rigid-body or sequence-dependence constraints.d1nkla_) comprises five α-helices, conforming with the "folded leaf" architecture  of aspartic proteinase prophytepsin has the same architecture, but the helices are in a different order . In contrast, DEDAL yields an entirely accurate superposition in this region  control a range of cellular events. They act as e motifs . There ee motifs  which coe motifs , many stn Figure  and 6d.d1l5ba_) and NMR (d1l5ea_) structures have a slightly different arrangement of subdomains  and geometrical centers of side-chains C R(Cd) . If either α d≤ 6.5Å, or Cd≤ 8Å and α d- C d≥ 0.75Å (second condition favors residues whose side-chains point towards each other), we consider two residues to be in contact. In the second step, we build elements around selected residues by taking four sequential neighbours, two on each side. Finally, overlapping elements are merged into segments.Descriptors have already been applied in several studies ,28,52-55certain. Otherwise, if it satisfies regular thresholds, it is considered optional.Thresholds used for contact determination are based on the range of intra-molecular interactions. However, in this study we came to the conclusion that contacts with distances close to their respective cutoffs require special treatment. Otherwise, when comparing two descriptors, an element which barely fits within a threshold in one descriptor might have a counterpart just outside of it in the second one. In such a case, two otherwise similar descriptors might be considered different. Therefore, we use a rough set approach . We use β-sheet). In the case of the hairpin-like motifs, segments are divided at the hairpin to mirror the secondary structure more accurately. This scheme of counting segments is required to properly define three-segmented descriptors as crucial to a given conformation and alignment, and was applied for the first time in this study.Descriptors were designed to explore the structural neighborhood of their central amino-acid. Some descriptors, especially those built around surface residues, comprise only one or two segments. Frequently in this study, we refer to about three- or more segmented descriptors, which are expected to reflect the characteristics of a particular protein fold . The number of segments in descriptors may reach ten, giving over 106 potential alignments. Furthermore, it is unreasonable to demand that in similar descriptors all amino-acids should be aligned. To cope with these difficulties, we use a heuristic procedure based on the following principles:Fragment based methods typically use single segments of the same length, which are easy to compare, because the correspondence between residues  is implicitly defined. In the case of descriptors, the alignment has to be computed as a part of the comparison process. If segments are of different lengths, all offsets have to be assessed. In the case of multisegment descriptors, all assignments of segments should, in principle, be tested ,5. at least half of the segments must be aligned,6. RMSD of aligned residues must not exceed 2.5Å.k nearest residue neighbors) to carry out the structural alignment. They attempt to find a maximal common subgraph between their k-structures (in our case this task is accomplished through a contact guided systematic search). They report results for comparisons of 6 residues per neighborhood and note difficulties for comparing neighborhoods larger than 15 residues. Finally, they do not explore informational potential offered by the neighborhood approach to generate non-rigid body superpositions.We search through all alignments satisfying the conditions above. Firstly, we find all pairs of elements satisfying conditions 3 and 4. In the second stage, we construct all possible assemblies of those pairs and check for condition 6. If it is not met, these sets are reduced by removing the least fitting pairs of elements, until either condition 6 is met, or condition 5 is no longer satisfied. It should be noted that this process is totally sequence independent . Because elements are the smallest indivisible blocks, it is possible that one segment will be aligned to two smaller ones which are a few residues apart. When computing condition 5, unaligned contacts which are optional in both descriptors are disregarded. It should also be noted that the approach of Bhattacharya et al.  uses a sS3 contains alignments which have at least 3 segments. The second set S1 contains all the remaining alignments. The rationale behind this division is that alignments from S3 are likely large enough to encompass a significant similarity by themselves. Alignments in S1 are small and should be used only to extend structural alignments built with blocks from S3.In comparing two protein structures our first step is to find all similarities between their descriptors. All descriptors generated from the first structure are compared with all descriptors from the other, and alignments satisfying conditions described in the previous section are recorded. They are divided into two sets. The first set Each pair of aligned descriptors can be viewed as a partial alignment between structures. Such partial alignments can be combined to form a larger alignment if they are consistent in the overlapping parts or do not overlap at all. The solution computed by DEDAL is the largest (highest scoring) alignment that can be constructed from alignments of the individual descriptors. One should note that a set of partial alignments can be combined if and only if all its members are consistent with each other.G, and that there is an edge between two nodes if the corresponding alignments are consistent. In such case a clique in graph G can be interpreted as a valid alignment between the structures (Clique in a graph is a subset of nodes such that every two nodes in the subset are connected by an edge.). As long as the function used to score the alignments doesn't decrease with the clique growth, maximal alignments can be found by looking for the maximal cliques.Finding the best alignment between structures is an extension of the clique finding problem in graphs. Let us assume that alignments between descriptors are nodes of an undirected graph kth level of the tree correspond to the decision of including the kth graph node in the subset).We use a branch-and-bound algorithm, which attempts to build all possible cliques, while preserving a required number of the highest scoring alignments. The algorithm traverses a decision tree, where each node corresponds to a decision whether to add a respective descriptor pair to the clique or not .Obviously if a node cannot be a part of a clique in a given branch it is always rejected. In order to make this computation feasible we introduced two optimizations (cuts). A tree branch is abandoned if it is headed by a clique, which can be unambiguously expanded with a previously rejected node. In such a case all maximal cliques in that branch should contain that node, but such cliques belong to another branch of a decision tree. This ensures than only maximal cliques are obtained and each is constructed exactly once. Another optimization is based on the assumption that only the largest alignments  should be considered. Therefore, if the lower bound of the size of a significant solution is already known , it can be used to abandon certain tree branches as long as the estimate of the maximal alignment size is lower. Such estimate can be computed as a sum of a size of the alignment being built, and a number of residues outside this alignment covered by descriptor pairs, which are yet to be considered. Some of them are contradictory, and cannot be combined in one alignment, but still such upper bound is frequently low enough to abandon significant portions of a decision tree. We call this method a S3 with elements from S1. We call this algorithm a Constrained Tree-Search algorithm (CTS). In the second phase of the computation, either algorithm can be used to assemble elements from S3; CTS is always used during the third step. Abbreviations TS+CTS and CTS+CTS denote these two variants, respectively.We have also developed a modified version of the TS algorithm which extends the clique only if the subalignment which is being added has common residues with the alignment being extended. This mode can be used to make sure that the computed alignment comprises only one structurally continuous fragment. It is also used to extend alignments found by the TS algorithm in the set n C= {d1, d2, ..., nd} be the clique defining a state at the nth step. The clique nC+1 describing the state in the next step is generated as follows:In certain instances, owing to the large number of nodes and edges in the graph, accurate algorithms are computationally infeasible. Such situations are most often caused by the size of the structures combined with a high degree of self-similarity . Nevertheless, in these cases correct alignments are most likely easily identifiable by inspection. Therefore, it should be possible to easily detect them without a systematic search of the overwhelming solution space. Monte-Carlo methods  have a hd which doesn't belong to nC,1. randomly pick a graph node nC+1containing d and elements from n Cwhich are connected to d (one sees it is a clique),2. take a set nC+1, add them to nC+1.3. if there are graph nodes which belong to every maximal clique containing The parameters of the REMC method  have been chosen to reproduce accurate results in the shortest time. Our computational experiments have shown that in all tested cases REMC converges to the accurate solution.M), and maximal accepted sequence offset (k). If M is smaller than the actual number of swaps in the alignment, we compute only the largest sub-alignment containing at most M swaps. Sequence offset is used to obtain sequence dependent comparisons. It is assumed that there exists a direct 1:1 correspondence between the sequences of the proteins, and only residues aligned with offset not greater than k will be counted. This mode is especially useful for comparing models of the same protein in structure prediction applications [elements) of the backbone. These distances are averaged for each residue over all its contacts and for the whole alignment over all aligned residues. The result can be viewed as an average "tension" exerted on the two structures, when superimposed as elastic objects. This value raised to the power of 2 is subtracted from the number of aligned residues.Finding a useful alignment between two protein structures usually involves a compromise between the size of the alignment and its quality. Although DEDAL is designed to handle sequence permutations, segment swaps, etc., there are situations when it is desirable to construct alignments which preserve topology. Therefore, we introduce two control parameters: the maximal number of allowed sequence swaps  cited after Mayr et al. [r et al. .Click here for fileComparison of DEDAL and other methods preformance on the RIPC set. Percentage scores of reconstructing the reference alignments on the RIPC set. Letters in the type column denote: R - repetitions, I - extensive indels, P - permutations, C - conformational changes. Results for other methods (except FlexSnap) cited after Mayr et al. [r et al. .Click here for file


In this study we consider DNA sequences as mathematical strings. Total and reduced alignments between two DNA sequences have been considered in the literature to measure their similarity. Results for explicit representations of some alignments have been already obtained.We present exact, explicit and computable formulas for the number of different possible alignments between two DNA sequences and a new formula for a class of reduced alignments.A unified approach for a wide class of alignments between two DNA sequences has been provided. The formula is computable and, if complemented by software development, will provide a deeper insight into the theory of sequence alignment and give rise to new comparison methods.Primary 92B05, 33C20, secondary 39A14, 65Q30 Let us consider a DNA sequence as a mathematical string xi∈{A,G,C,T} is one of the four nucleotides, i=1,2,…,n, i.e. A denotes adenine, C cytosine, G guanine and T thymine. In these conditions, the sequence x is of length n. where x with another DNA sequence Our main goal is to compare the sequence  to measure the similarity between both strings and also to determine their residue-residue correspondences.Sequence comparison and alignment is a central and crucial tool in molecular biology. For example, Pairwise Sequence Alignment is used to identify regions of similarity that may indicate functional, structural and/or evolutionary relationships between two biological sequences (protein or nucleic acid) .For some recent developments and directions we refer the reader to -7 and 88 for a gCGT and ACTT, one can use EMBOSS Needle for nucleotide sequence  denotes the integer part of x.and [ Proof. If we expand, we have two summands to be computed, namely In order to compute the first sum (12) let us introduce Therefore, the summation to be done reads as U, V, A and B must be computed in terms of the initial indices. where The product of binomials can be simplified to  Thus,  and then Finally, the summation reads as  where A similar work with the second summand (13) leads to the final result.g=2003204, g=2.71972×1034, g=7.55997×1069, and we note that g>1080 for n≥115. This last inequality is relevant since 1080 is an estimation of the number of protons of our universe [Some numerical values are universe .A unified approach for a wide class of alignments between two DNA sequences has been provided. We conclude also that our approach gives an explicit formula filling a gap in the theory of sequence alignment. The formula is computable and, if complemented by software development, will provide a deeper insight into the theory of sequence alignment and give rise to new comparison methods. It may be used also, in the future, to get explicit formulas and compute the number of total, reduced, and effective alignments for multiple sequences.g is computed by using Mathematica®; in 0.125165 seconds by using the new formulas presented in this paper, while the use of Mathematica®; command Coefficient needs 99.167659 seconds.We have performed a number of numerical computations to compare our formulae and Mathematica®;  command The authors declare that they have no competing interests.Each of the authors HA, IA, JJN and AT, contributed to each part of this study equally and read and approved the final version of the manuscript.


Protein pairs that have the same secondary structure packing arrangement but have different topologies have attracted much attention in terms of both evolution and physical chemistry of protein structures. Further investigation of such protein relationships would give us a hint as to how proteins can change their fold in the course of evolution, as well as a insight into physico-chemical properties of secondary structure packing. For this purpose, highly accurate sequence order independent structure comparison methods are needed.Multiple-chain complexes, Inverse direction of secondary structures, Cα only models, Alternative alignments, and Non-sequential alignments). The algorithm was designed so as to identify the best structural alignment between protein pairs by disregarding the connectivity between secondary structure elements (SSE). One of the key feature of the algorithm is utilizing the multiple vector representation for each SSE, which enables us to correctly treat bent or twisted nature of long SSE. We compared MICAN with other 9 publicly available structure alignment programs, using both reference-dependent and reference-independent evaluation methods on a variety of benchmark test sets which include both sequential and non-sequential alignments. We show that MICAN outperforms the other existing methods for reproducing reference alignments of non-sequential test sets. Further, although MICAN does not specialize in sequential structure alignment, it showed the top level performance on the sequential test sets. We also show that MICAN program is the fastest non-sequential structure alignment program among all the programs we examined here.We have developed a novel protein structure alignment algorithm, MICAN (a structure alignment algorithm that can handle http://www.tbp.cse.nagoya-u.ac.jp/MICAN.MICAN is the fastest and the most accurate program among non-sequential alignment programs we examined here. These results suggest that MICAN is a highly effective tool for automatically detecting non-trivial structural relationships of proteins, such as circular permutations and segment-swapping, many of which have been identified manually by human experts so far. The source code of MICAN is freely download-able at  We calculate Mi,j(d1) based on the initial superimposition obtained by SSE level alignment, and generate alignments based on the matrix. The goal of this step is to find a set of non-overlapping continuous segments {A1(d1),A2(d1),⋯,An(d1)} that maximizes First, we align residue pairs that are superimposable with the smallest cut off value, n is the number of segments in the alignment. Since the exact solution of this problem is hard to obtain, our approach is to use greedy-like algorithms to find an approximate solution. First, the algorithm chooses the continuous segment that has the highest score of all the continuous segments on the matrix. We refer to such a segment as A1(d1). If S[A1(d1)] satisfies the condition, S[A1(d1)] ≥ Smin, A1(d1) is recorded as the first member of the set of best segments, where the cutoff parameter Smin is set to 2.2 in this paper. Then, in order to choose the next segment, we modify the matrix Mi,j(d1) such that matrix elements interfering with A1(d1) are set to zero. In other words, if the selected segments A1(d1) is described as A1(d1) = {,,⋯,}, matrix elements whose row number is i (α ≤ i ≤ α + l − 1) or whose column number is j (β ≤ j ≤ β + l − 1) are set to 0, except for A1(d1) itself. We also set matrix elements of the segment A1(d1) to zero so that we won’t select A1(d1) as a highest score segment in the following steps. Next, we choose the continuous segment that has the highest score of all the continuous segments on the modified matrix. We refer to such a segment as A2(d1). If S[A2(d1)] ≥ Smin, A2(d1) is recorded as the second member of the set of best segments. Further, we modify the matrix such that matrix elements interfering with A2(d1), as well as those of A2(d1), are set to zero. We repeat this procedure until the highest score of all remaining segments on the modified matrix is smaller than Smin. As a result, we obtain a set of non-overlapping segments that approximately maximize the total score Stot(d1) for given cut off distance d1. We describe such a set as n(d1) is the number of the best segments for the given cut off value d1.where dR from d2 to d3 in a step wise manner. For each R-th step, as in the case of d1, we calculate the similarity matrix Mi,j(dR) according to the equation (9). We modify the matrix Mi,j(dR) such that matrix elements interfering with any of the Ai(dR−1) are set to zero, where Ai(dR−1) is a segment involved in the best alignment obtained in (R−1) -th step. This operation assures that the matrix elements of the best segments identified in (R−1) -th step are included in the best segments of R-th step. Then, the algorithm chooses the segment that has the highest score of all the segments on the modified matrix. It is recorded as the first member of the best segments in R-th step. We denote such a segment as A1(dR). Next, we further modify the matrix such that matrix elements interfering with A1(dR), as well as those of A1(dR), are set to zero. We repeat these procedures until the highest score of all remaining segments on the modified matrix is smaller than Smin, for given cut off dR. The resultant best set of non-overlapping segments for dR is described as n(dR) is the number of the best segments for the given cut off value dR.Second, we extend the alignment with increasing the cut off value d2 to d3, we finally obtain the set of non-overlapping segments for d3, {A1(d3),A2(d3),⋯,An(d3)}, which is used as the initial alignment in the iterative refinement step.By repeating the same procedure from α atoms based on the aligned residues identified in the previous step. Second, based on the superposition, we obtain a new alignment by the method as was described in the first step of the residue level alignment. These procedures are repeated until the score no longer improves. The score we use here is modified TM-score, which is defined as The final step of the algorithm is refinement of the alignment. It is performed iteratively as follows. First, we superimpose the structures by minimizing the RMSD of CN is the length of the query, and Here, Since the score function used in the SSE level alignment is different from that in the residue level, the top scoring superposition obtained in the SSE level alignment may not always lead to the best scoring alignment in the residue level. We explored the relationship between the two scoring function and found that although they did not have perfect linear relationship, there was a strong correlation between the two. Further, we confirmed that if we started from each of the top scoring 50 superimposition of the SSE level alignment, we reached the highest mTM-score in the residue level alignment in most cases. Thus, in order to obtain as high scoring an alignment of the residue level as possible, MICAN performs the residue level alignment starting from each of the top scoring 50 superposition of the SSE level alignment. An alignment with the highest mTM-score among those 50 alignments is returned as the best alignment. MICAN program can output sub-optimal alignments, if the user specifies the option of output of alternative alignments.It has been reported that there are many interesting examples of non-sequential structure alignments that involve reverse alignments, in which SSEs structurally match each other but the polypeptide chains go in opposite directions ,21. MICA• The function Θ in equation (7) is changed as α,β),,⋯,}.• In the residue level alignment, we consider not only forward segments but also reverse ones, which is described as {. We determined these parameters by maximizing agreement with the reference alignments of SISY-pairwise dataset [dR used in the residue level alignment.There are a number of parameters that need to be optimized in MICAN algorithm, such as  dataset  through  dataset , a manuadR in each step R as d1 = R0, d2 = 1.5 × R0 and d3 = 2.5 × R0, where R0 is the cutoff parameter. Thus, the single parameter R0 determines the behavior of dR. Figure R0 for the SISY test set. We clearly see that the optimal value is located near R0 = 3 Å, and that the mean Q-score sharply drops as R0 value changes from the optimal point. Another is the voxel size h used in geometric hashing algorithm. We observed that the voxel size dependence of the mean Q-score is qualitatively similar to the case of R0. Preliminary numerical tests on a variety of dR and h values led to the choice of R0 = 3.2 Å and h = 3.2 Å. The other parameters seems to be not critical for the performance. After the training, MICAN finally achieved high agreement (86.2% on average) with the reference alignments. This agreement is better than that of DaliLite (77.4% on average), which is known to be one of the best structure alignment program. We believe that the parameter set we determined is nearly optimal, although it has not been optimized systematically.In this work, we set As sequential test sets, we chose MALIDUP and MALIThese two test sets are one of the most challenging benchmark sets, because they contain more difficult targets than other databases such as HOMSTRAD ; We perfWe created two artificial non-sequential test sets “MALIDUP-ns” and “MALISAM-ns” based on the sequential sets, MALIDUP-sq and MALISAM-sq, by multiple segment permutations technique. This technique is also used for production of reasonable decoy sets of protein structures, conserving natural spacial arrangement of atoms ,51. The (1) We chose one protein structure randomly from each target pair, and identified loop regions by DSSP program .(2) The chain was splitted into several segments at all the loop regions.(3) The linear order of these segments was randomly shuffled, and the residue numbers were reassigned accordingly. We did not perform loop modeling for those permuted structures.(4) Reference alignment of the each target pair was modified according to the reassigned residue numbers.http://www.tbp.cse.nagoya-u.ac.jp/MICAN.In this way, we generated one non-sequential reference alignment from each sequential reference alignment. Performing the same procedure for all the sequential test sets yields 241 and 130 non-sequential alignments from MALIDUP-sq and MALISAM-sq. The sequential/non-sequential test sets we used here are available online at The authors declare that they have no competing interests.SM designed and carried out research and drafted manuscript. KS discussed and helped to design MICAN methodology. GC coordinated and designed research and drafted manuscript. All authors read and approved the final manuscript.