File: simplify_siblings.hpp

package info (click to toggle)
vg 1.30.0%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 267,848 kB
  • sloc: cpp: 446,974; ansic: 116,148; python: 22,805; cs: 17,888; javascript: 11,031; sh: 5,866; makefile: 4,039; java: 1,415; perl: 1,303; xml: 442; lisp: 242
file content (31 lines) | stat: -rw-r--r-- 801 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#ifndef VG_ALGORITHMS_SIMPLIFY_SIBLINGS_HPP_INCLUDED
#define VG_ALGORITHMS_SIMPLIFY_SIBLINGS_HPP_INCLUDED


#include "../handle.hpp"
#include "merge.hpp"
#include <handlegraph/mutable_path_deletable_handle_graph.hpp>

namespace vg {
namespace algorithms {

using namespace std;

/**
 * Simplify siblings in the given graph.
 *
 * When one base has two successors with the same base value, and those
 * successors have the same set of predecessors, the successors will be merged.
 *
 * Performs only a subset of the possible merges. Can only merge in from one
 * side of a given node in a single invocation. Returns true if it made
 * progress and there may be more merging to do.
 *
 * Preserves paths.
 */
bool simplify_siblings(handlegraph::MutablePathDeletableHandleGraph* graph);
    
}
}

#endif