Main Page | Class Hierarchy | Class List | File List | Class Members | File Members | Related Pages

HaMolMechMod Class Reference

Computational module to perform Molecular Mechanics computations. More...

#include <hamolmech.h>

Inheritance diagram for HaMolMechMod:

HaCompMod List of all members.

MM model description and initialization

typedef vector< MatPoint * > POINTS_TYPE
 HaMolMechMod (HaMolSet *new_pmset=NULL)
int SetStdParams ()
int Initialize ()
 Init module - build MM model and force field.

int SetStdValParams ()
 Set Standard parameters for valence bonds, angles and dihedrals.

int SetStdVdWParams ()
 Set Standard Van-der-Waals parameters.

bool BuildExcludedAtomList ()
 Build the excluded atom list.

bool BuildNonBondContactList ()
 Build the non-bonded contact list.

bool BuildGrpGrpNonBondList (AtomList *group1, AtomList *group2)
 Build a non-bonded contact list for atoms theat belong to two groups.

virtual int OnDelAtoms (AtomCollection &del_atoms)
 Modify module content to react to deleted atoms (from HaCompMod).

bool DeletePoints (set< MatPoint *, less< MatPoint * > > *pt_set)
 Delete list of Points from the module.

bool Print_info (ostream &sout, const int level)
 Print various info.

MMBondGetMMBond (MatPoint *pt1, MatPoint *pt2)
 get bond between points

MMValAngleGetValAngle (MatPoint *pt1, MatPoint *pt2, MatPoint *pt3)
 get valence angle between points

MMDihedralGetDihedral (MatPoint *pt1, MatPoint *pt2, MatPoint *pt3, MatPoint *pt4)
 get dihedral angle for points

MMDihedralGetImprDihedral (MatPoint *pt1, MatPoint *pt2, MatPoint *pt3, MatPoint *pt4)
 get dihedral angle for points

vector< SetMatPt > excluded_atom_list
 Excluded atom list: atoms for which non-bonded calculations are not computed.

vector< SetMatPt > nonbond_contact_list
 Non-bonded contacts lists: atoms for which non-bonded interactions are computed.

vector< MatPoint * > Points
 MatPoints - Atoms and other force and mass centers.

set< MMBond, less< MMBond > > MBonds
 Bonds.

set< MMValAngle, less< MMValAngle > > ValAngles
 Valence angles.

vector< MMDihedralDihedrals
 Dihedrals.

vector< MMDihedralImprDihedrals
 Improper dihedral angles.

vector< MMBondBondConstrains
 Harmonic constraints.

multimap< unsigned long, unsigned
long, less< unsigned long > > 
res_impr_dih_map
 map of Improper angles arranged by the residue of the 3rd atom

list< MMNonBndParamHBondParams
 Hydrogen Bonds parameters.


Setting Force Field Parameters:

MMDihedralAddImprDihedral (MatPoint *pt1, MatPoint *pt2, MatPoint *pt3, MatPoint *pt4)
int SetMMBond (MatPoint *pt1, MatPoint *pt2, double r0, double fc, int set_type=NOT_SET)
int SetValAngle (MatPoint *pt1, MatPoint *pt2, MatPoint *pt3, double a0, double fc, int set_type=NOT_SET)
 set valence angles

int GetResImprAngles (HaResidue *pres, list< MMDihedral * > &res_idih_list)
int Set14interDihFlags ()
HaVec_double FindPointParamFromSymbol (const char *ats1)
 Find Force Field atom parameters for FFSymbol.

HaVec_double FindBondParamFromSymbol (const char *ats1, const char *ats2)
HaVec_double FindValAngleParamFromSymbol (const char *ats1, const char *ats2, const char *ats3)
HaVec_double FindDihedralParamFromSymbol (const char *ats1, const char *ats2, const char *ats3, const char *ats4, bool improper_flag=false)
StrVecMap symb_ppar_map
 Map strings to VdW atom parameters.

StrVecMap bond_param_map
 Map strings to Valence Bonds parameters.

