Skip to main content
BMC Genomics logoLink to BMC Genomics
. 2015 Jan 21;16(Suppl 2):S13. doi: 10.1186/1471-2164-16-S2-S13

Inferring the global structure of chromosomes from structural variations

Tomohiro Yasuda 1,2, Satoru Miyano 1,
PMCID: PMC4331713  PMID: 25707904

Abstract

Background

Next generation sequencing (NGS) technologies have made it possible to exhaustively detect structural variations (SVs) in genomes. Although various methods for detecting SVs have been developed, the global structure of chromosomes, i.e., how segments in a reference genome are extracted and ordered in an unknown target genome, cannot be inferred by detecting only individual SVs.

Results

Here, we formulate the problem of inferring the global structure of chromosomes from SVs as an optimization problem on a bidirected graph. This problem takes into account the aberrant adjacencies of genomic regions, the copy numbers, and the number and length of chromosomes. Although the problem is NP-complete, we propose its polynomial-time solvable variation by restricting instances of the problem using a biologically meaningful condition, which we call the weakly connected constraint. We also explain how to obtain experimental data that satisfies the weakly connected constraint.

Conclusion

Our results establish a theoretical foundation for the development of practical computational tools that could be used to infer the global structure of chromosomes based on SVs. The computational complexity of the inference can be reduced by detecting the segments of the reference genome at the ends of the chromosomes of the target genome and also the segments that are known to exist in the target genome.

Background

Next-generation sequencing (NGS) technologies have drastically reduced the cost of genome sequencing [1]. As more genomic sequences have become available, it has become clear that genomes contain many structural variations (SVs), which include large insertions, deletions, tandem duplications, and translocations. SVs have already been associated with diverse diseases [2]. For example, the fusion genes BCRABL and EML4-ALK play key roles in the development of cancer, and it is believed that other recurrent rearrangements remain to be discovered [3]. In cancer genomes, many SVs are occasionally concentrated in a small region of the genome [4-6]. It has been suggested that a single catastrophic mutational event, known as chromothripsis [6], causes these concentrations. A study of prostate cancer also uncovered a distinct type of complex rearrangement termed chromoplexy [7,8], wherein rearrangements are unclustered but involve multiple chromosomes. Complex genomic rearrangements have even been observed in germline mutations, resulting in serious congenital diseases [9]. Because of their importance in functions of the genome, various methods have been developed for finding SVs [10-16]. When genomic rearrangements are complex, enumerating only individual SVs is insufficient for elucidating the global structure of chromosomes, i.e., how the segments in a reference genome are extracted and ordered in an unknown target genome. Here, the reference genome is known and is a pre-existing sequenced genome of the same organism, such as the GRCh38 build of the human genome [17].

In this study, we address the problem of inferring the global structure of chromosomes based on SV data, which refer to aberrant adjacencies of genomic regions and copy number variations (CNVs) in this study. By solving this problem, we can determine the order of the genomic regions in the target genome. This order affects the structure of proteins if the genomic regions contain coding regions, and regulation of genes if the genomic regions include promoters or enhancers. In addition, raw SV data could be corrected by inferring the global structure of chromosomes because an optimal global structure would ignore false positive detection of aberrant adjacencies or correct wrongly estimated copy numbers. The task of inferring chromosomes is formulated as an optimization problem on a graph, which we term as a chromosome graph. Our contributions are summarized as follows:

• To infer the global structure of chromosomes, we formulate a computational problem that takes into account the number and length of chromosomes, as well as aberrant adjacencies and CNVs caused by genomic rearrangements. By taking SV data as the input, relatively low-depth NGS sequencing can be used.

• We prove that the problem is NP-complete.

• We propose a biologically meaningful restriction that makes the problem solvable in polynomial time. We also show an algorithm that solves the restricted problem.

Oesper et al. [18] presented a pioneering work that aimed to infer the global structure of chromosomes from SV data. They formulated the copy number and adjacency genome reconstruction problem. Their formulation is based on graphs that they termed interval-adjacency graphs. These graphs are essentially the same as our chromosome graphs, except that we used bidirected graphs [19,20] while they used alternating paths to exclude paths on the graph that do not correspond to chromosomes. They also implemented an efficient algorithm called paired-end reconstruction of genome organization (PREGO) that solved their problem and obtained promising results. Our work includes the following results that were not addressed by Oesper et al. First, we present a formulation that takes into account the number and length of chromosomes determined experimentally. Second, we prove that the problem is NP-complete. Finally, we propose a variation of the problem that can be solved in polynomial time.

Some methods can also be applied to analyze the global structure of genomes by using non-SV data. First, de novo sequence assembly aims at reconstructing target genomes from raw NGS sequences [19,21-25]. It includes a step to order fragments of genomes obtained by assembling NGS sequences. The step is usually implemented as an optimization problem, involving searching for paths that cover all vertices or all edges corresponding to substrings of genome sequences [19,21]. By contrast, we allow some vertices and edges to be ignored because some portions of the reference genome might not appear in the target genome. Second, reference-assisted assembly [26], also known as comparative assembly [27], aims at ordering segments of an unknown target genome by using known genomes of other organisms. By contrast, we order segments so that the chromosomes in the solution are most consistent with the SV data and the experimentally determined number and length of chromosomes. Finally, methods based on permutations of integers [28] compare two genomes represented by two sequences of integers corresponding to genes or markers in the genome. Instead of using such sequences, we exploit SV data.

The rest of this paper is organized as follows. First, we present types of experimental data from which we infer the global structure of chromosomes. Next, we give our formulation of the problem of inferring the global structure of chromosomes, and show that the problem is NP-complete. Then, we show a variation of the problem that is solvable in polynomial time. Finally, we discuss our results and state our conclusions.

Results

Experimental data

We assume the following experimental data as input.

Aberrant adjacencies

In the target genome, distant segments in the reference genome may be adjacent because of rearrangements (Figure 1). Such aberrant adjacencies are detected by using NGS technologies as follows. First, NGS technologies can generate read pairs that are a few hundred bases apart from each other in the target genome. If two reads of a pair are not mapped to the reference genome with the expected orientations and mapped distance, the pair is called a discordant pair and is likely to be caused by SVs [12-14]. Second, if the alignment of a read and reference genome is split into more than one portion, such a split read also indicates a rearrangement [16]. A breakpoint is a position at a boundary of a rearrangement. Here, we ignore small differences between the real breakpoints and their estimations.

