New High-Performance Computing architectures have been recently developed for commercial central processing unit (CPU). Yet, that has not improved the execution time of widely used bioinformatics applications, like BLAST+. This is due to a lack of optimization between the bases of the existing algorithms and the internals of the hardware that allows taking full advantage of the available CPU cores. To optimize the new architectures, algorithms must be revised and redesigned; usually rewritten from scratch. BLVector adapts the high-level concepts of BLAST+ to the x86 architectures with AVX-512, to harness their capabilities. A deep comprehensive study has been carried out to optimize the approach, with a significant reduction in time execution. BLVector reduces the execution time of BLAST+ when aligning up to mid-size protein sequences (∼750 amino acids). The gain in real scenario cases is 3.2-fold. When applied to longer proteins, BLVector consumes more time than BLAST+, but retrieves a much larger set of results. BLVector and BLAST+ are fine-tuned heuristics. Therefore, the relevant results returned by both are the same, although they behave differently specially when performing alignments with low scores. Hence, they can be considered complementary bioinformatics tools. Currently, the Basic Local-Alignment Search Tool, BLAST , is one To optimize the performance of a manycore CPU executing BLAST+ or any BLAST-like application, the internal algorithm must be adapted to use the strengths of the underlying architecture: vectorization and multithreading . We presThe main contributions of BLVector are: (i) Implementation of the Smith-Waterman (S/W) pairwise local alignment algorithm, following the Farrar’s approach with vectors of 512 bits (AVX-512); (ii) A filtering stage ensures that only promising local pairwise alignments are performed; (iii) Such filtering stage uses AVX-512 vectors for a faster execution. Applying the filter to two sequences is up to 1,000% faster than the corresponding pairwise alignment without such filtering step; (iv) Thread-level parallelism maximizes the usage of computational power available in manycore CPU systems; (v) The hits retrieved with this approach are pretty similar to those obtained with BLAST+, but the execution is faster in most situations; and (vi) Different parameters of BLVector allow dealing with a trade-off between accuracy and performance.https://www.top500.org  incorporate the Intel Xeon Phi technology; and this number increases when other architectures that include the AVX-512 instruction set are considered, like Intel Skylake-X, Cascade Lake and others.In this work, the design of this new heuristic is presented. A deep benchmark is carried out, based on its execution on a single Xeon Phi coprocessor and other architectures. It is important to note that, although there are newer processors, this is a proof of concept. Additionally, the Intel Xeon Phi is currently in many HPC solutions. In fact, six of the Top 25 supercomputers listed in BLVector is a heuristic algorithm that follows two stages to search for peptide sequences: (i) filtering; and (ii) local pairwise alignment. Many efforts have been made to execute brute-force pairwise alignments, so BLVector focuses in the filtering stage to speed up its execution. To do this, we have created an approach that takes the most from the new SIMD AVX-512 instruction set, by applying them to both stages.In contrast to BLAST+ (blastp), which uses a hash table to search for 3-mer substrings, BLVector uses a brute-force method to search for common 4-mer substrings between the query and the subject sequence. Using one byte per amino acid (aa) residue, BLVector packs four bytes in a simple 32-bit integer. Besides, by using SIMD vector instructions, it compares a single query integer (four aa residues from the query sequence) against 16 subject integers (16 blocks of four aa residues in the subject sequence), in parallel in a single clock cycle per instruction: 16 integers × 32 bits = 512 bits. Section “BLVector Search for 4-mer” provides further information about it.BLVector considers that a subject sequence might be a promising hit when, at least, there are four 4-mer matches in a query window of 16 consecutive aa residues, though this can be parameterized. In such a case, BLVector executes a local alignment  against The Farrar algorithm is an elegant method to apply vectorization to a single Smith-Waterman pairwise alignment. Based on a complex rearrangement of indices, it assumes that most cells in the dynamic programming matrix will be zero. This allow an intensive application of SIMD vector instructions, and only in a few cases is needed to execute a correction stage that penalizes the algorithm. The Farrar approach is the fastest known to perform single local alignments. It suits to the BLVector operating mode, where an alignment is performed as soon as a new promising subject sequence passes its filtering stage. This way, a single thread of BLVector interleaves the execution of the filtering and alignment stages. Other methods, like Nearby: Number of 4-mer matches to be found in a 16 aa-residue window of a subject sequence, to be considered as a potential hit. As this value increases, the sensitivity of BLVector decreases.1.Cluster: To increase sensitivity, aa-residue letters can be grouped based on their distribution statisticsFaster: This Boolean parameter makes BLVector execute a non-exhaustive search, looking for 4-mer only in even positions.The key point of the filtering implementation is the utilization of specific memory data structures. That allows to align amino acid sequence residues (letters) of peptides or proteins in memory, as required by SIMD instructions. To do this, BLVector creates four replicas of the subject sequence stored in memory; each one of them being shorter than the previous one in 1 byte . This speeds up the comparison of a 4-mer query against every 4-mer subject, exclusively using vectors in which the computation unit is 32 bits; i.e., 4 consecutive residues or 4-mer. Although such approach requires more main memory than BLAST+, this quadruplication is executed on-the-fly, each time that BLVector is executed. Therefore, there is no need for a previous indexation stage, as is required by the former algorithm. As in many other approaches . BLVecton = [(4N-12)/64] comparisons between vectors of 512 bits length. This is shown in n. The vector instructions used in BLVector are compatible with those of newer x86 architectures (AVX-512F) by means of intrinsic functions2.The goal of the filtering stage is to check common substrings of length four, between a query sequence of length M and a previously quadruplicated subject. To do this, the BLVector algorithm focuses on each substring of four bytes (4-mer) length in the query sequence. Then, each 4-mer is replicated 16 times into a vector of 512 bit  that shifts to the left for each of the M-3 iterations. When one of these iterations results in a match, then the least significant bit (LSB) of nearby is set; otherwise, it is reset. Only when the number of bits set in nearby exceeds the value of the -n parameter (nearby-threshold), it is assumed that the subject has enough local similarity to the query. In such a case, it is worth to execute a local alignment between them. If the nearby variable has never contained nearby-threshold bits set after the M-3 steps, then, the subject is discarded as a potential hit.Clearly, it can be argued that contiguous 4-mers of the query sequence may appear at very distant positions in the subject sequence. However, even in the case of random sequences, this is unlikely to happen in a section of only 16 residues, i.e., the length of the nearby integer. In the worst-case scenario, this produces a false potential hit that will be discarded after the pairwise alignment stage.Usage of a 4-mer is a must in BLVector, due to the essentials of vectorization with 32-bit replicas. Other alternatives, like 2-mer (16-bit) or 8-mer (64-bit) are too loose or restrictive, respectively, for filtering purposes. Considering that blastp uses a 3-mer for residues, we have created a method for BLVector to resemble blastp: matrix clustering.Matrix clustering consists in reducing the number of letters used in the whole algorithm; i.e., from the 21 letters used in a standard score matrix of aa residues  to a minor amount. To do this, two or more letters were collapsed into a single one, following different approaches: (i) chemical families; (ii) k-means; or (iii) statistical representations. The suitability of each approach depends on the ratio between new hits and new promising hits. In other words, the average number of new pairwise alignments to be done in order to find out a new hit subject sequence. After testing these approaches, the statistical distribution of each residue available in UniProt  was chos∗), fits into a nibble]. For example, using a cluster value of 20, simply assumes that the tryptophan and cysteine amino acids refer to the same residue. The rationale is that their respective statistical distributions are 1.0 and 1.3%, being the lowest reported by UniProt. This approach has proved to be more suitable than, for example, collapsing cysteine and methionine (which belong to the same sulfur-containing family of aa) to create the cluster of 20. Using lower values of the cluster introduces a blur effect in the sequences, whose final effect is that more sequences pass the filter and need to be pairwise aligned. Hence, the accuracy is increased but at the cost of reducing the speedup. At some extent, reducing the value of this parameter has a similar effect than reducing the value of the nearby parameter, albeit at the expense of introducing some noise. In general, the best results were obtained by fine-tuning the value of nearby, and using a cluster of value 21 or 20. This can be observed in the interactive figure “BLVector_nX_cXX_X.html” . Only the most promising sequences will pass the filter. So, the number of pairwise alignments to perform will decrease , and the execution time of BLVector will be dramatically reduced.For this purpose, we propose to shorten the replication of the subject sequence: a duplication is used instead of a quadruplication. This is achieved by using the fast parameter -f. Thus, only the original sequence and its copy shifted 2 bytes are used in the filtering stage. Therefore, the time taken by 4-mers searches is divided by two. The drawback of this approach is that searches for 4-mer are not exhaustive, because they are looked for at even positions only. Clearly, this is a risky heuristic algorithm that should be used only when the user is looking for very similar proteins, and where the probability of skipping common 4-mer is not a problem to find the required hits. Using this method, the average gain in giga cell updates per second (GCUPS) is ∼58.7%, whereas the loss of hits is ∼49.7% -All (FASTA)  databaseThe left part of Once each subject sequence is quadruplicated into a memory pool, the query file is also loaded and split into single FASTA sequences. Then, for each query sequence, and one after the other, the BLVector heuristic algorithm starts 228 threads (this can be changed through the -p parameter), like the one illustrated at the right of The success of BLVector is mainly due to the high performance obtained through the AVX-512 SIMD instructions used in the 4-mer nearby filtering stage, although vectorization has also been used in the pairwise alignment stage. In addition, unrolling four times the main loop of this 4-mer search (by means of a #pragma), also slightly increases the performance. In short, looking for 4-mer using AVX-512 instructions is much faster (see section “Results and Discussion”) than using a hash table in standard microprocessors, as BLAST+ does. Finally, a correct alignment of data into memory is extremely important to achieve a good performance in the execution of the Smith-Waterman algorithm with affine gaps , using tThe main contributions of this implementation are the utilization of a filtering stage to reduce the amount of pairwise alignments to perform, and the efficient use of the 512-bit vectors provided by the AVX-512 instruction set, both in the filtering and alignment stages. Avoiding contention to shared memory accesses also contributes to increased efficiency.The BLVector has been tested in native mode, on a Xeon Phi Coprocessor 31S1P with 8 GiB DDR5 and 57 cores at 1.1 GHz, running 228 threads, with a thermal design power (TDP) of 270 W. It is quite affordable, with a current cost of around 200 USD. This card supports a 512-bit instruction set, named initial many core instructions (IMCI); i.e., a precursor of some AVX-512 extensions (including AVX-512F), being compatible with them by means of intrinsic functions. The behavior study of BLVector is divided into three parts: (i) performance and accuracy against blastp, including a real case of study; (ii) improvement introduced by the filtering stage; and (iii) speedup of executing the filtering stage in different architectures.BLVector has been used to search for the 32 proteins reported elsewhere  using thBLVector and BLAST+ are heuristics, and they may return different sets of hits, in comparison to an optimal Smith-Waterman whole search. Hence, their performances should be compared for both hits retrieved (accuracy and precision), as well as execution times (speed). Different parameter values were used to benchmark BLVector time performance in comparison to blastp   . These pIt is important to estimate how much time saves BLVector, when compared to a whole S/W execution. When a sequence is rejected in the filtering stage, no local pairwise alignment should be executed. So, the total time to process such a sequence has been the filtering time. On the other hand, when the filtering stage foregoes a sequence, the local alignment must be executed, so the total time to manage the sequence is the filtering plus the alignment times.By far, the most relevant part of BLVector is the filtering stage and its performance. For this reason, it is important to compare its throughput when executed in other widespread hardware architectures. The BLVector filtering stage behaves extremely fast when executed on manycore CPU systems with small cache sizes, many threads per core and heavily penalized accesses to main memory. For comparison purposes, it is advisable to test how the filtering stage behaves when executed on a workstation CPU. Thus, the BLVector filtering stage has been recompiled in an Intel Xeon W-2123 (Skylake microarchitecture) CPU with 4 cores running at 3.60 GHz and 32 GiB of DDR4 RAM memory, as well as a Corsair Force MP510 NVMe SSD (500 GB). This is one of the simplest AVX-512 capable Intel processors, with only 4 cores and a TDP of 120 W. As said, the BLVector is a heuristic algorithm like BLAST+ (blastp), searching for local similarities as a filtering step prior to perform S/W executions. Because it relies on local alignments, BLVector is halfway between a pure heuristic and a pure brute-force method. This work shows that modern algorithms must be designed focusing on current CPU architectures to obtain optimum performances, instead of older, traditional architectures. That can be accomplished by using the simplest portion of the recent x86 vector instructions set: AVX-512F. In addition, the design is simplified using two stages, a front-end filter and a back-end pairwise aligner, both based on vectorization. Deep benchmarking analyses reveal that BLVector is a fast algorithm that provides accurate results. And, in real world scenarios, it produces the same results than blastp, but faster. Filtering a sequence through the 4-mer method is up to 11.8-fold quicker than calculating its S/W score, so it can be applied not only to Farrar algorithm, but also to any brute-force approach , as a waIn a future work, several coprocessors may be used to benchmark BLVector on larger databases; e.g., the Viridiplantae portion of the Translation of the European Molecular Biology Laboratory (TrEMBL) amino acid sequence database (∼5 GB), splitting it into parts and compounding results as in https://www.uniprot.org (Swiss-Prot UniProt 2019_05) and https://phytozome.jgi.doe.gov (Brachypodium distachyon 314 reference genome). The source code of BLVector is available at https://github.com/galvezuma/BLVector.Publicly available datasets were analyzed in this study. This data can be found here: All authors participated in the development, performed testing and analyses, as well as the writing of the manuscript, and revised the final version.The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.