StrVecMap vang_param_map
 Map strings to Valence Angles parameters.

StrVecMap dih_param_map
 Map strings to Dihedral Angles parameters.

StrVecMap impdih_param_map
 Map strings to Improper Dihedral Angles Parameters.

int init_ff_maps = FALSE
 Flag to indicate that Force-Field symbol to parameters maps were initiated.


Molecular Mechanics run parameters:

int InitParamSet ()
 Initialize Force-Field parameters.

int cur_nstep
 Current num step of Minimization of MD trajectory.

double time
 Current trajectory time.

double temp
 Current simulation temperature.

double press
 Current pressure in MD.

double cur_energy
 Current computed MM energy (kcal/mol).

double kin_ene
 Current kinetic energy.

double pot_ene
 Current Potential energy.

double bond_ene
 Current Valence Bond energy.

double vang_ene
 Valence Angle Energy.

double dihed_ene
 Current Dihedral Angle energy.

double vdw_ene
 Current VdW energy.

double vdw_ene_14
 Current VdW 1-4 energy.

double vdw_ene_nb
 Current VdW not 1-4 energy.

double electr_ene
 Current Electrostatic energy.

double electr_ene_14
 Current Electrostatic 1-4 energy.

double electr_ene_nb
 Current Electrostatic non 1-4 energy.

double polar_ene
 Polarization energy.

double hbond_ene
 Energy of H-bonds.

double constraint_ene
 Energy of constraints.

double density
 Average density in g/mL.

double rms_ene
 RMS of energy during optimization.

double grad_ene_max
 Maximum gradient of energy during optimization.

int module_to_init_flag
 Flag to initiate module sturctures at the next calls to module functions.

int build_nb_contact_list_flag
 Flag to build non-bond contact list during initialization of the module.

int param_to_init_flag
 Flag to indicate that Force-Field parameters have been set.

int init_charges_flag
 if true, attempt to set charges on the atoms during initialization if they are zero


AMBER input and output files:

int SaveAmberRunFile ()
 Save script to run AMBER on UNIX.

int SaveAmberInpFile ()
 Save AMBER input parameters file.

int SaveAmberTopFile ()
 Save AMBER topology file (*.top).

int SaveAmberCrdFile ()
 Save file with initial coordinates.

int SaveAmberAllInpFiles ()
 Save all AMBER input files.

HaString amber_run_file
 Name of AMBER UNIX run file.

HaString amber_inp_file
 Name of AMBER input file.

HaString amber_top_file
 Name of AMBER topology file.

HaString amber_crd_file
 Name of AMBER initial coordinates file.

HaString amber_out_file
 Name of the Amber out file.

HaString amber_rst_file
 Name of AMBER restart file.

HaString amber_trj_coord_file
 Name of the AMBER MD coordinates trajectory file.

HaString amber_trj_vel_file
 Name of the AMBER MD velocity trajectory file.

HaString amber_trj_ene_file
 Name of the AMBER MD energy trajectory file.

HaString amber_constr_crd_file
 Name of the AMBER coordinates constraints file.

FILE * trj_coord_fp
 File pointer for AMBER MD coordinates trajectory file.

FILE * trj_vel_fp
 File pointer for AMBER MD velocities trajectory file.

FILE * trj_ene_fp
 File pointer for AMBER MD velocities trajectory file.


MM run control

int RunSanderInt ()
 Run Internally linked SANDER.

int LoadAmberRestartFile ()
 Load coordinated from the AMBER restart file.

int LoadAmberMDInfoFile ()
 Load info from AMBER mdinfo file.

int RunAmber ()
 Run AMBER simulations (Sander).

int RunAmberThread ()
 Functions called by RunAmber that actually do the work as a separate thread.

int OpenSanderFilesToRead ()
 Open Sander trajectory files to prepare reading trajectory.

int ReadTrajPoint ()
 Read next AMBER trajectory point.

int StopCalc ()
 Stop Molecular Mechanics Calculations.