Figure 1.

Figure 1

Aberrant adjacencies of genomic regions. Thick vertical lines represent chromosomes in the reference genome, circles represent breakpoints, small black boxes represent NGS reads, solid curved lines represent paired-reads, dashed curved lines represent split reads, and thin solid oblique lines represent aberrant adjacencies. Aberrant adjacencies are detected by using two types of NGS reads abnormally mapped to the reference genome: discordant pairs (three pairs from above), and split reads (two pairs from below). Yasuda and Miyano Page 11 of 11

Copy numbers

The number of occurrences of a subsequence in the reference genome may change because of rearrangements. This phenomenon results in copy number variations (CNVs). Traditionally, CNVs have been analyzed by using DNA microarrays [11]. Several recent methods detect CNVs by finding changes in the depth of coverage of NGS sequences [4,15]. Although tumor samples are usually a mixture of normal cells and various tumor cells, the copy numbers of a cancer cell can still be estimated by single-cell analysis [29]. In this paper, for the sake of conciseness, the boundaries of CNVs are also called breakpoints.

Number of chromosomes and truncations

Identifying chromosomes and finding aberrant chromosomes by microscopy is an important part of clinical diagnostics [30]. The number of chromosomes, denoted by nN in this paper, is available after inspection. Throughout this paper, we assume that nN ≥ 1. In addition, we also take into account the number of chromosomal truncations, which we denote as nT. Chromosomal truncations are detected as a decrease in copy numbers without aberrant adjacencies. We consider nN and nT to improve the inference of the global structure of chromosomes from SV data.

Chromosome length

The length of chromosomes can be estimated experimentally from flow karyotyping, and, approximately, from microscopic images [31]. Here, the estimated length is denoted by λi for 1 ≤ i NL, where NL(≥ nN) is the maximum possible number of chromosomes.

Problem definition

Any instance of our problem is modeled as a graph that we term a chromosome graph. The graph contains elements derived from the reference genome and experimental data. Each vertex corresponds to a location in the reference genome. In addition, each edge corresponds to either a segment in the reference genome, an adjacency of flanking segments in the reference genome, or an aberrant adjacency in the target genome caused by rearrangements.

We assume that the target genome is a set of chromosomes, each of which is a concatenation of segments in the reference genome. Each chromosome in the target genome is represented as a path on the graph, and these paths explain how segments in the reference genome are incorporated into the target genome. The goodness of the estimated target genome is measured by a cost function, and we search for an optimal set of chromosomes that minimizes this cost function.

We first define a graph that contains some of elements described above. Then, we extend the graph to a chromosome graph. Finally, we present the formal definition of the problem.

Prototype chromosome graph

We first construct an undirected graph called a prototype chromosome graph, G = (V,E) (Figure 2). Let NC be the number of chromosomes of the reference genome and ni be the number of breakpoints in the i-th chromosome of the reference genome. Then, V contains the following vertices.

Figure 2.

Figure 2

An example of a prototype chromosome graph. Thick vertical edges represent edges in ES that correspond to segments in the reference genome, oblique edges represent edges in EL that correspond to aberrant adjacencies. Vertices surrounded by dashed lines belong to V5, VM, and V3, read from the bottom of the graph to top.

• Vertices corresponding to breakpoints:

VM={vi,j|1iNC,1jni}.

• Vertices corresponding to the beginning of chromosomes in the reference genome:

V5={vi,0|1iNC}.

• Vertices corresponding to the end of chromosomes in the reference genome:

V3={vi,ni+1|1iNC}.

Then, we define V = V5 V3 VM.

Next, we define a set of edges, E. We make the following two types of edges.

• Edges corresponding to segments between two breakpoints that are next to each other in the reference genome. For each 1 ≤ i NC and 0 ≤ j ni, we make an edge ei,j = (vi,j, vi,j+1).

• Edges corresponding to aberrant adjacency of two segments in the reference genome. Let NA be the number of detected aberrant adjacencies. For the k-th aberrant adjacency (1 ≤ k NA) that links positions corresponding to vi1,j1 and vi2,j2, we make an edge eLk=(vi1,j1,vi2,j2).

Then, we define

ES={ei, j|1iNC,0jni},EL={eLk|1kNA},   E=ESEL.

Chromosome graph

In a prototype chromosome graph, a path might visit two edges in EL contiguously. Such a path does not correspond to a real chromosome. To exclude such a path we use a technique similar to that of Oesper et al. [18]. Although Oesper et al. [18] used alternating paths, their formulation can be represented by using a bidirected graph whose edges have directions at both ends [19,32]. We directly define our graph by using a bidirected graph (Figure 3). Let d(e, v) ∈ {+,−} be the direction of an edge e at a vertex v, and −d(e, v) be the opposite direction of d(e, v).

Figure 3.

Figure 3

An example of a chromosome graph. Thin vertical edges represent edges in ER. Arrowheads represent the '+'-direction, whereas ends of edges without arrowheads represent '−'-direction.

• Each vertex vi,j VM is split into two vertices vi,j+ and vi,j-. The set VM is redefined as

VM={vi,j-,vi,j+|1iNC,1jni}.

Vertices in V5 and V3 are renamed so that

V5={vi,0-|1iNC},V3={vi,ni+1+|1iNC}.

• An edge ei,j = (vi,j, vi,j+1) ∈ ES is reconnected to vi,j- and vi,j+1+. In addition, d(ei,j,vi,j-)=- and d(ei,j,vi,j+1+)=+.

• Let e EL be an edge connected to vi,j in the prototype chromosome graph. If e corresponds to an aberrant adjacency involving the segment that stretches toward vi,j+1, e is reconnected to vi,j- and d(e,vi,j-) is set to '+'. Otherwise, e is reconnected to vi,j+ and d(e,vi,j+) is set to '−'.

• We add the following set of new edges:

ER={e^i,j=(vi,j+,vi,j-)|1iNC,1ini}.

Directions are set so that d(e^i,j,vi,j+)=- and d(e^i,j,vi,j-)=+.

The modified graph represents a chromosome graph.

Paths and chromosomes

A path c = v1e1v2e2v3 ... elvl+1 on a chromosome graph G is an alternating sequence of vertices and edges, which has the following properties:

• The first and the last of c are vertices.

• Any subsequence of the form ekvkek+1 (1 ≤ k l) means that d(ek, vk) = −d(ek+1, vk).

