Whole-genome alignment is an important problem in genomics for comparing different species, mapping draft assemblies to reference genomes and identifying repeats. However, for large plant and animal genomes, this task remains compute and memory intensive. In addition, current practical methods lack any guarantee on the characteristics of output alignments, thus making them hard to tune for different application requirements.We introduce an approximate algorithm for computing local alignment boundaries between long DNA sequences. Given a minimum alignment length and an identity threshold, our algorithm computes the desired alignment boundaries and identity estimates using kmer-based statistics, and maintains sufficient probabilistic guarantees on the output sensitivity. Further, to prioritize higher scoring alignment intervals, we develop a plane-sweep based filtering technique which is theoretically optimal and practically efficient. Implementation of these ideas resulted in a fast and accurate assembly-to-genome and genome-to-genome mapper. As a result, we were able to map an error-corrected whole-genome NA12878 human assembly to the hg38 human reference genome in about 1 min total execution time and <4 GB memory using eight CPU threads, achieving significant improvement in memory-usage over competing methods. Recall accuracy of computed alignment boundaries was consistently found to be https://github.com/marbl/MashMap Algorithms for inferring homology between DNA sequences have undergone continuous advances for >3 decades, mainly in the direction of achieving better accuracy to compare distant genomes, as well as better compute efficiency to scale with growing data. Up until the last decade, reconstruction of a complete reference genome through sequencing and assembly was deemed a major landmark in genomics  and R (reference) of length l0 or more, such that R with per-base error-rate Consider all local mappings of the form k-mers are independent entities in sequences. For a given per-base error rate threshold k-mer spectra of the read and its mapping region to the alignment-error rate, under the assumed error distribution model.In our approach, we leverage our previous alignment-free end-to-end read mapping algorithm, designed for mapping noisy long reads  segments. In practice, there can be multiple alignments with equal scores. Therefore, segment scores are allowed to be non-unique.Suppose all output mappings of a query sequence are laid out as weighted segment intervals, with the alignment scores used as weights . We propA sub-optimal n segments have an intersecting pair has a trivial sweeps a vertical line from left to right, and while doing so, the sweep-line status data-structure n endpoints of the input segments, and the order of segments in Similar to the filtering problem, the problem of detecting whether n endpoints is sufficient to identify all good segments. However, evaluating all intersecting segments at each endpoint is inefficient, and again leads to a quadratic algorithm. Therefore, we devise a new ordering scheme among segments which will enable us to evaluate only a subset of intersecting segments at each endpoint.In our problem as well, evaluating segments which intersect the vertical sweep-line at 2We define an order between segments as follows: Between two segments, the segment with higher score is considered as greater, but if the scores are equal, then the segment with the latter starting position is considered as greater. This particular ordering helps avoid redundant computations, and will be crucial for bounding the runtime later.insert(s). Insert segment s into delete(s). Delete segment s from mark_good. Mark all segments with highest score as good in Similar to the Shamos–Hoey algorithm, we also use a height-balanced Binary Search Tree (BST) as the data-structure for the sweep-line status insert and delete operations are naturally supported in mark_good function can be realized as a sequence of maximum and predecessor operations. If there are k segments with equal and highest scores in mark_good uses n segment endpoints, which is analogous to the sweep line moving from left to right, halting at the 2n points. In each iteration, we update the sweep-line status good using the mark_good function.Algorithm 1 solves the filtering problem correctly.pos. Clearly, a union of all subsets in the domain of function S equals the set of good segments. If we perform a linear scan on the domain, from begin to end position of the query sequence, then value of S can change only at the 2n endpoints of the segments. Therefore, the highest scoring segments overlapping at the 2n endpoints constitute the set of good segments, which is precisely what Algorithm 1 computes.□Consider a function Note that the mark_good function. In this function, we mark the highest scoring segments in the tree good. We execute this by traversing the segments in decreasing order in good already. This helps to avoid redundant computations, and the algorithm still remains correct due to the following property:j has been marked good in one of the previous iterations of the algorithm, then the segments Consider all the segments with equal and highest scores in i, and we are currently executing iteration i + 1. Segments js was marked good. Then, the sweep line must have intersected the segments js was marked, then the segments The aforementioned property is satisfied by default during the first iteration of the algorithm because there cannot be any previously marked segments. Suppose this property remains true till iteration insert and delete operations in Algorithm 1 is clearly mark_good function marks at most n segments throughout the algorithm, its runtime is also bounded by The total cost of sorting, Given n alignment segments, Algorithm 1 solves the alignment filtering problem in The above proposed filtering algorithm is optimal given the objective function.n integers, decide whether they are all unique) is known to have a lower bound of The INTEGER ELEMENT UNIQUENESS problem , which includes the Nucmer4 alignment program for comparing DNA sequences  as a bask-mer or seed length). Default k-mer size in Mashmap2 is 16. We mostly conform to default parameters with all software tested, except as noted below. Mashmap2 mainly requires a minimum length and identity for the desired local alignments. In this test, we targeted long alignments, and accordingly fixed the minimum alignment length requirement as 10 Kbp. We set the minimum alignment identity requirement for all the datasets based on their input characteristics as {D1–D2: 95%, D3–D5: 90%, D6: 80%}. Accordingly, we tested Mashmap2 for reporting the alignment boundaries as per the provided requirements. Filtering modes were set to one-to-one and map for datasets D1–D5 and D6, respectively. Nucmer4 was run with default parameters, followed by running delta-filter, both components of the MUMmer package. Following its user documentation, delta-filter was executed with −1 parameter to construct one-to-one alignment map in datasets D1–D5 and –q parameter for read mapping in D6. Finally, Minimap2 supports genome-to-genome mapping mode using –x asm5 flag, and nanopore read mapping mode using -x map-ont. We executed all three software in multi-threaded mode using eight CPU threads. All comparisons were done on an Intel Xeon E5-2680 platform with 28 physical cores and 256 GB RAM.Each software, including ours, exposes many parameters , conforming to the local alignment identity and length requirements provided by the user. Auto-tuning can help achieve faster runtime and reduce memory-usage with increasing identity and length thresholds  to compute the alignments. The precision score of Mashmap2 averages to 57.5% across all the datasets, varying from 34.8% (in D6) to 75.9% (in D4). The corresponding scores for Minimap2 using the same threshold values are much lower (average = 15%), but Minimap2 follows different design principles and lacks similar guarantees on the characteristics of its output. In the current context of tasks that require such guarantees, Mashmap2 provides better precision on all datasets.Next, we evaluated the precision, i.e. what fraction of Mashmap2 mappings yield one or more alignments above the specified length and identity thresholds. We used LAST  and mitochondrial DNA from the hg38 version of the human genome as our input sequence set. To compute all Alus) from the genome. Therefore, this database is not an exhaustive set of all The UCSC Segmental Duplications database for the hg38 human genome was computed using a standard pipeline proposed by To measure recall on each chromosome, we computed coverage of those UCSC duplication annotations that have overlap with Mashmap2 duplications, and divided it by the coverage of all UCSC duplication annotations. Therefore, a 100% recall score would imply that all base-pairs which are annotated as segmental duplication in the UCSC database are part of one or more Mashmap2 alignments. We show these recall scores for each chromosome as well for the complete genome in https://gembox.cbcb.umd.edu/mashmap/index.html.Finally, we compared the coverage of our alignments versus the UCSC database. Since our method did an exhaustive search of all duplications with romosome . For theIn this work, we presented a fast algorithm for computing homology maps between whole genomes. We have given both theoretical and experimental evidence of the sensitivity provided, in terms of computing local alignment boundaries based on the minimum alignment length and identity parameters. To the best of our knowledge, this is the first practical and scalable algorithm to provide such guarantees. This formulation grants a convenient mechanism for users to execute this algorithm based on the underlying applications, including (but not limited to) mapping genome assemblies of variable quality, aligning long reads to reference genomes, or computing segmental duplications in large genomes. Additionally, we formulated a filtering heuristic, and proposed an optimal plane-sweep based filtering algorithm for prioritizing alignments based on their scores and locations. The filtering algorithm is practically fast, accurate and easy to implement in few lines of code using standard libraries. When mapping a human genome assembly to the human reference genome, Mashmap2 takes only about a minute from reading input sequences to generating the final alignment boundaries, identity estimates, and a dot-plot for visualization. Because of the underlying auto-tuning mechanism in Mashmap2, performance depends on the sensitivity requirements provided to the algorithm. As the pace of whole-genome sequencing continues to increase, faster practical algorithms and theoretical advances will help analyze available and forthcoming data.Although our algorithm optimizes mapping of a single genome assembly to a single reference genome, its runtime would scale linearly when mapping to multiple reference genomes. Planned future work includes development of sub-linear algorithms using existing ideas of non-linear reference genome representations. We also plan to evaluate biological novelty of the human segmental duplications computed in this work.


