Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Typedefs | Functions
core::scoring::trie Namespace Reference

Classes

class  CPDataCorrespondence
 
class  RotamerDescriptor
 
class  RotamerDescriptorAtom
 
class  RotamerTrie
 
class  RotamerTrieBase
 
class  TrieCollection
 
class  TrieCountPairBase
 
class  TrieNode
 
class  TrieVsTrieCachedDataContainerBase
 A generic base class for passing data to the trie-vs-trie calculation, without having to cache it in mutable data in an EnergyMethod or whatnot. More...
 

Typedefs

typedef
utility::pointer::shared_ptr
< RotamerTrieBase
RotamerTrieBaseOP
 
typedef
utility::pointer::shared_ptr
< RotamerTrieBase const > 
RotamerTrieBaseCOP
 
typedef
utility::pointer::shared_ptr
< TrieCollection
TrieCollectionOP
 
typedef
utility::pointer::shared_ptr
< TrieCollection const > 
TrieCollectionCOP
 
typedef
utility::pointer::shared_ptr
< TrieCountPairBase
TrieCountPairBaseOP
 
typedef
utility::pointer::shared_ptr
< TrieCountPairBase const > 
TrieCountPairBaseCOP
 
using TrieVsTrieCachedDataContainerBaseOP = utility::pointer::shared_ptr< TrieVsTrieCachedDataContainerBase >
 
using TrieVsTrieCachedDataContainerBaseCOP = utility::pointer::shared_ptr< TrieVsTrieCachedDataContainerBase const >
 

Functions

CPDataCorrespondence create_cpdata_correspondence_for_rotamerset (conformation::RotamerSetBase const &rotset)
 
CPDataCorrespondence create_cpdata_correspondence_for_rotamer (conformation::Residue const &example_rotamer)
 
template<class AT , class CPDAT >
RotamerTrieBaseOP create_trie (conformation::RotamerSetBase const &rotset, AT const &, CPDAT const &, CPDataCorrespondence const &cpdata_map, Distance atomic_interaction_cutoff)
 Create a trie where cpdata is initialized to reflect path distances to connection-point atoms. More...
 
template<class CPDAT >
void initialize_cpdata_for_atom (CPDAT &cpdata, Size atom_index, conformation::Residue const &res, CPDataCorrespondence const &cpdata_map)
 
template<class AT , class CPDAT >
RotamerTrieBaseOP create_trie (conformation::Residue const &res, AT const &, CPDAT const &, CPDataCorrespondence const &cpdata_map, Distance atomic_interaction_cutoff)
 
core::Size lookup_cp_map (std::map< core::Size, core::Size > const &cp_reps, core::Size atm_idx)
 helper function: look up count-pair mapping More...
 
template<class AT , class CPDAT >
RotamerTrieBaseOP create_trie (conformation::RotamerSetBase const &rotset, AT const &, CPDAT const &, CPDataCorrespondence const &cpdata_map, std::map< chemical::ResidueTypeCOP, std::map< core::Size, core::Size > > const &cp_reps, Distance atomic_interaction_cutoff)
 
template<class AT , class CPDAT >
RotamerTrieBaseOP create_trie (conformation::Residue const &res, AT const &, CPDAT const &, CPDataCorrespondence const &cpdata_map, std::map< chemical::ResidueTypeCOP, std::map< core::Size, core::Size > > const &cp_reps, Distance atomic_interaction_cutoff)
 
void convert_inorder_vector_to_original_order (utility::vector1< Size > const &total_rotamers_2_unique_rotamers, utility::vector1< core::PackerEnergy > &pair_energy_vector, utility::vector1< Energy > const &temp_vector)
 
template<class AT , class CPDAT1 , class CPDAT2 , class CPFXN , class SFXN >
void trie_vs_path (RotamerTrie< AT, CPDAT1 > const &trie1, RotamerTrie< AT, CPDAT2 > const &trie2, CPFXN &count_pair, SFXN &score_function, utility::vector1< core::PackerEnergy > &pair_energy_vector, utility::vector1< core::PackerEnergy > &temp_vector, core::scoring::trie::TrieVsTrieCachedDataContainerBase const *const cached_data)
 trie vs path algorithm, templated on the Atom type that each TrieAtom is templated on, along with the Count Pair data (two tries must share the same Atom type to be used for the trie-vs-trie algorithm, but may contain different peices of count-pair data), on the kind of count pair function used, and finally, on the score function itself. More...
 
void convert_inorder_table_to_original_order (utility::vector1< Size > const &total_rotamers_2_unique_rotamers_1, utility::vector1< Size > const &total_rotamers_2_unique_rotamers_2, ObjexxFCL::FArray2D< core::PackerEnergy > &pair_energy_table, ObjexxFCL::FArray2A< core::PackerEnergy > const &rot_rot_table)
 