A path c is said to visit an edge e if c contains e. Similarly, c is said to visit a vertex v if c contains v. When a path is written as a sequence of vertices and edges, for simplicity, we omit the notation of the vertices if they are clear. Let C = {c1, c2,..., c|C|} be a multiset of paths on G. We define C as a multi-set so that more than one identical path can exist. In addition, let m(c, e) be the number of times c visits an edge e, and m(C,e)=ciCm(ci,e). A cycle is a path whose first and last vertices are identical and the directions of the first and the last edges at the vertex are opposite. A chromosome on G is a path whose first and last edges are both in ES.

Copy numbers and lengths

Two integers are assigned to each e E. First, n(e) for e ES represents an experimentally estimated copy number of the corresponding segment in the reference genome. Second, |e| for e ES represents the length of the corresponding segment in the reference genome. For e EL ER, we set n(e) and |e| to 0. The length of a path c is defined as |c|=eE|e|m(c,e). To simply describe all properties of e together, we use the following notation:

e=d(e,v1)v1,d(e,v2)v2,n(e),|e|.

Upper bound on parameters

Campbell et al. [4] presented examples of amplified regions in cancer cells. The copy numbers were less than 100 in these regions. Therefore, we assume that the copy numbers are in at most hundreds. We also assume that short repeat elements are masked in advance in order to exclude segments that appear spuriously. Based on the details given above, we assume that nN, nT, and n(e) for e ES are all less than a fixed constant U. The value of U does not have to be determined because U is only used in the analysis of computational complexity.

Formulation of the problem

To find an optimal set of chromosomes, we define an optimization problem over a chromosome graph. We define a cost function to be used as a target function of the optimization problem. This function imposes costs on the number of chromosomes, the number of chromosomal truncations, and the number of visits to edges, penalizing for deviations from those that are experimentally expected.

Let C = {c1, c2,..., c|C|} be a multi-set of chromosomes on G, and wN(C) be the cost of the difference between nN and |C|. Also let Tr(C) be the number of ends of chromosomes in VM, and wT (C) be the cost of the difference between nT and Tr(C). In addition, w(e, x) for e ES is defined as the cost when e is visited x-times. For e EL ER, w(e, x) is set to 0.

We assume that wN(C), wT(C), and w(e, x) for e ES monotonically increase as ||C| − nN|, |Tr(C) − nN|, and |x n(e)| increase, respectively. Then, we define the cost function W(C) as follows:

W(C)=wN(C)+wT(C)+eEw(e,m(C,e)). (1)

We assume that each term is 0 if and only if

|C|=nN,Tr(C)=nT,m(C,e)=n(e) for eES. (2)

With these notations, we formulate the problem of inferring the global structure of chromosomes as follows:

Definition 1 (Chromosome problem (ChrP)) Suppose that we are given a chromosome graph G = (V,E), a cost function W(C), and parameters λi (1 ≤ i NL), where NL is the maximum possible number of chromosomes. Then, find a multi-set of chromosomes C on G that minimizes W(C) under the constraint that |ci| ≤ λi for ci C.

Although a similar problem was proposed previously [18], its computational complexity was not analyzed.

Theorem 1 ChrP is NP-complete.

In the Methods section, we prove Theorem 1.

Polynomial-time solvable variation

We propose a variation of ChrP that is solvable in polynomial time. For e EL ER, it is highly likely that m(C, e) ≥ 1 if e is supported by a large number of paired-reads. Therefore, it is worth considering a variation in which some edges in ELER must appear in the target genome. We refer to the edges as required edges. In addition, because chromosomal truncations can be detected, it is also worth considering a variation in which we know where the ends of the chromosomes of the target genome exist in the reference genome. Because the definition of W(C) is abstract, we focus on a cost function such that

wN(C)=QN||C|-nN|,wT(C)=QT|Tr(C)-nT|,w(e,x)=|e||x-n(e)|, (3)

where QN and QT are constants given as parameters. The values of QN and QT are tuned in advance so that known global structures of genomes are well reconstructed.

Weakly connected constraint

Let G = (V, E) be a general bidirected graph. A subgraph g of G is a weakly connected component if g is a connected component when all directions are removed [33]. In addition, g is maximal if g is not a subgraph of a larger weakly connected component. For a subset E' of E, we define CC(G,E') as a set of maximal weakly connected components of a graph induced from G by removing the edges not in E'.

Definition 2 (Weakly connected constraint (WCC)) Let G = (V, E) be a chromosome graph. Also let VW and EW be subsets of V and E, respectively. Each g CC(G, EW) is good if g contains at least one vertex in VW. Then, G satisfies the weakly connected constraint (WCC) if all g CC(G, EW) are good.

We use WCC by setting VW to a set of vertices that correspond to ends of chromosomes in the target genome, and EW = {e ES|n(e) ≥ 1} ∪ {e EL ER|e is required}. See Figure 4 for an example. An instance that satisfies WCC can be obtained as follows. First, VW is obtained by finding the positions of chromosomal truncations, as well as the ends of the chromosomes of the reference genome that remain in the target genome. Because a chromosome that does not include detected ends can be in a solution, VW does not need to contain all ends of chromosomes in the target genome. We assume that nT ≥ |VW|. Next, if g ∈ CC(G, EW) is not good, edges e E on some path connecting g and good g' ∈ CC(G, EW) are added to EW. To do this, if possible, we experimentally confirm that n(e) ≥ 1 if e ES or that e is required if e EL ER. Finally, if some g ∈ CC(G,EW) that are not good still remain, edges in g are forcibly removed from EW by setting n(e) to 0 if e ES or by changing e not required if e EL ER.

Figure 4.

Figure 4

An example of a chromosome graph that satisfies WCC. Gray circles are vertices in VW and thick arrows are edges in EW.

Definition 3 (Chromosome problem with WCC (ChrW)) Let G = (V,E) be a chromosome graph that satisfies WCC with respect to some VW V and EW E. Then, find a set C of chromosomes on G that minimizes W(C) when (3) is satisfied.

Theorem 2 The problem ChrW can be solved in O(|E|2 log |V | log |E|) time.

See the Methods section for the algorithm that solves ChrW.

Restriction on the length of chromosomes

In ChrW, we removed restrictions on the length of chromosomes. This relaxation is necessary to make the problem solvable in polynomial time.

Definition 4 (ChrW with restriction on length (ChrL)) ChrW with restriction on length (ChrL) is the same problem as ChrW, except that the length of each chromosome ci is bounded by a parameter λi (1 ≤ i NL), where NL is the maximum possible number of chromosomes.

