aWeightsTools
index
/home/schwitrs/xplor/python/aWeightsTools.py


 
Helper functions for angle-encoded population occupany weights.

 
Functions
       
addPseudoAtoms(esim, size)
createPseudoAtoms(simulation, size)
Create pseudo atoms to encode angles for AWeights population weights
and set their initial coordinates.
create_AWeights(members, baseSize=None, derivedSpecs=[], initialWeights=None, sim=None)
Create an aWeights.AWeights term.
 
The members argument should be either an integer specifying the
ensemble size or a list of ensemble indices to optimize.
 
The baseSize and derivedSpecs arguments are used to specify an
interrelationship between ensemble weights (beyond the condition
of normality). If baseSize is omitted, derivedSpecs specifies a
set of weights dependent on the previous
len(members)-len(derivedSpecs) weights. If baseSize is specified,
the number of independent weights is baseSize, and derivedSpecs
should be of len(members).
 
derivedSpecs is a list of tuples with three arguments each.The
populations of the dependent (derived) w_k is
 
   w_k = A_k + B_k * w_b + w_b^T * C_k * w_b
 
where w_b are base weights, A_k is a constant, B_k a vector and C_k a
matrix. The parameters A,B and C are specified by the derivedSpecs entry as a
sequence of three values (A,B,C). The specifications for B and C are in sparse
notation by index of nonzer entries, so the second gives the nonzero members
of the B vector in the equation above in the form [index, value]. The third
entry gives the nonzero values of the C matrix in the form
[index1, index2, value].
 
If the initialWeights argument is specified, the weights will be
initialized appropriately, otherwise, the weights will be set uniformly.
initAWeightsParams(members, baseSize, derivedSpecs)
initPseudoAtoms(atoms)
Initialize positions of the AWeights-encoding pseudoatoms.
initTopoParams(simulation)
Initialize topology and parameters for AWeights pseudo atoms.
massSetup(list=[], axisMass=None)
Appropriately setup pseudo-atom masses to axisMass. This mass defaults
to the aWeightsTools.axisMassValue if not specified.
 
 
if list is not specified, then pseudoatoms associated with
all registered EnsWeight objects are configured.
optimizeWeights(ensWeights, potList, context=None)
optimize ensemble weights given by the ensWeights argument using the
supplied potList, and reset target values used during
simulated annealing
registerTerm(term, simulation=None)
add the given AWeights object to a list associated with its
Simulation. These objects will be automatically processed by topologySetup
and massSetup.
topologySetup(ivm, list=[])
configure the given ivm.IVM object's topology setup using the
freedom string for each EnsWeight in list.
This function should be called prior to
ivm.IVM.autoTorsion() or protocol.torsionTopology()
 
The freedom specifier should be one of the following keywords:
   fix
   bend
   ignore
 
 if list is not specified, then pseudoatoms associated with
 all registered AWeights objects are configured.

 
Data
        axisMassValue = 1000
initialized = False
patch = '\nmass YYY 100\nmass OOO 100\n\npresidue ewea\n grou... add bond 1OOY 1PY\n\n! add angle 1X 1OOY 1PY\nend\n'
psfTemplate = '\nstructure\nPSF\n\n 1 !NTITLE\n REMARKS ensW... 0 !NGRP\n 0 0 0\nend \n'
registeredTerms = {}
resid = 1100
segid = 'ENSW'