Rosetta Protocols  2015.09
Classes | Namespaces | Functions
LoopHashMap.hh File Reference
#include <core/types.hh>
#include <core/pose/Pose.fwd.hh>
#include <boost/unordered_map.hpp>
#include <utility/pointer/ReferenceCount.hh>
#include <protocols/loophash/BackboneDB.hh>
#include <numeric/geometry/hashing/SixDHasher.hh>
#include <string>
#include <vector>
#include <map>
#include <utility/exit.hh>
#include <utility/vector1.hh>

Classes

struct  protocols::loophash::LeapIndex
 The LeapIndex stores information about a particular Leap. It hold the oroiginal high precision rigid body transform and an Index to a Backbone Database (BackboneDB) that has the actual phi psi angles. THe storage of the precise RT takes a lot of space and may be deprecated at some point, since once it is hashed, it is rarely needed and can be recomputed if it is. Note that the length of the loop is not stored either, this is again done for saving memory, as huge lists of Leaps are typically created all with the same length. THe length is stored and handled by the owner of LeapIndex list. The LeapIndex does not store the actual backbone coordinates of the Leap. It merely contains an index (the BackboneIndex) which refers to a serial store of backbone triples (phi,psi, omega) which are stored somewhere else in a BackboneDB. THis is improtant to save memory storage since multiple Leaps cna share the same backbone triple and redundant storage would be hugely wasteful. More...
 
struct  protocols::loophash::LegacyLeapIndex
 
class  protocols::loophash::LoopHashMap
 the loop hash map stores LeapIndexes and a hashmap to access those LeapIndexes quickly by their 6D coordinates. More...
 
struct  protocols::loophash::LoopHashMap::by_index
 A functor for sort() More...
 

Namespaces

 protocols
 The instance of Loops contained by AbrelaxApplication should be replaced by a LoopsOP.
 
 protocols::loophash
 

Functions

bool protocols::loophash::get_rt_over_leap (const core::pose::Pose &orig_pose, core::Size ir, core::Size jr, numeric::geometry::hashing::Real6 &rt_6)
 This takes a pose and two residue positions and determines the rigid body transform of the Leap described by those two residues. Returns true is successful or false if something went haywire and one should just ignore this loop (this can happen at the ends) More...
 
bool protocols::loophash::get_rt_over_leap_fast (core::pose::Pose &pose, core::Size ir, core::Size jr, numeric::geometry::hashing::Real6 &rt_6)
 This takes a pose and two residue positions and determines the rigid body transform of the Leap described by those two residues THe difference between this and the get_rt_over_leap function is that this version doesnt make a copy of the pose which makes it faster. However this means that the pose passed cannot be a const pose, even though the function restores the fold tree afterwards.. More...
 
bool protocols::loophash::get_rt_over_leap_without_foldtree_bs (core::pose::Pose const &pose, core::Size ir, core::Size jr, numeric::geometry::hashing::Real6 &rt_6)
 This takes a pose and two residue positions and determines the rigid body transform of the Leap described by those two residues. More...
 

Detailed Description

Author
Mike Tyka
Ken Jung