Theorem 3 The problem ChrL is NP-complete.

See the Methods section for proof that problem ChrL is NP-complete.

Discussion

Handling practical situations

Solutions to the chromosome problems are affected by errors in given SV data. However, some errors can be mitigated as follows. First, a false positive aberrant adjacency may be correctly ignored in the optimal solution because a set of chromosomes that uses such an adjacency is expected to have a larger cost than those ignoring the adjacency. Second, the effects of a missing aberrant adjacency may be limited to segments including its ends because a chromosome that contains the missing adjacency may be recognized as two split chromosomes. Finally, there is a chance that incorrect copy numbers will be corrected if they are inconsistent with other SVs.

In addition to segments in the reference genome, our method can handle newly inserted fragments not in the reference genome. Such a fragment is incorporated Yasuda and Miyano Page 6 of 11 into a chromosome graph as a new chromosome. In particular, an edge e, where |e| is equal to the length of the fragment, is added to ES, and edges that connect vertices in a chromosome graph to e are added to EL. If any breakpoints are contained within the new fragment, vertices and edges are added to VM and ER, respectively. If a breakpoint corresponds to any aberrant adjacency, edges are also added to EL.

If a gene duplication has occurred in the target genome, it causes an increased copy number and aberrant adjacencies flanking the gene. If it is a tandem duplication, an aberrant adjacency connecting the upstream and downstream regions of the gene should exist. If these SVs exist in given SV data, any solution to our problem has to take into account gene duplication.

Limitations

A mixture of many cells cannot be handled because it is difficult to correctly estimate copy numbers. However, our method may generate meaningful results for data obtained from multiple cells if the sum of copy numbers is correctly estimated. In this case, the solution is a mixture of chromosomes of all cells in the sample, although some of the chromosomes might be fused.

Note that many optimal solutions may exist depending on how an optimal circulation is converted into chromosomes. (Figure 5). Choosing the right solution requires additional information such as the mate-pairs of long genomic fragments, or the result of experiments involving such techniques as fluorescence in situ hybridization (FISH) that indicate whether or not distant genomic regions are in the same chromosome.

Figure 5.

Figure 5

An example of a chromosome graph that has more than one optimal solution. Bold digits represent an optimal circulation on this graph. The chromosome graph in this figure has two optimal solutions {e1, 0eL1e2, 1eL2e1,2, e2,0ê2,1e2,1ê2, 2e2,2} and {e1,0eL1e2, 1ê2,2e2,2, e2,0ê2,1e2,1eL2e1,2}. Edges in EN ED are omitted, and the flow on each edge in ED has been subtracted from the flow of a corresponding edge in ES.

Toward implementation

For implementation, we require an algorithm that can calculate an optimal circulation on the bidirected graph. It would be difficult to implement Gabow's algorithm because no efficient implementation is currently known. Another option would be to use Medvedev's algorithm [19]. Any solver for general integer programming could also be used, as demonstrated by Oesper et al. [18], although the computational time bound is not guaranteed.

Conclusions

Continuing technological innovations in DNA sequencing will, in future, allow the prediction of an enormous number of SVs. However, detecting only individual SVs cannot reveal the global structure of chromosomes. Here, we formulated the problem of inferring chromosomes from the aberrant adjacencies of genomic regions, copy number variations (CNVs), and the number and length of chromosomes. The problem, which we term as the chromosome problem (ChrP), was proved to be NP-complete. However, if an instance of ChrP satisfies a constraint, which we call a weakly connected constraint (WCC), and if the length of chromosomes is ignored, the problem can be solved in O(|E|2 log |V | log |E|) time.

This work provides a theoretical basis for the development of practical computational tools that are emerging for use in analysis of the global structure of chromosomes based on SVs.

Methods

In this section, we show how we proved the theorems stated in the Results section.

Proof of Theorem 1

We first present an upper bound on the size of an optimal solution of ChrP to show that ChrP is in NP. Then, we prove that ChrP is NP-hard.

Lemma 1 Let G = (V, E) be a chromosome graph. Also, let C be a multi-set of chromosomes on G that minimizes W(C) such that |ci| ≤ λi for ci C. Then, C has at most U(4|V| + 1)(|E| + 1) edges.

Proof Let c C be a chromosome in C. We define an edge e in c as non-excessive if e ES and m(C, e) ≤ n(e), and excessive otherwise. Let tc be the number of non-excessive edges visited by c. If tc >0, c can be written as c = p1e1p2e2 ... etcptc+1, where ek (1 ≤ k tc) is a non-excessive edge and pk (1 ≤ k tc+1) is a possibly empty path that contains only excessive edges (Figure 6). If pk contains a cycle as its subpath, the cycle can be removed to decrease W(C), a contradiction. Accordingly, pk does not contain a cycle. This implies that pk visits at most 2|V| vertices and, thus, 2|V| edges. Therefore, at most, 4|V | excessive edges are visited for each non-excessive edge. Note that a non-excessive edge e can be visited, at most, n(e)-times. Therefore, cCtceEsn(e).

Figure 6.

Figure 6

An example of a chromosome that consists of non-excessive and excessive edges. Straight arrows represent non-excessive edges, while jagged lines represent sequences of excessive edges.

Chromosomes such that tc = 0 can exist only if they contribute to the decrease of the first or the second term of W(C) defined by (1). Accordingly, the number of such chromosomes is, at most, nN +nT. In addition, a chromosome c, such that tc = 0, does not contain any cycles because such a cycle can be removed to decrease W(C). Therefore, at most, c visits 2|V| vertices and, thus, 2|V| edges.

Consequently, C contains, at most, 2|V|(nN +nT ) + (4|V| +1) Pe***ES n(e) ≤ U(4|V |+1)(|E|+1) edges.

Lemma 2 The problem ChrP is in NP.

Proof Once an optimal solution C is given, whether or not W(C) is greater than a given constant can be determined in O(|V ||E|) time by Lemma 1.   □

Lemma 3 The problem ChrP is NP-hard.

Proof The Hamiltonian Cycle problem (HC) is a problem of finding a cycle that visits each vertex of a graph exactly once, and is a well-known NP-complete problem [34]. Here, we reduce HC to ChrP. Consider HC on a directed graph H = (V', E'), where V={v1,v2,,v|V|} is a set of vertices and E' is a set of edges. We construct a chromosome graph G = (V, E) from H (Figure 7), where

