Two combinatorial optimization problems for SNP discovery using base-specific cleavage and mass spectrometry

  • Xin Chen1Email author,

    Affiliated with

    • Qiong Wu1, 2,

      Affiliated with

      • Ruimin Sun1 and

        Affiliated with

        • Louxin Zhang3

          Affiliated with

          BMC Systems Biology20126(Suppl 2):S5

          DOI: 10.1186/1752-0509-6-S2-S5

          Published: 12 December 2012

          Abstract

          Background

          The discovery of single-nucleotide polymorphisms (SNPs) has important implications in a variety of genetic studies on human diseases and biological functions. One valuable approach proposed for SNP discovery is based on base-specific cleavage and mass spectrometry. However, it is still very challenging to achieve the full potential of this SNP discovery approach.

          Results

          In this study, we formulate two new combinatorial optimization problems. While both problems are aimed at reconstructing the sample sequence that would attain the minimum number of SNPs, they search over different candidate sequence spaces. The first problem, denoted as http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq1_HTML.gif , limits its search to sequences whose in silico predicted mass spectra have all their signals contained in the measured mass spectra. In contrast, the second problem, denoted as http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq2_HTML.gif , limits its search to sequences whose in silico predicted mass spectra instead contain all the signals of the measured mass spectra. We present an exact dynamic programming algorithm for solving the http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq1_HTML.gif problem and also show that the http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq2_HTML.gif problem is NP-hard by a reduction from a restricted variation of the 3-partition problem.

          Conclusions

          We believe that an efficient solution to either problem above could offer a seamless integration of information in four complementary base-specific cleavage reactions, thereby improving the capability of the underlying biotechnology for sensitive and accurate SNP discovery.

          Background

          Single nucleotide polymorphisms (SNPs) is a common type of DNA sequence variations that occur when a single nucleotide base is altered at a specific locus. They are among the most important genetic factors that contribute to human disease and biological functions. However, discovering novel SNPs is a scientifically challenging task. Among others, one valuable approach proposed for SNP discovery is based on base-specific cleavage and mass spectrometry [13].

          The SNP discovery approach based on base-specific cleavage and mass spectrometry usually adopts a data-acquisition procedure as summarized below. First, a target sample DNA sequence is PCR-amplified using primers that incorporate the T7 promoter sequences. Then, the PCR products are in-vitro transcribed and subsequently digested with the endonuclease RNase A in four base-specific cleavage reactions. Each reaction can cleave the sample sequence to completion at all loci wherever a specific base is found. Finally, the matrix-assisted laser desorption/ionization time-of-flight mass spectrometry (MALDI-TOF MS) is applied to the cleavage products, resulting in four measured mass spectra, each corresponding to one base-specific cleavage reaction.

          Since each cleavage product is expected to be made of three non-cleavage bases, it is fairly straightforward to calculate the base composition from its measured mass signal. With all these base compositions in hand, the task of discovering SNPs in the sample sequence is now left to a computational solution. In principle, this computational solution shall find a way to integrate the four complementary base-specific mass spectra, and then identify those SNPs that necessarily account for the unanticipated base compositions (i.e., corresponding to the measured mass signal changes as compared with an in-silico predicted mass spectra from a reference sequence). See Figure 1 for schematic outline of the SNP discovery approach using base-specific cleavage and mass spectrometry.
          http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_Fig1_HTML.jpg
          Figure 1

          Schematic outline. The SNP discovery approach using base-specific cleavage and mass spectrometry.

          The early proof-of-concept studies on the above SNP discovery approach using base-specific cleavage and mass spectrometry were presented in [35], where the identification of SNPs however was done by visual inspection. Shortly afterwards, two automated computational solutions were developed [1, 2]: one was implemented in the proprietary MassARRAY™ SNP Discovery software package from Sequenom, Inc. and the other implemented in the software package called RNaseCut which is instead freely available online [6]. In particular, the solution in [1] mainly comprises of two separate procedures. It first computes all potential SNPs that give rise to each unanticipated based composition and then score them by taking into account the mass spectrometry data from the four base-specific cleavage reactions. Thus, the integration of the four base-specific cleavage reactions was done only in the second step. Apparently, such an integration strategy is far from being optimal, as at least it assumes that the occurrences of potential SNPs are independent in the first step.

          In this paper, we study two new combinatorial optimization problems to exploit the full potential of the above SNP discovery approach. While both problems are aimed at reconstructing the sample sequence that would attain the minimum number of SNPs, they search over different candidate sequence spaces. The first problem, denoted as http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq1_HTML.gif , limits its search to sequences whose in silico predicted mass spectra have all their signals contained in the measured mass spectra. In contrast, the second problem, denoted as http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq2_HTML.gif , limits its search to sequences whose in silico predicted mass spectra instead contain all the signals of the measured mass spectra. Then, we present an exact dynamic programming algorithm for solving the http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq1_HTML.gif problem and also show that the http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq2_HTML.gif problem is NP-hard by a reduction from the restricted variation of the 3-partition problem [7, 8].

          Methods

          Preliminaries

          Let s ∈ Σ* denote a string over the four-base alphabet http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq3_HTML.gif . The length of s is denoted by |s|, the i-th base of s by s[i], and the substring of s from the i-th base to the j-th base by s[i, j], for 1 ≤ ij ≤ |s|. We use to denote the empty string so that |∠| = 0. The concatenation of two strings s and t is denoted by s · t, and the concatenation of l copies of a string s is denoted by s l .

          Given a string s and a cut base http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq4_HTML.gif , a cleavage fragment refers to a substring of s that does not contain x and that cannot be extended in either side without crossing a base x. Formally, the substring s[i, j] is a cleavage fragment with respect to the cut base x if the following three conditions are satisfied: (i) s[i − 1] = x if i ≠ 1, (ii) s[j + 1] = x if j ≠ |s|, and (iii) s[k] ≠ x, ∀k ∈ [i, j]. In addition, the empty string ε is a cleavage fragment if there exits i ∈ [1,|s| − 1] such that s[i] = s[i + 1] = x. Given a cleavage fragment, we use http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq5_HTML.gif to denote its base composition of i As, j Cs, k Gs, and l Ts. In [1], this base composition is termed as a compomer of the string s with respect to the cut base x. The whole set of compomers is hence called the compomer spectrum of the string s with respect to the cut base x, and denoted by Finally, let http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq6_HTML.gif , a collection of four compomer spectra of the string s where each is generated with one cut base.

          Example 1 Let s := ACATGCTACATTA. Then, the string s contains four cleavage fragments with respect to the cut base A: C, TGCT, C, and TT. With respect to the cut base T, it instead contains five cleavage fragments: ACA, GC, ACA, ∠, and A. Their respective compomer spectra are http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq7_HTML.gif and http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq8_HTML.gif .Note that each compomer appears in a compomer spectrum at most once.

          Problem formulation

          Let d H http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq9_HTML.gif denote the Hamming distance between two strings s and http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq10_HTML.gif of equal length. It measures the minimum number of substitutions required to transform one string into the other. Given a collection of compomer spectra http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq11_HTML.gif of an unknown string http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq10_HTML.gif (i.e., the sample DNA sequence experimented) which can in principle be generated from a mass spectrometry experiment, and a string s (i.e., the reference DNA sequence) which is believed to differ from the unknown string http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq10_HTML.gif by a number of substitutions only, we formulate below two combinatorial optimization problems for SNP discovery.

          Definition 2 http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq12_HTML.gif Given a string s and a collection of compomer spectra http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq13_HTML.gif , find a string http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq10_HTML.gif such that , for all and d H http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq9_HTML.gif is minimized.

          Definition 3 http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq16_HTML.gif Given a string s and a collection of compomer spectra http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq13_HTML.gif , find a string http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq10_HTML.gif such that http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq17_HTML.gif , for all http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq15_HTML.gif and d H http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq9_HTML.gif is minimized.

          The only difference between the above two problem formulations is that one requires http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq14_HTML.gif and the other requires http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq17_HTML.gif , for all the cut bases. Once the string http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq10_HTML.gif is found, it is easy to identify the SNPs in http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq10_HTML.gif , i.e., those base substitutions that transform http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq10_HTML.gif into s.

          Example 4 In this example, we let http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq18_HTML.gif for simplicity. Given the string s:= ATAAT and the set http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq19_HTML.gif of compomer spectra (of an unknown string) where
          http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_Equa_HTML.gif

          The feasible solutions to the http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq1_HTML.gif problem for the above instance include the strings such as ATATA, TATAT, TTATT, ATATT, and ATTAT. Their respective Hamming distances to the input string s are 2, 3, 2, 1, and 1. The string http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq10_HTML.gif = TTAAT is not a feasible solution because the compomer http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq20_HTML.gif but http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq21_HTML.gif so that http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq22_HTML.gif .

          The feasible solutions to the http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq23_HTML.gif problem for the above instance include the strings such as TTATA, TATTA, ATATT, and ATTAT. Their respective Hamming distances to the input string s are 3, 5, 1, and 1. The string http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq10_HTML.gif = TTAAT is not a feasible solution because the compomer http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq24_HTML.gif but http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq25_HTML.gif so that http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq26_HTML.gif .

          The measured mass spectra of a sample sequence are rarely perfect in practice. Some peaks may actually represent noises, while some true signal peaks are missing. The problem http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq1_HTML.gif is so formulated that its computational solution would be robust against noisy peaks but susceptible to missing peaks (i.e., there is a good chance to recover the sample sequence even if some noisy peaks are present in the measured mass spectra, but the chance would become much less if there are some true signal peaks missing). In contrast, the problem http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq2_HTML.gif is so formulated that its computational solution would be robust against missing peaks but susceptible to noisy peaks.

          We noticed that several computational problems in the literature that are more or less related to our problems introduced above. In [9], a so-called sequencing from compomers problem was studied which, like the http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq1_HTML.gif problem, also aimed to reconstruct the sample sequence from a given collection of compomer spectra, but without help of a reference sequence. In [10], the spectral alignment problem differs from the http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq1_HTML.gif problem mainly by its exploration on short read sequencing data rather than the mass/compomer spectra data, which may lead to wide implications in the subsequent algorithm design and complexity analysis. Moreover, in [1], a so-called SNP discovery from mass spectrometry problem was defined in a similar way to the http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq2_HTML.gif problem. However, it has only a single compomer as input, as opposed to a collection of four complementary compomer spectra used in the http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq2_HTML.gif problem.

          Results

          An exact dynamic programming algorithm for http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq1_HTML.gif

          In this subsection, we shall describe an exact dynamic programming algorithm for solving the http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq1_HTML.gif problem. Without loss of generality, we may assume in the remaining of this section that every base of Σ will eventually occur in the optimal solution to a given instance of the http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq1_HTML.gif problem. Consequently, only those feasible solutions that contains all the bases of Σ need to be considered when we search for the optimal solution. In case some base x would not occur in the optimal solution http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq10_HTML.gif note that it becomes relatively easy to find http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq10_HTML.gif since we would have http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq27_HTML.gif and |s'| = |s|. See below for definitions of http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq28_HTML.gif and http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq29_HTML.gif .

          Let us start with some preliminary definitions and notations. For a string s, a cleavage fragment s[i, j] is called internal if neither i = 1 nor j = |s|, left-ended if i = 1, or right-ended if j = |s|. In addition, a cleavage fragment is always considered internal. Given a collection of compomer spectra http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq30_HTML.gif , we call a string is I-compatible if the compomers of its internal cleavage fragments are all contained in http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq30_HTML.gif (under the respective cut base). A string is called L-compatible (resp. R-compatible) if it is I-compatible and if the compomers of its left-ended (resp. right-ended) cleavage fragments are all contained in http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq30_HTML.gif as well.

          Example 5 Consider the string s given in Example 1. The four cleavage fragments of s with respect to the cut base A are all internal. Among the five cleavage fragments of s with respect to the base T, the first cleavage fragment ACA is left-ended, the last cleavage fragment A is right-ended, and the other three cleavage fragments in the middle are all internal.

          Example 6 Let http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq31_HTML.gif be a collection of compomer spectra where
          http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_Equb_HTML.gif
          We show in Table 1 whether each of the given strings is I-compatible, L-compatible, or R-compatible with http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq30_HTML.gif .
          Table 1

          Examples.

          strings

          I-compatible

          L-compatible

          R-compatible

          ATGATAC

          http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq32_HTML.gif

          http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq32_HTML.gif

          http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq32_HTML.gif

          ATGCTAC

          http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq33_HTML.gif

          http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq32_HTML.gif

          http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq32_HTML.gif

          ACATGCT

          http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq33_HTML.gif

          http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq33_HTML.gif

          http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq32_HTML.gif

          TACATTA

          http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq33_HTML.gif

          http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq32_HTML.gif

          http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq32_HTML.gif

          CTACATTA

          http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq33_HTML.gif

          http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq32_HTML.gif

          http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq33_HTML.gif

          This table shows whether each of the given strings is I-compatible, L-compatible, or R-compatible with http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq30_HTML.gif .

          For each compomer http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq34_HTML.gif in a given collection of compomer spectra http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq30_HTML.gif , we use http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq35_HTML.gif to denote the set of strings that (i) consist of i As, j Cs, k Gs, l Ts, (ii) contain exactly three distinct bases (i.e., three bases in the set Σ \ {x}), and (iii) are I-compatible with http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq30_HTML.gif . It is easy to check that http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq36_HTML.gif . In particular, if there exists in A i C j G k T l a non-cut base whose composition value is zero, then we have http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq37_HTML.gif so that http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq38_HTML.gif . Furthermore, we may define the following set
          http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_Equc_HTML.gif

          Then, let http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq39_HTML.gif . Analogously, we may define http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq40_HTML.gif , http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq41_HTML.gif , http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq42_HTML.gif and http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq156_HTML.gif for the L-compatible strings and the R-compatible strings, respectively. Clearly, http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq44_HTML.gif and http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq45_HTML.gif , for all x ∈ Σ.

          Example 7 Consider the collection of compomer spectra http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq30_HTML.gif given in Example 6. For the compomer http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq46_HTML.gif , we have http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq47_HTML.gif , and http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq48_HTML.gif . For the compomer http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq49_HTML.gif , we have http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq50_HTML.gif .

          Given a string t which could be a potential cleavage fragment with respect to the cut base x (i.e., the string t does not contain any base x), we say a string s begins with the string t if t · x is a prefix of s · x, or say a string s ends with the string t if x · t is the suffix of x · s. The following lemma is useful to design a dynamic programming algorithm for solving the http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq1_HTML.gif problem. Its easy proof is omitted. Recall that our discussions in this section are limited only to the feasible solutions containing all the bases of Σ.

          Lemma 8 A string s' of length |s| is a feasible solution to the http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq1_HTML.gif problem if and only if
          • all the substrings of http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq10_HTML.gif are I-compatible with http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq30_HTML.gif ,

          • http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq10_HTML.gif begins with a string in http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq51_HTML.gif for some http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq15_HTML.gif , and

          • http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq10_HTML.gif ends with a string in http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq52_HTML.gif for some http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq15_HTML.gif .

          Suppose we have an input instance http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq53_HTML.gif of the http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq1_HTML.gif problem. Given a string http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq54_HTML.gif where http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq15_HTML.gif , we define http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq55_HTML.gif to be the minimum Hamming distance between the prefix of s of length i and a string which is such that
          • all its substrings are I-compatible with http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq30_HTML.gif ,

          • it begins with a string from http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq56_HTML.gif for some y ∈ Σ, and

          • it ends with the given string t.

          To compute http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq57_HTML.gif , we first find in the string x · t the rightmost position k at which the base (x · t)[k] is its first occurrence. Formally, we may write
          http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_Equd_HTML.gif

          Then, let x':= (x · t)[k], p := (x · t)[1, k - 1], and q := (x · t)[k,| x · t|]. Note that x' ≠ x and the string p contains all the bases of Σ except x'.

          Example 9 Let t := CGTT I A. Then, x · t = ACGTT, k = 4, http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq58_HTML.gif , p = ACG, and q = TT.

          To compute http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq59_HTML.gif , we now use the following recurrence relation
          http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_Eque_HTML.gif
          http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_Equf_HTML.gif
          Note that the minimization in the above is taken over all those strings http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq60_HTML.gif in http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq61_HTML.gif which have p as the suffix. If there is no such a string in http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq61_HTML.gif , then we let http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq62_HTML.gif . The initial conditions for the recurrence relation are given as follows:
          http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_Equg_HTML.gif
          Theorem 10 Let s' be the string that leads to
          http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_Equh_HTML.gif

          then s' would be an optimal solution to the input instance http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq63_HTML.gif of the http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq64_HTML.gif problem.

          Proof: For the correctness of the above dynamic programming algorithm, we need to show that (i) every feasible solution of the http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq1_HTML.gif problem would be essentially evaluated by the dynamic programming algorithm, and (ii) every string evaluated by the dynamic programming algorithm must be a feasible solution of the http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq1_HTML.gif problem.

          Let the string s' be a feasible solution. Consider a cleavage fragment t of s' that contains all the bases of Σ except its corresponding cut base x. Clearly, http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq65_HTML.gif and t is the suffix of a substring s'[1, i] for some integer i. Without loss of generality, we can further suppose that ts'[1, i]. To show (i), what we mainly need to show is that there exists a string http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq66_HTML.gif such that p is the suffix of t' and t' is the suffix of the substring s'[1, i - |q|], where x', p, and q are computed for the string t as described earlier. Indeed, we can find the string t as follows. First, let (i' 1) be the position of the last occurrence of the base x' in the substring s'[1, i − |t|]; if there is no such occurrence, we let i' = 1. Then, we assign http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq67_HTML.gif . Obviously, http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq68_HTML.gif is the suffix of s'[1, i |q|]. Because s'[i - |t|] = x and xx , we have i' ≤ i - |t|. It then follows from p = s'[i − |t|, i − |q|] that p shall be the suffix of t'. Since p contains all the bases of http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq69_HTML.gif except x' so, does t'. Moreover, t' is a cleavage fragment of s' with respect to the cut base x' because we have either s'[i' 1] = x' or i' = 1 on the left end of t' and s'[i − |q| + 1] = x' on the right end of http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq68_HTML.gif . By Lemma 8, we can see that http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq70_HTML.gif . For the reader's convenience, we demonstrate in the following example how to find http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq68_HTML.gif from t. Let s' = ACATGCTACATTA, t = s' [4,7] = TGCT, i = 7, x = A, and http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq30_HTML.gif be the one as given in Example 6. Note that http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq71_HTML.gif . Further, for the given string t = TGCT, we have x' = C, p = ATG, and q = CT. Then, we obtain that i' = 3 and then t' = s' [3, 7 2] = s' [3,5] = ATG. It is easy to check that p is the suffix of t', t' is the suffix of the substring http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq72_HTML.gif , and http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq73_HTML.gif .

          On the other hand, let s' be a string evaluated by the dynamic programming algorithm. So, the string s' must begin with a string in http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq74_HTML.gif for some http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq15_HTML.gif and end with a string in http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq75_HTML.gif for some http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq76_HTML.gif . Consider a cleavage fragment t of s' that was used to construct the string s' during the backtracking procedure of the algorithm. Clearly, the string t contains all the bases of http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq77_HTML.gif except its corresponding cut base x. Moreover, http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq78_HTML.gif and t is the suffix of a substring s'[1, i] for some integer i. Without loss of generality, we can further suppose ts'[1, i] and http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq79_HTML.gif , so that s'[i − |t|] = s'[i + 1] = x. Let t' be the string considered next to the string t during the backtracking procedure of the algorithm. Thus, we have http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq80_HTML.gif such that p is the suffix of t' and http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq68_HTML.gif is the suffix of the substring s'[1, i − |q|], where x', p, and q are computed for the string t as described earlier. More specifically, there exists i' such that t' = s'[i', i −|q|] and s [i' 1] = s' [i −|q| + 1] = x' if i' ≠ 1. To show (ii), by Lemma 8 and also by backward induction, what we mainly need to show is that the extended substring s'[i',|s'|] is I-compatible with http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq30_HTML.gif , given that the substring s'[i − |t| + 1, |s'|] is already I-compatible with http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq30_HTML.gif . To this end, we consider any internal cleavage fragment s'[j, k] of s' [i', |s'|] with respect to the cut base x″ = s'[j − 1] = s'[k + 1]. By definition of the internal cleavage fragment, we have ji' + 1 and k ≤ |s'| 1. In the following we distinguish four cases:
          • If ji − |t| + 2, then s'[j, k] is an internal cleavage fragment of s'[i − |t| +1, |s'|]. Since s'[i − |t| +1, |s'|] is already assumed to be I-compatible with http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq30_HTML.gif , the base composition of s'[ j, k] shall be also contained in http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq81_HTML.gif .

          • If j = i − |t| + 1, then x″ = x, which further implies that k = i and s' [j, k] = t. Since http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq82_HTML.gif , the base composition of s'[j, k] shall be contained in http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq83_HTML.gif .

          • If ji − |t| and ki − |q|, then s'[i − |t|, i − |q|] is a substring of s'[j, k]. Since s [i − |t|, i − |q|] contains all the bases of Σ, the string s'[j, k] can not be a cleavage fragment (as a cleavage fragment must not contain its corresponding cut base). Therefore, there shall not have the case where ji − |t| and ki − |q|.

          • If ki − |q| − 1, then s'[j, k] is an internal cleavage fragment of t' = s'[i', i − |q|]. Since http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq84_HTML.gif , the base composition of s'[j, k] shall be contained in http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq85_HTML.gif .

          In conclusion, for every internal cleavage fragment of s'[i , |s |], its base composition is contained in http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq30_HTML.gif under the respective cut base. Therefore, the extended substring s'[i', |s'|] is still I-compatible with http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq30_HTML.gif .

          Note that computing each entry http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq86_HTML.gif of the dynamic programming table may take time http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq87_HTML.gif , where http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq88_HTML.gif . Hence, the above dynamic programming algorithm can be done in time http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq89_HTML.gif . In the worst case, we may have http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq90_HTML.gif , that is, http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq91_HTML.gif is in the factorial order of the input problem size. In practice, however, we would expect http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq91_HTML.gif not too large to be manageable, because cleavage fragments are usually of small size. Therefore, the above dynamic programming algorithm could be a practically feasible solution to the problem http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq1_HTML.gif , especially when compared to the brute-force algorithm which needs to examine all the possible strings s'. For the special case where http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq92_HTML.gif , http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq1_HTML.gif is actually an easy problem, as we can see from the above that http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq93_HTML.gif

          Corollary 11 The above dynamic programming algorithm can solve the http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq94_HTML.gif problem in polynomial time when http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq95_HTML.gif .

          The NP-hardness of http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq2_HTML.gif

          This subsection is dedicated to prove that the http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq2_HTML.gif problem is NP-hard. We begin with a brief introduction of the 3-partition problem.

          Definition 12 (The general form of the 3-partition problem) Given a multiset of positive integers http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq96_HTML.gif where n = 3m and http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq97_HTML.gif , can we partition the multiset http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq98_HTML.gif into m multisets http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq99_HTML.gif , such that the sum of each multiset is equal to B?

          The 3-partition problem is strongly NP-complete [7]. Therefore, it remains NP-complete even when the integers in http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq98_HTML.gif and the integer B are encoded in unary. In this case, the size of a problem instance is Θ(nB). In contrast, it becomes O(n log B) when using the binary encoding of integers.

          Definition 13 (The restricted variation of the 3-partition problem) Given a set of positive integers http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq100_HTML.gif where n = 3m, http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq101_HTML.gif , and http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq102_HTML.gif , can we partition the set http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq98_HTML.gif into m subsets http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq103_HTML.gif , such that the sum of each subset is equal to B?

          There are two constraints imposed in the above restricted variation of the 3-partition problem. The first one limits http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq98_HTML.gif to be a set so that all the integers in http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq98_HTML.gif are distinct. The second one limits all the integers in http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq98_HTML.gif strictly between http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq104_HTML.gif and http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq105_HTML.gif , which subsequently enforces every subset http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq106_HTML.gif to consist of exactly three elements. Interestingly, this restricted variation of the 3-partition problem remains strongly NP-complete [8], just like the general form of the 3-partition problem. Note that the second constraint http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq107_HTML.gif was actually not imposed in [8]. But, it can be easily done by adding B to each a i and then multiplying B by 4.

          Theorem 14 The http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq108_HTML.gif problem is NP-hard, even when http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq109_HTML.gif .

          Proof: We prove it by a reduction from the above restricted variation of the 3-partition problem. As an input for 3-partition, we are given a set of distinct positive integers http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq110_HTML.gif where n = 3m, http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq111_HTML.gif , and http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq112_HTML.gif . Then, we construct an instance http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq113_HTML.gif of the http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq2_HTML.gif problem as follows:
          • Let Σ = {G, T}.

          • Let s be the string such that s · T = (G B+2T) m . That is, let s · T be the concatenation of m copies of the fragment GG · · · GT, where each fragment consists of (B + 2) consecutive base Gs followed by one base T. Note that |s| = m(B + 3) 1 = mB + 3m − 1.

          • Let http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq114_HTML.gif and http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq115_HTML.gif so that http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq116_HTML.gif .

          First, we check whether this construction can be done in polynomial time in the size of the input instance of the 3-partition problem. Since the restricted variation of the 3-partition problem is strongly NP-complete, we may encode the integers in unary so that the size of the input instance is Θ(nB). In the above reduction, we can easily see that the first step can be done in constant time, the second step in time O(mB), and the third step in time O(n log B). Therefore, the total time needed for construction is O(nB), no more than time polynomial in the size of the input instance of the 3-partition problem.

          Next, we show that every feasible solution s″ to the reduced instance http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq117_HTML.gif of the http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq2_HTML.gif problem is such that (i) http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq118_HTML.gif , (ii) s″ contains exactly 3m − 1 base Ts, and (iii) d H (s, s″) 2m. For each compomer http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq119_HTML.gif , there exists at least one cleavage fragment http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq120_HTML.gif in s″ that is obtained with respect to the cut base T. Since all the integers a i are distinct, all such cleavage fragments shall be pairwise non-overlapping. Thus, the string s′′ contains at least http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq121_HTML.gif base Gs and at least n − 1 = 3m - 1 base Ts. On the other hand, since |s| = mB + 3m - 1, the string s″ hence consists of exactly mB + 3m− 1 bases. Therefore, we can deduce that s″ contains exactly 3m − 1 base Ts and further that http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq122_HTML.gif cannot have any other compomer than those in C T. By construction, we also know that the string s contains exactly m − 1 base Ts, which hence implies that d H (s, s″) ≥ 2m.

          Now, we are going to show that there exists a valid partition for the input instance of the 3-partition problem if and only if there exists an optimal solution s for the reduced instance of the http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq2_HTML.gif problem such that d H (s, s') = 2m.

          Suppose that http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq98_HTML.gif can be partitioned into m subsets http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq123_HTML.gif such that, for each subset http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq124_HTML.gif , its size is three and its integer elements adds up to exactly B, that is, and http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq126_HTML.gif . Then, we use the following procedure to find the string s':
          1. 1.

            http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq127_HTML.gif ;

             
          2. 2.

            for i = 1 to m

             
          3. 3.

            for j = 1 to 3

             
          4. 4.

            http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq128_HTML.gif ; // append the string http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq129_HTML.gif to s'

             
          5. 5.

            end

             
          6. 6.

            end

             
          7. 7.

            7. s':= s'[1, |s'| 1]; // remove the last base T

             

          As one can easily check, the resulting string s' is such that |s'| = mB + 3m − 1, http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq130_HTML.gif , and http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq131_HTML.gif . Therefore, s' is a feasible solution to the reduced instance http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq132_HTML.gif of the http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq2_HTML.gif problem. On the other hand, since http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq133_HTML.gif , we can deduce that s'[k] = s[k] if s'[k] = G or s[k] = T; otherwise, s [k] ≠ s[k], ∀k ∈ [1, mB + 3m - 1]. Therefore, d H (s, s') =|[k : s'[k] ≠ s[k]}| = |s| − |{k : s'[k] = s[k]}| = mB + 3m − 1 |{k : s'[k] = G}| |{k : s[k] = T}| = mB + 3m − 1 − mB − m + 1 = 2m. It hence follows that s′ is indeed an optimal solution to the reduced instance http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq134_HTML.gif of the http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq2_HTML.gif problem.

          Conversely, suppose that the string s' is an optimal solution to the reduced instance http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq135_HTML.gif of the http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq2_HTML.gif problem such that d H (s, s') = 2m. Then, we use the following procedure to find a partition http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq136_HTML.gif of A:
          1. 1.

            s := s · T; s':= s' · T;

             
          2. 2.

            i := 1; j := 1;

             
          3. 3.

            http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq137_HTML.gif

             
          4. 4.

            for k = 1 to mB + 3m

             
          5. 5.

            if s'[k] = T

             
          6. 6.

            http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq138_HTML.gif

             
          7. 7.

            j + +;

             
          8. 8.

            if s[k] = T

             
          9. 9.

            i + +; j := 1;

             
          10. 10.

            http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq139_HTML.gif

             
          11. 11.

            end

             
          12. 12.

            http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq140_HTML.gif

             
          13. 13.

            else

             
          14. 14.

            http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq141_HTML.gif

             
          15. 15.

            end

             
          16. 16.

            end

             

          It follows from the earlier discussions that http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq142_HTML.gif and also that s' contains exactly 3m − 1 base Ts. Furthermore, since d H (s, s') = 2m, we can deduce that s'[k] = s[k] if s[k] = T, ∀k ∈ [1, mB + 3m − 1]. Notice that s[k] = T if and only if k can be written as a multiple of (B + 3), that is, k = i(B + 3) ∈ [1, mB + 3m − 1], ∀i. Therefore, s'[k] = T if k = i(B + 3) ∈ [1, mB + 3m − 1], ∀i, which subsequently implies that http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq143_HTML.gif , for each i ∈ [1, m]. Note that s[(i − 1)(B + 3) + 1, i(B + 3) 1] is a substring of s that consists of (B + 2) base Gs; it is located either strictly between two consecutive base Ts or strictly between one base T and one end of the string s. Since C T(s [(i − 1)(B + 3) + 1, i(B + 3) 1]) ⊆ C T(s'), we can let http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq144_HTML.gif such that http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq145_HTML.gif . Since http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq146_HTML.gif , we can deduce that j = 3; hence http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq147_HTML.gif . Let http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq148_HTML.gif , for all i ∈ [1, m]. Then, we can see that http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq149_HTML.gif is a partition of http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq98_HTML.gif such that the sum of integers in each subset is equal to B.

          Extensions to edit distance

          Naturally we may extend our previous problem formulations to the edit distance (i.e., Levenshtein distance). The resulting two new problems are formally defined as follows.

          Definition 15 (The http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq1_HTML.gif problem) Given a string s and a collection of compomer spectra http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq150_HTML.gif , find a string s' such that http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq151_HTML.gif ,for all ×∈ Σ and d E (s, s') is minimized.

          Definition 16 (The http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq2_HTML.gif problem) Given a string s and a collection of compomer spectra http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq152_HTML.gif ,find a string s' such that http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq153_HTML.gif ,for all http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq15_HTML.gif and d E (s, s') is minimized.

          These extensions make it possible to detect not only base substitutions but also base insertions and deletions. Hence, they would permit the mutation discovery in DNA sequences (see [1]). In the Additional file 1, we show that both http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq1_HTML.gif and http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq2_HTML.gif are theoretically NP-hard, together with an exact dynamic programming algorithm for solving the http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq1_HTML.gif problem.

          Conclusions

          To exploit the full potential of the SNP discovery approach using base-specific cleavage and mass spectrometry, in this paper we have studied two new combinatorial optimization problems, called http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq1_HTML.gif and http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq2_HTML.gif , respectively. We believe that any efficient solution to either problem could offer a more seamless integration of information in four complementary base-specific reactions than previously done in [1, 2], thereby improving the capability of the underlying biotechnology (i.e., base-specific cleavage and mass spectrometry) for sensitive and accurate SNP discovery.

          Although we cannot change the inherent complexity of our proposed dynamic programming algorithm for the http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq1_HTML.gif problem, we believe that by improving and optimizing its implementation, the compute runtime can be significantly reduced to the extent suitable for practical use. On the other hand, the NP-hardness result indicates that in the most general situation, solving the http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq2_HTML.gif problem exactly in polynomial time is impossible unless P = NP. In more realistic situations where only a very few SNPs (e.g., two or three SNPs) occur in a target sample sequence, however, the problem can be quite easily tackled, e.g., using an exhaustive search approach. In the future work, we shall try to prove that the http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq1_HTML.gif problem is NP-hard and develop an efficient heuristic algorithm for the http://static-content.springer.com/image/art%3A10.1186%2F1752-0509-6-S2-S5/MediaObjects/12918_2012_975_IEq2_HTML.gif problem for practical use.

          Declarations

          Acknowledgements

          We would like to thank Yuguang Mu and Kai Tang for introducing us the problem of SNP discovery using base-specific cleavage and mass spectrometry. X.C.'s research was supported by the Singapore National Medical Research Council grant (CBRG11nov091) and a College of Science Collaborative Research Award at NTU. Q.W.'s research was supported by National Science Foundation for Young Scientists of China (61103066). L.Z.'s research was supported by the Singapore MOE AcRF Tier 2 grant (R-146-000-134-112).

          This article has been published as part of BMC Systems Biology Volume 6 Supplement 2, 2012: Proceedings of the 23rd International Conference on Genome Informatics (GIW 2012). The full contents of the supplement are available online at http://​www.​biomedcentral.​com/​bmcsystbiol/​supplements/​6/​S2.

          Authors’ Affiliations

          (1)
          School of Physical and Mathematical Sciences, Nanyang Technological University
          (2)
          The Key Laboratory of Embedded System and Service Computing, Ministry of Education, Tongji University
          (3)
          Department of Mathematics, National University of Singapore

          References

          1. Bocker S: SNP and mutation discovery using base-specific cleavage and MALDI-TOF mass spectrometry. Bioinformatics 2003,19(Suppl 1):i44–53.PubMedView Article
          2. Krebs S, Medugorac I, Seichter D, Forster M: RNaseCut: a MALDI mass spectrometry-based method for SNP discovery. Nucleic Acids Research 2003.,31(7):
          3. Stanssens P, Zabeau M, Meersseman G, Remes G, Gansemans Y, Storm N, Hartmer R, Honisch C, Rodi CP, Bocker S, van den Boom D: High-throughput MALDI-TOF discovery of genomic sequence polymorphisms. Genome Research 2004, 14:126–133.PubMedView Article
          4. Hartmer R, Storm N, Bocker S, Rodi CP, Hillenkamp F, Jurinke C, van den Boom D: RNase T1 mediated base-specific cleavage and MALDI-TOF MS for high-throughput comparative sequence analysis. Nucleic Acids Research 2003.,31(9):
          5. Honisch C, Raghunathan A, Cantor CR, Palsson BO, van den Boom D: High-throughput mutation detection underlying adaptive evolution of Escherichia coli-K12. Genome Research 2004,14(12):2495–2502.PubMedView Article
          6. RNaseCut webpage link [http://​www.​vetmed.​uni-muenchen.​de/​gen/​forschung.​html]
          7. Garey MR, Johnson DS: Complexity results for multiprocessor scheduling under resource constraints. Siam Journal on Computing 1975, 4:397–411.View Article
          8. Hulett H, Will TG, Woeginger GJ: Multigraph realizations of degree sequences: Maximization is easy, minimization is hard. Operations Research Letters 2008,36(5):594–596.View Article
          9. Bocker S: Sequencing from compomers: Using mass spectrometry for DNA de novo sequencing of 200+ nt. Journal of Computational Biology 2004,11(6):1110–1134.PubMedView Article
          10. Pevzner PA, Tang HX, Waterman MS: An Eulerian path approach to DNA fragment assembly. Proceedings of the National Academy of Sciences of the United States of America 2001,98(17):9748–9753.PubMedView Article

          Copyright

          © Chen et al.; licensee BioMed Central Ltd. 2012

          This article is published under license to BioMed Central Ltd. This is an open access article distributed under the terms of the Creative Commons Attribution License (http://​creativecommons.​org/​licenses/​by/​2.​0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

          Advertisement