int CalculateEnergy ()
bool CalcNonBondPt (const MatPoint *pt1, const MatPoint *pt2, double &vdw_at_ene, double &el_at_ene)
 calculate nonbonding energy between two MatPoints

int run_internal_flag
 if TRUE run MM calculation internally

HaString sander_exe_fname
 AMBER(sander) executable file name.

HaString traj_script
 Python script to execute at points of trajectory.

long amber_proc_id
CWinThread * run_amber_thread
 Windows thread controlling AMBER simulations.

int delay_time
 delay time between steps in ms

int stop_calc_flag
 it not zero stop MM calculations

int skip_pt_init
 The number of trajectory points to skip in the beginning of the trajectory.

int skip_pt_between
 The number of trajectory points to skip between points displayed and processed.

int play_back_flag
 if TRUE playback saved trajectory


Restraints and Belly dynamics control:

int SetMoveOnly (const HaString &new_mov_atom_list_name)
 Froze positions of all atoms except of the specified atom_list (belly dynamics).

int SetMoveAll ()
 Unfroze all atoms.

AtomListGetMovingAtoms ()
 Get Atom List of atoms allowed to move (=NULL if all atoms allowed to move).

int SetRestrainedAtoms (const char *restr_atom_list_name)
 set name of atom list of harmonically restrained atoms

AtomListGetRestrAtoms ()
 Get Atom List of atoms with harmonically restrained positions.

bool SetHBondConstraints (double force_const )
 put harmonic constraints on the H-Bonds

int AddHarmConstraint (HaAtom *atom1, HaAtom *atom2, double eq_dist, double force_const )
 Add Harmonic Constraint.

bool ClearConstraints ()
 Delete All Harmonic constraints.

double atom_restr_const
 force constant for atom position restraints (kcal/mol/Ang^2)

HaString moving_atoms
 name of the atom list of atoms allowed to move in the dynamics =ALL_ATOMS for normal runs

HaString restrained_atoms
 name of the atom list of restrained atoms in Constrained Dynamics


General MM Execution params:

int time_limit
 time limit of the job in sec, TIMLIM in AMBER

int run_type
 correspond to imin parameter in AMBER

int nmr_restrain
 NMR restrain param, NMROPT in AMBER.

int amber_version
 version of the AMBER program


input coord and vel params:

int init_read_coord
 type of initial coord - corresponds to NTX in Amber

int restart_flag
 restart job - IREST in AMBER

int restraint_format
 format of restraint file - NTRX in AMBER


output params:

int write_coord_format
 format of final coord and vel output, NTXO in AMBER

int print_freq
 Print frequency to the ouput file, NTPR parameter of AMBER.

int nbstp_wrt_rstrt
 frequency to write restart file NTWR parameter

int nbstp_wrt_coord
 frequency to write coord file NTWX parameter

int nbstp_wrt_vel
 frequency to write velocities file NTWV parameter

int nbstp_wrt_ener
 frequency to write energy file NTWE parameter

int traj_wrt_format
 format of the written trajectory, corresponds to AMBER IOUTFM

int limit_wrt_atoms
int wrap_coord
 corresponds to amber IWRAP


Potential function:

int omit_interactions
 NTF in AMBER.

int period_bcond
 periodical boundary conditions, NTB parameter in AMBER

int electr_model
 model to treat electrostatic interactions

double scale_14_electr
 Scale coef (descrease) 1-4 coulomb inter.(SCEE parameter in AMBER).

double scale_14_vdw
 Scale coef (descrease) 1-4 vdw inter ( SCNB parameter in AMBER).

double nonb_cutoff_dist
 cutoff distance for non-bond interactions, CUT in AMBER

double diel_const
 Dielectric constant, DIELC in AMBER.

int nonb_list_flag
 Flag to generate non-bonded atom list, NTNB in AMBER.

int nonb_list_update_freq
 Frequency to update non-bonded atoms list, NSNB in AMBER.

int water_pairlist_method
 method to generate water pairlist, NTID in AMBER

int neutral_end_hydr_flag
 neutralize end hydrogen (needed for DNA) ICHDNA in AMBER