Figure 7.

Figure 7

An instance of ChrP for solving the Hamiltonian Cycle problem (HC). In this graph, solid edges are constructed for each vertex in a graph H of HC, whereas dashed edges correspond to edges in H.

V=1i|V|{vi,0-,vi,1+,vi,1-,vi,2+,vi,2-,vi,3+}

is a set of vertices, and E = ES EL ER is a set of edges. Here, ES consists of

e1,0=-v1,0-,+v1,1+,1,1,e1,1=-v1,1-,+v1,2+,2,1,e1,2=-v1,2,+v1,3+,1,1,ei,0=-vi,0,+vi1+,0,1(2i|V|),ei,1=-vi,1-,+vi2,1,1(2i|V|),ei,2=-vi,2-,+vi,3,0,1(2i|V|).

ER consists of

e^i,1=-vi,1+,+vi,1-,0,0(1i|V|),e^i,2=-vi,2+,+vi,2-,0,0(1i|V|).

EL consists of

ei:i=-vi,2+,+vi,1-,0,0((vi,vi)E).

In addition, we set nN = 1, nT = 0, and λi = |V'| + 3 for any i. Then, we prove that H has a Hamiltonian cycle if, and only if, ChrP on G has a solution C such that W(C) = 0. Suppose that h is a Hamiltonian cycle on H. Let c be a chromosome that begins with e1,0e^1,1e1,1 and then visits ei:iei,1 in the order that edges (vi,vi) appear in h from i' = 1, and finally ends with e1,1e^1,2e1,2. Then, a set of a single chromosome C = {c} satisfies W(C) = 0 and |c|=|V|+3λ1.

Conversely, let C be a solution of ChrP that satisfies W(C) = 0. Because (2) holds, |C| = 1, Tr(C) = 0, and m(C, e) = n(e). Let c be the only chromosome in C. Because n(e1,1) = 2 and n(ei,1) = 1 for 2 ≤ i ≤ |V'|, a path that visits vertices viV in the order that ei,1 appears in c is a Hamiltonian cycle on H.   □

Theorem 1 directly follows Lemma 2 and 3.

Proof of Theorem 2

Circulation on a bidirected graph

Let G = (V, E) be a bidirected graph, and av,e for v V and e E be an integer such that

av,e=2if e has two+-ends at v,1if e has only one+-end at v,-1if e has only one--end at v,-2if e has two--ends at v,0if e is not connected to v.

Also let bv be an integer defined for each v V, Z be the set of non-negative integers, and l(e) and u(e) be two non-negative integers assigned to each edge e E called a lower bound and an upper bound, respectively. Unless otherwise specified, in this study l(e) = 0 and u(e) = ∞.

Definition 5 A bidirected flow (biflow) [19, 20] is a mapping f : E Z such that

l(e)f(e)u(e)foreacheE, (4)
eEav,ef(e)=bvforeachvV. (5)

The cost of f is defined as W(f) = ∑eE w(f, e), where w(f, e) is a cost of f on e E. A circulation is a biflow such that bv = 0 for any v V.

Circular chromosome graph

Definition 6 (Circular chromosome graph) Let G = (V,E) be a chromosome graph, and let vN and vT be new vertices. In addition, let EN be a set of the following edges: for 1 ≤ i NC,

et(vi,0-)=-vN,+vi,0-,0,0,et(vi,ni+)=-vN,-vi,ni+,0,0,et(vi,j+)=-vT,-vi,j+,0,0(1jni),et(vi,j-)=-vT,+vi,j-,0,0(1jni),

and

eT=-vN,+vT,nT,QT,eN=+vN,+vN,nN,QN.

Also, let ED be a set of the following edges for e ES ∪ {eN, eT}:

e¯=-d(e,vi1,j1)vi1,j1,-d(e,vi2,j2)vi2,j2,0,|e|,

where vi1,j1 and vi2,j2 are vertices at the ends of e. The graph G˜=(V{vN,vT},EENED)is called a circular chromosome graph.

See Figure 8 for an example. Let n(eN) = nN and n(eT) = nT. For e ES ∪{eN, eT}, we set l(e) = n(e), l(ē)=0, and u(ē)=n(e). For e EL ER, we set l(e) = 1. We also set l(et(v)) to 1 for v VW because these edges have to be visited in the solution.

Figure 8.

Figure 8

An example of a circular chromosome graph. The problem of optimizing multiple chromosomes is converted to the problem of finding a cycle on this graph. For simplicity, we omitted et(·), except for the leftmost chromosome in the reference genome.

Lemma 4 Let w(f, e) = |e|f(e) and W0 = QNnN + QT nT + ∑eE |e|n(e). For any multi-set C of chromosomes on G, there is a circulation f on G˜ such that

W(f)=W(C)+W0. (6)

Conversely, for any circulation f on G˜that minimizes W(f), there is a multi-set C of chromosomes on G that satisfies (6). In addition, C can be calculated in O(eEENEDf(e))time.

Let E+ = {e E EN ED|l(e) ≥ 1 or n(e) ≥ 1}. Note that CC(G˜,E+) has only one weakly connected component because of WCC.

Proof First, we show that for any multi-set C of chromosomes on G, there exists a circulation f on G˜ that satisfies (6). Let End(v) be the number of chromosomes that begin or end with v. Consider the following f:

f(e)=max{n(e),m(C,e)}  (eES),f(e¯)=max{0,n(e)m(C,e)}  (eES),f(e)=m(C,e)(eELER),f(et(v))=End(v)  (vV),f(eN)=max{nN,|C|},f(e¯N)=max{0,nN|C|},f(eT)=max{nT,Tr(C)},f(e¯T)=max{0,nT Tr(C)}.

Then, f is a circulation on G˜ because f satisfies (4) and (5). Thus, we observe that

w(e,m(C,e))=|e|f(e)+|e|f(ē)-|e|n(e),

for e ES, and

wN(C)=|eN|f(eN)+|eN|f(ēN)-QNnN,wT(C)=|eT|f(eT)+|eT|f(ēT)-QTnT.

Therefore, because |e| = 0 for e ELER∪{et(v)|v V} and w(f, e) = |e|f(e), f satisfies (6).

Conversely, let f be a circulation on G˜ that minimizes W(f). We show how to construct a multi-set C of chromosomes on G that satisfies (6).

First, for e ES ∪ {eN, eT}, we subtract f(ē) from f(e), and also set f(ē) to 0.