A tool which intensively searches for the globally optimal non-sequential alignments is rarely found. We propose ALIGN-CSA which shows improvement in scores, such as DALI-score, SP-score, SO-score and TM-score over the benchmark set including 286 cases. We performed benchmarking of existing popular alignment scoring functions, where the dependence of the search algorithm was effectively eliminated by using ALIGN-CSA. For the benchmarking, we set the minimum block size to 4 to prevent much fragmented alignments where the biological relevance of small alignment blocks is hard to interpret. With this condition, globally optimal alignments were searched by ALIGN-CSA using the four scoring functions listed above, and TM-score is found to be the most effective in generating alignments with longer match lengths and smaller RMSD values. However, DALI-score is the most effective in generating alignments similar to the manually curated reference alignments, which implies that DALI-score is more biologically relevant score. Due to the high demand on computational resources of ALIGN-CSA, we also propose a relatively fast local refinement method, which can control the minimum block size and whether to allow the reverse alignment. ALIGN-CSA can be used to obtain much improved alignment at the cost of relatively more extensive computation. For faster alignment, we propose a refinement protocol that improves the score of a given alignment obtained by various external tools. All programs are available from  Because protein three-dimensional (3D) structures are closely related to their functions, protein structure alignment is an indispensable tool in investigating structural similarities of related proteins and classifying them in the evolution tree. The philosophy of the template-based modeling of protein 3D structures is based on the observation that proteins of similar amino acid sequences are of similar 3D structures. For this reason, protein structure alignment is frequently used not only for the 3D modeling of proteins when dealing with multiple templates but also for similarity evaluations of given structures.α atom positions. In general, alignments are carried out on the residue basis, and aligned residues are not necessarily of identical side chains.A structure alignment of two given protein structures generally provides two types of information: the alignment score quantifying the similarity of the two structures and the alignment itself indicating the equivalence between aligned parts in terms of their Cα atom of one protein can be aligned to any Cα atom of the other protein. However, most of the alignment methods listed above allow only sequential alignment. That is, for any two aligned residue pairs,  and  with i < k, the condition of j < l is applied. This restriction reduces the number of possible alignments drastically, which in turn speeds up the processing time for dynamic programming [Over the past two decades, various protein structure alignment schemes have been proposed. Popular methods include DALI , 2, CE , ProSup gramming  or combigramming  algorithgramming . Among tgramming  is curreRecently, many non-sequential alignments have been proposed including GANGSTA+ , FlexSnaWhen the block size is greater than 1, whether the reverse alignment is allowed becomes another issue. Reverse alignments at first seem rather counter-intuitive in terms of the physico-chemical properties of the protein backbone chain that is known to contain a well-defined electric dipole moment. On the other hand, from the viewpoint of side-chains, it can be argued that the effect of protein backbone is less critical (e.g. when considering contacts of side-chain atoms with a ligand molecule). Because of this, the reverse alignment can be considered as a viable option.α atoms) is long and the root-mean-square deviation (RMSD) between the aligned residues is small. This is generally achieved by optimizing a scoring function which determines the quality of an alignment. Generally speaking, it is not straightforward to evaluate the efficiency of a score function F1 against another one F2, since often, F1 may produce a longer alignment with a poorer RMSD value while F2 generates a shorter alignment with a better RMSD value. However, if the alignment of F1 Pareto dominates that of F2, i.e., the alignment of F1 is superior in both the alignment length and the RMSD value to that of F2, one can argue that F1 is better than F2.The goal of the structure alignment is to obtain an optimal superposition between two given protein structures, where the match length   method tThe global search is especially useful when a high quality alignment is required but not adequate for aligning a protein to numerous proteins in a large database because of long runtime. As an alternative, we propose a refinement algorithm which can refine a given alignment using a chosen scoring function. The algorithm is inspired by the asymmetric greedy search (AGS) algorithm  and deepA and B to be aligned, DALI-score is defined as follows:n is the number of aligned residue pairs and d0,DALI = 20 Å. The distance matrix α − Cα distance of protein A between two corresponding residues from two aligned residue pairs i and j. So is B.We note that the current implementation of CSA for global search and the refinement protocol can deal any scoring function for alignment. In this work, we considered DALI-score , SP-scorSP-score is defined as follows:dij ≤ 2d0,SP and neighboring residues are non-core residues located within 3d0,SP of any core residue. L is defined as the sum of the following two numbers: the number of core residues and the average number of neighboring residues of all the core residues. α = 0.3 and d0,SP = 4.0 Å.Core residues are defined as the residues where LA and LB are the chain length of protein A and B, respectively and d0,SO = 3.5 Å. We note that direct optimization of SO-score is technically problematic since the gradient of the formula is zero. Discrete conformational space are typically optimized by Monte Carlo quenching process. Without the gradient of the scoring function, local optimization cannot be performed efficiently. For this reason, we used a modified SO-score using the logistic function as follows:k = 10 Å−1. For both global and local alignments, we used SOL-score throughout the calculation, but the final scores were re-evaluated using the original definition of SO-score, or the structure overlap score is defined as follows:LN is either LA or LB and LA or LB. In this research, we used the average value of the two as the objective scoring function for optimization.TM-score is defined as follows:To search globally optimal alignments, we used the CSA algorithm and it was implemented using pycsa . DetailsTo apply CSA to an optimization problem, three ingredients should be provided: (1) a distance metric to measure the difference between two given solutions, (2) a local optimizer to improve a given solution, and (3) ways to generate daughter solutions from two parent solutions. The three prerequisites and details about the procedure are explained in We have devised a refinement algorithm to further improve the score of the final alignment of ALIGN-CSA. The refinement algorithm is a modified version of the AGS (Asymmetric Greedy Search) algorithm , 32 thatIn the current refinement procedure, by examining a given alignment to refine, we considered all possible local deletion and addition moves as described above, and all score-improving moves were stored in a move list together with their involved residue indices and the score differences. Then, the best score-improving move was taken, and this could invalidate some of the score-improving moves in the list because they were involved with the same residue. Therefore, they were removed from the list. From the beginning of the second iteration, among all the possible moves, only the moves involved with any residue affected by the previously accepted move were considered. If they improved the score, they were added into the list. The best-score improving move in the list was taken and the score improvement was re-calculated. If the move still improved the score, it was accepted. Otherwise, the move was discarded and the next best move was tried in the same way. As far as a move in the list was accepted, it proceeded to the next iteration to add moves in the list. This procedure was repeated until the the move list became empty.When constraints on the requirement of minimum block size or whether to allow the reverse alignment were applied, we performed the following preprocessing on the given input alignment. When reverse alignment was forbidden, all violated blocks were removed. This may leave the input alignment as a null set, and if this happened, we kept only one aligned pair per each block positioned at the center. When the minimum block size was violated, the violated block was removed. If this led to a null set, we extended all the largest-block-size blocks of the input alignemnt to minimum-block-size blocks.In order to benchmark the efficiency of the methods proposed in this work, we used four alignment datasets. The first set, DALISET  containsWe applied CSA with DALI-score to DALISET. Because neither web-based service nor the source code of the original DALI method is currently available, direct comparison between ALIGN-CSA with DALI-score (DALI-CSA) and the original DALI method is possible only for these five pairs. It should be noted that DaliLite  and DALIFor each of five protein pairs of DALISET, ten independent ALIGN-CSA runs were carried out and each run produced 100 final alignments. For each of the fifty ALIGN-CSA runs of the five protein pairs, the solution by ALIGN-CSA was more optimal than the one in the reference [Dcut reduction speed determines the annealing speed. Fast reduction of Dcut generally accelerates the convergence of solutions but with the increased possibility of failure to search an important part of the solution space. The current setting for the Dcut reduction (see CSA Procedure) was chosen to balance the computational cost of CSA and the robustness of the solution. It should be noted that no higher DALI-score solutions than shown in In CSA, the α-RMSD.DALI-CSA found not only tentative global optimal alignments but also many additional sub-optimal alignments whose DALI-scores were still higher than the reference scores. The numbers of the alignments with higher DALI-scores were 2 (1lyzA/2lzmA), 3 (1colA/1sdhA), 19 (1acxA/1cobB), 39 (1acxA/1tnfA) and 279 (1acxA/1madH). These numbers were counted at the end of DALI-CSA runs, hence the actual number of alignments with higher DALI-scores than the reference value can be even greater than the number listed here. We observe that, on average, the DALI-CSA alignment is of longer match length and of smaller CIn the original DALI method, all alignment blocks were constrained to be at least 4 residues long and reverse alignment was allowed. To understand the effect of these constraints and reverse alignment, we performed DALI-CSA using various minimum block sizes ranging from 2 to 8, and allowing and disallowing reverse alignments. In addition, alignment without any constraints, i.e., general non-sequential alignment was also investigated.The effects of the constraint conditions of the DALI-CSA alignment are summarized in Tables α-RMSD between two structures of the second protein was measured. In two cases, thus-measured largest RMSD value among the best alignments for general non-sequential alignment were fairly small (0.37 Å for 1atzA/1auoA and 0.22 Å for 1colA/1sdhA), suggesting that the variation among best alignments is rather small. But in the other two cases, the largest RMSD values were rather large (32.2 Å for 1lyzA/2lzmA and 38.4 Å for 1acxA/1madH), demonstrating that the variation among best alignments is significantly large. For these two cases, the generated DALI-CSA solutions with the general non-sequential alignment condition are quite different from each other and the results shown in Tables Another thing we noticed is that, as the constraint condition became less strict, the DALI-CSA result became less robust. For example, for the general non-sequential alignment with no minimum block size constraint, except 1acxA/1cobB, the best score alignment was reproduced with less frequency see . InteresIt is interesting to observe the large RMSD values of 1lyzA/2lzmA in All the scoring functions were optimized using the ALIGN-CSA algorithm for HOMSTRAD, SSDT, and RIPC sets. We used the four scoring functions, DALI, SO, SP, and TM for optimization. A single CSA run was carried out for each pair of proteins and collected 400 alignments. The minimum block size was restricted to 4 and reverse alignment was allowed. Three external tools were tested: CLICK, SPalignNS, and MICAN. When running the external tools, we used the default parameters of the tools but reverse alignment was allowed in running MICAN. Other tools allow reverse alignment by default. Essentially, it can be presumed that there is no minimum block size restriction on those tools. If a scoring function is absolutely superior to the others, it is desirable to optimize alignments more by applying a global optimization method. However, showing the superiority of a scoring function is complicated. The alignments produced by the external tools are the results of the alignment algorithm as well as the scoring function they use. By using a global alignment tool like ALIGN-CSA, one can compare the effect of the scoring function on the alignments without the alignment algorithm being affected. The mathematical improvement of the score itself by ALIGN-CSA is obvious as shown in p-value < 0.01), which demonstrates the performance of the refinement process. The external tools arguably does not restrain the minimum block size. If the minimum block size greater than one is chosen in the refinement process, the decrement of the score is inevitable due to the more restrictive alignment condition. However, even with the minimum block size of 4, the scores of the refined alignments are similar to those of inputs. The result implies that the refined alignments are less fragmentary while the alignment score is more or less similar.The outputs of SPalignNS, CLICK and MICAN from the three benchmark sets, HOMSTRAD, SSDT and RIPC were further refined by the refinement algorithm proposed in this work. SPalignNS is clearly designed to maximize SP-score. However, the objective scoring functions for CLICK and MICAN are not clear. Nevertheless, CLICK is intended to maximize SO-score and MICAN is intended to maximize modified TM-score according to the references , 39. NotThe result shows the qualities of the alignments after refinement. Initial alignments were generated by the external tools shown in the table. If the refined result of one method is better than that of the other, it can be assessed that the quality of the former initial alignment is better than the latter in terms of the scoring function used. The quality of the refined MICAN alignments consistently outperforms the others  except the HOMSTRAD set. Even in the HOMSTRAD set, the overall quality of the refined MICAN alignment is the second best with only small difference compared to the best result. Probably, the best alignments from HOMSTRAD set are largely in the form of sequential alignment and TMalign might have a strength on the sequential alignment. In any case, the success of the MICAN alignments in the refinement process does not mean that MICAN alignments themselves are high in terms of the scoring functions tested. Previous reports have shown that the score of MICAN alignment itself is lower in terms of SO-score . We presThe judgement for a better scoring function for alignment may depend on the purpose of the alignment. As discussed earlier, there is a trade off between the match length of the alignment and the RMSD value between the aligned part. However, if one alignment scoring function consistently generates alignments with longer match lengths and smaller RMSD values over another scoring function, it is reasonable to say that it is of better quality than the other. For the performance comparison of the four alignment scoring functions studied in this work  ALIGN-CSA was used to generate optimal alignments for HOMSTRAD, SSDT, and RIPC sets. For each ALIGN-CSA run, we collected a total of 400 alignments using the minimum block size constraint of 4. However, the run was extended further if any locally refined alignments by external tools were of higher scores than those found by ALIGN-CSA. The results are summarized in Although the longer match legnth and smaller RMSD can be a sure criterion for the better alignment in mathematical viewpoint, the biological relevance of the alignment still remains as a different issue. Both HOMSTRAD and RIPC set provide manually curated alignments and the alignments obtained in this research were compared with those reference alignments. Global alignment is useful in investigating scoring function and in the need of more optimized alignment. However, because of its longer running time , it might be difficult to use the algorithm in some routine processes scanning database. Since the refinement process takes a few seconds to minutes, it can be a relatively quicker way to improve alignment score in such cases. Topology-independent similarity between two protein structures can be detected only by non-sequential structure alignment. The structure alignment is usually carried out by optimizing a scoring function but obtaining the globally optimal solution is not trivial. Obviously, for proper evaluation of various scoring functions, a reasonably-efficient global search method is required. In this study, we proposed the ALIGN-CSA method capable of finding the global or near global alignment. Depending on the minimum block size and whether to allow the reverse alignment, the difficulty in finding the globally optimal alignment solutions varies. When the minimum block size is set to 4, the method shows quite robust results in spite of the stochastic nature of the method. The alignment found by ALIGN-CSA is expected to be (or close to) its global solution, and it can be used to benchmark the efficiency of various objective scoring functions. The qualities defined by match length and RMSD of the alignments obtained by four scoring functions showed that TM-score are the most effective followed by SP-score, DALI-score and SO-score, while the difference between the first two is marginal. The qualities defined by biological relevance of the alignments showed that DALI-score is apparently superior to the other score functions.We proposed a refinement protocol based on a modified DGS algorithm to improve a given alignment in terms of any scoring function. Not only it improves the objective scoring function, but also it is possible to adjust the minimum block size or whether to allow the reverse alignment. Therefore, the protocol can be useful in removing unwanted much fragmented and/or reverse alignments blocks. The quality of the input alignment for the refinement protocol is critical since the refinement protocol performs only the local search. We compared the alignments obtained by SPalignNS, CLICK, TMalign, and MICAN and identified the alignment method that produces the best results after refinement. MICAN alignments improved the most by refinement. When the alignment is refined with DALI-score, Generally, the refined alignments showed higher precision and recall. In the refinement, minimum block size 4 showed higher quality than minimum block size 1.http://lee.kias.re.kr and minimal data are in Till now, many structure alignment studies have been reported, but due to the notorious difficulty to obtain globally optimal alignment solutions, all the existing methods were focused on generating “fast” and reasonably good alignment solutions. The current study distinguish itself as the first attempt to generate rigorous alignment solutions by investing significantly more computational resources compared to existing methods. Due to the slow running time, the proposed global search method, ALIGN-CSA, may not be suitable for all-to-all alignment of a large database. However, ALIGN-CSA can be useful to evaluate alignment scoring functions as performed in this work. In addition, ALIGN-CSA can be a viable option when more accurate alignments are required as in the study of protein structure prediction. As demonstrated on the 286 alignment problems of difficult cases , ALIGN-CSA generated significantly improved alignment results using various scoring functions. As an alternative means, a rather quick refinement method is proposed. The method can improve the quality or the score of a given alignment typically generated by existing alignment tools. We also note that it is straightforward to apply the methods proposed in this work to other macromolecules such as RNA, DNA and carbohydrates and any objective scoring functions not considered in this study. All programs are available from S1 File(PDF)Click here for additional data file.S2 File(GZ)Click here for additional data file.


