1 #ifndef SCAFFOLD_GRAPH_H 2 #define SCAFFOLD_GRAPH_H 3 /* 4 * scaffold_graph.h 5 * cufflinks 6 * 7 * Created by Cole Trapnell on 6/2/10. 8 * Copyright 2010 Cole Trapnell. All rights reserved. 9 * 10 */ 11 12 #include <vector> 13 #include <utility> 14 #include <boost/graph/adjacency_list.hpp> 15 #include <boost/graph/graph_traits.hpp> 16 17 #include <boost/version.hpp> 18 19 #if (BOOST_VERSION < 103800) 20 #include <boost/vector_property_map.hpp> 21 #else 22 #include <boost/property_map/vector_property_map.hpp> 23 #endif 24 25 class Scaffold; 26 27 typedef boost::adjacency_list<boost::vecS, 28 boost::vecS, 29 boost::bidirectionalS, 30 boost::property<boost::vertex_name_t, Scaffold*> > DAG; 31 32 typedef boost::graph_traits<DAG>::vertex_descriptor DAGNode; 33 34 typedef boost::property_map<DAG, boost::vertex_name_t>::type HitsForNodeMap; 35 36 bool create_overlap_dag(std::vector<Scaffold>& hits, DAG& bundle_dag); 37 std::pair<DAGNode, DAGNode> add_terminal_nodes(DAG& bundle_dag); 38 39 #endif 40