Second, we construct a set R of cycles such that m(R, e) = f(e) for any edge e in G˜. For directed graphs, the flow decomposition theorem [35] ensures that such R can be obtained in O(eEENEDf(e)) time. This is also true for bidirected graphs.

Third, we merge cycles in R. Whenever a vertex is shared by two cycles in R, they are merged into a single cycle. Because of WCC, CC(G˜,E+) consists of only one weakly connected component. This implies that all cycles that contain edges in E+ can be merged into a single cycle. Note that any r R contains at least one edge in E+, because otherwise r can be removed to decrease W(f). Therefore, all cycles in R can be merged into a single cycle r˜.

Finally, let C be a multi-set of paths generated by removal of vN, vT, and edges in EN from r˜. Because c C is connected to edges in EN in r˜, the first and last edge of c is in ES due to the directions of these edges. Accordingly, c is a chromosome. Therefore, C is a multi-set of chromosomes on G.

All of these steps can be completed in O(eEENEDf(e)) time. In addition, we observe that the following equations hold:

|C|=f(eN)-f(e¯N),Tr(C)=f(eT)-f(e¯T),m(C,e)=f(e)+f(e¯)(eES).

Accordingly, w(e,m(C,e))=w(f,e)+w(f,ē)+|e|n(e) for e ES, and

wN(C)=w(f,eN)+w(f,e¯N)+QNnN,wT(C)=w(f,eT)+w(f,e¯T)+QTnT,w(e,m(C,e))=0(eELER).

Therefore, C satisfies (6).

By Lemma 4, the solution of ChrW can be obtained by calculating a circulation f on G˜ that minimizes W(f). By Lemma 1, setting u(e) = U(4|V| + 1)(|E| + 1) does not affect the solution. In addition, |EN| = O(|E|) and |ED| = O(|E|). Accordingly, the circulation f can be calculated in O(|E|2 log |V| log |E|) time by using Gabow's algorithm [20]. Therefore, the optimal solution can be calculated in O(|E|2 log |V| log |E|) time.

Proof of Theorem 3

ChrL is in NP because of Lemma 1.

Here, we show that the well-known PARTITION problem [34] can be reduced to ChrL. Let n be a positive integer and S = {i Z|1 ≤ i n}. Also, let s(i) be an integer function defined for i S such that Yasuda and Miyano Page 9 of 11 s(i) > 0, and SΣ = ∑iS s(i). The problem of finding a subset S' S such that

iSs(i)=iS-Ss(i)=SΣ/2

is called the partition problem (hereafter referred to as PARTITION) [34]. It is well known that PARTITION is NP-complete. We reduce PARTITION to ChrL by constructing a chromosome graph whose solution for ChrL contains two chromosomes that correspond to two subsets of a solution of PARTITION.

Let G = (V, E) be a chromosome graph, where

V=1in+1{vi,0-,vi,1+,vi,1-,vi,2+,vi,2-,vi,3+}

is a set of vertices, and E = ES EL ER be a set of edges. Here, ES consists of

ei,0=-vi,0-,+vi,1+,1,9SΣ(1in),ei,1=-vi,1-,+vi,2+,2,s(i)(1in)ei,2=-vi,2-,+vi,3+,1,SΣ-s(i)(1in)en+1,0=-vn+1,0-,+vn+1,1+,2,9SΣ/2,en+1,1=-vn+1,1-,+vn+1,2+,n+2,0,en+1,2=-vn+1,2-,+vn+1,3+,2,5SΣ.

In addition, ER consists of

e^i,1=-vi,1+,+vi,1-,0,0(1in+1),e^i,2=-vi,2+,+vi,2-,0,0(1in+1),

and EL consists of

eLi=+vi,1-,-vn+1,2+,0,0(1in),eLi=-vi,2+,+vn+1,1-,0,0(1in).

We set λi = 10SΣ for any i ≥ 1, QN = QT = 100SΣ, nN = n+2, and nT = 0. See Figure 9 for an example. In addition, we set VW to V5 V3, and EW to E by making all edges in EL ER required so that G satisfies WCC.

Figure 9.

Figure 9

An example of a chromosome graph for solving the partition problem (PARTITION). In this example, n = 4.

We show that PARTITION for S has a solution S' S if, and only if, there exists a solution C of ChrL such that W(C) = 0. First, suppose that PARTITION has a solution S'. Let rS' be a cycle generated by merging cycles en+1,1eLiei,1eLi for i S'. We define rS-S' in the same way. Consider a multi-set C = {c1,..., cn+2}, where ci C is a chromosome on G such that

ci=ei,0e^i,1ei,1e^i,2ei,2(1in),cn+1=en+1,0e^n+1,1rSen+1,1e^n+1,2en+1,2,cn+2=en+1,0e^n+1,1rS-Sen+1,1e^n+1,2en+1,2.

Then, W(C) = 0 because |C| = n + 2, Tr(C) = 0, and m(C, e) = n(e) for e ES. In addition, C visits all required edges. Furthermore, |ci| = 10Σ ≤ λi for 1 ≤ i n + 2.

Conversely, suppose that ChrL for G has an optimal solution C that satisfies W(C) = 0. Because W(C) = 0, we obtain |C| = n + 2, Tr(C) = 0, and m(C, e) = n(e) for e E. Because ∑eE|e|n(e) = 10(n + 2)SΣ, |c| = 10Σ for each c C. Let ci be a chromosome that begins with ei,0 for 1 ≤ i n. The other two chromosomes are denoted by cn+1 and cn+2. Then, c1 begins with e1,0e^1,1e1,1. Suppose that c1 does not visit e^1,2e1,2. Then, there is a chromosome ci that visits e^1,2e1,2, whose previous edge has to be e1,1 in ci. Therefore, for some paths p1 and p2,

c1=e1,0e^1,1e1,1p1ci=p2e1,1e^1,2e1,2. (7)

Because of (7), |c1|=|e1,0|+|e^1,1|+|e1,1|+|p1|=10SΣ=|e1,0|+|e^1,1|+|e1,1|+|e^1,2|+|e1,2|. Therefore, |p1|=|e^1,2|+|e1,2|. We modify C so that

c1=e1,0e^1,1e^1,2e1,2,ci=p2e1,1p1.

