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
77 typedef std::map<const CHARMMResidueTopology *, Hierarchy> ResMap;
82 void map_residue_topology_to_hierarchy(
Hierarchy hierarchy,
83 ResMap &resmap)
const;
87 std::string name =
"CHARMM topology %1%")
88 :
Object(name), force_field_(force_field) {
105 void add_sequence(std::string sequence);
109 for (
unsigned int i = 0; i < get_number_of_segments(); ++i) {
110 get_segment(i)->apply_default_patches(force_field_);
135 void add_atom_types(
Hierarchy hierarchy)
const;
168 void add_coordinates(
Hierarchy hierarchy)
const;
178 void add_missing_atoms(
Hierarchy hierarchy)
const;
188 void setup_hierarchy(
Hierarchy hierarchy)
const;
194 void add_charges(
Hierarchy hierarchy)
const;
259 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())
Add bonds using definitions from given force field parameters.
void set_was_used(bool tf) const