![]() |
Rosetta
2021.16
|
Filtered subgraphs. More...
#include <core/chemical/ResidueGraphTypes.hh>#include <core/chemical/MutableResidueType.hh>#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>#include <utility>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::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 | |
| template<class Graph > | |
| core::Size | core::chemical::filtered_num_vertices (Graph const &graph) |
| It's a frustrating truth, but num_vertices doesn't give the number of filtered vertices for filtered graphs, but instead gives the number of underlying vertices ... this gets the true number of filtered vertices. More... | |
| RealResidueGraph | core::chemical::make_real_residue_graph (MutableResidueType const &restype) |
| Convenience constructor. More... | |
| HeavyAtomGraph | core::chemical::make_heavy_atom_graph (MutableResidueType const &restype) |
| Convenience constructor. More... | |
| AcceptorAtomGraph | core::chemical::make_acceptor_atom_graph (MutableResidueType const &restype) |
| Convenience constructor. More... | |
| HeavyAtomWithPolarHydrogensGraph | core::chemical::make_heavy_atom_with_polar_hydrogens_graph (MutableResidueType const &restype) |
| Convenience constructor. More... | |
| HeavyAtomWithHydrogensGraph | core::chemical::make_heavy_atom_with_hydrogens_graph (MutableResidueType const &restype) |
| Convenience constructor. More... | |
| HydrogenAtomGraph | core::chemical::make_hydrogen_atom_graph (MutableResidueType const &restype) |
| Convenience constructor. More... | |
| AromaticAtomGraph | core::chemical::make_aromatic_atom_graph (MutableResidueType const &restype) |
| Convenience constructor. More... | |
| PolarHydrogenGraph | core::chemical::make_polar_hydrogen_graph (MutableResidueType const &restype) |
| Convenience constructor. More... | |
| APolarHydrogenGraph | core::chemical::make_apolar_hydrogen_graph (MutableResidueType const &restype) |
| Convenience constructor. More... | |
Filtered subgraphs.
Filtered Graphs for ResidueType.
This is the 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 immagination. 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){}
This is 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){}
1.8.7