The modified C still satisfies the required conditions. After this modification is repeated for 2 ≤ i n until no more modifications can be applied, C satisfies ci=ei,0e^1,1ei,1e^i,2ei,2 for 1 ≤ i n. Another chromosome exists that visits ei,1 for each 1 ≤ i n, which is one of cn+1 and cn+2. Let S' = {i|m(cn+1, ei,1) >0}. Then, ∑iS's(i) = 10SΣ − (9/2+5)SΣ = 1/2SΣ. Therefore, S' is a solution of PARTITION.

Competing interests

The authors declare that they have no competing interests.

Authors' contributions

TY formulated the problem, proved the NP-completeness, developed a polynomial-time algorithm, and composed the manuscript. SM critically revised the manuscript.

Declarations

TY would like to acknowledge financial support from the Human Genome Center, Institute of Medical Science, University of Tokyo.

This article has been published as part of BMC Genomics Volume 16 Supplement 2, 2015: Selected articles from the Thirteenth Asia Pacific Bioinformatics Conference (APBC 2015): Genomics. The full contents of the supplement are available online at http://www. biomedcentral. com/bmcgenomics/supplements/16/S2

References

  1. DNA Sequencing Costs. http://www.genome.gov/sequencingcosts/
  2. Weischenfeldt J, Symmons O, Spitz F, Korbel JO. Phenotypic impact of genomic structural variation: insights from and for human disease. Nat Rev Genet. 2013;14(2):125–138. doi: 10.1038/nrg3373. [DOI] [PubMed] [Google Scholar]
  3. Bashir A, Volik S, Collins C, Bafna V, Raphael BJ. Evaluation of paired-end sequencing strategies for detection of genome rearrangements in cancer. PLoSComputBiol. 2008;4(4):1000051. doi: 10.1371/journal.pcbi.1000051. Yasuda and Miyano Page 10 of 11. [DOI] [PMC free article] [PubMed] [Google Scholar]
  4. Campbell PJ, Stephens PJ, Pleasance ED, O'Meara S, Li H, Santarius T, Stebbings LA, Leroy C, Edkins S, Hardy C, Teague JW, Menzies A, Goodhead I, Turner DJ, Clee CM, Quail MA, Cox A, Brown C, Durbin R, Hurles ME, Edwards PAW, Bignell GR, Stratton MR, Futreal PA. Identification of somatically acquired rearrangements in cancer using genome-wide massively parallel paired-end sequencing. Nat Genet. 2008;40(6):722–9. doi: 10.1038/ng.128. [DOI] [PMC free article] [PubMed] [Google Scholar]
  5. Malhotra A, Lindberg MR, Faust GG, Leibowitz ML, Clark RA, Layer R, Quinlan AR, Hall IM. Breakpoint profiling of 64 cancer genomes reveals numerous complex rearrangements spawned by homology-independent mechanisms. Genome Res. 2013;23(5):762–776. doi: 10.1101/gr.143677.112. [DOI] [PMC free article] [PubMed] [Google Scholar]
  6. Stephens PJ, Greenman CD, Fu B, Yang F, Bignell GR, Mudie LJ, Pleasance ED, Lau KW, Beare D, Stebbings LA. et al. Massive genomic rearrangement acquired in a single catastrophic event during cancer development. Cell. 2011;144(1):27–40. doi: 10.1016/j.cell.2010.11.055. [DOI] [PMC free article] [PubMed] [Google Scholar]
  7. Shen MM. Chromoplexy: A new category of complex rearrangements in the cancer genome. Cancer Cell. 2013;23(5):567–569. doi: 10.1016/j.ccr.2013.04.025. [DOI] [PMC free article] [PubMed] [Google Scholar]
  8. Van Allen. et al. Punctuated evolution of prostate cancer genomes. Cell. 2013;153(3):666–677. doi: 10.1016/j.cell.2013.03.021. [DOI] [PMC free article] [PubMed] [Google Scholar]
  9. Kloosterman WP, Tavakoli-Yaraki M, van Roosmalen MJ, vanBinsbergen E, Renkens I, Duran K, Ballarati L, Vergult S, Giardino D, Hansson K, Ruivenkamp CAL, Jager M, vanHaeringen A, Ippel EF, Haaf T, Passarge E, Hochstenbach R, Menten B, Larizza L, Guryev V, Poot M, Cuppen E. Constitutional chromothripsis rearrangements involve clustered double-stranded DNA breaks and nonhomologous repair mechanisms. Cell Rep. 2012;1(6):648–55. doi: 10.1016/j.celrep.2012.05.009. [DOI] [PubMed] [Google Scholar]
  10. Mills RE, Walter K, Stewart C, Handsaker RE, Chen K, Alkan C, Abyzov A, Yoon SC, Ye K, Cheetham RK, Chinwalla A, Conrad DF, Fu Y, Grubert F, Hajirasouliha I, Hormozdiari F, Iakoucheva LM, Iqbal Z, Kang S, Kidd JM, Konkel MK, Korn J, Khurana E, Kural D, Lam HYK, Leng J, Li R, Li Y, Lin C-Y, Luo R. et al. 1000 genomes project: Mapping copy number variation by population-scale genome sequencing. Nature. 2011;470(7332):59–65. doi: 10.1038/nature09708. [DOI] [PMC free article] [PubMed] [Google Scholar]
  11. Medvedev P, Stanciu M, Brudno M. Computational methods for discovering structural variation with next-generation sequencing. Nat Methods. 2009;6:13–20. doi: 10.1038/nmeth.1374. [DOI] [PubMed] [Google Scholar]
  12. Chen K, Wallis JW, McLellan MD, Larson DE, Kalicki JM, Pohl CS, McGrath SD, Wendl MC, Zhang Q, Locke DP, Shi X, Fulton RS, Ley TJ, Wilson RK, Ding L, Mardis ER. BreakDancer: an algorithm for high-resolution mapping of genomic structural variation. Nat Methods. 2009;6(9):677–681. doi: 10.1038/nmeth.1363. [DOI] [PMC free article] [PubMed] [Google Scholar]
  13. Hormozdiari F, Alkan C, Eichler EE, Sahinalp SC. Combinatorial algorithms for structural variation detection in high-throughput sequenced genomes. Genome Res. 2009;19(7):1270–1278. doi: 10.1101/gr.088633.108. [DOI] [PMC free article] [PubMed] [Google Scholar]
  14. Quinlan AR, Clark RA, Sokolova S, Leibowitz ML, Zhang Y, Hurles ME, Mell JC, Hall IM. Genome-wide mapping and assembly of structural variant breakpoints in the mouse genome. Genome Res. 2010;20(5):623–635. doi: 10.1101/gr.102970.109. [DOI] [PMC free article] [PubMed] [Google Scholar]
  15. Abyzov A, Urban AE, Snyder M, Gerstein M. CNVnator: An approach to discover, genotype, and characterize typical and atypical CNVs from family and population genome sequencing. Genome Res. 2011;21(6):974–984. doi: 10.1101/gr.114876.110. [DOI] [PMC free article] [PubMed] [Google Scholar]
  16. Ye K, Schulz MH, Long Q, Apweiler R, Ning Z. Pindel: a pattern growth approach to detect break points of large deletions and medium sized insertions from paired-end short reads. Bioinformatics. 2009;25(21):2865–2871. doi: 10.1093/bioinformatics/btp394. [DOI] [PMC free article] [PubMed] [Google Scholar]
  17. Genome Reference Consortium. http://www.ncbi.nlm.nih.gov/projects/genome/assembly/grc/human/
  18. Oesper L, Ritz A, Aerni S, Drebin R, Raphael B. Reconstructing cancer genomes from paired-end sequencing data. BMC Bioinformatics. 2012;13(Suppl 6):10. doi: 10.1186/1471-2105-13-S6-S10. [DOI] [PMC free article] [PubMed] [Google Scholar]
  19. Medvedev P, Brudno M. Maximum likelihood genome assembly. J Comput Biol. 2009;16(8):1101–1116. doi: 10.1089/cmb.2009.0047. [DOI] [PMC free article] [PubMed] [Google Scholar]
  20. Gabow HN. An efficient reduction technique for degree-constrained subgraph and bidirected network flow problems. Proceedings of the 15-th annual ACM symposium on Theory of computing (STOC) 1983. pp. 448–456.
  21. Nagarajan N, Pop M. Parametric complexity of sequence assembly: Theory and applications to next generation sequencing. J Comput Biol. 2009;16(7):897–908. doi: 10.1089/cmb.2009.0005. [DOI] [PubMed] [Google Scholar]
  22. Li R, Zhu H, Ruan J, Qian W, Fang X, Shi Z, Li Y, Li S, Shan G, Kristiansen K, Li S, Yang H, Wang J, Wang J. Denovo assembly of human genomes with massively parallel short read sequencing. Genome Res. 2010;20(2):265–272. doi: 10.1101/gr.097261.109. [DOI] [PMC free article] [PubMed] [Google Scholar]
  23. Zerbino DR, Birney E. Velvet: Algorithms for de novo short read assembly using de bruijn graphs. Genome Res. 2008;18:821–829. doi: 10.1101/gr.074492.107. [DOI] [PMC free article] [PubMed] [Google Scholar]
  24. Simpson JT, Wong K, Jackman SD, Schein JE, Jones SJM, Birol Ì. ABySS: A parallel assembler for short read sequence data. Genome Res. 2009;19(6):1117–1123. doi: 10.1101/gr.089532.108. [DOI] [PMC free article] [PubMed] [Google Scholar]
  25. Gnerre S, MacCallum I, Przybylski D, Ribeiro FJ, Burton JN, Walker BJ, Sharpe T, Hall G, Shea TP, Sykes S, Berlin AM, Aird D, Costello M, Daza R, Williams L, Nicol R, Gnirke A, Nusbaum C, Lander ES, Jaffe DB. High-quality draft assemblies of mammalian genomes from massively parallel sequence data. Proc Natl Acad Sci USA. 2011;108(4):1513–1518. doi: 10.1073/pnas.1017351108. [DOI] [PMC free article] [PubMed] [Google Scholar]
  26. Kim J, Larkin DM, Cai Q, Asan, Zhang Y, Ge R-L, Auvil L, Capitanu B, Zhang G, Lewin HA, Ma J. Reference-assisted chromosome assembly. Proc Natl Acad Sci USA. 2013;110(5):1785–1790. doi: 10.1073/pnas.1220349110. [DOI] [PMC free article] [PubMed] [Google Scholar]
  27. Pop M. Genome assembly reborn: recent computational challenges. Brief Bioinform. 2009;10(4):354–366. doi: 10.1093/bib/bbp026. [DOI] [PMC free article] [PubMed] [Google Scholar]
  28. Gaul E, Blanchette M. In: Comparative Genomics. Lecture Notes in Computer Science. Bourque, G., El-Mabrouk, N, editor. Vol. 4205. Springer, Germany; 2006. Ordering partially assembled genomes using gene arrangements; pp. 113–128. [DOI] [Google Scholar]
  29. Navin N, Kendall J, Troge J, Andrews P, Rodgers L, McIndoo J, Cook K, Stepansky A, Levy D, Esposito D, Muthuswamy L, Krasnitz A, McCombie WR, Hicks J, Wigler M. Tumour evolution inferred by single-cell sequencing. Nature. 2011;472(7341):90–94. doi: 10.1038/nature09807. [DOI] [PMC free article] [PubMed] [Google Scholar]
  30. Jahani S, Setarehdan SK. Centromere and length detection in artificially straightened highly curved human chromosomes. International Journal of Biological Engineering. 2012;2(5):56–61. doi: 10.5923/j.ijbe.20120205.04. [DOI] [Google Scholar]
  31. Kasai F, O'Brien PCM, Ferguson-Smith MA. Afrotheria genome; overestimation of genome size and distinct chromosome GC content revealed by flow karyotyping. Genomics. 2013;102(5-6):468–471. doi: 10.1016/j.ygeno.2013.09.002. [DOI] [PubMed] [Google Scholar]
  32. Myers EW. The fragment assembly string graph. Bioinformatics. 2005;21:79–85. doi: 10.1093/bioinformatics/bti1114. [DOI] [PubMed] [Google Scholar]
  33. Sorge M, van Bevern R, Niedermeier R, Weller M. A new view on rural postman based on Eulerian extension and matching. Journal of Discrete Algorithms. 2012;16:12–33. [Google Scholar]
  34. Garey MR, Johnson DS. Computers and Intractability: A Guide to the Theory of NP-Completeness. W. H. Freeman & Company, NewYork; 1979. [Google Scholar]
  35. Ahuja RK, Magnanti TL, Orlin JB. Network Flows: Theory, Algorithms, and Applications. Prentice Hall, New Jersey; 1993. [Google Scholar]

Articles from BMC Genomics are provided here courtesy of BMC

RESOURCES