Malaria and typhoid fever are revered for their ability to individually or jointly cause high mortality rate. Both malaria and typhoid fever have similar symptoms and are famous for their co-existence in the human body, hence, causes problem of under-diagnosis when doctors tries to determine the exact disease out of the two diseases. This paper proposes a Bioinformatics Based Decision Support System (BBDSS) for malaria, typhoid and malaria typhoid diagnosis. The system is a hybrid of expert system and global alignment with constant penalty. The architecture of the proposed system takes input diagnosis sequence and benchmark diagnosis sequences through the browser, store these diagnosis sequences in the Knowledge base and set up the IF-THEN rules guiding the diagnosis decisions for malaria, typhoid and malaria typhoid respectively. The matching engine component of the system receives as input the input sequence and applies global alignment technique with constant penalty for the matching between the input sequence and the three benchmark sequences in turns. The global alignment technique with constant penalty applies its pre-defined process to generate optimal alignment and determine the disease condition of the patient through alignment scores comparison for the three benchmark diagnosis sequences. In order to evaluate the proposed system, ANOVA was used to compare the means of the three independent groups  to determine whether there is statistical evidence that the associated values on the diagnosis variables means are significantly different. The ANOVA results indicated that the mean of the values on diagnosis variables is significantly different for at least one of the disease status groups. Similarly, multiple comparisons tests was further used to explicitly identify which means were different from one another. The multiple comparisons results showed that there is a statistically significant difference in the values on the diagnosis variables to diagnose the disease conditions between the groups of malaria and malaria typhoid. Conversely, there were no differences between the groups of malaria and typhoid fever as well as between the groups of typhoid fever and malaria typhoid. In order to show mean difference in the diagnosis scores between the orthodox and the proposed diagnosis system, t-test statistics was used. The results of the t-test statistics indicates that the mean values of diagnosis from the orthodox system differ from those of the proposed system. Finally, the evaluation of the proposed diagnosis system is most efficient at providing diagnosis for malaria and malaria typhoid at 97% accuracy. Bioinformatics; Computer science; Malaria; Typhoid fever; Sequence alignment; Expert system A female Anopheles mosquitoes carrying plasmodium parasite in their salivary glands is the transmitter of malaria . The sevSalmonella enterica serotype Typhi and transmitted through a human carrier in the form of contaminated food and water  designed to learn the skills of a human-expert coded in the form of rules . An expeThe rest of this paper is organized as follows: Section 2Computer inspired tool such as sequence alignment algorithms can be deployed in medical diagnosis systems to check death ratio and reduce the stress of waiting to see a medical doctor. Medical diagnosis system is an emerging technology in the field of AI used to help health care experts in making efficient and appropriate clinical decisions . MedicalResearchers have developed several intelligent approaches for medical diagnosis systems in an attempt to identify disease category, reduce waiting time of patients, reduce health care service costs and increase service rate of medical experts. As seen in most studies , intelli2.1Bioinformatics is an interdisciplinary field of science consisting of tools developed to gain knowledge about biological phenomena . It is a2.2Sequence Alignment is a form of bioinformatics tool designed for the comparison of two or more sequences in order to derive important biological knowledge . It is uThe functional behaviour of an unknown pattern can be predicted by simply employing sequence alignment. The optimum similarity of the unknown pattern after alignment with a database of known text sequences is normally assumed as the functional information contained in the pattern. There are predominantly two techniques of sequence alignment: global alignment and local alignment.2.2.1In global alignment comparison is done from start till finish of the pattern to locate the optimal alignment. This kind of alignment followed the Needleman-Wunsch algorithm . This al2.2.2Sequences with no identical length can be matched with local alignment technique. It divides sequences into subsets and compare subsets of all possible lengths. This kind of alignment followed the Smith-Waterman algorithm .These two basic alignment techniques are known to follow the popular divide-and-conquer approach.2.3A Gap penalty is a technique derived to allow for more character matching between closely related sequences. When comparing sequences, the use of gaps in the sequences can allow more characters to be matched by an alignment algorithm than it's possible in normal alignment. However, to arrive at suitable alignment it is essential to control the length and number of gaps in an alignment. The three basic types of gap penalties are constant, linear and affine .2.3.1This is the most basic type of gap penalty where a fixed negative score is assigned to every gap, irrespective of its length. For example, aligning two sequences as in 2.3.2The linear gap penalty in contrast to constant gap penalty consider the length (L) of each insertion/deletion in the gap. Hence, if the penalty for each gap is Y and the length of the gap is L; the resultant gap penalty is the product of the two YL. This technique discourages lengthy gaps, with total score decreasing for each additional gap. For example, the total score for 2.3.3This is a blend of the constant and linear gap penalty. It is the most common of the gap penalty types. The affine gap penalty is of the form.2.4The uncultivated habit of people to visit the hospital for regular check-ups coupled with their busy schedule, has triggered the emergence of medical diagnosis systems as an alternative for human experts. The wide acceptance of these medical diagnosis systems has translated to an alteration from human consultation to system consultation. Medical diagnosis system is an expert system with coded knowledge of some domain experts which can categorize diseases based on selected symptoms . These cMoreso, the deployment of these medical diagnosis systems can greatly assist medical staff in the discharge of quality health care services. AI as an umbrella word in intelligent computing, is the design and implementation of machines behaving at the level of a human expert. Expert systems have carved out a niche for itself in AI compared to other machine learning techniques. The most recognised area of expert systems application is inherent in the health care domain for detection and prevention of diseases . The fri3The architecture of the proposed Bioinformatics Based Decision Support System (BBDSS) for multi-target disease diagnosis is presented in 3.1Given an input sequence Such that 3.2The database stores patient interaction with the system providing symptoms details. The database is a repository storing the benchmark diagnosis sequences, patient signs and symptoms and domain expert knowledge. It receive input diagnosis variables and the domain expert knowledge through the browser interface. Hence, the authors sought and obtained ethical approval from the Landmark University Research Ethical Board. This ethical approval was given by the Landmark University in collaboration with its medical center.3.3The rule base for MF, TF and MTF is composed of the benchmark diagnosis variables combined by a set of IF-THEN rules in which the IF-parts consist of the diagnosis variables combined by the AND operator while the THEN-parts involve the diagnosis decisions. The rules that constitute the benchmark sequences were intelligently formulated with the knowledge of domain experts. 3.4A dot plot matrix or similarity matrix is constructed to permutate all the possible alignment between a given input diagnosis sequence and all the benchmark diagnosis sequences. In order to characterise all the possible combinations of variables and their resultant scores a similarity matrix is used. The similarity matrix is defined by an alignment matrix and scoring matrix.3.53.5.1•substitution iff •deletion (del) iff •insertion (in) iff Given two sequences 3.5.2Let Given . A simple scoring scheme (7) is used for the alignment between an input diagnosis sequence and benchmark diagnosis sequences, since no gap allowance is considered in the system. i.e., all sequences are of equal lengths.3.7•Start in . For every  determine optimal case.•Compare the value with the three possible sources •Sequence of trace arrows with maximum trace gives optimal alignment.Once the alignment matrix with the cost function is computed, the entry D{nm} provides the maximum score among all possible alignments. To compute optimal alignment, you start from the bottom right cell as follows:Hence, the number of possible global alignments between an input diagnosis sequence and a benchmark diagnosis sequence of length N can be represented as in (8).3.8•H0: μ1 = μ2: The paired mean score between the orthodox system and the proposed system are equal, that is, differ on average by a small margin at most.•H1: μ1 ≠ μ2: The paired mean score between the orthodox system and the proposed system are not equal, that is, differ on average by a large margin.where H0 denotes the null hypothesis and H1 denotes the alternative hypothesis.In order to investigate if the mean score of the proposed system is statistically equal to the orthodox system, the following research hypotheses were formulated:4The proposed diagnosis system was implemented using a java programming language which runs on Netbeans IDE 8.0.2 environment and MySQL as the database management system.The string generated is then aligned with those in the rule base for comparison. The percentage of matches between the three sequences determines what disease the patient is most likely suffering from as in When the ‘‘View Sequence Details’’ button in 5Since the diagnosis of malaria, typhoid and malaria typhoid is independent of one another but having joint diagnosis variables, a one-way ANOVA was used in order to compare the means of the three independent groups  to determine whether there is statistical suggestion that the associated values on the diagnosis variables means are significantly different.In the proposed system, the diagnosis variables is the health professional's inputs (Y/N) to diagnose a given disease condition, and disease status is an indicator about whether or not the patient have . We use ANOVA to test if there is a statistically significant difference in diagnosis variables with respect to disease status. Diagnosis variables will serve as the dependent variable, and disease status will act as the independent variable.F  = 9.194, p < 0.005). Since the ANOVA alone is considered insufficient to tell us explicitly which means were different from one another, multiple comparisons tests was further used.From From the ANOVA results, we ascertained that there are statistically significant differences between the groups as a whole. From In order to evaluate the performance of the proposed diagnosis system in terms of results accuracy, we performed a comparative analysis of one hundred and twenty random system diagnostic findings with those obtained from the orthodox method equivalent as shown in Therefore, the mean accuracy of the proposed diagnosis system and its efficiency is computed as follows:From the evaluation result, it can be concluded that the proposed diagnosis system is most efficient at providing diagnosis for malaria and malaria typhoid at 97% accuracy.The calculated MA and E values suggested that the proposed system is 97% accurate. In order to show the significant difference in the diagnosis scores between DROM and DRPS, we use the t-test statistics. It is used to test for differences between the two diagnosis methods based on the measured scores. In In order to conclude that the mean value of the proposed system is statistically the same as that of the orthodox system, equivalence test was investigated. In other words, equivalence test was conducted to investigate if the accuracy of the proposed system is as good as the orthodox system.•DROM and DRPS scores were strongly and positively correlated .•There was a significant average difference between DROM and DRPS scores .Since the paired mean difference between the orthodox system and the proposed system differ on average by a small score margin of 0.0299233 and probability level for the equivalence test is less than the recommended value of alpha (0.05), the null hypothesis can be accepted and the accuracy of the proposed system can be considered valid.5.1This paper developed a decision support system for malaria, typhoid fever and malaria typhoid diagnosis using bioinformatics approach. The system is a hybrid of expert system and global alignment with constant penalty. Both malaria and typhoid fever have similar symptoms and are famous for their co-existence in the human body. Hence, the need for an efficient method for detecting these disease conditions.The architecture of the proposed system takes input diagnosis variables through the browser representing benchmark diagnosis sequences for the three disease conditions, patient signs and symptoms controlled by a health professional and domain expert knowledge respectively. The browser is the interface through which a health professional interact with the system and provide diagnosis results to the outside world. The Knowledge base comprises of the database and rule base. The database stores benchmark diagnosis sequences, patient signs and symptoms and domain expert knowledge while the rule base is made up of a set of IF-THEN rules depicting the benchmark diagnosis variables for each disease conditions of malaria, typhoid fever and malaria typhoid respectively. The matching engine component receives as input the input sequence and applies global alignment technique with constant penalty for the matching between the input sequence and the three benchmark sequences in turns. The global alignment technique with constant penalty applies its pre-defined process to generate optimal alignment and determine the disease condition of the patient through comparing the alignment scores for the three benchmark diagnosis sequences.We used ANOVA to compare the means of the three independent groups  to determine whether there is statistical evidence that the associated values on the diagnosis variables means are significantly different. The ANOVA results indicates that the mean of the values on diagnosis variables is significantly different for at least one of the disease status groups. Similarly, multiple comparisons tests was further used to explicitly tell us which means were different from one another. The multiple comparisons results showed that there is a statistically significant difference in the values on the diagnosis variables to diagnose the disease conditions between the group of malaria and malaria typhoid. Conversely, there were no differences between the groups of malaria and typhoid fever as well as between the groups of typhoid fever and malaria typhoid.In order to show the significant difference in the diagnosis scores between DROM and DRPS, t-test statistics was used. It is used to test for differences between the two diagnosis methods based on the measured scores. The results of the t-test statistics indicates that the mean values of diagnosis from the orthodox system differ from those of the proposed system. Equivalence test was also conducted to investigate if the accuracy of the proposed system is as good as the orthodox system. The result of the equivalence test validates the accuracy of the proposed system.Finally, the evaluation of the proposed system showed a high efficiency for the possibility of malaria and malaria typhoid diagnosis. One limitation of the proposed system is related to the age of the sick person. The likelihood that children will not give accurate details of symptoms without a health professional doing physical investigation on the sick children is a clear limitation. In the future, the system will include physical examination category for sick children. Secondly, it is recommended that reinforcement learning be adapted to improve the optimality of the sequence alignment method.F. E. Ayo: Conceived and designed the experiments; Performed the experiments; Analyzed and interpreted the data; Wrote the paper.J. B. Awotunde: Performed the experiments.R. O. Ogundokun: Analyzed and interpreted the data.S. O. Folorunso, A. O. Adekunle: Contributed reagents, materials, analysis tools or data.Landmark University Centre for Research and Development, Landmark University, Omu-Aran, Kwara State, Nigeria.This research is fully sponsored by The authors declare no conflict of interest.No additional information is available for this paper.


