RNAblueprint-1.3.2
parsestruct.h
Go to the documentation of this file.
1 
11 #ifndef PARSESTRUCT_H
12 #define PARSESTRUCT_H
13 
14 // include common header with graph definition and global variables
15 #include "common.h"
16 #include "graphcommon.h"
17 
18 // include standard library parts
19 #include <sstream>
20 #include <cctype>
21 #include <iterator>
22 #include <cstddef>
23 #include <unordered_map>
24 
25 namespace design {
26  namespace detail {
27 
28  typedef std::vector< std::pair<char, char> > BracketList;
29 
30  // parse the input string into a graph
31  Graph parse_structures(std::vector<std::string> structures);
32  // recursion for different brackets
33  void parse_bracket(Graph& g, std::string& structure, BracketList::iterator bracket);
34  // set the sequence constraints in the graph object
35  void set_constraints(Graph& g, std::string constraints);
36  // implementation of the function above, just returns incompatible positions and throws an error if requested
37  std::vector<int> set_constraints(Graph& g, std::string constraints, bool throwerror);
38  }
39 }
40 #endif
41 
42 
43 /*
44  * \endcond INTERNAL
45  */
This file holds all global includes, definitions and variables.
This file holds all important information for the dependency graph, its definition and often used fun...
All classes and functions for the RNA design library are under the design namespace.
Definition: RNAblueprint.h:101