template<class AT , class CPDAT1 , class CPDAT2 , class CPFXN , class SFXN >
void trie_vs_trie (RotamerTrie< AT, CPDAT1 > &trie1, RotamerTrie< AT, CPDAT2 > &trie2, CPFXN &count_pair, SFXN &score_function, ObjexxFCL::FArray2D< core::PackerEnergy > &pair_energy_table, ObjexxFCL::FArray2D< core::PackerEnergy > &temp_table)
 
template<class AT , class CPDAT1 , class CPDAT2 , class CPFXN , class SFXN >
void trie_vs_trie (RotamerTrie< AT, CPDAT1 > const &trie1, RotamerTrie< AT, CPDAT2 > const &trie2, CPFXN &count_pair, SFXN &score_function, ObjexxFCL::FArray2D< core::PackerEnergy > &pair_energy_table, ObjexxFCL::FArray2D< core::PackerEnergy > &temp_table, TrieVsTrieCachedDataContainerBase const *const cached_data)
 trie vs trie algorithm, templated on the Atom type that each TrieAtom is templated on, along with the Count Pair data (two tries must share the same Atom type to be used for the trie-vs-trie algorithm, but may contain different peices of count-pair data), on the kind of count pair function used, and finally, on the score function itself. More...
 

Typedef Documentation

typedef utility::pointer::shared_ptr< RotamerTrieBase const > core::scoring::trie::RotamerTrieBaseCOP
typedef utility::pointer::shared_ptr< RotamerTrieBase > core::scoring::trie::RotamerTrieBaseOP
typedef utility::pointer::shared_ptr< TrieCollection const > core::scoring::trie::TrieCollectionCOP
typedef utility::pointer::shared_ptr< TrieCollection > core::scoring::trie::TrieCollectionOP
typedef utility::pointer::shared_ptr< TrieCountPairBase const > core::scoring::trie::TrieCountPairBaseCOP
typedef utility::pointer::shared_ptr< TrieCountPairBase > core::scoring::trie::TrieCountPairBaseOP

Function Documentation

void core::scoring::trie::convert_inorder_table_to_original_order ( utility::vector1< Size > const &  total_rotamers_2_unique_rotamers_1,
utility::vector1< Size > const &  total_rotamers_2_unique_rotamers_2,
ObjexxFCL::FArray2D< core::PackerEnergy > &  pair_energy_table,
ObjexxFCL::FArray2A< core::PackerEnergy > const &  rot_rot_table 
)

Referenced by trie_vs_trie().

void core::scoring::trie::convert_inorder_vector_to_original_order ( utility::vector1< Size > const &  total_rotamers_2_unique_rotamers,
utility::vector1< core::PackerEnergy > &  pair_energy_vector,
utility::vector1< Energy > const &  temp_vector 
)

Referenced by trie_vs_path().

CPDataCorrespondence core::scoring::trie::create_cpdata_correspondence_for_rotamer ( conformation::Residue const &  example_rotamer)
CPDataCorrespondence core::scoring::trie::create_cpdata_correspondence_for_rotamerset ( conformation::RotamerSetBase const &  rotset)
template<class AT , class CPDAT >
RotamerTrieBaseOP core::scoring::trie::create_trie ( conformation::RotamerSetBase const &  rotset,
AT const &  ,
CPDAT const &  ,
CPDataCorrespondence const &  cpdata_map,
Distance  atomic_interaction_cutoff 
)

Create a trie where cpdata is initialized to reflect path distances to connection-point atoms.

Class AT must define a constructor that takes a residue const & and an atom index. Class AT must also define an operator < and an operator ==

References initialize_cpdata_for_atom(), core::scoring::trie::CPDataCorrespondence::n_entries(), core::conformation::RotamerSetBase::num_rotamers(), core::scoring::trie::CPDataCorrespondence::resid_for_entry(), and core::conformation::RotamerSetBase::rotamer().

Referenced by core::scoring::vdwaals::VDW_Energy::create_rotamer_trie(), core::scoring::methods::MMLJEnergyInter::create_rotamer_trie(), and core::scoring::etable::BaseEtableEnergy< Derived >::create_rotamer_trie().

