![]() |
Rosetta Core
2014.52
|
Graph structure for ResidueType. More...
#include <core/chemical/Atom.hh>
#include <core/chemical/Bond.hh>
#include <boost/graph/undirected_graph.hpp>
#include <boost/graph/filtered_graph.hpp>
#include <core/chemical/AtomTypeSet.fwd.hh>
#include <boost/graph/adjacency_list.hpp>
Classes | |
class | core::chemical::RealFilter |
A filtered graph that doesn't contain fake/virtual atoms and fake/virtual bonds. More... | |
class | core::chemical::HeavyAtomFilter |
The filter responsible for obtaining all heavy atoms. More... | |
class | core::chemical::AcceptorAtomFilter |
The filter responsible for obtaining all acceptor atoms. More... | |
class | core::chemical::HeavyAtomWithPolarHydrogensFilter |
The filter responsible for obtaining all heavy atoms with polar hydrogens attached to them. More... | |
class | core::chemical::HeavyAtomWithHydrogensFilter |
The filter responsible for finding heavy atoms with hydrogens. More... | |
class | core::chemical::HydrogenAtomFilter |
The filter responsible for all hydrogens. More... | |
class | core::chemical::AromaticAtomFilter |
The filter responsible for all aromatic atoms. More... | |
class | core::chemical::PolarHydrogenFilter |
The filter responsible for all polar hydrogens. More... | |
class | core::chemical::APolarHydrogenFilter |
The filter responsible for all apolar hydrogens. More... | |
class | core::chemical::CopyVertex< Graph1, Graph2 > |
class | core::chemical::CopyEdge< Graph1, Graph2 > |
Namespaces | |
core | |
A class for reading in the atom type properties. | |
core::chemical | |
Typedefs | |
typedef boost::undirected_graph< Atom, Bond > | core::chemical::ResidueGraph |
typedef ResidueGraph::vertex_descriptor | core::chemical::VD |
typedef ResidueGraph::edge_descriptor | core::chemical::ED |
typedef utility::vector1< VD > | core::chemical::VDs |
typedef boost::graph_traits < ResidueGraph > ::vertex_iterator | core::chemical::VIter |
typedef std::pair< VIter, VIter > | core::chemical::VIterPair |
typedef boost::graph_traits < ResidueGraph > ::edge_iterator | core::chemical::EIter |
typedef std::pair< EIter, EIter > | core::chemical::EIterPair |
typedef boost::graph_traits < ResidueGraph > ::out_edge_iterator | core::chemical::OutEdgeIter |
typedef std::pair< OutEdgeIter, OutEdgeIter > | core::chemical::OutEdgeIterPair |
typedef boost::graph_traits < ResidueGraph > ::adjacency_iterator | core::chemical::AdjacentIter |
typedef std::pair < AdjacentIter, AdjacentIter > | core::chemical::AdjacentIterPair |
typedef std::map< std::string, VD > | core::chemical::NameVDMap |
typedef std::pair< std::string, VD > | core::chemical::NameVDPair |
typedef std::pair < NameVDMap::iterator, bool > | core::chemical::NameVDInserted |
typedef boost::adjacency_list < boost::vecS, boost::vecS, boost::undirectedS, boost::property < boost::vertex_name_t, core::chemical::VD > , boost::property < boost::edge_name_t, core::chemical::ED > > | core::chemical::LightWeightResidueGraph |
typedef boost::graph_traits < LightWeightResidueGraph > ::vertex_descriptor | core::chemical::lwrg_VD |
typedef boost::graph_traits < LightWeightResidueGraph > ::edge_descriptor | core::chemical::lwrg_ED |
typedef boost::graph_traits < LightWeightResidueGraph > ::vertex_iterator | core::chemical::lwrg_vd_iter |
typedef std::pair < lwrg_vd_iter, lwrg_vd_iter > | core::chemical::lwrg_vd_pair_iter |
typedef boost::graph_traits < LightWeightResidueGraph > ::edge_iterator | core::chemical::lwrg_edge_iter |
typedef boost::graph_traits < LightWeightResidueGraph > ::out_edge_iterator | core::chemical::lwrg_out_edge_iter |
typedef std::pair < lwrg_out_edge_iter, lwrg_out_edge_iter > | core::chemical::lwrg_out_edge_iter_pair |
typedef boost::filtered_graph < ResidueGraph, RealFilter, RealFilter > | core::chemical::RealResidueGraph |
typedef RealResidueGraph::vertex_descriptor | core::chemical::RealResidueVD |
typedef RealResidueGraph::edge_descriptor | core::chemical::RealResidueED |
typedef boost::graph_traits < RealResidueGraph > ::vertex_iterator | core::chemical::RealResidueVIter |
typedef boost::graph_traits < RealResidueGraph > ::edge_iterator | core::chemical::RealResidueEIter |
typedef boost::graph_traits < RealResidueGraph > ::out_edge_iterator | core::chemical::RealResidueOutEdgeIter |
typedef std::pair < RealResidueOutEdgeIter, RealResidueOutEdgeIter > | core::chemical::RealResidueOutEdgeIterPair |
typedef std::pair < RealResidueVIter, RealResidueVIter > | core::chemical::RealResidueVIterPair |
typedef boost::graph_traits < RealResidueGraph > ::adjacency_iterator | core::chemical::RealResidueAdjacentIter |
typedef std::pair < RealResidueAdjacentIter, RealResidueAdjacentIter > | core::chemical::RealResidueAdjacentIterPair |
typedef boost::filtered_graph < ResidueGraph, boost::keep_all, HeavyAtomFilter > | core::chemical::HeavyAtomGraph |
typedef HeavyAtomGraph::vertex_descriptor | core::chemical::HeavyAtomVD |
typedef HeavyAtomGraph::edge_descriptor | core::chemical::HeavyAtomED |
typedef boost::graph_traits < HeavyAtomGraph > ::vertex_iterator | core::chemical::HeavyAtomVIter |
typedef boost::graph_traits < HeavyAtomGraph > ::edge_iterator | core::chemical::HeavyAtomEIter |
typedef boost::graph_traits < HeavyAtomGraph > ::out_edge_iterator | core::chemical::HeavyAtomOutEdgeIter |
typedef std::pair < HeavyAtomOutEdgeIter, HeavyAtomOutEdgeIter > | core::chemical::HeavyAtomOutEdgeIterPair |
typedef std::pair < HeavyAtomVIter, HeavyAtomVIter > | core::chemical::HeavyAtomVIterPair |
typedef boost::filtered_graph < ResidueGraph, boost::keep_all, AcceptorAtomFilter > | core::chemical::AcceptorAtomGraph |
typedef boost::graph_traits < AcceptorAtomGraph > ::vertex_iterator | core::chemical::AcceptorAtomVIter |
typedef boost::graph_traits < AcceptorAtomGraph > ::edge_iterator | core::chemical::AcceptorAtomEIter |
typedef std::pair < AcceptorAtomVIter, AcceptorAtomVIter > | core::chemical::AcceptorAtomVIterPair |
typedef boost::filtered_graph < ResidueGraph, boost::keep_all, HeavyAtomWithPolarHydrogensFilter > | core::chemical::HeavyAtomWithPolarHydrogensGraph |
typedef boost::graph_traits < HeavyAtomWithPolarHydrogensGraph > ::vertex_iterator | core::chemical::HeavyAtomWithPolarHydrogensVIter |
typedef boost::graph_traits < HeavyAtomWithPolarHydrogensGraph > ::edge_iterator | core::chemical::HeavyAtomWithPolarHydrogensEIter |
typedef std::pair < HeavyAtomWithPolarHydrogensVIter, HeavyAtomWithPolarHydrogensVIter > | core::chemical::HeavyAtomWithPolarHydrogensVIterPair |
typedef boost::filtered_graph < ResidueGraph, boost::keep_all, HeavyAtomWithHydrogensFilter > | core::chemical::HeavyAtomWithHydrogensGraph |
typedef boost::graph_traits < HeavyAtomWithHydrogensGraph > ::vertex_iterator | core::chemical::HeavyAtomWithHydrogensVIter |
typedef boost::graph_traits < HeavyAtomWithHydrogensGraph > ::edge_iterator | core::chemical::HeavyAtomWithHydrogensEIter |
typedef std::pair < HeavyAtomWithHydrogensVIter, HeavyAtomWithHydrogensVIter > | core::chemical::HeavyAtomWithHydrogensVIterPair |
typedef boost::filtered_graph < ResidueGraph, boost::keep_all, HydrogenAtomFilter > | core::chemical::HydrogenAtomGraph |
typedef HydrogenAtomGraph::vertex_descriptor | core::chemical::HydrogenAtomVD |
typedef HydrogenAtomGraph::edge_descriptor | core::chemical::HydrogenAtomED |
typedef boost::graph_traits < HydrogenAtomGraph > ::vertex_iterator | core::chemical::HydrogenAtomVIter |
typedef boost::graph_traits < HydrogenAtomGraph > ::edge_iterator | core::chemical::HHydrogenAtomEIter |
typedef boost::graph_traits < HydrogenAtomGraph > ::out_edge_iterator | core::chemical::HydrogenAtomOutEdgeIter |
typedef std::pair < HydrogenAtomOutEdgeIter, HydrogenAtomOutEdgeIter > | core::chemical::HydrogenAtomOutEdgeIterPair |
typedef std::pair < HydrogenAtomVIter, HydrogenAtomVIter > | core::chemical::HydrogenAtomVIterPair |
typedef boost::filtered_graph < ResidueGraph, boost::keep_all, AromaticAtomFilter > | core::chemical::AromaticAtomGraph |
typedef boost::graph_traits < AromaticAtomGraph > ::vertex_iterator | core::chemical::AromaticAtomVIter |
typedef boost::graph_traits < AromaticAtomGraph > ::edge_iterator | core::chemical::AromaticAtomEIter |
typedef std::pair < AromaticAtomVIter, AromaticAtomVIter > | core::chemical::AromaticAtomVIterPair |
typedef boost::filtered_graph < ResidueGraph, boost::keep_all, PolarHydrogenFilter > | core::chemical::PolarHydrogenGraph |
typedef boost::graph_traits < PolarHydrogenGraph > ::vertex_iterator | core::chemical::PolarHydrogenVIter |
typedef boost::graph_traits < PolarHydrogenGraph > ::edge_iterator | core::chemical::PolarHydrogenEIter |
typedef std::pair < PolarHydrogenVIter, PolarHydrogenVIter > | core::chemical::PolarHydrogenVIterPair |
typedef boost::filtered_graph < ResidueGraph, boost::keep_all, APolarHydrogenFilter > | core::chemical::APolarHydrogenGraph |
typedef boost::graph_traits < APolarHydrogenGraph > ::vertex_iterator | core::chemical::APolarHydrogenVIter |
typedef boost::graph_traits < APolarHydrogenGraph > ::edge_iterator | core::chemical::APolarHydrogenEIter |
typedef std::pair < APolarHydrogenVIter, APolarHydrogenVIter > | core::chemical::APolarHydrogenVIterPair |
Functions | |
bool | core::chemical::has (ResidueGraph const &graph, VD vd) |
Does a ResidueGraph have a given vertex descriptor? More... | |
bool | core::chemical::has (ResidueGraph const &graph, ED ed) |
Does a ResidueGraph have a given edge descriptor? More... | |
template<typename Graph > | |
void | core::chemical::regenerate_graph_vertex_index (Graph &graph) |
When adding and deleting nodes in a graph, sometimes the inner counting of nodes/edges gets outdated. Run this to fix the problem. More... | |
Graph structure for ResidueType.
This is the typedefs and filtered graphs for the graph implementation of ResidueType based on boost graphs. Filtered graphs are graph structures that have been filtered based on a certain criteria. For example, the Acceptor atom graph has been filtered so that every node and edge in the graph is associated with an acceptor atom. The properties of the filtered graphs can be determined by any criteria. Currently, atom types are used as the metric to filter the graphs. This does not have to be the case. Graphs can be filtered based on the atoms, orbitals, etc etc. It is up to your imagination. The unit tests for these show examples of how to use the filtered graphs.
Each filter graph has an operator that is used to determine if a node should be in the graph. An iterator through each node and edge of the graph is available. Specifically, if you want to iterate through the graph nodes, you would use this method: for(HeavyAtomVIterPair vp = boost::vertices(heavy_atom_graph); vp.first != vp.second; ++vp.first){}