We generated sets of artificial DNA sequences with x ranging from 0 to 4.4 and applied MAHDS as well as currently used multiple sequence alignment algorithms, including ClustalW, MAFFT, T-Coffee, Kalign, and Muscle to these sets. The results indicated that most of the existing methods could produce statistically significant alignments only for the sets with x < 2.5, whereas MAHDS could operate on sequences with x = 4.4. We also used MAHDS to analyze a set of promoter sequences from the Arabidopsis thaliana genome and discovered many conserved regions upstream of the transcription initiation site (from −499 to +1 bp); a part of the downstream region (from +1 to +70 bp) also significantly contributed to the obtained alignments. The possibilities of applying the newly developed method for the identification of promoter sequences in any genome are discussed. A server for multiple alignment of nucleotide sequences has been created.In this study, we developed a new mathematical method for performing multiple alignment of highly divergent sequences (MAHDS), i.e., sequences that have on average more than 2.5 substitutions per position ( Multiple sequence alignment (MSA) is one of the central tasks of bioinformatics. Significant efforts have been made to develop tools for MSA ,2,3, whiN sequences, calculation of a matrix of distances between the sequences, construction of a matrix-based guide tree, and, finally, progressive MSA. Often, an optimization procedure is applied to the created progressive alignment to improve the final result and eliminate unnecessary deletions and insertions (indels). The sum of the similarity functions of pairwise alignments, which may be used as an objective function, can be obtained by projecting the constructed MSA on two-dimensional planes [N(N−1)/2 of pairwise alignments. Alternative target functions such as consensus [The progressive alignment is the most popular MSA algorithm. It includes pairwise comparison of l planes ,8, resulonsensus , entropyonsensus , or circonsensus  are alsoonsensus ,13, MAFFonsensus ,15, and onsensus ,17.Iterative methods are another popular approach to construct MSA as they allow reducing the errors inherent in progressive alignment. When a new sequence is added to the MSA, the total alignment is recalculated, which is in contrast to progressive alignment when each originally calculated paired alignment is final. As a result, the error rate is reduced and the objective function is optimized. The most popular programs that employ iterative procedures are Muscle , PRRN 1, and CHAHMMs, which are also used to construct MSA, consider the probabilities of all possible states, i.e., match, insertion, or deletion, for each character ,22. AlthThe described approaches construct a statistically significant guide tree for progressive alignment based on pairwise alignments between sequences. However, in the case of highly divergent sequences, it is often not possible to find a statistically significant “germ” or common “words”. Therefore, it is currently extremely difficult or impossible to compute the MSA of highly divergent sequences.x), MSA becomes statistically significant only for a relatively large sample containing more than 10 sequences. MSA can be built using the N-dimensional dynamic programming for all the analyzed sequences, but it requires significant computational resources and is currently impossible to implement, suggesting that the available MSA approaches need improvement in this direction.In the case of highly divergent sequences, when each sequence pair has more than 2.5 substitutions per position (http://victoria.biengi.ac.ru/mahds/main). The advantage of MAHDS is that it can produce a statistically significant alignment of a set of divergent nucleotide sequences for which any pairwise alignment does not reach sufficient statistical significance.To address this problem, we have developed a new mathematical method for computing the multiple alignment of highly divergent sequences (MAHDS), which is partially based on previously described tandem repeat search algorithms ,26. Herex) revealed that they are effective at x < 2.5. In comparison, the MAHDS program can construct a statistically significant MSA with x up to 3.7 for the number of sequences up to 100 and if the sequence set increases to 500, the statistically significant x limit is increased to 4.4. MAHDS was used to align promoter sequences from the Arabidopsis thaliana L. genome (from −499 bp upstream to +100 bp downstream of the transcription start site) and revealed that many upstream regions (from −499 to +1 bp) are highly conserved. A significant conservation was also observed in the regions from +1 to +70 bp. Furthermore, MAHDS provided identification of 25 promoter classes in the A. thaliana genome. The possibility of using the developed mathematical method and the calculated multiple alignment to identify promoter sequences in different genomes is discussed.The analysis of the performance of currently available MSA programs, including ClustalW , Clustalsq(1), sq(2),…, sq(N), which we combine into one sequence S of length L and then determine the best alignment between S and PWM that was originally calculated based on random sequence alignment and has the dimension of 4 × L/N. Then, sequence S is aligned against PWM using the Needelman-Wunsch algorithm [S and PWM is measured based on F calculated by two-dimensional dynamic programming at the point . In the two-dimensional matrix F with the size L × L, sequence S is plotted in the X axis and the PWM, multiplied N times, in the Y axis. As a result, sequence S will be compared by dynamic programming with sequence S1, which contains the column numbers of the PWM matrix treated as characters and looks as 1, 2,…, L/N, 1, 2,…, L/N,…. We also created S2, which is a randomly shuffled sequence S. The main idea behind the MAHDS method is the construction of the optimal image rather than direct calculation of the MSA. Here, we used position-weight matrix (PWM) as such an image. For example, we have a set of sequences lgorithm  (for an lgorithm ) and theF, which then will be referred to as the best PWM. Using the created two-dimensional alignment, we can easily reconstruct the multiple alignment of the initial sequences. Therefore, MAHDS computes MSA by calculating F, finding the best PWM, and aligning sequence S to PWM.The purpose is to determine PWM with the greatest Q)  value in position i of vector V(i)  (V(i) was sorted in the ascending order and the matrices from set Q were arranged in accordance with the position of the corresponding value in V(i). As it is extremely unlikely to obtain a good approximation of the optimal MSA from the first random PWM, we determined the best PWM using an optimization procedure. For this, we generated a set of random PWMs (Q) , point 11,…, n1) , point 2Q and create hybrids (descendants) (V(1) ) was excluded from set Q and replaced with the descendant. Then, the values of vector V(i) were recalculated and V(i) re-sorted. The resultant matrix corresponded to the largest F contained in V(L) and was denoted as maxF  value decreased, then the process of matrix optimization was considered complete, if not—it was repeated. As a result, we obtained maxF, two-dimensional alignment of sequences S and S1, and the best PWM  , point 3xF , point 2best PWM . The steQ; L/N columns and 16 rows. For this, we generated a random nucleotide sequence S2 of length L with equal base probability (0.25), transformed it into a numeric sequence , and compared it with sequence S1 of the same length L containing N repeated sequences . Then, we filled frequency matrix M as:i ranges from 2 to L. We used random sequences to obtain a set of random PWMs Q; , point 1i and i − 1), which allows multiple alignment of highly diverged sequences where base frequencies in each MSA position may not differ from those in sequence S, while maintaining the correlation of neighboring nucleotides. An example is shown in −6. Given that this value is the same for columns 3 and 4, the probability of accidentally creating the alignment shown in −12, which means that the individual columns in This approach of matrix construction takes into account two effects in MSA : The freW using M:W was transformed to obtain the given R2 and dK, calculated using the following formulas:Then, we calculated PWM matrix p1(i) is the probability of symbols in S1, which is N/L for any i; p(l) and p(m) are the probabilities of the l or m type nucleotides in S ; p(l) = q(l)/L, where q(l) is the number of l type nucleotides in S; and L is the length of S. For all the calculations, we used R0 = 110L/N and K0 = −1.8 [R2 = 155 is shown in R2 = 2000 and dK =−1.5.Here, 0 = −1.8 . The mat0 = −1.8  and an eW so that the distribution function for F is similar for different W matrices. Therefore, the same R2 and dK values should be maintained. The optimal cost for an insertion or deletion  depends on R2 and the average value of F for a random sequence S depends on dK. The distribution function F can be obtained by the shuffling of sequence S into 1000 random sequences denoted as set SR and calculating F of matrix W for each sequence of the set. If R2 and dK for different transformed W matrices are the same, then F distributions will be equal or similar [It is necessary to transform matrix  similar , which iWT) for set Q, we shuffled sequence S and repeated the calculations using Formulas (1) and (2). As a result, about 106 PWMs for set Q were selected and then filtered to leave only those that uniformly fill the Euclidean space with dimension 16 L/N. We considered each matrix as a point in this space and calculated the Euclidean distance D between all matrices. We selected the threshold D0 so that set Q contained less than 103 matrices. Any two matrices with D < D0 were excluded from the set. We denoted the number of matrices in set Q as n1.After obtaining one transformed PWM  + 4(s(j) − 1)), i and j each ranges from 2 to L, and s(j) and s1(i) are elements of sequences S and S1, respectively. Parameter n reflects the fact that in matrix W, dinucleotides were taken into account. To determine n, the previous position (k), already included in the alignment, should be defined. It was calculated from the created transitions in matrix F, depending on the previous base in S and used to obtain W(s1(i),n). If the previous base of sequence S is s(j − t), then k = j − t and n = s(j − t) + (s(j) − 1) × 4. Three cases should be considered. In the first, t = 1 corresponds to the movement along the main diagonal of matrix F and there is no deletion in sequence S in the alignment (t > 1 corresponds to a deletion of t − 1 bases in sequence S (illustrated in t = 2). Finally, deletions may occur simultaneously in both sequences S and S1, which correspond to deletions of columns in matrix W. If the previous symbol in sequence S1 has the number i − 1, then there is no deletion, but if this number is i − t (t > 1), then there is a deletion of t − 1 bases in sequence S1. For these transitions, we did not consider the correlations of adjacent bases and took n = s(j). Rather than matrix W(s1(i),n), we used matrix W1(s1(i),s(j)):Then, we aligned sequence lignment A. In thet = 2).In this case, the correlation of adjacent bases is not considered, which is quite acceptable when the number of deletions is relatively small  and F were 0 for i and j ranging from 1 to L, respectively, and F, F, …, F were also equal to 0. Matrix E was used to define the first column and row of matrix F. The insertion/deletion penalty value (del = 25.0) was selected based on our earlier work [F. Therefore, we aligned sequences S1 and S using the reverse transition matrix and determined F. The alignment of S1 and S was obtained for all matrices from the Q set. As a result, vector V(i)  contained F for each matrix.The zero row and column of matrix ue del = .0 was seQ set, we used a genetic algorithm described in our previous study [Q set to maximize F, which was considered an objective function. F for each matrix was put into vector V(i) , which was sorted in the ascending order from V(1) (the minimum) to V(n1) (the maximum) and the matrices in the Q set were arranged accordingly. Then, two matrices were randomly selected with the probability of choosing a matrix, which increased with the increase of i from 1 to n1, and the two matrices were used to create a “descendant”, for which any element of the first matrix was selected with an equal probability. Then, rectangles were randomly selected to the right and left above and below the selected element in the first matrix with the probability of 0.25 and the elements within the rectangle were moved from the first to the second matrix to create a descendant, which replaced the PWM with V(1).To optimize matrices from the us study . The aimQ set. To do this, a randomly selected element of the matrix was changed to a random value in the range from −10.0 to +10.0. Usually, less than 104 cycles were required to achieve the moment when V(n1) did not increase, i.e., to reach the maximum designated as maxV(n1). However, in rare cases, more than 105 cycles were performed. At the output of the algorithm (maxV(n1), two-dimensional alignment of sequences S1 and S, and matrix maxW, which were used to compute the alignment.Then, we introduced mutations in 10% of the randomly selected matrices from the lgorithm , we obtamaxV(n1). Sequence S was randomly shuffled to obtain 200 random sequences. Then, matrix maxW was included in the Q set described in maxW alignment with random sequences. Then, each of these sequences were treated as described in maxW was calculated for each, producing 200 maxV(n1). Then, the mean Z:maxV(n1) was calculated for sequences S1 and S in We used the Monte Carlo method to estimate the statistical significance of Z was obtained for each MSA and the average Z value for random S sequences was estimated according to Formula (7) after each sequence had been subjected to the procedures described in Z = 1.8, and we can assume that the MSA is non-random at Z > 6.0. S1 and S. Each position in sequence S1 corresponded to a column in the MSA. Any insertion in the two-dimensional alignment (opposite to which there was a gap in sequence S1) resulted in an additional column in the MSA.The MSA was computed using the two-dimensional alignment of sequences A, the length of each sequence in A as K, and the number of sequences as N. All sequences from A are linked to produce sequence 3S of length L = KN. Then, the PWM is calculated for A using Formula (2), transformed using Formulas (3) and (4), and applied to create the two-dimensional alignment for sequence S3 using Formulas (5) and (6) and to calculate F. The statistical significance of A is then computed according to Formula (7).The algorithm shown in N/2 should be excluded from A to eliminate redundant deletions in the calculation of F, whereas those with the sum > N/2 cannot be excluded since it would lead to an excessive number of insertions. Consequently, the number of columns became K′ ≤ K, resulting in a new alignment A′ (K′ is the length of each sequence in A′). To construct the PWM using A′, frequency matrix M was first calculated using Formula (1) and then the PWM (designated as AW’) was calculated using Formula (2). Formulas (3) and (4) were applied to transform the resulting matrix and obtain matrix AWT’, which was used to calculate F (L = K′N) based on A’. For this, the sequence from A’ was merged with sequence S4 with all the spaces preserved. At the same time, sequence S5 containing column numbers {1, 2, …, K′} of the AWT’ matrix repeated N times was created. Then, we determined the sum of F1 = F1 + WT(s5(i),n), where n = s4(i − 1) + (s4(i) − 1) × 4 was calculated for all i from 2 to L = K’N, for which s4(i − 1) and s4(i) were not gaps, whereas for those i for which s4(i − 1) was a gap, the sum was calculated as F2 = F2 + E(s5(i),s4(i)). Matrix E was calculated from the AWT’ matrix using Formula (6). We also calculated F3 = −k1del, where k1 was the number of gaps in alignment A’, and del was the insertion/deletion penalty (Formula (5)), as well as F4 = −k2del, where k2 was the difference in the number of nucleotides between alignments A and A’. Finally, we calculated F = F5 = F1 + F2 − F3 − F4.However, the columns that have a sum of elements < AWT’ is the image of alignment A’, for which statistical significance can be estimated based on the effectiveness of the alignment between the AWT’ matrix and random sequences. If the alignment is random, then matrix AWT’ would be random too and F5 would be close to the value obtained for random sequences (Weight matrix equences . S4 was randomly shuffled to create 200 sequences and matrix AWT’ was included in the Q set as described in maxV(n1), each for a different random sequence, were obtained and used to calculate the mean 1)maxV(n and variance Z using Formula (7), where F5 was used rather than 1)maxV, which included the region from −499 to +100 bp relative to the first base of the start codon (position +1). There were 22,694 promoter sequences in the analyzed set denoted as PM , two-dimensional alignment of sequences S1 and S, and PWM mW. The MAHDS algorithm developed in this study was applied to align promoter sequences from the ndex.php ). Each ped as PM . Since tPM set was significantly larger than the 500 randomly selected promoters included in sequence S. Furthermore, promoter sequences from the PM set might not show statistically significant alignment with maxW. Therefore, we aligned each promoter from the PM set with matrix maxW using Formula (5) and considering the promoter sequence as S with L = 600. As a result, F for each promoter from the PM set was calculated and put into the Ves(i) vector (where i is the promoter number).However, the volume of the Ves(i) were selected from the PM set. To do this, we used PMR(i) sets obtained by random shuffling of the promoter sequence with number i; each PMR(i) set contained 103 random sequences of 600 bp. We aligned each sequence from PMR(i) relative to the maxW matrix, calculated F denoted as Vesr(j) , and then determined the mean Ves(j) and variance D(Vesr) and calculated Z for each Ves(i) using Formula (7). If Z > Z0, then the promoter was considered to have a statistically significant alignment with the maxW matrix. For Z0 = 5.0, the probability of random similarity between the promoter and maxW was about 10−6. All promoter sequences with Z > 5.0 were assigned to the same class characterized by the maxW matrix.Then, the promoter sequences with statistically significant A.thaliana promoter sequences in this way, we removed all the sequences with Z > 5.0 from the PM set and created PM(1) set. The resulting set PM(1) was used to create further classes. The described procedure was repeated for the PM(1) set, from the creation of a new set of 500 randomly selected promoters. As a result, we created a second class of promoters and a PM(2) set. We repeated this procedure for the sets PM(i), i = 1,2, …. Each iteration created a new class and the corresponding maxW matrix. If on some iteration, the volume of the PM(i) set became less than 500 sequences, then we chose all the sequences for carrying out the multiple alignment. The multiple alignments generated for each class are shown in i = i0 when the size of classes with i > i0 was less than 100 sequences. We defined the size of classes equal to 100 based on the random sequence analysis. When we performed the procedure on randomly shuffled promoter sequences , the volume of the classes ranged from 6 to 27 sequences with an average value of 16 sequences. This means that with using the threshold we kept the type I error rate less than 16%.When we created the first class of the S in each class M matrix, where k is the class number from 1 to 25 (see f(j)  and probabilities p(j) = f(j)/(f(1) + f(2) + f(3) + f(4)) were calculated for S. Then, we calculated the expected dinucleotide frequencies as t = Np(i)p(j), where N is the number of promoters in the constructed MSA, base i is observed at position l − 1, and base j is observed at position l in the MSA with class k. Finally, we calculated variance D = Np(i)p(j)(1 − p(i)p(j) and then k =  − t)/DZ for each element of the kM matrix, where n ranged from 1 to 16 (n = i + 4(j − 1)) and l—from 2 to 600. Therefore, we could access the difference between the frequency of a base pair  at position l in the MSA and the expected frequency. kZ is the normal approximation for the binomial distribution. The larger kZ, the greater the difference between the observed and expected frequencies. We examined the difference in dinucleotide frequencies among the constructed MSAs based on the expected frequencies for each of the 599 positions (from −499 to +100) in the promoter regions. For this, we used the MSA obtained for sequence lass see . Formulao 25 see . The frel, we used sum 2χ distribution with 15 degrees of freedom. We transformed k(l)χ into an argument of normal distribution using the normal approximation for chi-squared distribution f) is 15. As a result, function k(l)χ was obtained for multiple alignment k, where l ranges from 2 to 600. The greater k(l)χ, the more conserved is position l in the MSA.To estimate the conservation of position G(x) sets, where each G(x) contained 100 sequences 600 nt long and x was the average number of substitutions per nucleotide (ranging from 0 to 4.0) for each pair of sequences from the G(x) set. In each G(x) set, we made 25 insertions and 25 deletions in random positions of randomly selected sequences  on x for the following MSA methods: ClustalW [https://www.genome.jp/tools-bin/clustalw), Clustal Omega [https://www.ebi.ac.uk/Tools/msa/). The alignment was performed with the highest possible gap penalty.To compare different MSA methods, we generated ClustalW   function for ClustalW and Clustal Omega. The results indicated that both algorithms created statistically insignificant alignments (Z < 5.0) for sets with x > 2.1 and produced a very large number of indels (over 6000) at x > 2.0. The same situation was observed for the other tested algorithms—MAFFT, T-Coffee, Kalign, and Muscle . Furthermore, the mean number of indels was about 48 for all x < 3.7, which is very close to the original number of indels (50) we introduced in each G(x) set.The results obtained with the MAHDS algorithm developed in this work are shown in G(x) sets containing 500 sequences with 250 indels .We also applied MAHDS for  x < 4.4  and the ID), and created Al(ID) sets. For each of the eight ID intervals ) is possible only for IDs over 0.45. In the case of lower IDs, we are in the so-called twilling zone, where there is no unambiguous relationship between ID and x and it is not possible to convert ID to x, since pairs of nucleotide sequences can have the same identity in a wide range of substitution numbers per nucleotide. For amino acid and nucleotide sequences, the thresholds are over 25% [ID but not x if ID is below 40%, since the real number of nucleotide substitutions is unknown. Therefore, x can be estimated only for model sequences. We could only conclude that at ID > 0.45 (x ≈ 1.1), MAHDS could produce statistically significant MSAs, but ClustalW could not. The decrease in the x threshold from 2.1  for each class of A. thaliana promoters. The iterative algorithm stopped at i = 25, since the class size for i > 25 was less than 100 sequences. If such a procedure was performed for purely random sequences, the class size ranged from 6 to 27 sequences (16 in average), indicating that the promoter classification was performed with the type I error rate not exceeding 16%. Only the 18th and 24th classes deviated from this pattern, since their sets contained 65 and 47 sequences. We did not stop the classification procedure on these sets, since the size of the subsequent sets was more than 100 sequences.The iterative classification algorithm for promoter sequences described in A. thaliana genome. The class distribution of promoter sequences is shown in A. thaliana genome.Consequently, we obtained 25 classes of promoter sequences from the Z0 . This classification can be performed for any group of sequences. The resulting MSAs for each class are shown in the appendix.The number of classes strongly depended on the threshold value Z0 . If Z0 iequences  was signA. thaliana promoters based on the constructed MSAs. For this, we calculated k(l)χ, where k is the class number (k 1–5) are shown in Next, we analyzed the conservation of dinucleotides in the s number . The graThe region from +1 to +80 , suggesting similarities in transcriptional mechanisms for the corresponding genes. The dinucleotide frequencies in this region differed from the expected frequencies calculated for random sequences. It is somewhat surprising that even sufficiently distant positions  for the simulated sequences  of classes 1–4), and determined the corresponding x values showing the average number of substitutions per position. The results indicated that MSAs for classes 1–4 had x = 3.7.We also analyzed the statistical significance of multiple alignment of promoter sequences. MSAs for the first four classes with the largest numbers of promoters contained 220–280 indels. The classes were initially created by aligning 500 promoters . To estiZ < −2.0) and contained a very large number of indels. Since according to our estimations, the promoter sequences of these classes carried approximately 3.7 mutations per nucleotide, the alignment cannot be calculated by these methods.The alignments of the promoter sequences from classes 1–4 created using MAFFT, T-Coffee, Kalign, Muscle, ClustalW, and Clustal-Omega programs were not statistically significant . In this study, we used default parameters, however, we also tried other settings. Therefore, we examined the statistical significance of aligning model sequences by ClustalW using eight different values of gap open (Go) penalties in the interval from 2 to 30 and gap extension (Ge) penalties from 0.1 to 25% for each Go value. For Z = 5.0, the maximum x was 2.4 and in default conditions, x was 2.1  sets  sets  generatex < 3.7; furthermore, if the number of sequences to be aligned increases to 500, then the limit for x increases to < 4.4. We believe that such a capability of MAHDS is very important for MSA of different genes and regulatory sequences and could provide higher precision in their annotation. To align 100 sequences of 600 nt each by the MAHDS method, we used a computer cluster with 64 computing cores (eight Ryzen 7 1700 processors) and the alignment took less than 6 min.In contrast to the other algorithms, MAHDS calculates statistically significant MSA for A. thaliana genome. The estimated average number of substitutions per nucleotide (x) in the created promoter classes was 3.7, whereas the other methods provided statistically significant MSAs at x < 2.5, which explains why such MSA of promoters has not been obtained previously. Therefore, MAHDS could perform multiple alignment of sequences with a low degree of similarity, i.e., those that have accumulated a considerable number (3.7) of substitutions per nucleotide, which enabled us to classify promoters and reveal some common properties within each class at a statistically significant level. However, the developed MAHDS algorithm, similar to the existing methods for computing MSA , is purely mathematical and, therefore, can only reveal structural similarities among the aligned sequences but not their biological significance. At this point, it is difficult to conclude whether the revealed patterns are inherent to promoters or are also present in other sequences. Similarly, it is unclear whether the observed sequence similarity is associated with a common evolutionary origin of promoter regions or with the general functional role of promoters in gene transcription. These problems should be addressed in special studies, where the promoter classes and MSAs obtained here would be used to identify promoter sequences in various genomes and correlate them with experimental results, which can be done using HMMs [It is usually a challenge to perform the alignment of promoter sequences due to their considerable dissimilarity . Despiteing HMMs ,48. 3–104 DNA bases. As a result, it is not possible to distinguish the true promoter from false hits. For the promoter prediction, it will be convenient to use maxW matrices calculated here and the mathematical algorithm described in S. We believe that a number of false positive hits will be several hundred or even a few dozen per genome size of 3 × 109 bases.The search for potential promoters in various genomes is a major challenge. The currently available predictive algorithms such as TSSW , PePPER x ~ 3.7. To our knowledge, there are no biologically correct MSA constructed for the set of all promoter sequences. As well as there are no such MSA for any DNA sequences with x ~ 3.7. The point is that both pairwise and multiple alignments could be constructed only for sequences with x < 2.5, as shown in x > 2.5 can be constructed in the future if one can find amino acids or DNA sequences with a similar structure but with sequences’ x ~ 3.5–3.7. Then, it will be possible to improve the accuracy of the MAHDS algorithm in the same way as it was done for other methods [In this work, we used MAHDS to construct the multiple alignment of promoter sequences. The constructed alignment can be used for the subsequent prediction of promoters in genome sequences and to improve the accuracy of these predictions. In this case, to reduce the number of false positives it is important to get MSA with the highest statistical significance (as we wrote above). However, if MAHDS is used for other purposes, it can be important to estimate the biological correctness of the constructed MSA. Methods developed for the evaluation of MSA accuracy and correctness utilize structural information about corresponding proteins . However methods . HowevermaxW matrix, where L is the total sequence length, N is the number of sequences, and L/N is the average length of sequences. Therefore, it will be problematic to use this approach for small samples (less than 100 sequences), when the statistically significant filling of the maxW matrix is not possible. We intend to apply a series of optimization procedures to address this issue. In our future research, we will focus on the development of the software for protein MSA based on the same method. For protein sequences, the number of possible amino acid pairs is 400 and a large number of sequences (over 2000) would be required to fill in the x). The results indicated that most of the existing methods could produce statistically significant alignments only for the sets with x < 2.5, whereas MAHDS could operate on sequences with x = 4.4. We have created a web server for multiple alignment of nucleotide sequences located at http://victoria.biengi.ac.ru/mahds/main. Then we performed multiple alignments of promoter sequences from the A. thaliana genome and created 25 classes of promoter sequences. Each class of promoter sequences has a statistically significant multiple alignment. The obtained multiple alignments can be used to improve methods for searching for promoter sequences in a variety of genomes.In this study, we applied a new mathematical method (MAHDS) for performing multiple alignment of highly divergent sequences, i.e., sequences that have in average more than 2.5 substitutions per position (


Since computing ACSk takes O(n logkn) time and hence impractical for large datasets, multiple heuristics that can approximate ACSk have been introduced.Alignment-free methods for sequence comparisons have become popular in many bioinformatics applications, specifically in the estimation of sequence similarity measures to construct phylogenetic trees. Recently, the ACSk, which is faster than computing the exact ACSk while being closer to the exact ACSk values compared to previously published linear-time greedy heuristics. Using four real datasets, containing both DNA and protein sequences, we evaluate our algorithm in terms of accuracy, runtime and demonstrate its applicability for phylogeny reconstruction. Our algorithm provides better accuracy than previously published heuristic methods, while being comparable in its applications to phylogeny reconstruction.In this paper, we present a novel linear-time heuristic to approximate ACSk and is applicable for the alignment-free comparison of biological sequences at highly competitive speed. The algorithm is implemented in Rust programming language and the source code is available at https://github.com/srirampc/adyar-rs.Our method produces a better approximation for  Over the past two decades, many similarity measures based on alignment-free methods have been proposed for sequence comparison for a diverse range of bioinformatics applications. With the increasing availability of sequence data from multiple sources and as alignment algorithms are reaching their limits, many of these alignment-free methods have become popular in applications such as phylogeny reconstruction, sequence clustering, transcript quantification and detection of horizontal gene transfers , 2.For phylogeny reconstruction, alignment-free methods are used to construct the pairwise distance matrix, a symmetric matrix of sequence similarity measures computed for every pair in the given set of sequences. With the distance matrix as their input, algorithms such as unweighted pair group method with arithmetic mean (UPGMA)  or neighkmer-based techniques, which proceed by first constructing the sets of all the kmers (kmers are fixed-length exact seeds of length k) of a pair of sequences, followed by the estimation of a similarity measure either based on the kmer frequency profile . Lu et al. ))kmer-basu et al.  presentsu et al.  allow thaverage common substring, ACS, which is computed for a pair of sequences as the mean of the lengths of the longest common prefixes [ACS, the sequence similarity of two sequences X and Y is computed as follows:Among the variable-length seeding methods, one of the measures shown to be effective in phylogeny applications is the prefixes . After ck mismatches into the average common substring metric (abbreviated as ACSk), Leimeister and Morgenstern [kmacs, uses a greedy heuristic as an approximation of ACSk since computing exact ACSk is computationally expensive and was shown to take O(n logkn) for a pair of sequences of total length n [O(n logkn) even when insertions and deletions allowed along with mismatches. Based on [ACSk.By introducing genstern  demonstrlength n . In a lalength n  also proBased on , 13 presACSk than kmacs’ approach. While kmacs constructs an ACSk approximation by means of a forward extension of the longest common prefixes, our algorithm performs both forward and backward extensions to identify a k-mismatch common substring of longer length, and hence, producing a closer approximation to the exact ACSk. Using three real datasets, we evaluate the runtime, accuracy and the effectiveness of our proposed approach. We also demonstrate its applicability for phylogeny tree construction.In this work, we present a novel linear-time heuristic that is a more accurate approximation of Σ. We denote the length of X by |X|, the suffix of X starting at the position i as Xi. Also, we use Let X and Y be two sequences drawn from the alphabet set n. We define LCP to be the longest common prefix of Xi that matches with Yj and LCPk its k-mismatch counterpart i.e., a longest common prefix that allows k mismatches, k≥0 . We denote maxj|LCPk| by λk(i) and the position in Y corresponding to the λk(i)-length match as μk(i) i.e.,Let |X|+|Y|=λ0(i) and μ0(i) as λ(i) and μ(i) respectively.For the sake of brevity, we abbreviate average common substring, ACS of X w.r.t. Y is defined asThe ACSk,k≥0 of X w.r.t. Y is defined similarly with LCPk instead of LCP in the above equation. Note that ACSk≠ACSk.GSTf and GSTr to denote the generalized suffix tree constructed for the concatenated strings $1,$2∉Σ. For our algorithm, GSTf and GSTr serve as an indexing data structures that enable us to perform longest common prefix queries for X and Y in constant time. Both GSTf and GSTr can be constructed in O(n) time with O(n) space.We use ACSk is computed as ACSk is the estimation of the array λk(i),i=1,…,|X|. Before we present our linear-time approximate algorithm for computing λk, we briefly discuss the previously established heuristic methods for approximating λk.Using the notations described above, kmacs [λk(i) is approximated by extending the longest common prefixes. kmacs uses the longest common substring of suffixes Xi and Yq,q= arg maxj|LCP| as the initial anchor segment, then performs a forward extension to identify the common substring with k−1 mismatches and approximates the total length as λk(i). For example, if X and Y are the strings CATTGCATACGA and ATGGATCCAATAG respectively, then to compute an approximation to λ2(4), kmacs would first identify the LCP match of X4 at Y2 and then approximate λ2(4) as 6 by matching the segments TGCATA and TGGATC. Formally, kmacs computes the following measure as an approximation of λk(i):In kmacs , the preO(k) time via k consecutive LCP queries starting with Xi and Yμ(i). Therefore, the similarity metric based on the above heuristic measure can be computed in O(nk) time.Using a generalized suffix tree constructed for X and Y, the above measure can be calculated in ALFRED-G [ALFRED-G approximates λk(i) with the following measure:ALFRED-G  follows k-mismatch common substring of two suffixes Xi and Yj includes k−1 common substrings separated by k mismatch characters. This observation leads to the following key intuition behind our algorithm – the anchor segment can be any one of the k−1 segments that constitute a k-mismatch common string. As mentioned above, both kmacs and ALFRED-G consider the first segment as the anchor segment. Our heuristic, denoted by λk′(i), is computed by extending all k−1 matching substrings that overlap the position i, as anchors.In our algorithm, we make use of the following observation: a p=AATCGGT...,Yq=AATGGGA... and Yr=AACCGGT..., and let μ(p)=q;μ(p+3)=r+3. A greedy heuristic based algorithm such as kmacs, which uses the LCP to find anchor segments, will select Yq as the anchor point and approximate λ1(p) as 5, even though there is a better match at Yr. Extending the segments backward overcomes this limitation in this example because a backward extension from the Yr+3=CGG... segment from Xp+3 can identify Yr to be the better match for Xp.We illustrate our approach with the following example. Consider the three suffixes Xλk′ of length |X|, whose ith entry contains the approximation for λk(i).Algorithm 1 presents the pseudo-code for our proposed heuristic. It takes as input strings X and Y, and outputs an array GSTf and GSTr and initializing the λk′(i) entries (Lines 1– 3), the algorithm proceeds in two phases. In the first phase, we compute the forward and backward extensions of the longest common substring for each position in X (Lines 4– 25). Here, we make use of two arrays Lf and Lr, each of length k+1, which contain the lengths of the 0,1,2…,k-mismatch substrings starting and ending at position i respectively. Lf and Lr can be computed via kLCP queries on GSTf and GSTr respectively (Lines 13 and 21). After computing the Lf and Lr arrays, we update λk′ arrays for the k+1 possible positions corresponding to all the possible forward and backward extensions(Lines 22– 25).After constructing the two generalized suffix trees i in the first phase can be improved by examining the λk′(i−1) entry, if the ithe position doesn’t correspond to a mismatch character of the preceding entry. In the second phase, we update those entries for whom a better approximation is one less than the preceding entry in λk′ (Lines 26– 29).In some cases, the approximation computed at position LCP queries take constant time using GSTs, the first phase can be accomplished in O(nk) time and O(n+k) space. Since the second phase is just a left to right pass over the λk′ array and since the construction of the suffix trees also take O(n) time and space, our algorithm takes linear time.Since We implemented our algorithm in the Rust progamming language  and usedLCP queries, which can be done only using generalized suffix arrays along with the longest-common-prefix (LCP) arrays and range minimum query (RMQ) data structures. The use of suffix and LCP arrays instead of the suffix trees significantly reduces the memory footprint for our implementation.Our algorithm requires only the computation of LCP match , we apply the heuristic discussed earlier in this section to all possible locations and select the longest among them. In the worst case this can make the implementation to take O(n2k) time but in practice, it takes O(nkz) time, where z is the average number of maximal matches to a substring in Y starting at a position i in X.Whenever there are multiple options to extend the LCP queries. However, we observed that in most cases, the time taken to walk through the text to identify is faster compared to evaluating the LCP query. This is because of two reasons (a) modern CPU architectures include multiple hierarchies of caches, that enable faster access to data elements that are located with in relatively close storage locations and (b) most practical datasets have a distribution of relatively short LCP lengths. Therefore, in all our experiments reported in the next section, except for the case when LCP is 0, we walk the text to identify the longest common prefixes. When the LCP is 0 i.e., the case when there is no suffix match in Y for a suffix Xi or vice-versa, we estimate the k-mismatch LCP by the approximation computed for the suffix Xi+1.The core computation of the algorithm demands multiple kmacs [ALFRED-G [kmacs and ALFRED-G were compiled using gcc compiler version 8.3.0. Our implementation was compiled using rust compiler version 1.3.6.All the experiments were run on a system having two 2.4 GHz 14-Core Intel E5-2680 V4 processors and 256 GB of main memory, and running RedHat Enterprise Linux (RHEL) 7.0 operating system. Along with our implementation, we also ran kmacs  and ALFRALFRED-G  for compPrimates, Roseobacter, BAliBASE and E. coli, all of which have been previously used to evaluate alignment-free techniques to estimate sequence similarity [To evaluate the runtime, the relative accuracy and the effectiveness of our proposed algorithm, we used four real datasets – milarity , 13, 16.Primates is a DNA sequence dataset collected from prokaryotic organisms and has 27 primate mitochondrial genomes with a total length of ≈450 kilobases. The reference phylogeny tree for this dataset was constructed based on multiple sequence alignment the 27 sequences.Roseobacter dataset is a set of eukaryotic DNA sequences with a total length of ≈875 kilobases, collected from the coding regions of 32 Roseobacter genomes as described in [BAliBASE dataset is a collection of 218 protien sequence datasets of total length ≈2.5 megabases, gathered from the BAliBASE V3.0 [ribed in . BAliBASASE V3.0 , a populE. coli dataset is a collection of 29 whole genomes of E. coli/Shigella strains, originally compiled by [piled by . This daRoseobacter dataset, we used the phylogenetic tree presented in [BAliBASE datasets, the reference trees are constructed from the corresponding reference alignments using the proml program available in PHYLIP [E. coli datasets, we used the phylogenetic tree presented in [For the ented in  as the rn PHYLIP , which iented in  as the rACSk, (ii) runtime characteristics, and (iii) applicability of our algorithm to phylogeny reconstruction.We conducted experiments on all the software to evaluate (i) the accuracy of the estimated ACSk estimated using our heuristic, we approximate ACSk, for every pair of input sequence in the Primates and Roseobacter datasets, using our proposed heuristic with k=1,…,5. We, then, used the ALFRED software published by [ACSk, computed the error percentage of estimated ACSk compared to the true values, and finally plotted the average error percentages against increasing values of k. Figures ACSk for Primates and Roseobacter datasets respectively.To estimate the accuracy of the ished by  to find kmacs in all the cases. Specifically, in case of kmacs, the error percentages can be as high as 80% with k=4 for the Primates datasets, where as our method shows a deviation of less than 40%. Even though the error percentages increases as k increases for both kmacs and our algorithm, compared to kmacs, the error rate grows relatively slower with increasing k for our method.Figures kmacs and our method, ALFRED-G has a much lower error percentage. However, in terms of runtime, our method runs 1.5–2.5X faster than that of ALFRED-G as illustrated by the runtime plots in Figs. k increases. In constrast, the timings for the exact methods grows exponentially for both the Primates ranging from 8.7 seconds for k=1 to 2202.83 seconds for k=5. Similar behavior is observed for the Roseobacter dataset ranging from 15.04 seconds for k=1 to 800.11 seconds for k=5  both for X w.r.t. Y and for Y w.r.t. X.For every pair of input sequence in a dataset, compute ACSk and ACSk estimated from λk′(·), compute the sequence similarity measure defined by Eq. Using approximate Primates, Roseobacter, and E. coli datasets respectively.Construct the symmetric distance matrix with entries filled with sequence similarity measures computed in the previous step. This matrix is of size 27×27,32×32 and 29×29 for PHYLIP software suite [Reconstruct phylogenetic tree using the neighbor program in the re suite  with thePHYLIP [Compute the Robinson–Foulds distance (R-F) distance w.r.t the reference tree using the treedist program in the PHYLIP  softwarek=1,…,10 for Primates, Roseobacter and BAliBASE datasets, and with k=1,…,7 for the E. coli dataset.Repeat the above steps with To test the effectiveness of our approach for phylogeny construction in comparison to Primates dataset, the Robinson–Foulds (RF) distance of the reconstructed tree with respect to the reference tree is 0 for k=5, 2–4 for other values of k (Fig. kmacs reported an RF distance of 2–8, whereas ALFRED-G reported an RF distance of 0–2 [ALFRED-G, our method was able to recover the expected phylogenetic tree for Primates. For the Roseobacter dataset, the RF distance of our algorithm are in the range of 20–8, and as the value of k is increases from 1 to 10, the RF distance tends to decline. kmacs and ALFRED-G reported RF distances, for the Roseobacter dataset, in the range of 18–10 and 18–8 respectively [BAliBASE datasets, all the three methods reported an average RF distances in the same range of 31–26. For E. coli dataset, both kmacs and our method reported RF distances in the same range of 24–26, while ALFRED-G was not able to complete within the alloted time limit of 24 hours per pair. Both kmacs and our method were able to complete their runs in less than 11 hours for k=5.For the e of 0–2 . Similarectively . For BAlkmacs and our method on the full genome sequences of 14 plant species. This dataset was originally compiled by [kmacs and our method were able to process in the allotted time limit of 72 hours per pair, our method was able to complete the runs in a average of 1.56 hours per pair, where as kmacs took an average of 4.67 hours per pair. This discrepancy in time is due to the difference in how kmacs and our method process the suffixes whose LCP is 0, which happens more often in longer genomes. Neither ALFRED-G nor the exact method is capable of processing smallest of the sequences of this dataset.Finally, to evaluate the scalability of our algorithm in its ability to process genome-length sequences, we ran both piled by  and is okmacs for the Primates and Roseobacter datasets, while being competitive in runtime compared to kmacs and much faster than ALFRED-G. In case of the Primates dataset, our method was able to recover the reference tree for k=5. For BAliBASE and E. coli datasets, the results are comparable to that of kmacs. With repsect to scalability, our method shows considerably improvement over that of kmacs for longer full genomes that are few hundred megabases long.To summarize, our proposed method provides results more accurate than ACSk. We evaluate the accuracy of the ACSk estimated from the proposed heuristic and demonstrated its applicability in construction of phylogeny trees.In this paper, we presented a novel linear-time heuristic to compute the alignment-free measure of sequence similarity We plan to extend this heuristic in the future in two different ways. Currently, all the published heuristics, including the one introduced in this work, can handle only mismatches and not insertions or deletions. We plan to adapt the proposed algorithm such that it allows insertions and deletions, where the key challenge is to manage is varying lengths of matched segments. Another way we plan to develop this heuristic is to enable forward and backward extensions on a 1-mismatch anchor segment.


Searching for homology in the vast amount of sequence data has a particular emphasis on its speed. We present a completely rewritten version of the sensitive homology search method COMER based on alignment of protein sequence profiles, which is capable of searching big databases even on a lightweight laptop. By harnessing the power of CUDA-enabled graphics processing units, it is up to 20 times faster than HHsearch, a state-of-the-art method using vectorized instructions on modern CPUs.https://sourceforge.net/projects/comer2 and https://github.com/minmarg/comer2. It can be easily installed from source code or using stand-alone installers.COMER2 is cross-platform open-source software available at mindaugas.margelevicius@bti.vu.ltBioinformatics online. The detection of homology between protein sequences underlies a wide variety of protein studies ranging from active site and function prediction to contact and structure prediction. Sensitivity, therefore, is one of the most desirable properties of homology search methods. Efforts to increase sensitivity, however, are often accompanied by an increase in computation time. For homology search methods to be applicable to the vast amount of sequence data that is available today, various algorithms have been proposed to reduce computation time (This article contributes to increasing computing performance and presents a new implementation (version 2.2) of the COMER method , 2018 foCOMER computing performance is increased by harnessing the power of the graphics processing unit (GPU). To the best of our knowledge, COMER2 represents the first GPU implementation of homology searches based on profile–profile alignment. As a target processor, a GPU was selected because of its high level of parallelism and cost efficiency.The approach and algorithms behind the COMER method have not changed, but the software has been completely rewritten (see Supplementary Section S1). Changed architecture, data types, fast approximations to exponential/logarithmic functions and other code optimizations have an impact on sensitivity and alignment quality, which we evaluate in addition to computation time.We evaluated and benchmarked the new software on (i) a laptop equipped with a six-core hyper-threaded Intel Core i9-8950HK CPU clocked at 2.9 GHz, 16GB DDR4 RAM and an 8GB GDDR5 NVIDIA GeForce GTX 1080MQ GPU and (ii) a high-end server with two 10-core hyper-threaded Intel Xeon Gold 5115 CPUs at 2.4 GHz, 128GB DDR4 RAM and two 16GB HBM2 NVIDIA Tesla V100 GPU accelerators. The CPUs of these computers support the AVX2/AVX512 instruction set that provides maximum instruction throughput for HHsearch/HHblits v3.2.et al., 2013) filtered at 20% sequence identity. Profiles were constructed from multiple sequence alignments (MSAs) obtained using (i) PSI-BLAST . A TP was a domain that was structurally similar to the query domain or belonged to the same SCOPe superfamily as the query. For both datasets, the analysis was conducted at the domain level. A hit to a dissimilar domain from a different fold or to a random profile was a false positive (FP).For the SCOPe dataset, alignment quality was evaluated by generating structural models based on profile–profile alignments. A high-quality alignment (HQA) corresponded to a model structurally similar to the native structure. Alignment quality was evaluated locally, along the alignment extent and globally, regarding the whole domain.More details can be found in Supplementary Section S2.The results accumulated over all queries are shown in The new version for the SCOPe dataset is more sensitive , produceThe simulated dataset (53GB) was used to estimate running time on big data and evaluate specificity. COMER v2.2 and HHsearch/HHblits v3.2  profile pairs per query on average as candidates for alignment, whereas this number for COMER corresponds to the total number of entries in the database. This difference in computational complexity indicates a high potential to significantly increase COMER’s computing performance further (see Section 4).COMER v2.2 is cross-platform software written in CUDA and C++11 and designed to run on major operating systems . It was tested on Windows 10 using the native compiler and on the Ubuntu 18.04 LTS and CentOS 7.6 Linux distributions using GCC  and LLVM/Clang 6.0 compilers.The new implementation of the COMER method exhibits good performance characteristics and advantageous features. The GPU memory limit that can be used by COMER2 is configurable, and the performance weakly depends on the amount of memory used for computation. In other words, the efficient use of computational resources allows for fast searching big databases even on a lightweight laptop.COMER2 is capable of utilizing multiple GPUs and demonstrates excellent scalability, which enables large-scale sensitive homology search to be performed within minutes. The performance gain is achieved without compromising sensitivity and alignment quality. On the contrary, COMER2 is now more sensitive and produces more accurate alignments.The software architecture provides a foundation for further significant improvements. The current version calculates complete dynamic programming (DP) matrices and does not use any heuristics to screen for candidates to the profile–profile alignment phase. Implementing algorithms for reducing DP complexity, such as extending from seeds found in the score matrix and applying banded DP, and for filtering out possibly unrelated pairs can lead to orders of magnitude improvement in performance. We will investigate these and other directions in future work.btaa185_Supplementary_DataClick here for additional data file.