int calc_vdw_flag
 Flag to compute Van-der-Waals interactions.

int calc_electr_flag
 Flag to compute Electrostatic interactions.

int soft_repulsion
 Soft repulsions option, ISFTRP in AMBER.

double soft_repulsion_const
int polar_method
int num_3body_inter
 The number of 3body interactions to be defined, N3B in AMBER.

int num_ions
 The number of ions, NION in AMBER.


[NOHEADER]

HaVec_int atom2_3body
 AT1(I) in AMBER.

HaVec_int atom3_3body
 AT2(I) in AMBER.

HaVec_double pexp_3body
 ACON(I) in AMBER.

HaVec_double beta_3body
 BETA3(I) in AMBER.

HaVec_double gamma_3body
 GAMMA3(I) in AMBER.


Energy minimization parameters:

int min_type
 correspond to NTMIN parameter in AMBER

int max_comp_cycles
 MAXCYC in AMBER.

int num_step_steep_descent
 NCYC in AMBER.

double init_min_step
 Minimal minimization step, DX0 in AMBER.

double max_min_step
 Maximal minimization step, DXM in AMBER.

double min_cnvrg_criterium
 Convergence criteria for energy gradient, DRMS in AMBER.


MD parameters:

int num_md_run
 Number of MD runs, NRUN in AMBER.

int length_md_run
 The length of the MD run, NSTLIM in AMBER.

int num_dfreedom_sub
int remove_init_motion_flag
 motion, NTCM in AMBER

int remove_motion_freq
int start_vel_method
 Methods to generate start velocity, INIT in AMBER.

double start_time
 Start time of the trajectory, T in Amber.

double md_time_step
 MD time step(ps), DT in AMBER.


Temperature regulation

double ref_temp
 Reference temperature to keep system, TEMP0 in AMBER.

double init_temp
 Initial temperature, TEMPI in AMBER.

int random_seed
 IG in AMBER.

double scale_init_vel
 HEAT in AMBER.

int temp_scale_method
int last_solute_atom
 last solute atom. ISOLVP in AMBER

double temp_deviation
 DTEMP in AMBER.

double temp_relax_time_solute
 TAUTP in AMBER.

double temp_relax_time_solvent
 TAUTS in AMBER.

double vel_limit
 velocity limit, VLIMIT in AMBER


PEACS temperature algorithm

double peaks_rate
 TAUV0 in AMBER.

double peaks_coupling
 TAUV in AMBER.

double peaks_init_pot
 VZERO in AMBER.


Pressure regulation:

int pressure_reg_method
 Pressure regulation method , NTP in AMBER.

double ref_pressure
 Reference pressure, PRES0 in AMBER.

double compressibility
 compressibility in 1.0E-06/bar(water), COMP in AMBER

double pressure_relax_time
 Pressure relaxation time (in ps), TAUP in AMBER.

int pressure_scale_method
 Method for pressure scaling, NPSCAL in AMBER.


SHAKE bond length constraints:

int shake_constr
 Shake bond constrain option, NTC in AMBER.

double shake_tol

Special Water treatment:

int solute_solvent_image_flag
 if = 0, IMGSLT = 1

int remove_solute_nb_cut_flag
int fast_water_method
 of TIP3P waters, JFASTW in AMBER

HaString wat_res_name
 WATNAM in AMBER.

HaString wat_ox_name
 OWTNM in AMBER.

HaString wat_h1_name
 HWTNM1 in AMBER.

HaString wat_h2_name
 HWTNM2 in AMBER.


Water cap treatment:

int water_cap_flag
 Flag to control Cap option, correspond to IVCAP in AMBER.

int cap_atom_num
 the Cap atom pointer(serial num) MATCAP in AMBER

double cap_fconst

NMR Refinement options:

int noesy_vol_freq
int nmr_penalty_min_method
int nmr_max_num_submol

Particle Mesh Ewald:

int pmesh_ewald_flag
 Turns on the Particle Mesh Ewald, IEWALD in AMBER.

double pme_box_x
 Unit cell parameters for PME calculations (Ang).