template<class AT , class CPDAT >
RotamerTrieBaseOP core::scoring::trie::create_trie ( conformation::Residue const &  res,
AT const &  ,
CPDAT const &  ,
CPDataCorrespondence const &  cpdata_map,
Distance  atomic_interaction_cutoff 
)
template<class AT , class CPDAT >
RotamerTrieBaseOP core::scoring::trie::create_trie ( conformation::RotamerSetBase const &  rotset,
AT const &  ,
CPDAT const &  ,
CPDataCorrespondence const &  cpdata_map,
std::map< chemical::ResidueTypeCOP, std::map< core::Size, core::Size > > const &  cp_reps,
Distance  atomic_interaction_cutoff 
)
template<class AT , class CPDAT >
RotamerTrieBaseOP core::scoring::trie::create_trie ( conformation::Residue const &  res,
AT const &  ,
CPDAT const &  ,
CPDataCorrespondence const &  cpdata_map,
std::map< chemical::ResidueTypeCOP, std::map< core::Size, core::Size > > const &  cp_reps,
Distance  atomic_interaction_cutoff 
)
template<class CPDAT >
void core::scoring::trie::initialize_cpdata_for_atom ( CPDAT &  cpdata,
Size  atom_index,
conformation::Residue const &  res,
CPDataCorrespondence const &  cpdata_map 
)
core::Size core::scoring::trie::lookup_cp_map ( std::map< core::Size, core::Size > const &  cp_reps,
core::Size  atm_idx 
)
inline

helper function: look up count-pair mapping

Referenced by core::scoring::elec::create_rotamer_descriptor(), and create_trie().

template<class AT , class CPDAT1 , class CPDAT2 , class CPFXN , class SFXN >
void core::scoring::trie::trie_vs_path ( RotamerTrie< AT, CPDAT1 > const &  trie1,
RotamerTrie< AT, CPDAT2 > const &  trie2,
CPFXN &  count_pair,
SFXN &  score_function,
utility::vector1< core::PackerEnergy > &  pair_energy_vector,
utility::vector1< core::PackerEnergy > &  temp_vector,
core::scoring::trie::TrieVsTrieCachedDataContainerBase const *const  cached_data 
)

trie vs path algorithm, templated on the Atom type that each TrieAtom is templated on, along with the Count Pair data (two tries must share the same Atom type to be used for the trie-vs-trie algorithm, but may contain different peices of count-pair data), on the kind of count pair function used, and finally, on the score function itself.

References core::scoring::trie::TrieNode< AT, CPDATA >::atom(), core::scoring::trie::RotamerTrie< AT, CPDATA >::atoms(), convert_inorder_vector_to_original_order(), core::scoring::trie::TrieNode< AT, CPDATA >::cp_data(), core::scoring::trie::TrieNode< AT, CPDATA >::first_atom_in_branch(), core::scoring::trie::TrieNode< AT, CPDATA >::has_sibling(), core::scoring::trie::TrieNode< AT, CPDATA >::is_hydrogen(), core::scoring::trie::TrieNode< AT, CPDATA >::is_rotamer_terminal(), core::scoring::trie::RotamerTrie< AT, CPDATA >::max_atom_depth(), core::scoring::trie::RotamerTrie< AT, CPDATA >::max_branch_depth(), core::scoring::trie::RotamerTrie< AT, CPDATA >::max_heavyatom_depth(), core::scoring::trie::RotamerTrie< AT, CPDATA >::num_heavy_atoms(), core::scoring::trie::TrieNode< AT, CPDATA >::subtree_interaction_sphere_square_radius(), and core::scoring::trie::RotamerTrie< AT, CPDATA >::total_rotamers_2_unique_rotamers().

Referenced by core::scoring::etable::etrie::TrieCountPair1BC4::resolve_trie_vs_path(), core::scoring::etable::etrie::TrieCountPair1BC3::resolve_trie_vs_path(), core::scoring::etable::etrie::TrieCountPairGeneric::resolve_trie_vs_path(), core::scoring::etable::etrie::TrieCountPairAll::resolve_trie_vs_path(), core::scoring::hbonds::hbtrie::HBCountPairFunction::resolve_trie_vs_path(), and core::scoring::vdwaals::VDWTrieCountPair1B::resolve_trie_vs_path().

template<class AT , class CPDAT1 , class CPDAT2 , class CPFXN , class SFXN >
void core::scoring::trie::trie_vs_trie ( RotamerTrie< AT, CPDAT1 > &  trie1,
RotamerTrie< AT, CPDAT2 > &  trie2,
CPFXN &  count_pair,
SFXN &  score_function,
ObjexxFCL::FArray2D< core::PackerEnergy > &  pair_energy_table,
ObjexxFCL::FArray2D< core::PackerEnergy > &  temp_table 
)
template<class AT , class CPDAT1 , class CPDAT2 , class CPFXN , class SFXN >
void core::scoring::trie::trie_vs_trie ( RotamerTrie< AT, CPDAT1 > const &  trie1,
RotamerTrie< AT, CPDAT2 > const &  trie2,
CPFXN &  count_pair,
SFXN &  score_function,
ObjexxFCL::FArray2D< core::PackerEnergy > &  pair_energy_table,
ObjexxFCL::FArray2D< core::PackerEnergy > &  temp_table,
TrieVsTrieCachedDataContainerBase const *const  cached_data 
)