File: scaffold_graph.h

package info (click to toggle)
cufflinks 1.3.0-2
  • links: PTS, VCS
  • area: non-free
  • in suites: wheezy
  • size: 3,864 kB
  • sloc: cpp: 48,999; ansic: 12,297; sh: 3,381; python: 432; makefile: 209
file content (39 lines) | stat: -rw-r--r-- 1,012 bytes parent folder | download | duplicates (5)
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
32
33
34
35
36
37
38
39
#ifndef SCAFFOLD_GRAPH_H
#define SCAFFOLD_GRAPH_H
/*
 *  scaffold_graph.h
 *  cufflinks
 *
 *  Created by Cole Trapnell on 6/2/10.
 *  Copyright 2010 Cole Trapnell. All rights reserved.
 *
 */

#include <vector>
#include <utility>
#include <boost/graph/adjacency_list.hpp>
#include <boost/graph/graph_traits.hpp>

#include <boost/version.hpp>

#if (BOOST_VERSION < 103800)
#include <boost/vector_property_map.hpp>
#else
#include <boost/property_map/vector_property_map.hpp>
#endif

class Scaffold;

typedef boost::adjacency_list<boost::vecS, 
                              boost::vecS, 
                              boost::bidirectionalS, 
                              boost::property<boost::vertex_name_t, Scaffold*> > DAG;

typedef boost::graph_traits<DAG>::vertex_descriptor DAGNode;

typedef boost::property_map<DAG, boost::vertex_name_t>::type HitsForNodeMap;

bool create_overlap_dag(std::vector<Scaffold>& hits, DAG& bundle_dag);
std::pair<DAGNode, DAGNode> add_terminal_nodes(DAG& bundle_dag);

#endif