Abstract

We define a novel variation on the constrained sequence alignment problem in which the constraint is given in the form of a regular expression. Given two sequences, an alphabet Γ describing pairwise sequence alignment operations, and a regular expression R over Γ, the problem is to compute the highest scoring sequence alignment A of the given sequences, such that A∈Γ⁎L(R)Γ⁎.Two algorithms are given for solving this problem. The first basic algorithm is general and solves the problem in O(nmrlog2r) time and O(min{n,m}r) space, where m and n are the lengths of the two sequences and r is the size of the NFA for R. The second algorithm is restricted to rigid patterns and exploits this restriction to reduce the NFA size factor r in the time complexity to a smaller factor corresponding to the length of the rigid pattern. A rigid pattern P is a regular expression of the form P=P1∪⋯∪Pk, where Pi does not contain the Kleene-closure star or union. |P| is compacted by supporting alignment patterns P that do not contain the Kleene-closure star, and exploits this constraint to reduce the NFA size factor r in the time complexity to a smaller factor |P|. |P| is compacted by supporting alignment patterns extended by meta-characters including general insertion, deletion and match operations, as well as some cases of substitutions. meta-characters used in P. {m,i}⁎ or P∈(Γ∪{m,d})⁎, the problem can be solved in time O(nm), while for a pattern P∈(Γ∪{m,i,d})⁎, the problem can be solved in time O(nmlog|P|). For a pattern P∈(Γ∪{m,s,i,d})⁎, the problem can be solved in time O(nmlog|P|) in some cases: one case is for scoring functions Score for which there exists Score′:Σ→R such that Score(ν,σ)=Score′(ν)+Score′(σ) for every ν≠σ, and the other is when occs(P)=O(log(max{n,m})). For a rigid pattern P=P1∪⋯∪Pk, these time bounds range from O(knm) to O(knmlog(max{|Pi|})), depending on the meta-characters used in P.An additional result obtained along the way is an extension of the algorithm of Fischer and Paterson for String Matching with Wildcards. Our extension allows the input strings to include “negation symbols” (that match all letters but a specific one) while retaining the original time complexity.We implemented both algorithms and applied them to data-mine new miRNA seeding patterns in C. elegans Clip-seq experimental data.

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.