double pme_box_y
double pme_box_z
 BOXX, BOXY, BOXZ in AMBER.

double pme_box_alpha
 PME unit cell angles (in degrees).

double pme_box_beta
double pme_box_gamma
 ALPHA, BETA, GAMMA in AMBER.

int pme_grid_nx
 size of charge grid in PME calculations

int pme_grid_ny
int pme_grid_nz
 NFFTX,NFFTY,NFFTZ in AMBER.

int pme_spline_order
 the order of the B-spline interpolation in PME, SPLINE_ORDER in AMBER

int pme_neutralize_system
 Force neutralization of the unit cell, ISCHARGED in AMBER (reverse 0 - 1).

int pme_verbose
 turn on voluminous output of info about PME run, VERBOSE in AMBER

int exact_ewald_flag
 Calculate Ewald calculation is run, EXACT_EWALD in AMBER.

double pme_dsum_tol
 The width of the direct sum part of the Ewald sum, DSUM_TOL in AMBER.


Detailed Description

Computational module to perform Molecular Mechanics computations.


Member Function Documentation

int HaMolMechMod::GetResImprAngles HaResidue pres,
list< MMDihedral * > &  res_idih_list
 

Get all improper angles with a third atom which belong to the < certain residue < return the number of improper dihedrals found

int HaMolMechMod::Set14interDihFlags  ) 
 

Set flags for dihedrals to calculate 1-4 interactions to avoid < 1-4 interactions caclulations for atom participating in bonds or valence angles < or calculating interactions once for atoms participating in several dihedrals

int HaMolMechMod::InitParamSet  ) 
 

Initialize Force-Field parameters.

< Set Default VdW parameters

int HaMolMechMod::CalculateEnergy  ) 
 

Calculate MM energy of the system


Member Data Documentation

int HaMolMechMod::limit_wrt_atoms
 

NTWPRT of AMBER, = 0 all atoms are written, < 0 only the solute < > 0 - first limit_wrt_atoms are written

double HaMolMechMod::soft_repulsion_const
 

Constant K for in K(r0^2- r^2)^2 in soft repulsion < term, RWELL in AMBER

int HaMolMechMod::polar_method
 

Method to treat electronic polarizability < IPOL in AMBER

int HaMolMechMod::num_dfreedom_sub
 

Number of degrees of freedom subtracted < NDFMIN in AMBER

int HaMolMechMod::remove_init_motion_flag
 

motion, NTCM in AMBER

Flag to remove initial translational and rotational

int HaMolMechMod::remove_motion_freq
 

Frequency to remove translational and rotational motion < NSCM in AMBER

int HaMolMechMod::temp_scale_method
 

Switch for scaling temperature method < NTT in AMBER

double HaMolMechMod::shake_tol
 

relative geometrical tolerance for coordinate < resetting in SHAKE, TOL in AMBER

int HaMolMechMod::solute_solvent_image_flag
 

if = 0, IMGSLT = 1

flag does solute sees < solvent images, IMGSLT in AMBER

int HaMolMechMod::remove_solute_nb_cut_flag
 

flag to remove non-bonded cutoff from the solute < IFTRES in AMBER, if =1, IFTRES = 0

int HaMolMechMod::fast_water_method
 

of TIP3P waters, JFASTW in AMBER

Fast Water definition flag for special treatment

double HaMolMechMod::cap_fconst
 

the force constant for the CAP restraint pot. FCAP in AMBER < default (1.5 kcal/Ang*Ang ??)

int HaMolMechMod::noesy_vol_freq
 

Frequency (step num) to compute NOESY volumes, < NOESKP in AMBER

int HaMolMechMod::nmr_penalty_min_method
 

the method to minimize NMR deviations, < IPNLTY in AMBER

int HaMolMechMod::nmr_max_num_submol
 

Maximum number of submolecules in NOESY calculations, < MXSUB in AMBER


The documentation for this class was generated from the following files:
Generated on Tue Feb 17 02:03:19 2004 for harlem by doxygen 1.3.6