Longitudinal next-generation sequencing of cancer patient samples has enhanced our understanding of the evolution and progression of various cancers. As a result, and due to our increasing knowledge of heterogeneity, such sampling is becoming increasingly common in research and clinical trial sample collections. Traditionally, the evolutionary analysis of these cohorts involves the use of an aligner followed by subsequent stringent downstream analyses. However, this can lead to large levels of information loss due to the vast mutational landscape that characterizes tumor samples.Here, we propose an alignment-free approach for sequence comparison—a well-established approach in a range of biological applications including typical phylogenetic classification. Such methods could be used to compare information collated in raw sequence files to allow an unsupervised assessment of the evolutionary trajectory of patient genomic profiles.In order to highlight this utility in cancer research we have applied our alignment-free approach using a previously established metric, Jensen–Shannon divergence, and a metric novel to this area, Hellinger distance, to two longitudinal cancer patient cohorts in glioma and clear cell renal cell carcinoma using our software, NUQA.We hypothesize that this approach has the potential to reveal novel information about the heterogeneity and evolutionary trajectory of spatiotemporal tumor samples, potentially revealing early events in tumorigenesis and the origins of metastases and recurrences.Key words: alignment-free, Hellinger distance, exome-seq, evolution, phylogenetics, longitudinal. Investigating evolution and heterogeneity of a neoplasm can give insight to the nature and origins of therapeutic resistance as well as assist in predicting response to treatment  As a resAlignment-free sequence comparison, defined as any approach calculating similarity/dissimilarity between sequences which does not use or produce alignment, can be used as an alternative approach to address these issues and create holistic patient profiles for assessing evolutionary trajectories and spatiotemporal heterogeneity. It is more sensitive in the context of sequence divergences and robust against genome rearrangement compared with alignment approaches . These mNGS tool for Unsupervised analysis of fastQ using Alignment-free), a framework that utilizes a highly efficient k-mer counter, jellyfish, alongside software built in C++ to quickly and efficiently produce alignment-free “phylogenetic” trees for longitudinal cancer patient cohorts on a standard workstation. In order to ensure this approach is robustly applicable to cancer research cohorts we have assessed a well-known metric, Jensen–Shannon divergence (JSD), which has previously been applied in an alignment-free context .Detailed methods are available in the Multiple distance metrics have been highlighted for their utility in alignment-free sequence comparison in various studies and reviews , From thk-mer length which should be used when applying alignment-free methods to longitudinal cancer patient cohorts, we assessed the effect of varying k-mer length  for patient RMH004 , five samples from the initial ccRCC tumor  and one sample from a thrombus in a renal vein (VT). Again, we produced phylogenetic trees and MDS plots based on our output from NUQA for this patient E and F. volution E. Howevevolution F.Further analysis of patients P17 and EV001 also indicate similar groupings to what can be seen using alignment-based methods, however, again there are key differences in branching within these patients  to identk-mer length of 21 and allowing 64 GB RAM. AAF produced the best time of 1 h, 57 min whereas NUQA ran in 2 h, 25 min and kWIP ran in 5 h, 48 min. In order to assess the applicability of these to cancer research data we tested NUQA, AAF, and kWIP on our simulated data set . MDS plots were created using the cmdscale function and ggplot2 (Both the glioma and the ccRCC cohort were preprocessed using the same steps prior to applying our algorithm: SAMTOOLs  was used ggplot2  package  ggplot2 .To assess changes in tree topology and branch lengths between trees produced using alignment-free methods for the same patient we used BSD, a measure accounting for both branch length and tree topology, and SD, a measure accounting for only tree topology. Both of these are available through the PHYLIP package.k-mer length are available in Further description of the generation of simulated data and discussion on the choice of distance metric and evaluation of Molecular Biology and Evolution online.msz182_Supplementary_DataClick here for additional data file.


The Smith-Waterman (SW) algorithm is the best choice for searching similar regions between two DNA or protein sequences. However, it may become impracticable in some contexts due to its high computational demands. Consequently, the computer science community has focused on the use of modern parallel architectures such as Graphics Processing Units (GPUs), Xeon Phi accelerators and Field Programmable Gate Arrays (FGPAs) to speed up large-scale workloads.SWIFOLD: a Smith-Waterman parallel Implementation on FPGA with OpenCL for Long DNA sequences. First, we evaluate its performance and resource usage for different kernel configurations. Next, we carry out a performance comparison between our tool and other state-of-the-art implementations considering three different datasets. SWIFOLD offers the best average performance for small and medium test sets, achieving a performance that is independent of input size and sequence similarity. In addition, SWIFOLD provides competitive performance rates in comparison with GPU-based implementations on the latest GPU generation for the large dataset.This paper presents and evaluates SWIFOLD can be a serious contender for accelerating the SW alignment of DNA sequences of unrestricted size in an affordable way reaching on average 125 GCUPS and almost a peak of 270 GCUPS.The results suggest that  Biology, just like other scientific disciplines, is experiencing an exponential growth in data from experiments. Sequencing centers, analytical facilities and individual laboratories produce huge amounts of data, such as nucleotide and protein sequences, and this phenomenon is known as data explosion . One of wavefront method  and S2[1..j]. Ei,j and Fi,j correspond to the scores of prefix S1[1..i] and S2[1..j] aligned to a gap, respectively. The scoring matrix is denoted as SM and refers to match/mismatch scores between nucleotides. Go and Ge represent the gap open and gap extension penalties, respectively. First of all, H, E and F must be initialized with 0 when i=0 or j=0. Then, the recurrences should be calculated with 1≤i≤m and 1≤j≤n. The highest value in the H matrix corresponds to the optimal local alignment score between S1[1..i] and S2[1..j]. The optimal local alignment is finally obtained by following a traceback procedure whose starting point is the maximum value in H.To identify a common subsequence, the similarity score H element. Any cell can be calculated only after the values of the upper, left and upper-left neighbors are known . In the task parallel model, a kernel consists of a single work-group with a unique work-item. In the opposite sense, the data parallel model considers several work-groups composed of multiple work-items. These work-groups are executed independently on a processing element, usually in the Single Instruction Multiple Data (SIMD) manner.OpenCL is based on the host-device model. While OpenCL routines called kernels are executed on the device, the host controls the device memory and the kernel code launch. Kernels can be seen as a piece of code which expresses the parallelism of a program. In this programming model, a program workload is divided into work-items and also by the host. Local memory is shared by all work-items in the same work-group. It can be seen as a scratchpad memory with low latency access. Private memory is only accessible by a single work-item. Constant memory, as its name suggests, is a read-only memory accessible by all work-items. In this sense, FPGAs are dedicated accelerators that obey the aforementioned complex hierarchy model . At the moment of selecting a parallel programming model, Intel FPGA OpenCL SDK  recommenclCreateBuffer, while memory transfer to the host is performed by means of clEnqueueReadBuffer. Finally, the clEnqueueTask function makes it possible to invoke kernel execution.The programming aspects and optimizations applied to our implementations on FPGA accelerated platforms are described in this section. For the sake of clarity, the pseudo-code for the host implementation is shown on Algorithm 1. Memory allocation and initialization are performed in OpenCL through H matrix is divided into vertical blocks of size BW×m (BW means Block Width). Then each block is processed in row-by-row manner: from top to bottom, in a left to right direction, as is shown in Fig. H and F. In addition, both sequences are partially copied to private memory.The task parallel programming model mentioned in “S2 sequence must be extended with dummy symbols to make its length a multiple of the fixed BW value. However, this extension has a negligible influence on execution time since DNA sequences are usually much larger than the BW constant. Furthermore, it is important to remark that the AOC reports the appearance of non-real read-write dependences in private memory associated to matrices H and F after a certain BW value, which aborts binary kernel generation. In order to solve this issue, the innermost loop is split into two or more loops to carry out the execution of wider blocks.From the performance point of view, fully unrolling the inner loop represents an essential aspect of this kernel since this technique allows the AOC to exploit loop instruction pipelining. As a consequence, the performance improves because more operations per clock cycle are carried out. As the compiler needs to know the number of iterations in the compile phase, the H and E values of the previous block. We used separate buffers to avoid read-write dependences in global memory: one for reading the values from the previous block and one for writing the values for the next block. After each kernel invocation, buffers are swapped in the host , medium sequences , and large sequences . The accession numbers and sizes of the sequences are presented in Table The experiments were performed on three systems equipped with different accelerator types, namely FPGA, GPU and Xeon Phi. The main features of these systems are described in Table Cell updates per second (CUPS) is a commonly used performance measure in the SW scenario, because it makes it possible to remove dependency on the sequences utilized for the different tests. CUPS represents the time for a complete computation of one cell in matrix H, including all memory operations and the corresponding computation of the values in the E and F arrays. The billions of CUPS (GCUPS) is calculated with the formula m and n are the sizes of the sequences and t is the computation time. In this article, the runtime t includes device buffer creation, the transfer time of host data to the FPGA, the calculation time of SW alignment, and the transfer-back time of the optimal score.BW value  are the most affected resources: registers (Regs) and RAM blocks (RAMs) increase slightly, while DSP blocks (DSPs) remain intact. It is important to mention that, unlike in our previous work [BW values. This improvement allowed us to stress the kernel resources in order to maximize performance.FPGA resource utilization and the performance achieved for our OpenCL kernel implementations using the small and medium test sets are shown in Table ous work , we haveint_bw512 and short_bw512 kernels: for the same BW configuration, short_bw512 presents an increment of up to 1.52 × in performance with a reduction of up to 0 − 0.35× in resource usage with regards to the int_bw512 version. A similar behavior is observed with the short_bw512 and char_bw512 kernels: char_bw512 reports an increment of up to 1.21 × in performance with a reduction of up to 0 − 0.35× in resource usage with regards to its short_bw512 counterpart. Nevertheless, the use of narrower integer data types does not come free and involves an significant reduction in representation range. In this sense, there are three alignment scores out of ten that cannot be computed when using 16 bit integer data. This fact is also observed for the experiments with the 8 bit data type, where only three experiments could be carried out If we consider the integer data type, we can see that the use of a smaller data type generates better performance and less resource consumption. We can clearly appreciate this behavior when comparing the int, short and char kernels, respectively.When considering sequence length, we can observe that larger workloads improve performance in all kernels regardless of sequence similarity. The best performances obtained are 132.43, 203.5 and 268.83 GCUPS for the SWIFOLD with other SW implementations: the Xeon Phi-based SWAPHI-LS program (v1.0.12) [SW# [CUDAlign (v3.9.1.1024) [This subsection addresses a comparison of v1.0.12) , and the12) [SW#  and CUDA.1.1024)  programs.1.1024)  and Para.1.1024)  librarieSWIFOLD, SWAPHI-LS, SW# and CUDAlign implementations using the small and medium sequence test sets. It is worth noting that the SWIFOLD performance rates belong to the best 32-bit kernel version but faster performances for smaller data types are also reported (in brackets) where applicable. SWAPHI-LS yields an average performance of 25.89 GCUPS and a peak of 34.38 GCUPS, being outperformed by SWIFOLD in all scenarios. In particular, the most impressive performance difference occurs for the small sequence set where SWIFOLD runs on average 35.5 × faster. For the rest of the tests, the performance gain decreases but still improves by 4 × on average.Table SW# presents an average performance of 62.68 GCUPS and a maximum performance of 120.92 GCUPS, improving upon CUDAlign by a factor of 5.34 × on average for the small dataset. CUDAlign achieves 71.23 GCUPS on average and a peak of 163.77 GCUPS on the medium test set, reaching an average speedup of 1.24 × with respect to SW# implementation. On the GTX1080, SW# obtains an average performance of 124.40 GCUPS, with a maximum performance of 255.89 GCUPS. On the same GPU, CUDAlign obtains 124.44 GCUPS on average, and 297.05 GCUPS as its peak. In a similar way, CUDAlign runs slower than SW# for the first half of the sequence alignments, for which the latter runs 4.3 × faster on average. For the second half of the test set, CUDAlign beats SW# by a factor of 1.12 ×. According to the results obtained for the GPU implementations, we can conclude that regardless of the GPU generation, for small sequences SW# performs better, whereas for medium sequences CUDAlign is slightly faster. For its part, SWIFOLD yields an average performance of 119.41 GCUPS, with a maximum performance of 132.33 GCUPS. In this way, SWIFOLD is able to beat SW# in all tests on the GTX980 and in the small test set on the GTX1080 . Compared with CUDAlign, SWIFOLD is superior on the GTX980 by a factor of 201 × on average, except for the seventh and ninth alignments, for which CUDAlign performs better because of high sequence similarity. SWIFOLD outperforms CUDAlign when using the small dataset on both GPUs, and CUDAlign is superior for the medium dataset, but just on the most powerful GPU.Both GPU tools are very sensitive to sequence similarity since higher GCUPS are obtained on alignments with higher scores. On the GTX980, SWIFOLD, SWAPHI-LS, SW# and CUDAlign implementations. As might be expected, SWAPHI-LS again presents poor performance rates, obtaining 30.77 GCUPS on average and a peak of 33.66 GCUPS. SWIFOLD is able to beat both the SW# and CUDAlign implementations on the GTX980 GPU , but this result changes for the most powerful GPU, on which the best performance is achieved by CUDAlign: 234.8 GCUPS on average (note the high score values reflected in Table For larger dataset inputs, we have also compared the performance of the different tools. Table From the results in the previous section, we can conclude that for the alignment of long sequences, such as in the case of DNA, the use of a general purpose processor is not the most suitable solution, considering the poor results achieved: MASA/OpenMP, SSW and Parasail libraries hardly obtain a maximum performance of 2.42 GCUPS. This fact forces us to use accelerators in order to obtain acceptable response times.However, the choice of the optimal accelerator is not obvious since it involves an additional purchase. According to the results obtained, the use of a Xeon Phi accelerator does not seem to be an appropriate solution if we consider the performance on other accelerator types such as NVIDIA GPUs or Intel FPGAs.CUDAlign on the latest NVIDIA GPU and SWIFOLD on an Intel FPGA. The advantage of choosing a GPU lies in two aspects: the performance increment of successive GPU generations and their affordable prices. However, it is important to mention that newer GPU generations do not always provide better performance in the context of sequence alignments using the SW method, such as with CUDASW++ software [CUDAlign does not always provide the best performance rates for small and medium sequence sizes. However, CUDAlign can be considered an efficient solution on the latest GPUs for large dataset inputs or very similar sequence pairs.The most successful implementations in this study are software . LikewisSWIFOLD can be a good choice for long DNA sequence alignment. SWIFOLD doest not only offer the best average performance for small and medium datasets, but also presents a performance that is independent of data input length and sequence similarity. Additionally, it is also competitive compared with CUDAlign on the latest generation of NVIDIA GPUs, running 1.6 × slower on average.Taking into account the above analysis as well as Intel’s plans for FPGA integration into its next generation of processors, we consider that Finally, Table SWIFOLD. By using this tool, we have addressed the benefits of a parallel SW implementation using OpenCL on Intel FPGAs for DNA sequences of unrestricted size. By considering the performance of SWIFOLD, we can conclude that: Larger pipelines lead to better performance but at the cost of higher resource consumption. By splitting the innermost loop, we were able to avoid the non-real dependences reported by AOC and, as a consequence, stress the kernel resources in order to maximize performance.Data type exploitation has a significant effect on performance rates. Narrower data types reported better GCUPS with less resource usage, but at the expense of decreasing representation width.Larger workloads benefit all kernels regardless of sequence similarity. In particular, the fastest 32 bit kernel reached up to 132.43 GCUPS.SWIFOLD programming facilitates the portability process, unlike the existing HDL-based alternatives.Apart from the performance benefits, the use of the OpenCL paradigm for In this paper, we have presented and evaluated SWIFOLD with other SW implementations on different devices and accelerators, we can conclude that: CPU-based implementations are not a suitable solution due to their unacceptable response times.SWAPHI-LS reports the poorest performance rates.With regards to Xeon Phi coprocessors, SW# performs better for small sequences whereas CUDAlign is slightly faster for medium and large sequences, regardless of the GPU generation.In the field of GPUs, SWIFOLD offers the best average GCUPS for small and medium test sets, its performance being independent of input size and sequence similarity. In addition, SWIFOLD reported competitive performance rates compared with CUDAlign on the latest GPU generation for the large dataset.For its part, If we compare Since not all alignments require 32 bit integer data, and in order to look for the best performance-width trade-off, combinations of kernels with different integer data width will be considered.Since the chance of exploiting multiple devices is available in OpenCL, this work will be extended to a multi-FPGA environment in order to find the best workload distribution.As nowadays not only performance but power efficiency matters, we are interested in complementing the present study with a performance vs power analysis.Furthermore, according to the results obtained and in view of the wide range of options, we have proposed a guide to selecting the best platform for DNA sequence alignment. As the choice is not obvious, the analysis provided can be helpful to a non-expert user at the moment of purchasing a computational platform. As a consequence of these promising results, the following aspects will be considered for future work: SWIFOLD solves these issues because it is a portable, parallel SW implementation for DNA sequences of unrestricted size on Intel FPGA-based platforms. As FPGAs are becoming increasingly popular and they are expected to be available on the next generation of servers, we expect SWIFOLD to become a serious contender for accelerating DNA alignment.Finally, we would like to mention that the use of FPGAs for SW alignment has been traditionally limited by their programming cost and lack of portability.


The inference of splicing orthology relationships between gene transcripts is a basic step for the prediction of transcripts and the annotation of gene structures in genomes. The splicing structure of a sequence refers to the exon extremity information in a CDS or the exon-intron extremity information in a gene sequence. Splicing orthologous CDS are pairs of CDS with similar sequences and conserved splicing structures from orthologous genes. Spliced alignment that consists in aligning a spliced cDNA sequence against an unspliced genomic sequence, constitutes a promising, yet unexplored approach for the identification of splicing orthology relationships. Existing spliced alignment algorithms do not exploit the information on the splicing structure of the input sequences, namely the exon structure of the cDNA sequence and the exon-intron structure of the genomic sequences. Yet, this information is often available for coding DNA sequences (CDS) and gene sequences annotated in databases, and it can help improve the accuracy of the computed spliced alignments. To address this issue, we introduce a new spliced alignment problem and a method called SplicedFamAlign (SFA) for computing the alignment of a spliced CDS against a gene sequence while accounting for the splicing structures of the input sequences, and then the inference of transcript splicing orthology groups in a gene family based on spliced alignments.The experimental results show that SFA outperforms existing spliced alignment methods in terms of accuracy and execution time for CDS-to-gene alignment. We also show that the performance of SFA remains high for various levels of sequence similarity between input sequences, thanks to accounting for the splicing structure of the input sequences. It is important to notice that unlike all current spliced alignment methods that are meant for cDNA-to-genome alignments and can be used for CDS-to-gene alignments, SFA is the first method specifically designed for CDS-to-gene alignments.https://github.com/UdeS-CoBIUS/SpliceFamAlign.We show the usefulness of SFA for the comparison of genes and transcripts within a gene family for the purpose of analyzing splicing orthologies. It can also be used for gene structure annotation and alternative splicing analyses. SplicedFamAlign was implemented in Python. Source code is freely available at The online version of this article (10.1186/s12859-019-2647-2) contains supplementary material, which is available to authorized users. A spliced alignment is an alignment of a partial or full length spliced transcript sequence against an unspliced genomic sequence . A splicSeveral methods have been developed to address different versions of the cDNA-to-genome spliced alignment problem, which consists in finding an optimal alignment of a spliced cDNA sequence against an unspliced genomic sequence, given an optimal function –12. A coSFA-align), and for the identification of splicing orthologs using spliced alignments (SFA-ortholog).In this paper, we re-visit the spliced alignment problem for the purpose of computing accurate CDS-to-gene spliced alignments and identifying transcript orthology groups within a set of transcripts from a coding gene family. Identifying orthologous isoforms at transcript level is a pre-requisite to describing evolutionary relationships between genes in terms of splicing structure and sets of splice variants , 14. HerThe SFA-align algorithm  preserve their exon structures, and b) induce a one-to-one correspondence between the exons of the two CDS  or lizard (for MAG). Table The dataset contains homologous genes with their CDS sequences from 3 gene families FAM86, MAG and TP53 from the Ensembl-Compara database release 85 . For eacWe generated a dataset of simulated gene families with gene and cDNA sequences accounting for gene splicing structure evolution and alternative splicing events. We designed a simulation method that takes as input a gene tree with branch lengths representing evolutionary rates, generates an ancestral gene at the root of the tree, and makes this gene evolve along branches of the gene tree. The ancestral root gene is generated with an exon-intron structure and an initial set of CDS of alternative transcripts for the gene, based on parameters learned from a dataset of 10.000 vertebrate genes from amniote species from the Ensembl database . The evoSmall for which the evolutionary rates on the gene tree branches are low, a second set called Medium with medium evolutionary rate, and a third set called Large with a high evolutionary rates. Each of the three set contains 36 simulated gene families with 5 genes and 5 to 17 CDS in total. For each family in each set, we generated a set of 5 gene sequences with their CDS, all true pairwise spliced alignments between any CDS and any gene of the family, the true multiple sequence alignment of all CDS and gene sequences, and all true splicing orthology relations between CDS. Table Using the simulation method, we generated three sets of gene family, a first set called SplicedFamAlign results were compared with the results of Splign , the mosα=21. For SFA_E and SFA_G, the additional aligned segments obtained after the anchor extension step or the global alignment step are kept if and only if they have a Percent Sequence Identity (PID) greater or equal to β=30% . The PID of the spliced alignments constitutes also a good criterion to evaluate the quality of the alignments. For all methods and all datasets, the PID computed for their spliced alignment results are shown in Fig. Inference of real exon extremities. We compared the ability of the methods to correctly identify actual exon extremities in the CDS and the gene sequence and canonical splice sites in the gene sequence. We used the following performance metrics. The precision measure represents the fraction of inferred exon extremities that corresponds to real CDS exon extremities (A), real gene exon extremities (B), canonical gene splice sites (C). The recall measure represents the fraction of real CDS exon extremities (A), real gene exon extremities (B), canonical gene splice sites (C) that are correctly inferred by the spliced alignments. The f-score is the harmonic mean of precision and recall. The results of the comparison are shown in Fig. In terms of recall, SFA_G is the best performing method for all references (A), (B) and (C), closely followed by SFA_E and SFA_L. The performance of SFA methods remains similar for various levels of sequence similarity . However, the performance of Splign decreases when the level of sequence similarity decreases. This observation is coherent with the results obtained for the evaluation of the CDS coverage achieved by the methods. Indeed, the lower the CDS coverage, the lower the recall measure achieved.Combining the precision and the recall measures, the f-score measure shows that SFA_E and SFA_L are the best performing methods. Note also that SFA_E_ws, without using prior information on the splicing structure of input sequences, achieves a higher performance than Splign, thanks to its preliminary step of splicing structure prediction. The robustness of the SFA methods to changes in the level of sequence similarity can be explained by the use of prior or predicted splicing structure information that allows to detect structure conservation even when the sequence conservation signal is low.Comparison with true alignments. For the simulated datasets for which the true spliced alignments of CDS against gene sequences are provided, we evaluated the ability of the methods to correctly recover the true spliced alignments. We evaluated the precision, recall and f-score measure of a computed spliced alignment as follows. The precision measure is the fraction of pairs of aligned nucleotides in the computed alignment that are also aligned together in the true alignment. The recall measure is the fraction of pairs of aligned nucleotides in the true alignment that are also aligned together in the computed alignment. The f-score is a combination of the precision and recall as defined for the evaluation of the ability to infer real exon extremities.The results of the evaluation are shown in Fig. We applied our algorithm for the identification of CDS orthology groups based on structural similarity, using spliced alignments computed by the methods SFA_L, SFA_E, and SFA_G and Splign. For each method, we then obtained a set of CDS orthology groups. We evaluated and compared the ability of the methods to recover the true CDS orthology groups. Two CDS are true orthologs if the sets of exons composing them are in bijection in such a way that any pair of exons in bijection descend from a same ancestral exon. Thus, we compared the CDS orthology groups obtained using each method with the true CDS orthology groups given in the simulated datasets. The precision, recall and f-score measures of a computed clustering are defined as follows.The precision represents the fraction of pairs of CDS found as orthologs by the computed clustering that are true orthologs. The recall represents the fraction of true pairs of orthologous CDS that are also found as orthologs by the computed clustering. The f-score is a combination of the precision and recall as defined in “Figure Imax−Imin=5000  denotes the length of T. Note that in the nomenclature used in this section, we call CDS the exon structure of a coding sequence and CDS sequence the nucleotide sequence of the coding sequence.Given a set Gene and CDS: A gene sequence is a DNA sequence on the alphabet of nucleotides Σ={A,C,G,T}. Given a gene sequence g, an exon of g is represented as a pair of integers  such that a≤b and a and b are the start and end locations of the exon on the gene sequence. The sequence of the exon  is then denoted by g. A CDS of the gene sequence g is represented as a chain c={,…,} of exons of g such that for any two successive exons  and , bi<ai+1. The ith exon of the CDS c is then denoted by c[i]. The set of introns induced by the CDS c is denoted by Intron(c)={,…,}. The set of known CDS of a gene g is denoted by g is denoted by c of g is denoted by g[ c]. g[ c] is the concatenation of the sequences of the exons composing c. An exon of a CDS sequence g[c] is represented as a pair of integers  such that k≤l, and k and l are the start and end locations of the exon on the CDS sequence. In this case, the sequence of the exon  of g[ c] is denoted by g[ c]. The set of exons composing a CDS sequence g[ c] is denoted by The sequence of a CDS Spliced alignment: A spliced alignment is an alignment of a CDS sequence against a gene sequence that allows to identify conserved exons sequences. Formally, a spliced alignment of a CDS sequence g[ c] against a gene sequence h is represented as a chain A={,…,} of quadruplets called blocks such that for any block  of A, k≤l and k and l are the start and end locations of a segment on the CDS sequence, and a≤b and a and b are the start and end locations of a segment on the gene sequence or a=b=0; The ith block of a spliced alignment A is denoted by A[ i], and: k1=1, lj=length(g[ c]) and for any two successive blocks A[ i]= and A[i+1]=, we have li=ki+1−1.A[ i1] and A[ i2] with i1<i2, we have for any two blocks k,l,a,b) represents an alignment of a segment g[ c] of the CDS sequence with a segment h of the gene sequence. If a=b=0, then the gene segment h is empty and the block  represents a deletion of the CDS segment g[ c] in the spliced alignment. We call such a block a deleted block. Otherwise, the block  represents a conservation between a putative CDS exon sequence g[ c] and a putative gene exon sequence h, and we call such a block a conserved block ,,} ,…,} is denoted by Intron(A)= { such that and are conserved blocks}. Two successive conserved blocks of the spliced alignment A also induce a junction between two successive segments in the CDS sequence that are separated by an intron segment in the gene sequence. The set of putative exon junctions induced the spliced alignment A is denoted by Junction(A)= { lisuch that and are conserved blocks}. Note that if all blocks composing A are conserved, then the number of introns induced by A is |Intron(A)|=|Junction(A)|=|A|−1.A spliced alignment In this subsection, we first re-call two existing versions of the spliced alignment problem and we introduce a third more constrained version that takes additionally account of the splicing structure of input sequences. We discuss the motivations and limits of the different versions as we give their definitions.k,l,a,b) of a spliced alignment of a CDS sequence g[ c] against a gene sequence h, let sim denote the score of an optimal global alignment between the CDS segment g[ c] and the gene segment h in a given scoring scheme. Note that if a=b=0, then h is an empty segment. The following is a reformulation of the less constrained version of the spliced alignment problem introduced in [Given a block (duced in . This foSPLICED ALIGNMENT PROBLEM I (SAP_I):Input: A CDS sequence g[ c] from a gene sequence g ; a gene sequence h.Output: A spliced alignment A of g[ c] against h that maximizes canonical splice sites  against a gene sequence h, let splicesignals denote a score of the putative intron segment h accounting for the presence or absence of known splice signals at the extremities of h. A putative intron segment with two canonical splice signals at its extremities has a higher score than a segment with only one which has a higher score than a segment without any canonical splice signal at its extremities. A more constrained version of the spliced alignment problem studied in  from a gene sequence g ; a gene sequence h. Output: A spliced alignment A of g[ c] against h that maximizes The SAP_I and SAP_II problems do not account for the splicing structure of the input sequences. In order to further improve the accuracy of spliced alignments, we define a more constrained version of the problem that takes into account the exon structure of the CDS sequence and the exon-intron structure of the gene sequence.b,a)∈Intron(A) induced by two successive conserved blocks of a spliced alignment A of a CDS sequence g[ c] against a gene sequence h, let h accounting for the correspondance of its extremities with known splice sites in the gene sequence h. A putative intron segment whose extremities both correspond to known splice sites in the gene sequence receives a higher score than a segment with only one extremity corresponding to a known splice site which has a higher score than a segment without any correspondance to known splice sites at its extremities.Given a putative intron (l∈Junction(A) induced by two successive conserved blocks of the spliced alignment A, let l accounting for its correspondance with a real exon junction in the CDS sequence g[ c]. If l corresponds to a real exon junction in Similarly, for a putative CDS exon junction SPLICED ALIGNMENT PROBLEM III (SAP_III):Input: A CDS sequence g[ c] from a gene sequence g ; the set of exons g[ c] ; a gene sequence h ; the set of exons h.Output: A spliced alignment A of g[ c] against h that maximizes Examples of algorithms developed for the SAP_I problem which accounts only for the sequence similarity at the nucleotide or at the amino acid level are BLAT , DDS/GAPIn this section, we describe a heuristic algorithm called SFA-align for the SAP_III problem. The algorithm follows a general approach followed by most heuristic methods developed for the SAP_I and SAP_II problems. The algorithm is decomposed into three steps that each accounts for the splicing structure of the input sequences. Note that in the case where the splicing structures of the input sequences are not provided, SFA-align includes a preliminary step in which the splicing structure of input sequences are inferred by computing a spliced alignment of each CDS against its own gene having a Percent Sequence Identity (PID) of 100. An overview of the main steps of SFA-align is depicted in Fig. Step 1. Local alignments using tblastx. This step is achieved using Translated Blast (tblastx)  and the segment h. For instance, if g[ c] has length m and h has length n, then S is the maximum score of a global spliced alignment of g[ c] and the segment h.In Formula (1), when computing the global spliced alignment between a CDS segment score, score, score that denote the scores of substitution, insertion and deletion of nucleotides. The two last cases contribute to evaluating the structure alignment score according to the correspondence of induced introns with known splicing signals and the splicing structure of input sequences. Formula (1) is an extension of the main recurrence formula used in the global alignment step of Splign  against the gene sequence h. The CDS c1 and c2 are orthologs if:c1 |=| c2 | ;(1) | A1)=Intron(c2) ;(2) Intron−length(c2[i])] % 3=0.(3) for any c1 are c2 as orthologs if (1) they have the same number of exons | c1 |=| c2 | ; (2) the spliced alignment of c1 against h induces the same introns for c1 and c2, Intron(A1)=Intron(c2) ; (3) the lengths of each pair of corresponding exons in c1 and c2 are congruent modulo 3. Conditions (1) and (2) ensure that the two CDS have the same splicing structure. Condition (3) ensures that the two CDS are translated in the same codon phase in each pair of corresponding exons in order to generate similar protein sequences.In other terms, g[ c1] against h or h[ c2] against g supports the orthology relation. An alternative more stringent definition of CDS orthology consists in requiring the reciprocity, i.e. that both spliced alignment support the orthology relation.Note that this definition only requires that one of the spliced alignments of CDS orthology groups: Given a set of CDS c1,c2,c3 in c1 and c2 are orthologs and c2 and c3 are orthologs, then c1 and c3 are also orthologs. The CDS orthology groups are defined as the equivalence classes of the resulting equivalence relation.The CDS orthology relation on The article introduces a new version of the spliced alignment problem accounting for the splicing structure of input sequences. It constitutes a new approach to compute accurate CDS-to-gene spliced alignments, by detecting conservation in the splicing structure of input sequences.We present a heuristic algorithm for the problem, and we show that it is useful to improve the accuracy of spliced alignments. The application of the algorithm to real and simulated datasets shows that the new method outperforms existing spliced alignment methods in terms of accuracy, with comparable execution times for CDS-to-gene spliced alignment. Moreover, its performance is robust to changes in the level of input sequence similarity. The method is particularly useful for identifying CDS splicing orthology groups that are conserved accross a set of homologous genes. It can also be used for the functional annotation of protein-coding genes in non-model genomes. On the algorithmic side, the pairwise spliced alignment problems studied in this paper can be extended to multiple spliced alignment problems that require more in-depth investigation. Future work will include the extension of the SFA method toward multiple spliced alignment. We hypothesize that aligning simultaneously multiple CDS and genes from a gene family can increase the accuracy of spliced alignment and splicing ortholog identification.Additional file 1Pseudocode of algorithms for SplicedFamAlign steps. A file at the PDF format describing the algorithms used in the SFA method for the preliminary step of splicing structure prediction (Algorithm 1), the first step of local alignment (Algorithm 2), and the second step of gapped extension of anchors (Algorithm 3). (PDF 110 kb)


Genome-wide optical maps are ordered high-resolution restriction maps that give the position of occurrence of restriction cut sites corresponding to one or more restriction enzymes. These genome-wide optical maps are assembled using an overlap-layout-consensus approach using raw optical map data, which are referred to as Rmaps. Due to the high error-rate of Rmap data, finding the overlap between Rmaps remains challenging.ohdista, which is an index-based algorithm for finding pairwise alignments between single molecule maps (Rmaps). The novelty of our approach is the formulation of the alignment problem as automaton path matching, and the application of modern index-based data structures. In particular, we combine the use of the Generalized Compressed Suffix Array (GCSA) index with the wavelet tree in order to build Kohdista. We validate Kohdista on simulated E. coli data, showing the approach successfully finds alignments between Rmaps simulated from overlapping genomic regions.We present Kohdista is the only method that is capable of finding a significant number of high quality pairwise Rmap alignments for large eukaryote organisms in reasonable time.we demonstrate K There is a current resurgence in generating diverse types of data, to be used alone or in concert with short read data, in order to overcome the limitations of short read data. Data from an optical mapping system  is one sRmaps. Hence, Rmaps are akin to reads in genome sequencing. In addition, to the the inaccuracies in the fragment sizes, there is the possibility of cut sites being spuriously added or deleted; which makes the problem of finding pairwise alignments between Rmaps challenging. To date, however, there is no efficient, non-proprietary method for finding pairwise alignments between Rmaps, which is the first step in assembling genome-wide maps.Genome-wide optical maps are ordered high-resolution restriction maps that give the position of occurrence of restriction cut sites corresponding to one or more restriction enzymes. These genome-wide optical maps are assembled using an overlap-layout-consensus approach using raw optical map data, which are referred to as Several existing methods are superficially applicable to Rmap pairwise alignments but all programs either struggle to scale to even moderate size genomes or require significant further adaptation to the problem. Several methods exhaustively evaluate all pairs of Rmaps using dynamic programming. One of these is the method of Valouev et al. , which iOther methods reduce the number of map pairs to be individually considered by initially finding seed matches and then extending them through more intensive work. These include OMBlast , OPTIMA x then the wavelet tree can support queries of the form: find all fragment sizes that allow extension of the backward search by a single fragment, where the fragment size in the range y is a threshold on the error tolerance.In this paper, we present a fast, error-tolerant method for performing pairwise Rmap alignment that makes use of a novel FM-index based data structure. Although the FM-index can naturally be applied to short read alignment , 16, it nt}α1≤αk . In the nt}α1≤αk  showed tohdista, an index-based Rmap alignment program that is capable of finding all pairwise alignments in large eukaryote organisms.Muggli et al.  demonstrohdista method then indexes a set of Rmaps represented as a DAG, using a modified form of the generalized compressed suffix array (GCSA), which is a variant of the FM-index developed by Sirén et al.  to denote the suffix of S of length S[1…i] to denote the prefix of S of length i. S[i…j] is the substringS that starts at position i and ends at j. Given a sequence S over an alphabet i,j, c appears in S, and j-th occurrence of c in S. We remove S from the functions when it is implicit from the context.Throughout we consider a string (or sequence) genome restriction map, which we define as follows. First define the array of integers ith occurrence of From a computer science viewpoint, restriction mapping  can be seen as a process that takes in two sequences: a genome desorption, where small  can contain: (1) missing and false cuts, which are caused by an enzyme not cleaving at a specific site, or by random breaks in the DNA molecule, respectively; (2) missing fragments that are caused by In the optical mapping system, there is a 20% probability that a cut site is missed and a 0.15% probability of a false break per Kbp, i.e., error type (1) occurs in a fragment. Popular restriction enzymes in optical mapping experiments recognize a 6 bp sequence giving an expected cutting density of 1 per 4096 bp. At this cutting density, false breaks are less common than missing restriction sites  target). We denote the target database as The pairwise Rmap alignment problem aims to align one Rmap  abstraction of the alignment problem to a finite automaton; (2) use of the GCSA for storing and querying the automaton; and (3) modification of backward search to use a wavelet tree in specific ways to account for the Rmap error profile.We now describe the algorithm behind Klanguage, or a specific set of sequences composed of vertex labels. A sequence is recognized by an automaton if it contains a matching path: a consecutive sequence of vertex labels equal to the sequence. We represent the target Rmaps as an automaton and the query as a path in this context.Continuing with the example in the background section, we want to align starting vertexfinal vertexbackbone. The backbone by itself is only sufficient for finding alignments with no missing cut sites in the query. The backbone of an automaton constructed for a set containing The automaton for our target Rmaps can be constructed as follows. First, we concatenate the mentclass2pt{minimcompound fragments to allow missing cut sites (first type of error) to be taken into account in querying the target Rmaps. We refer to these as skip vertices as they provide alternative path segments which skip past two or more backbone vertices. Thus, we add a skip vertex to skip edges which provide paths around vertices with small labels in the backbone. These allow allow for desorption (the second type of error) to be taken into account in querying We introduce extra vertices labeled with mentclass2pt{minimc, then using small auxiliary data structures we can quickly determine c, that subset will appear in the same relative order in c. Hence, by knowing where the position of the internal in We index the automaton with the GCSA for efficient storage and path querying. The GCSA is a generalization of the FM-index for automata. We will explain the GCSA by drawing on the definition of the more widely-known FM-index. As stated in the background section, the FM-index is based on the deep relationship between the S encodes a relationship between each suffix S and its left extension. Hence, this suffix array can be generalized to edges in a graph that represent a relationship between vertices. The compressed suffix array for a string is a special case where the vertices are labeled with the string’s symbols in a non-branching path.To generalize the FM-index to automata from strings, we need to efficiently store the vertices and edges in a manner such that the FM-index properties still hold, allowing the GCSA to support queries efficiently. An FM-index’s compressed suffix array for a string prefix-sorted by Sirén et al.  since every path prefix matches the empty suffix. The search continues using GCSA’s backward search step function, which takes as parameters the next symbol (to the left) in the query , which do not necessitate the use of the wavelet tree. Here, the alphabet size is all possible fragment sizes. Thus, we construct the wavelet tree in addition to the GCSA. Then when aligning fragment e et al. . As preve et al.  but is ce et al.  to constf generated from t is considered as a possible substitute in the backward search.Finally, since there may be multiple alternative size compatible candidates in the lignment , 16. ThuThus, to recap, when attempting to align each query Rmap, we consider every possible combination of compound fragments and use the wavelet tree to determine possible candidate matches during the backward search. There are potentially a large number of possible candidate alignments—for efficiency, these candidates are pruned by evaluating the alignment during each step of the search relative to statistical models of the expected error in the data. We discuss this pruning in the next subsection.Alignments are found by incrementally extending candidate partial alignments (paths in the automaton) to longer partial alignments by choosing one of several compatible extension matches (adjacent vertices to the end of a path in the automaton). To perform this search efficiently, we prune the search by computing the Chi-squared CDF and binomial CDF statistics of the partial matches and use thresholds to ensure reasonable size agreement of the matched compound fragments, and the frequency of putative missing cut sites. We conclude this section by giving an example of the backward search.ohdista’s chi-squared-cdf-thresh and if smaller, the candidate compound fragment is assumed to be a reasonable match and the search continues.We use the Chi-squared CDF statistic to assess size agreement. This assumes the fragment size errors are independent, normally distributed events. For each pair of matched compound fragments in a partial alignment, we take the mean between the two as the assumed true length and compute the expected standard deviation using this mean. Each compound fragment deviates from the assumed true value by half the distance between them. These two values contribute two degrees of freedom to the Chi-squared calculation. Thus, each deviation is normalized by dividing by the expected standard deviation, these are squared, and summed across all compound fragments to generate the Chi-squared statistic. We use the standard Chi-squared CDF function to compute the area under the curve of the probability mass function up to this Chi-squared statistic, which gives the probability two Rmap segments from common genomic origin would have a Chi-squared statistic no more extreme than observed. This probability is compared to KWe use the Binomial CDF statistic to assess the probability of the number of cut site errors in a partial alignment. This assumes missing cut site errors are independent, Bernoulli processes events. We account for all the putatively conserved cut sites on the boundaries and those delimiting compound fragments in both partially aligned Rmaps plus twice the number of missed sites as the number of Bernoulli trials. We use the standard binomial CDF function to compute the sum of the probability density function up to the number of non-conserved cut sites in a candidate match. Like the size agreement calculation above, this gives the probability two Rmaps of common genomic origin would have the number of non-conserved sites seen or fewer in the candidate partial alignment under consideration. This is compared to the binom-cdf-thresh to decide whether to consider extensions to the given candidate partial alignment. Thus, given a set of Rmaps and input parameters binom-cdf-thresh and chi-squared-cdf-thresh, we produce the set of all Rmap alignments that have a Chi-squared CDF statistic less than chi-squared-cdf-thresh and a binomial CDF statistic less than binom-cdf-thresh. Both of these are subject to the additional constraint of a maximum consecutive missed restriction site run between aligned sites of two and a minimum aligned site set cardinality of 16.Start with the semi-open interval matching the empty string  (denoted as a left extension of a forward path that we are building by traversing the graph backward). The common prefix of each node (only one node here) in our match interval (i.e. [7 kb]) is compatible with the path . This process would continue until backward search returns no match interval or our scoring model indicates our repeatedly left extended path has grown too divergent from our query. At this point backtracking would occur to find other matches A partial search for a query Rmap  in Fig. In this section we describe some of the practical considerations that were made in the implementation.One side effect of summing consecutive fragments in both the search algorithm and the target data structure is that several successive search steps with agreeing fragment sizes will also have agreeing sums of those successive fragments. In this scenario, proceeding deeper in the search space will result in wasted effort. To reduce this risk, we maintain a table of scores obtained when reaching a particular lexicographic range and query cursor pair. We only proceed with the search past this point when either the point has never been reached before, or has only been reached before with inferior scores.The wavelet tree allows efficiently finding the set of vertex labels that are predecessors of the vertices in the current match interval intersected with the set of vertex labels that would be compatible with the next compound fragment to be matched in the query. However, when the match interval is sufficiently small  ground truth alignments, but slowed down considerably. This illustrates the index and algorithm’s capability in handling all error types and achieving high recall.Table v et al. , as wellPrunus mume) genome using short reads and optical mapping data from OpGen Inc. We test the various available alignment methods on the 139,281 plum Rmaps from June 2011 available in the GigaScience repository. These Rmaps were created with the BamHI enzyme and have a coverage depth of 135x of the 280 Mbp genome. For the plum dataset, we ran all the methods which approach the statistical performance of the method of Valouev et al. [E. coli. Thus, we omitted MalignerIX and OPTIMA because they had 0% recall and precision on E. coli. Our results on this plum dataset are summarized in Table The Beijing Forestry University and other institutes assembled the first plum  and required almost 5x more time to do so. OMBlast and Maligner required significantly more time and produced significantly lower quality alignments.To measure the quality of the alignments, we scored each pairwise alignment using Valouev et al.  and presohdista with competing methods. By demonstrating results on both simulated E. coli Rmap data and real plum Rmaps, we show that Kohdista is capable of detecting high scoring alignments in efficient time. In particular, Kohdista detected the largest number of alignments in 31 h. RefAligner, a proprietary method, produced very few high scoring alignments  and requires almost 5× more time to do so. OMBlast and Maligner required significantly more time and produced significantly lower quality alignments. The method of Valouev et al. [In this paper, we demonstrate how finding pairwise alignments in Rmap data can be modelled as approximate-path matching in a directed acyclic graph, and combining the GCSA with the wavelet tree results in an index-based data structure for solving this problem. We implement this method and present results comparing Kv et al.  producedohdista.Project name: Khttps://github.com/mmuggli/KOHDISTA.Project home page: Operating system(s): Developed for 32-bit and 64-bit Linux/Unix environments.Programming language: C/C++.Other requirements: GCC 4.2 or newer.License: MIT license.Any restrictions to use by non-academics: Non-needed.


Long non-coding RNAs (lncRNAs) represent a novel class of non-coding RNAs having a crucial role in many biological processes. The identification of long non-coding homologs among different species is essential to investigate such roles in model organisms as homologous genes tend to retain similar molecular and biological functions. Alignment–based metrics are able to effectively capture the conservation of transcribed coding sequences and then the homology of protein coding genes. However, unlike protein coding genes the poor sequence conservation of long non-coding genes makes the identification of their homologs a challenging task.In this study we compare alignment–based and alignment–free string similarity metrics and look at promoter regions as a possible source of conserved information. We show that promoter regions encode relevant information for the conservation of long non-coding genes across species and that such information is better captured by alignment–free metrics. We perform a genome wide test of this hypothesis in human, mouse, and zebrafish.https://github.com/bioinformatics-sannio/lncrna-homologs.The obtained results persuaded us to postulate the new hypothesis that, unlike protein coding genes, long non-coding genes tend to preserve their regulatory machinery rather than their transcribed sequence. All datasets, scripts, and the prediction tools adopted in this study are available at The online version of this article (10.1186/s12859-018-2441-6) contains supplementary material, which is available to authorized users. Recent advances in high-throughput sequencing have led to the discovery of a substantial transcriptome portion, across different species, that does not show encoding potential . Long noIt has also been argued that conservation should be more preserved on RNA secondary structure functional sites than on nucleotide sequences . HoweverCurrent homology detection approaches, mainly based on alignment algorithms like Blast, assume the equivalence between homology and nucleotide sequence similarity. Among them, BlastR, a method that uses di-nucleotide conservation in association with BlastP to discover distantly related protein coding homologs , has been-gram distance (qgram), Cosine similarity (cosine), Jaccard similarity (jaccard), Base–Base Correlation distance (BBC), Average Common Substring distance (ACS), Lempel–Ziv complexity distance (LZ), Jensen–Shannon distance (JSD), and Hamming distance (HDist). Alignment–free metrics have been chosen by their popularity in other disciplines and because in our knowledge have never been adopted for homology identification.In this study, we investigate whether other kind of sequence similarity metrics, not necessarily based on sequence alignment, can achieve such a task. Our investigation spans from alignment–based metrics, widely used for searching protein coding homologs, to a representative sample of alignment–free metrics, based on information theory, frequency analysis, and data compression. Specifically we consider two alignment–based metrics, Smith–Waterman (SW) and Damerau–Levenshtein (DLevDist) distance Table ; and 8 aWe evaluate the metrics in three different species, human (hg38), mouse (mm10), and zebrafish (danRer10), against a manually curated gold–standard, originated from experimentally validated lncRNA homologs collected from the literature with the support of public lncRNA databases, such as lncRNAdb , LNCipedS1 and S2, Tables X∈S1 and Y∈S2 are homologs or not. For discussion purposes we consider three main factors that, as expected, could affect homology prediction: i) phylogenetic distance (close or distant), assuming human–mouse as close species, while mouse–zebrafish and human–zebrafish as distant species; ii) kind of transcript (protein coding or long non-coding); and iii) sequence region (promoter or transcript). In the following we report the results obtained with three empirical experiments aimed at evaluating the effectivenes of the proposed metrics: i) evaluation against a manually curated gold–standard originated from experimentally validated lncRNA homologs  for each considered metric , no distinction can be observed between alignment–based and alignment–free metrics. Figure rs Figs.  and 3. IMoreover some couples failed to be detected regardless to the used metrics or sequence region. For example, for ZFHX2-AS1–Zfhx2os  seems to play an important role only in phylogenetically distant species, with the exception of few cases. In Fig. In phylogenetically close species (human–mouse), only few cases are affected by sequence region. For example, promoter sequence seems to be crucial for the functional maintenance of JPX (XIST Activator) in mammal species, differently from TSIX (XIST Antisense RNA), where the transcript provides uniquely the information of conservation. According to the corresponding literature, the promoter of JPX has been shown to interact with the Xist promoter in undifferentiated embryonic stem cells , while TIn distant species, alignment–based metrics are able to detect a lower number of homologous lncRNAs. This is probably related to the regulatory machinery that alignment–based metrics are less prone to detect.n of consecutive characters considered for gram–based metrics. This means that remaining metrics are shown as horizontal lines since they do not depend on n. As baseline comparison, we computed AUPR also for a random set of protein coding genes . We adopted jaccard similarity as predictor since this metric in the previous empirical analyses showed in average a good prediction performance, but similar results can be obtained also with other alignment–free metrics (data not shown). As baseline, we considered the protein coding genes flanking the lncRNAs that overlap the most significantly conserved elements produced by the phastCons program [p-value ≤0.01) were obtained using DAVID functional annotation tool [cis expression regulation of nearby conserved genes. This result constitutes a further proof that alignment-free metrics, such as Jaccard similarity, work alongside typical approaches based on pure conservation among species, and are able to identify additional orthologs not included in the typical multi–alignment conservation track.In order to assess the ability of alignment–free metrics to predict conservation of lncRNAs also regarding to their known and preserved biological functionality, we performed a GO enrichment analysis considering the nearest protein coding genes flanking the sets of zebrafish lncRNAs predicted to be orthologs in human and mouse  extracted from a genome. In particular, we consider two types of sequence sets: the set of transcribed sequences and the set of promoter regions. A transcribed sequence is constructed by merging all exons belonging to that transcript, while a promoter region is built by considering the conventionally 2000 bp up and 1000 bp down stream from the transcription starting site. A metric is computed for all possible pairs of sequences belonging to the two sets representing the two candidate genes. Among all measures the minimum is considered if the metric is defined as a distance, instead the maximum if the metric is defined as a similarity.Given two species etrieval ; two facetrieval ; Lempel–etrieval . A gene We evaluate the metrics in three different species, human hg38), mouse (mm10), and zebrafish (danRer10), against a manually curated gold–standard, originated from experimentally validated lncRNA homologs  a candidate metric is able to separate the true homologous pair from a huge set of random selected non-homologous pairs (permutation test). The set of non-homologous pairs are constructed by fixing a lncRNA candidate in a species and selecting a random set of sequences, approximately of the same length, in the other species known to be not homologous.Due to the limited number of collected homologous pairs, we report to which extend , since it gives more information when dealing with highly skewed datasets , 44. SpeIt is generally assumed that homologous genes play similar biological roles in different species . Since GAs case study we evaluate the functional concordance on a set of lncRNA zebrafish homologous candidates predicted from a sample of 1000 random lncRNAs belonging to human and mouse. As baseline, we consider zebrafish lncRNAs belonging to ultra–conserved regions obtained with UCSC phastConsElements6way tracks. This provided us a set of enriched GO terms that can be assumed to be the most conserved biological function among the considered species –37. The Additional file 1Additional Figure 1. Protein-coding gene AUPR plots. Metric prediction performance computed on promoter and transcript sequences for annotate protein-coding homologs . (PDF 158 kb)Additional file 2n=12 has been chosen). (PDF 822 kb)Additional Figure 2. NONCODE ROC curves. ROC curves computed on promoter and transcript sequences for NONCODE lncRNA homologs . (PDF 1580 kb)Additional Figure 3. ZFLNC ROC curves. ROC curves computed on promoter and transcript sequences for ZFLNC lncRNA homologs Additional file 5Additional Table 2. GO biological process enriched terms. DAVID results for GO enrichment analysis of flanking proteins of Zebrafish lncRNA predicted to be homologous in Human (Sheet 1), Mouse (Sheet 2) and of lncRNA overlapping the conserved elements in Zebrafish (Sheet 3). (XLSX 21 kb)