  Minimum flow decomposition (MFD) (the problem of finding a minimum set of
paths that perfectly decomposes a flow) is a classical problem in Computer
Science, and variants of it are powerful models in multiassembly problems in
Bioinformatics (e.g. RNA assembly). However, because this problem and its
variants are NP-hard, practical multiassembly tools either use heuristics or
solve simpler, polynomial-time solvable versions of the problem, which may
yield solutions that are not mini-mal or do not perfectly decompose the flow.
Many RNA assemblers also use integer linear programming(ILP) formulations of
such practical variants, having the major limitation they need to encode all
the potentially exponentially many solution paths. Moreover, the only exact
solver for MFD does not scale to large instances and cannot be efficiently
generalized to practical MFD variants. In this work, we provide the first
practical ILP formulation for MFD (and thus the first fast and exact solver for
MFD), based on encoding all of the exponentially many solution paths using only
a quadratic number of variables. On both simulated and real flow graphs, our
approach solves any instance in under 13 seconds. We also show that our ILP
formulation can be easily and efficiently adapted for many practical variants,
such as incorporating longer or paired-end reads or minimizing flow errors. We
hope that our results can remove the current tradeoff between the complexity of
a multi assembly model and its tractability and can lie at the core of future
practical RNA assembly tools.
