9 #ifndef IMPATOM_CHARMM_SEGMENT_TOPOLOGY_H
10 #define IMPATOM_CHARMM_SEGMENT_TOPOLOGY_H
14 #include <IMP/atom/atom_config.h>
18 IMPATOM_BEGIN_NAMESPACE
76 typedef std::map<const CHARMMResidueTopology *, Hierarchy> ResMap;
81 void map_residue_topology_to_hierarchy(
Hierarchy hierarchy,
82 ResMap &resmap)
const;
86 std::string name =
"CHARMM topology %1%")
87 :
Object(name), force_field_(force_field) {
99 void add_sequence(std::string sequence);
103 for (
unsigned int i = 0; i < get_number_of_segments(); ++i) {
104 get_segment(i)->apply_default_patches(force_field_);
126 void add_atom_types(
Hierarchy hierarchy)
const;
159 void add_coordinates(
Hierarchy hierarchy)
const;
169 void add_missing_atoms(
Hierarchy hierarchy)
const;
179 void setup_hierarchy(
Hierarchy hierarchy)
const;
185 void add_charges(
Hierarchy hierarchy)
const;
250 IMPATOM_END_NAMESPACE
access to CHARMM force field parameters
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
A more IMP-like version of the std::vector.
Warnings with the same key within the context are only output once.
The topology of a single residue in a model.
A smart pointer to a reference counted object.
CHARMM force field parameters.
Class for storing model, its restraints, constraints, and particles.
Classes for handling CHARMM-style topology.
Decorator for helping deal with a hierarchy of molecules.
void apply_default_patches()
Call CHARMMSegmentTopology::apply_default_patches() for all segments.
The standard decorator for manipulating molecular structures.
Common base class for heavy weight IMP objects.
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing lists of object pointers.
A shared base class to help in debugging and things.
Object(std::string name)
Construct an object with the given name.
The topology of a single CHARMM segment in a model.
The topology of a complete CHARMM model.
DensityMap * get_segment(DensityMap *map_to_segment, int nx_start, int nx_end, int ny_start, int ny_end, int nz_start, int nz_end)
Get a segment of the map according to xyz indexes.
void add_bonds(Hierarchy d, const ForceFieldParameters *ffp=get_all_atom_CHARMM_parameters())
void set_was_used(bool tf) const