Ensemble.pm Show Source

The Ensemble package provides functions to manage structure ensembles. Derived from the basic SimData package it adds functionality to handle structure sets distinguished by tags, calculate and maintain energy and structural property values for all-atom structures. The derived package LatEnsemble.pm is available to handle lattice simulation ensembles.

new(tag,dir[,configfile])
creates a new Ensemble object. Required arguments are a tag and the ensemble directory. The ensemble configuration file as well as option and property files associated with the tag are read automatically.
save()
save configuration data, options, parameters, properties and the file list if available and if values have been modified or added since the last time they were written.
 
saveProp()
saves property values if changed since the last write
 
saveOptions()
saves option/parameter values associated with the current tag if changed since the last write
 
saveFileList()
saves the file list if changed since the last write
 
readProp([file])
reads property values from a file for the current tag. A default name is used if no file name is given.
 
writeProp([file])
writes property values to a file for the current tag. A default name is used if no file name is given.
 
readOptions([file])
reads options and parameters from a file for the current tag. A default name is used if no file name is given
 
writeOptions([file])
writes options and parameters to a file for the current tag. A default name is used if no file name is given.
 
readFileList([file])
reads the file list from a file for the current tag. A default name is used if no file name is given.
 
writeFileList([file])
writes the file list to a file for the current tag. A default name is used if no file name is given.
 
setPar(parameters)
set parameters associated with the current tag. Parameters are distinguished from options to separate simulation parameters for CHARMM and MONSSTER from other general options that may be set with setOption. (use set inherited from SimData.pm to set common ensemble parameters like the fragment list or the native PDB structure).
 
setDefPar(parameters)
set parameters that have not been defined yet from default parameters given as arguments
 
$par = getPar()
returns a hash reference to the list of parameters associated with the current tag
 
setOption(parameters)
set options associated with the current tag
 
setDefOption(parameters)
sets default options associated with the current tag if not defined previously
 
setFileList(index,name)
set a file name for the given index. The file list is maintained to keep original external file names that have been checked in with checkin.pl or evaluate.pl.
 
getEnergy(index)
parses the energy log file for the given index, that has been generated during a CHARMM minimization or simulation run. The final energies are used to update the ensemble property values accordingly.
 
getStructInfo(index)
analyzes the PDB structure for the given index and updates the corresponding property values accordingly.
 
cleanUp([index])
cleans up the ensemble directory for the given index or for all indices if no index is given. At this time 'clean up' means compressing the PDB and energy log files.
 
checkinPDB(index,mol[,ener])
checks in an all-atom structure given as a Molecule object mol under the given index. An energy value for the total energy may be given if available to set the corresponding property value.
 
update([index])
updates missing energy and structural properties for the given index or all available indices if no index is given. Depending on the number and size of structures this may be relatively compute intensive.
 
$list = jobList([from[,to[,propertytag]]])
creates a job list from missing property values. By default the property etot is used but other ones can be specified. none will always give a list of all run indices.
The from and to arguments may be used to limit the range of indices for which the job list is generated.
 
$list = fileList([from[,to]])
returns a list of PDB file names for ensemble structures in the given index range
 
$analyze = getAnalyze()
creates an Analyze object from the native PDB structure set for the ensemble previously (if available).
 
$list = getPropTags()
returns a list of all available property tags
 
$string = getPropString(index)
returns all properties for a given run index in a single string. This is used for interprocess communication in parallel jobs. The string representation is parsed back into the property data structure with setPropsFromString.
 
setPropsFromString(index,string)
updates the property data structure for the given index with values extracted from a string representation as generated with getPropString.
 
removeProp(proptag) 
removes all data for the given property
 
setProp(proptag,index,value)
sets an individual property value. The property tag, run index, and value are expected as arguments.
 
$list = getSortedList(tag,list)
sorts the list given as argument according to values in the given property tag
 
$list = getList(tag,list)
returns the list given as argument according to values in the given property tag
 
$list = getPropList(tag[,sellist])
returns the list of values for a given property tag. A selection list may be given to request values only for a subset of all available runs.
tag
structure tag to identify a set of structures in an ensemble
 
prop -> { etot[], eelec[], evdw[], egb[], esasa[], easp[],
          rgyr[], rmsdpol[], rmsdhyd[], rmsdchg[],
          rmsdall[], rmsdca[], rmsdback[], 
          pphi[], ppsi[], rmsdphi[], rmsdpsi[],
          pchi1[], rmsdchi1[], cont[], rho[],
          gdtts[] }
ensemble strucuture property values. Shown are commonly used property tags but actually available tags depend on data availability.
 
opt -> { ... }
application defined options associated with the ensemble tag
 
optpar -> { ... }
application defined parameters associated with the ensemble tag. parameters are intended to be used to separate CHARMM and MONSSTER simulation parameters from other more general options
 
filelist[]
list of original file names if external files were checked in
SimData.pm  GenUtil.pm  Molecule.pm  Analyze.pm  CHARMM.pm
Michael Feig, Brooks group, TSRI