ChangeLog.c26
  CHARMM 26
  c26a1   Developmental   August 15, 1997
  c26a2   Developmental   February 15, 1998
  c26b1   Release   September 30, 1998
  c26b2   Release   February 15, 1999
  About CHARMM26 Development   Next Top

As an on-going project, CHARMM development will be carried out with
CHARMM version 26 series.  We set up the base revision c26 out of
c25b1.  The following describes new features and enhancements
incorporated during the c26 development period.

  1. c26a1 Change Log Previous Next Top

    The base revision from CHARMM c25b1.  The following are introduced
into c26a1 during the development period of February 15, 1997 trough
August 15, 1997.


1.1 Interface to multibody dynamics [MBO(N)D] from CHARMM
  - Robert Nagle (nagle@tammy.harvard.edu)
    Oren Becker, Leo Caves and Hon Chun

     MBO(N)D is a dynamics package which models rigid and flexible bodies
as well as atomistic regions.  By substructuring a molecular system
into a set of interconnected bodies (and atoms), the resulting model
has far fewer degrees of freedom than the all-atom model and can avoid 
the computation of the high-frequency dynamics.  This enables use of
an integration step of 20-50fs or more.  Consequently MBO(N)D has a
significant computational advantage over traditional all-atom dynamics
methods.

     Keywords have been added to CHARMM to define bodies.  Further commands
allow the generation of component modes for one or more bodies.
New options in DYNAmics invoke the multibody dynamics.  In this
interface, CHARMM is actually used by MBO(N)D for force computations. 

[NOTE: This only includes the interface between CHARMM & MBO(N)D.
       MBO(N)D software is available directly from Moldyn.]

Files Added:
source/mbond/iposdd.src
      /mbond/mbback.src
      /mbond/mbdiag.src
      /mbond/mbdyn.src
      /mbond/mbmodes.src
      /mbond/mbmts.src
      /mbond/mbond.src
      /mbond/mbsec.src
      /mbond/mbsub.src
      /mbond/mbutil.src
      /mbond/modio.src
      /mbond/modtrans.src
      /fcm/mbond.fcm
      /fcm/mbpar.fcm
      /fcm/mbmts.fcm
doc/mbond.doc

Files Modified:
install.com
source/charmm/charmm_main.src
      /charmm/iniall.src
      /dynamc/dcntrl.src
      /energy/eintern.src
      /energy/enefscal.src
      /energy/energy.src
      /energy/eutil.src
      /energy/printe.src
      /gener/update.src
      /machdep/quanta.src
      /machdep/startup.src
      /nbonds/enbonda.src
      /nbonds/enbondg.src
      /nbonds/heurist.src
      /nbonds/nbonda.src
      /nbonds/nbndgc.src
      /nbonds/nbondg.src
      /nbonds/nbonds.src
      /vibran/vibsub.src
      /fcm/energy.fcm
      /fcm/exfunc.fcm
      /fcm/quanta.fcm
doc/commands.doc
   /dynamc.doc


New/Modified Testcase:
test/c26test/mbtest18.inp
            /mbtest19.inp
            /mbtest24.inp
            /mbtest25.inp

------------------------------------------------------------------------------

1.2 New methods in Conformational Energy and Free Energy Simulations
  - Krzysztof Kuczera (kuczera@tedybr.chem.ukans.edu)

     Four main types of calculations are enabled by expanding/modifying
the TSM free energy module.

1) Energy minimization with holonomic constraints.
   TSM allows for MD simulations with constrained values of selected
   conformational coordinates - distances, atoms, dihedrals.
   This has been expanded to also allow energy minimization using several
   algorithms. The method is an alternative to using harmonic restraints
   in generating structures of flexible molecules with desired properties,
   or generating adiabatic profiles.

2) Standard conformational Thermodynamic Integration.
   The TSM module employs the Thermodynamic Perturbation (TP) approach
   to conformational free energy simulations. The basis of the
   calculation is a MD simulation with a constrained value of a
   conformational coordinate.  With minimal
   modifications, the alternative Thermodynamic Integration (TI) method
   is added on. In the modified code the user has the option of using
   TP only (as previously) or activating TI, in which case the same
   simulation and data files are used to give both TP and TI results.

3) Multidimensional conformational Thermodynamic Integration.
   This is a new approach. MD simulations are performed with several
   conformational coordinates simultaneously constrained to fixed values.
   The partial derivatives of the conformational free energy with
   respect to all the coordinates in the fixed set are calculated
   from this one simulation. The free energy gradient may be used 
   in different ways to explore conformational free energy surfaces
   of flexible molecules.

4) Implementation of Ron Elber's Locally Updated Planes (LUP) algorithm
   This method optimizes a low energy path between a series of
   of molecular structures. Energy minimization is done with constraints
   on center of mass translation, rotation and orthogonality of step
   to path vector.
   [References: K. Kuczera, J. Comp. Chem. 17: 1726 (1996)
                Choi, C. and Elber, R., J. Chem. Phys. 94:751 (1991)]


Files Added:
source/pert/icfcnf.src    : contains all the new TI code
      /fcm/lupopt.fcm     : LUP control
      /rxncor/lupopt.src  : LUP code
doc/cfti.doc              : new conformational free energy methods
   /lupopt.doc            : LUP documentation

Files Modified:
source/charmm/charmm.src  : call to LUPOPT added
      /charmm/iniall.src  : several initializations
      /dynamc/dynamcv.src : 
             /dynamc.src  :
             /dynamvv.src :
                  branches to activate therodynamic integration added,
                  controlled by flags QCFTI (one-D) and QCFTM (multi-D)
      /fcm/icpert.fcm     : flags QCFTI,QCFTM,QICWR added, which control type 
                            of calculation
      /manip/shake.src    : modified routine SHAKEF to make call to ICFCNF,
                            analogous to the way SHAKEA calls on ICFCNS.
      /minmiz/egrad1.src  : Routines EGRAD1 and CHECKP modified to enable call
                            to SHAKEA and SHAKEF if key "TSM" is set and fixed
                            coordinates are present.
                            Also option to employ LUP constraints added.
      /pert/tsms.src      : Handles added to recognize new keywords -
                            CFTI, CFTA, CFTM, CFTB, CFTS, CFTJ, etc.

New/Modified Testcase:
test/c26test/conmin.inp   : tests constrained minimization
            /cftigas.inp  : tests CFTI 
            /cftmgas.inp  : tests CFTM
            /luptst.inp   : tests LUP

------------------------------------------------------------------------------

1.3 Contributions from the University of Montreal

1.3.1 Path Integral Method
  - Benoit Roux (rouxb@plgcn.umontreal.ca), K. Hinsen, M. Souaille

     Feynmann discretized path integral is evaluated by tricking REPLICA
and BLOCK.  Only a minimal number of changes are made to existing code.
The spring constant between neighboring copies had to be added.

Files Added:
source/energy/pathint.src
      /fcm/pathint.fcm

Files Modified:
source/charmm/charmm_main.src
      /energy/energy.src
             /eutil.src
             /printe.src
      /fcm/energy.fcm
doc/replica.doc

New/Modified Testcase:
test/c26test/pathint.inp

..............................................................................
1.3.2 Poisson-Boltzmann Equation Solver
  - Wonpil Im, Dmitrii Beglov, Mafalda Nina, and Benoit Roux


     A Poisson-Boltzmann Equation solver has been improved.  For molecular
mechanics calculations with continuum dielectric medium, the solvation free
energy and forces are incorporated into all-hydrogen potential of CHARMM.
Like the solvation free energy, the solvation forces can be decomposed
into electrostatic solvation forces and nonpolar solvation forces.
In turn, the former also can be decomposed into reaction field forces and
dielectric boundary forces.  The expression for the electrostatic solvation
forces is derived from the Poisson equation and the numerical implememtation
is carried out with a smoothed solute-solvent boundary and the finite
difference method.  The formula for the nonpolar solvation forces is obtained
through the derivative of the van der Waals surface defined by the solvent
volume exclusion function.  Its numerical implememtation is easily merged
into the routine for dielectric boundary forces.

[NOTE: Optimized radii for amino acids based on free energy perturbation is
       in test/data/radius.str]

Files Modified:
source/energy/energy.src
             /eutil.src
             /printe.src
      /fcm/energy.fcm
          /pbeq.fcm
      /misc/pbeq.src
doc/pbeq.doc

Files Removed:
test/c25test/pbeqtest.inp

New/Modified Testcase:
test/c26test/pbeqtest1.inp : test and example for general solvation in
                             bulk liquid water
            /pbeqtest2.inp : test and example for membrane environment
                             (voltage, etc...)

..............................................................................
1.3.3 WHAM: the Weighted Histogram Analysis Method
  - Benoit Roux 

     There was a small problem when potential energy differences were too
large (exponential overflow).  The new wham.src works as before but avoids
those problems.

Files Modified:
source/pert/wham.src
doc/pert.doc


..............................................................................
1.3.4 Protein-Membrane System Building
  - Simon Berneche (bernechs@plgcn.umontreal.ca), Tom Woolf, Mafalda Nina and
    Benoit Roux 

     This protocol was developped with the purpose of constructing an initial
configuration of a protein-membrane complex that is as close as possible to
that of an equilibrated system.  The general strategy for creating a
reasonable starting configuration for the protein-phospholipid system consists
in randomly selecting lipids from a pre-equilibrated and pre-hydrated set,
placing them around the protein, and finally reducing the number of core-core
overleaps between heavy atoms through systematic rotations (around the Z-axis)
and translations (in the XY plane) of the lipids and protein.  The details of
the protocol is described in support/membrane/About.membrane.

Files Added in support/membrane
support/membrane/About.membrane : describes the step-by-step procedure of
                                  building a protein-membrane system
                /param.str
                /peptide.str
                /sys1.inp
                /sys2.inp
                /sys3.inp
                /sys4.inp
                /systran.str
                /sysrot.str
                /sys5.inp
                /sys6.inp
                /sys7.inp
                /sys8.inp
                /sys9.inp
                /sys10.inp
                /sys11.inp
                /sys12.inp
                /sys13.inp
                /sys14.inp
                /sys15.inp
                /sys16.inp
                /tip125.crd
                /lipids.tar
                /peptide.crd
                /cubic.img
                /par_all22_prot_lipmod.inp
                /top_all22_prot_lipmod.inp

------------------------------------------------------------------------------

1.4 Contributions from University of Strasberg
  - Thomas Simonson (simonson@igbmc.u-strasbg.fr)

1.4.1 BLOCK Enhancement

     The BLOCK statement is modified to allow different coefficients for
the different terms in the energy function. Currently, different
coefficients can be used for the BOND, ANGL, DIHE, VDW, and ELEC terms.
UREY is constrained to have the same coefficient as ANGLE, and IMPR is
constrained to have the same coefficient as DIHE.  By default, a single
coefficient is used for all terms, as in previous versions of Charmm.

Note: This feature is not implemented in the MMFF energy routines, and
it is not implemented in the BLOCK post-processing routines.  A single
BLOCK coefficient is used there.

Example:

BLOCK 3

CALL 2 SELE block2 END  ! "Wild Type"
CALL 3 SELE block3 END  ! "Mutant"
CALL 1 SELE .not. (block2 .OR. block3) END  ! the rest

! define the interaction coefficients
! -----------------------------------
! Define everything to be 1.0, so that the bonded-energy coefficients
! are set to 1.0; then redefine VDW, ELEC
!
COEFF 1  1  1.0         ! A single coefficient is used for all energy terms.
COEFF 2  1  1.0  VDW 0.5 ELEC 0.5  ! Only scale vdw and elec, not bonded terms.
COEFF 2  2  1.0
COEFF 3  1  1.0  VDW 0.5 ELEC 0.5  ! Only scale vdw and elec, not bonded terms.
COEFF 3  2  0.0
COEFF 3  3  1.0

END

Files Modified:
source/pert/block.src
      /fcm/block.fcm
      /energy/eintern.src
             /enefscal.src
             /enefvect.src
             /enefvp.src
      /nbonds/enbfast.src
             /enbf2.src
             /enbond.src
             /evdwf.src

..............................................................................

1.4.2 Langevin Dynamics Region

     Options are added to the dynamics statement to specify the position
of the Langevin dynamics region. Previously, it was constrained to
coincide with the position of the sphere defining the SBOUND restraint.
By default, these coincide with the radius and position of the SBOUND sphere
(as in previous versions).

Example:
dynamics langevin -
    nstep 40000 timestep 0.001 restart -
    iunread 49 iunwri 50 iuncrd 51 iunvel 52 -
    nsavc 200 nsavv 1000 isvfrq 10000 -
    iprfrq 100 nprint 100 -
    inbfrq 20 ilbfrq 20  -
    tbath 298. -
    rbuf 20. -             ! specifies the radius of the Langevin region.
    xbuf 25.79 ybuf -16.00 zbuf -2.28  ! position of the Langevin region.


Files Modified:
source/misc/sbound.src
      /dynamc/dcntrl.src
      /fcm/sbound.fcm

New/Modified Testcase
test/c26test/block4.inp
    /data/wat10.pot

  2. c26a2 Change Log Previous Next Top

    The following are introduced and modified during the development period
of August 15, 1997 through February 15, 1998.


2.1 NIH Developments
  - Bernard R. Brooks (brbrooks@helix.nih.gov)

2.1.1 New General Lone-pair Facility

     A new general lonepair facility has been added.  With this facility,
massless particles can be postitioned in a general manner.  This facility
supports:
   - Colinear particles (e.g. bond midpoints, MM3 vdw centers)
   - TIP4P water model (particle placed based on a bisector vector)
   - ST2 water model (particle placed based on a tetrahedral geometry)
   - General position in space relative to three atoms
   - Colocation of atoms
   - Fixed particles (to unit cell position)
   - Center of mass particle
   - Center of geometry particle
   - lonepairs positioned relative to other lonepairs

See doc/lonepair.doc or one of the new testcases (loneprtest.inp or
tip4ptest.inp) for further information.  Note: The lonepair data
is considered to be part of the PSF.  In the future, lonepair information
will be added to the RTF file and the relevant feature will be add code to
the GENErate command.

New compile time keyword: LONEPAIR

Files added:
source/dynamc/lonepair.src
      /fcm/lonepr.fcm
doc/lonepair.doc
test/c26test/loneprtest.inp, tip4ptest.inp

Files modified:
source/charmm/charmm_main.src, iniall.src
      /dynamc/dcntrl.src, dynlng.src
      /energy/energy.src
      /gener/modpsf.src, replica.src
      /io/psfres.src
      /quantum/addlnat.src

..............................................................................
2.1.2 Overhaul of Holonomic Constraints

     The use of holonomic constraints was overhauled.  This was necessary
because the diverse development activities have been uncoordinated.
The following types of holonomic constraints are now handled in a consistent
manner:

      Constraint       Flag               Conditions
      -----------      ------------       ----------------
      SHAKE            QSHAKE             none
      ST2 water        (NST2.GT.0)        !##.not.NOST2
      IC constraint    (IICF.GT.0)        !##TSM
      Lone-pairs       (NUMLP.GT.0)       !##LONEPAIR  (new - see above)

There is now a global variable, QHOLO, which is .true. if ANY holonomic
constraint type is active.  A call to SHAKEA now processes all holonomic
constraints.  The use of IMOVE has been fixed.  A number of instances
did not correctly use IMOVE(I)=-1 to flag a lonepair.  A bug with the
use of constraints in parallel minimization has been fixed.

Files modified:
source/dynamc/dynamc.src, dynamc4.src, dynamcv.src, dynamvv.src, mts.src,
             /prssre.src, 
      /energy/energy.src, eutil.src
      /gener/modpsf.src, update.src
      /image/cnbndm.src, imnbf2p.src
      /manip/cstran.src
      /mbond/mbdyn.src
      /minmiz/egrad1.src, nraph.src
      /misc/aspener.src
      /nbonds/cnbnd.src, nbndf2p.src, nbndgc.src
      /pert/icfix.src
      /vibran/vibutil.src
      /fcm/shake.fcm

..............................................................................
2.1.3 EDIFf

A new command, EDIFf, has been added which computed the energy difference
between two coordinate sets where only a few selected atoms have moved.
This command was developed to facilate an efficient Monte-Carlo algorithm.
This is a non-list based method, which allows a different atom selection
to be used on every iteration.

Files added:
source/energy/ediff.src
test/c26test/edifftest.inp

Files modified:
source/charmm/charmm_main.src
doc/energy.doc

..............................................................................
2.1.4 Partial Overhaul of SHAKE

     A number of changes/enhancements to SHAKE have been made.
These include
   - The removal of FSHAKE (cshake has been expanded to preserve capabilities)
   - Added ##PARVECT to cshake
   - cshake now works with any 3-center water type
   - cshake now prints constraint counts
   - cshake (fast water code) avoids any water with a fixed atom
   - cshake (fast water code) avoids any water without a triangle of
     constraints.
   - cshake (fast water code) now works with pure water simulations
   - A bug with the use of constraints in parallel minimization has been fixed.
   - An improved atom based degree of freedom count (IDGF2 array) is in use.
   - FAST shake can be turned on and off (an option), default depends on
     compile flags.
   - Leap-Frog 2-step (startup) now gives correct internal virial when
     SHAKE is on.

Files removed:
source/manip/fshake.src, fshake2.src (removed)
      /fcm/fshake.fcm

Files modified:
source/charmm/iniall.src
      /dynamc/dynamc.src
      /manip/cshake.src
      /vibran/vibio.src, vibsub.src
      /fcm/cray.fcm

..............................................................................
2.1.5 Partial overhaul of DCNTRL

 - Atomic "temperatures" now reported in WCOMP when the DYNA command ends.
 - Reduced communication for parallel version
 - Routine REALDY is folded into READYN. 
 - Routine WRILDY is folded into WRIDYN. 
 - Cosmetic changes (indentation, comments,...)
 - No removal of translational degrees of freedom when using Langevin Dynamics
 - Fixed a bug in the processing of NTRFRQ degrees of freedom.
 - Fixed a bug in atom based velocity scaling (ISCVEL.NE.0)
 - The number of energy terms has been increased from 50 to 60 and the
   code has been modified to allow further increases without disruption.

Files modified:
source/dynamc/dcntrl.src, dynamc.src, dynio.src, dynutil.src
      /fcm/energy.fcm
doc/dynamc.doc, prssre.doc

..............................................................................
2.1.6 Unfolding of Dynamic Trajectories  (by Rick Venable)

Two new options XFLUCT and UNFOLD have been added to the MERGe command.
The UNFOLD option removes the effects of image centering.
The XFLUCT removes the effects of the box size/shape changes from
constant pressure simulations.  This allows an accurate calculation of
transport properties (diffusion constants,...) from CPT trajectories.

Files modified:
source/dynamc/dynsub.src

..............................................................................
2.1.7 Parallel Fixes (by Milan Hodoscek)

More machines, library, and architectures supported, and some minor fixes:

Files modified:
doc/parallel.doc            (prnlev command)
source/charmm/iniall.src
      /dynamc/dynio.src     (Bug fix for the "TRAJ READ" command)
      /energy/intere.src    (Bug fix for the INTEeraction command)
      /nbonds/pmeutil.src   (machine depended code moved to paral1.src)
      /machdep/parset.src   (support for bash,sh added)
      /machdep/machutil.src, startup.src, paral1.src, paral2.src, paral3.src

..............................................................................
2.1.8 GAMESS Development - BLUR (by Milan Hodoscek)

GAMESS has been extended to allow external point changes to be diffused
by a 3-dimensional gaussian. 

Files modified:
source/fcm/gamess.fcm
      /gamint/gamini.src
      /machdep/cstuff.c

..............................................................................
2.1.9 COMPLEX*16 Functions for GNU Compilers (and FORTRAN Standards)

In an attempt to use precision more consistently, a number of changes
were warranted.  The following functions are best to avoid within
the source code: DREAL, FLOAT, CMPLX, AIMAG, DFLOAT.

    DREAL  - Not part of F77 standard, some compilers do not recognize
    FLOAT  - converts to REAL*4, often with loss of precision.
             Also, "FLOAT" is a specific name, "REAL" is the generic
    CMPLX  - converts to COMPLEX*8, often with loss of precision.
    AIMAG  - converts to REAL*4, often with loss of precision.
    DFLOAT - Not part of F77 standard, some compilers do not recognize

When lower precision is desired, CMPLX and AIMAG may be appropriate.

The following substitutions have been made for all source files.

    "DREAL("  ->  "DBLE("     (Note: DBLE is the F77 standard).
    "REAL("   ->  "DBLE("     (Usage limited to complex or integer).
              ->   or to "("  (where std. conversions apply).
              ->   unchanged  (usage limited to REAL*4 result desired)
    "FLOAT("  ->  "DBLE("     (Usage limited to REAL*8)
              ->  "REAL("     (Usage limited to REAL*4)    
              ->  "("         (where std. conversion apply)
    "CMPLX("  ->  "DCMPLX("   (the SINGLE keword will replace it in prefx).
    "AIMAG("  ->  "DIMAG("    (the SINGLE keword will replace it in prefx).
    "DFLOAT(  ->  "("         (DFLOAT is not part of F77)

The following are converted in prefx when SINGLE is use.

    "DIMAG("  ->  "AIMAG("
    "DCMPLX(" ->  "CMPLX("
    "DBLE("   ->  "REAL("   ! modified, was "("

The following are no longer converted in prefx:
    "DOUBLE PRECISION" (reserved for stuff that stays DP when ##SINGLE is used)
    "DREAL"
    "DFLOAT"

Further changes that are needed along these lines should be done
through prefx (rather than editing a large number of files). - BRB

Files modified:
source/correl/clustr.src, solana.src
      /dimb/dimbsub.src
      /dynamc/dcntrl.src, prssre.src
      /energy/efour.src, rgy.src
      /graphics/apograph.src, inter.src, drawit.src, psdraw.src
      /image/crystal.src, xtlfrq.src
      /nbonds/exelec.src, fma.src, nbndfp.src, pme.src
      /machdep/machutil.src, 
      /manip/hbanal.src
      /minmiz/tnpack.src
      /misc/ssbp.src
      /molvib/molinp.src
      /pert/block.src
      /quantum/qmnbnd.src, qmpac.src, qmset.src
      /rxncor/lupopt.src, rxndef.src
      /solvation/fft.src
      /util/imsl.src, sort.src
tool/prefx.src

..............................................................................
2.1.10 Enhancements

(1) Update of Energy Term Usage
In order to extend the number of separate energy terms beyond 50, a number of
changes were introduced.  Here are the effects:
 - Very old dynamics restart files (pre CHARMM22) are no longer supported 
 - Energy term flags are no longer read from restart files, but there
   is a warning if they don't match.  Now, the SKIP command must be
   invoked in each script if energy terms are to be excluded.

Files modified:
source/dynamc/dynio.src
      /energy/eutil.src
      /fcm/energy.fcm

....................................
(2) INTEraction command now work with IMAGES and CRYSTAL

Files modified:
source/charmm/charmm_main.src
      /energy/intere.src

....................................
(3) TRAJectory Command
The TRAJ WRITe command now doesn't write values for fixed atoms.  This
can greatly reduce the size of the resulting files.  This now works the
same way "CONS FIX" is handled in dynamics.

Files modified:
source/io/trajio.src

....................................
(4) COOR INTErtia command added (by Rick Venable)

Files modified:
source/manip/corman.src, rgyr.src

....................................
(5) Enhancement to CORREL
The INERtia time series has been enhanced.  A CELL timeseries has been
added to obtain unit cell dimensions as a function of time.

Files modified:
source/correl/anacor.src, correl.src

....................................
(6) COOR LSQP command now sets the AXIS variables.
The COOR LSQP command has three new options; NORM, MAJOr, and MINOr
which will set the AXIS variables to the selected axis.  This
AXIS data can be used in subsequent COOR ROTAte or COOR TRANslate
commands.  AXIS variables have been moved to a common block.
The COOR LSQP and COOR ORIEnt commands have been partially merged.

Files modified:
source/charmm/iniall.src
      /manip/corman.src, corman2.src, rgyr.src, rotlsq.src
      /fcm/corman.fcm

....................................
(7) Enhancements to the SCALAR command

Nearest integer rounding is now performed for: SCALar { MOVE  }
                                                      { TYPE  }
                                                      { IGNOre }
In the past, it was simply a truncate of a real to an integer.
Also, the force difference array (DXPERT,DYPERT,DZPERT in PERT) is now
available by:   SCALar DX PSF 0 .......

Files modified:
source/manip/scalar.src

....................................
(8) Paticle Mesh Ewald (PME) upgrade
A real-space net charge correction term has been added for small unit cells.
A fatal error if using a net charge correction with rotational symmetry.
A fatal error if any grid size has any prime factors other than 2, 3, or 5.
The K-space net charge correction is now using the image centering position.

Files modified:
source/nbonds/nbutil.src, pme.src

....................................
(9) COOR AVERage command enhanced (by Tom Cheatham)
The COOR AVER now also computes the average and fluctuation of the unit cell
dimensions.  The final unit cell dimension is set to the average (so that
the average coordinates match the final box).

Files modified:
source/manip/dynanal.src

....................................
(10) Overhaul of CRYSTAL BUILD
The routine XSCAN has been mostly rewritten so as to avoid the double atom
loop in the CRYSTAL BUILD command.  The command is much faster than it was.

Files modified:
source/image/crystal.src

..............................................................................
2.1.11 Bugs and/or Problems Fixed

(1) Pressure problems corrected
The separation of energy terms into the internal and external virial
has been attempted.  Some additional refinements may be warranted.
(see Allen & Tildesley eqns. 2.52, 2.53, 2.58)

Files modified:
source/energy/energy.src, ecnstr.src
      /pert/epert.src, icfcnf.src

....................................
(2) No image centering during minimization

Image centering is turned off during minimization, but then restored
when the minimization is complete.  Image centering really does a job
on the "smart" minimizers.

Files modified:
source/minmiz/minmiz.src

....................................
(3) Travel split
Due to a compiler problem, travel.src was split into two nearly equal
size files.

Files added:
source/rxncor/travel2.src

Files modified:
source/rxncor/travel.src

....................................
(4) WRITE IMAGE command bug
There was a problem with the WRITE IMAGE command.  Some changes were
made and an error messages improved.

Files modified:
source/image/imagio.src

....................................
(5) ?RDIP
The substitution parameter ?MDIP (Magnitude of the dipole moment) had
been renamed to ?RDIP to avoid a conflict with the new energy term
named ?MDIP (Dipole Mean-Field-Potential energy term).  They can't both
be named: ?MDIP

Files modified:
source/manip/corman.src

....................................
(6) Conditional Compile Modifications

Files modified:
source/energy/pathint.src (better use of: ##IF PATHINT)
      /mbond/iposdd.src, mbback.src, mbdiag.src, mbdyn.src, mbmodes.src,
            /mbmts.src, mbond.src, mbsec.src, mbsub.src, mbutil.src,
            /modio.src, modtrans.src  (problems with ##IF MBOND fixed)
      /nbonds/enbf2.src   (##forces added)
      /util/matrix.src    (duplicate INVT33 routine removed)
      /machdep/paral3.src (fcm/shmem.fcm was removed - obsolete)
      /fcm/shmem.fcm      (fcm/shmem.fcm was removed - obsolete)

....................................
(7) Bringing code up to standards
The file pert/puic.src required a bit of work.
 - charmm_22 replaced by charmm_fcm (38 times)
 - CALL DIE  replaced by CALL WRNDIE (2 times)
 - WRITE statements protected by IFs. (16 times)

Files modified:
source/pert/puic.src

....................................
(8) Unused or uninitialized variables
Unused variables were removed and uninitialized variables defined.

Files modified:
source/image/nbondm.src  (NREM, NGAT)
      /image/xtlfrq.src  (zero ICNTRL variable on crystal normal mode write)
      /nbonds/enbond.src (energy terms set to zero)
      /nbonds/nbonds.src (MXJMGP,MXJMBP,MXJMGR,MXJMBR/MAXJM1G,MAXJM2G,
                          MXJMT1G,MXJMT2G)
      /vibran/vibio.src  (zero ICNTRL variable on normal mode write)
      /fcm/pert.fcm      (ECONTP was removed, it was confused with EPCONT)

....................................
(9) Bad calling sequences

Files modified:
source/pert/icfcnf.src   (Two bad subroutine calls were updated)

....................................
(10) Wrong variables used bugs were fixed.
Bug in READ COOR command (wrong variables used)
Bug in READ SEQUence     (bad error message)

Files modified:
source/io/coorio.src     (bad code for 4-dim read)
      /io/psfres.src     (bad resid on error message)
      /manip/cstran.src  (bad error message)
      /manip/intcor2.src (better pi)
      /pert/epert.src    (bad use of QECONT and ECONT)
      /util/util.src     (bad error message)

....................................
(11) Comments added

Files modified:
source/energy/eutil.src
      /fcm/comand.fcm, corman.fcm, cstack.fcm, ctitla.fcm, dimb.fcm,
          /dimens.fcm, energy.fcm, epert.fcm, exfunc.fcm, fourd.fcm,
          /image.fcm, psf.fcm, tbmtsp.fcm

....................................
(12) Minor cosmetic changes.

Files modified:
source/energy/energy.src
      /util/array.src, imsl.src, matrix.src

....................................
(13) DATA statement out of order (by Milan Hodoscek)
The following files had DATA statements in the wrong place.

Files modified:
source/minmiz/tndriv.src
      /pert/icfcnf.src

....................................
(14) Extra call to machine dependent TIME routine deleted (by Milan Hodoscek)

File modified:
source/mmff/merckio.src

------------------------------------------------------------------------------

2.2 The Scripps Research Institute Developments
  - Charles L. Brooks, III (brooks@scripps.edu)

2.2.1 New Genetic Algorithm and Monte Carlo Module for docking and search

Michal Vieth and Heidi Daigler from my group have developed a new set
of routines that perform both GA and MC searches on peptides, small
drug molecules and protein, as well as the peptides and drugs in
binding sites of rigid receptors.  We believe the GA and MC algoritms
are general enough to permit them to be used to search the space of
smallish proteins, however, this is probably not efficient.  The code
was specifically created to permit searchs of conformational space for
small ligands in their rigid receptors and to do automated docking.

The implementation and a discussion of its use can be found in
doc/genetic.doc.

New compile time keyword: GENETIC

Files Added:
doc/galgor.doc
source/misc/genetic.src
           /genetic2.src
      /fcm/galgor.fcm

Files Modified:
source/charmm/charmm_main.src, iniall.src
      /energy/ecnstr.src, eintern.src, enefscal.src, energy.src, printe.src
      /nbonds/enbfast.src

New/Modified Testcases:
test/c26test/tmc.inp    ! tests Monte Carlo on AMN-ALA-CBX and soft core
                        ! potential.  It also tests interaction energy.
            /tga.inp    ! test GA on AMN-ALA-CBX
            /tgall.inp  ! test GA on flexible bond, angle AMN-ALA-CBX

..............................................................................
2.2.2 Soft non-bonded forces at short distances.

Michal Vieth added an option to the non-bonded energy and force
calculations to permit a soft core van der Waals and electrostatic
interaction between atom pairs to be used during docking and annealing
runs.

NOTE:  Soft core potential has only been implemented in the fast scalar
energy routines.  The new keyword must also be present in all energy
related commands, e.g., update, nbond, energy, dynamic, mini... to be
used.

The implementation and discussion of its use can be found in
doc/nbonds.doc

New compile time keyword: SOFTVDW

Files Modified:
doc/nbonds.doc
source/charmm/iniall.src
      /gener/update.src
      /nbonds/enbfast.src, nbexcl.src, nbutil.src
      /fcm/fast.fcm, inbnd.fcm

..............................................................................
2.2.3 NOE restraint between particle and spatial point.

Michal Vieth added this option to permit an atom or group of atoms to
be restrained to a particular point in space using the functional form
of the NOE restraint energy terms.  This is used in limiting the
search space for docking runs and could also be used to "pull" a
ligand from an active site as in the AFM-mimic calculations.

The implementation and discussion of its use can be found in
doc/noe.doc

New compile time keyword: PNOE

Files Modified:
doc/noe.doc
source/charmm/iniall.src
      /energy/ecnstr.src, energy.src
      /misc/noe.src
      /pert/epert.src
      /fcm/noe.fcm

New/Modified Testcases:
test/c26test/tpnoe.inp ! test for NOE restraints between a point and an atom

..............................................................................
2.2.4 Additional features for lambda-dynamics, convergent, self-adapting
      sampling and biased (reference state) sampling

Zhuyan Guo has developed extensions to the lambda-dynamics that
facilitates examining several ligands in a binding site at the same
time and biasing the "chemical-space" search by addition of biasing
potentials in the lambda space.  We have sued this in two ways:
  1) to acheive rapid convergence of free energy half-cycle calculations for
     multiple ligands and
  2) to permit rapid screening of multiple ligands (full cycle) in a common
     receptor.

The implementation and discussion of its use can be found in
doc/block.doc and doc/pdetail.doc

Compile time keyword: LDM

Files Modified:
doc/block.doc, pdetail.doc
source/charmm/iniall.src
      /dynamc/dcntrl.src, dynamc.src, dynamcv.src, dynamvv.src
      /energy/eintern.src, enefscal.src, energy.src, eutil.src
      /pert/block.src
      /fcm/lambda.fcm

New/Modified Testcases:
test/c26test/lambda_dynam.inp, lambda_energy.inp

..............................................................................
2.2.5 Improved parallel performance for PME on T3E

Mike Crowley has made changes to PME code to improve performance and
memory utilization on T3E and other parallel platforms.

NOTE: This code is still being improved but the enhancements are
significant thus it was felt it is worth including what is done now.

Files Modified:
source/nbonds/pme.src, pmeutil.src
      /fcm/pme_par.fcm

New/Modified Testcases
test/c26test/pme_p21.inp

..............................................................................
2.2.6 Bugfixes

(1) cleanup of block/lambda dynamics code
The LDM codes are encapsulated by ##IF BLOCK / ##ENDIF.

Files Modified:
source/dynamc/dcntrl.src
      /energy/eintern.src, enefscal.src
      /nbonds/enbonda.src

....................................
(2) fix bad coding
Files Modified:
source/nbonds/cenbf.src

....................................
(3) removed uninitialized variable problems

Files Modified:
source/mmff/efast_mm.src, enbscalar_mm.src

....................................
(4) Fix compilation problem w/o graphics on SGI platforms
Files Modified:
install.com
source/graphics/iris_graphics.c

------------------------------------------------------------------------------

2.3 Updates/Bugfixes to Multibody Dynamics
  - Robert Nagle

A few minor bugfixes and integration corrections

Files modified:
source/dynamc/dcntrl.src
      /energy/energy.src, eutil.src
      /mbond/mbdiag.src, mbmodes.src, mbmts.src
      /nbonds/nbonda.src, nbondg.src
      /fcm/energy.fcm

New/Modified documentation:
doc/dynamc.doc, mbond.doc

------------------------------------------------------------------------------

2.4 Parallel Implementation of the Velocity Verlet Algorithm
  - Masa Watanabe (watanabe@moldyn.com/watanabe@tammy.harvard.edu)

Parallel algorithm was added to the Velocity Verlet Algorithm. Now, the 
Velocity Verlet method is fully functional in parallel platforms.
In this modification, Multiple Time-scale method and  Nose-Hoover are 
enhanced so that those modules can also work fully in parallel. 

Files modified:
source/dynamc/dcntrl.src, dynamvv.src, mts.src, dynio.src
      /nbonds/nbondg.src, nbonda.src

Modified documentations:
doc/dynamc.doc, mts.doc, nose.doc, parallel.doc

------------------------------------------------------------------------------

2.5 4D Minimization and Langevin Dynamics
  - Elan Z. Eisenmesser (eeisenme@stanley.bio.purdue.edu), Carol Post, and
    Bernard R. Brooks

Addition of minimization and langevin dynamics in 4 spatial dimensions
along with the ability to set the 4th D coordinates, FDIM, and the 4th D
function minima, FDEQ, has been implemented to perform various calculations
such as umbrella sampling.

In addition to the already present 4D Leap-frog dynamics there now exists
4D Langevin dynamics.  The steepest descent algorithm can also be used to
minimize a system in 4 dimensions, SD4.  The SCALAR can also be used to set
initial coordinate in the 4th D,FDIM, and their respective equilibrium
minima, FDEQ, can also be set this way.  This is in accordance with the
harmonic functional form of the 4th D energy:

                (1/2)*K4D*W**2, where W=FDIM(I)-FDEQ(I)

where the force constant, K4D, can be set as before.  Trajectory files can
be written/read for all 4 dimensions and the UPDATE command should be used
to specify this.  If the UPDATE command is used without the flag FOUR than
calculations will be done in only three dimensions. 

This code has been cleaned and enhanced at NIH by Bernie.  See fourd.doc
for the detail.

Files Modified:
source/charmm/charmm_main.src, iniall.src
      /correl/anacor.src
      /dynamc/dcntrl.src, dynamc4.src, dynio.src
      /energy/efour.src, energy.src, printe.src
      /manip/cstran.src, scalar.src,
      /minmiz/egrad1.src, minmiz.src, steepd.src
      /misc/noe.src
      /fcm/shake.fcm, fourd.fcm
doc/fourd.doc
test/c24test/dyn4Dtest.inp

  3. c26b1 Change Log Previous Next Top

    The following are introduced and modified during the development period
of February 15, 1998 through September 30, 1998.  c26b1 is released as a 
beta version.  All new developments will go on with c27 alpha versions and
only bugs will be fixed in the release versions later.

3.1 TSRI Fixes and Enhancements
    Name          : Charles L. Brooks, III and Mike Crowley
    Email Address : brooks@scripps.edu, crowley@scripps.edu
    Institution   : The Scripps Research Institute

3.1.1 SYSTem and Start-up

     The SYSTem command is fixed and start-up coded is fixed so t3e can
read command-line options in CHARMM.

Files Modified:
source/machdep/machutil.src
source/machdep/startup.src

Modified Documentation:
doc/miscom.doc

..............................................................................

3.1.2 NBFIX Problem on 2.0.2.21 unicosmk CRAY T3E, IRIX64 6.4 

     Routines parrdr and addnbf in source/io/parmio.src are optimized by
the compiler in a way that a counter, NBFIXN, is not globally updated even
though it is in common.  Earlier bugfix, B980112.ep resolved the
problem for sgi compilers, but produced the same problem for t3e
compiler.
     Added NBFIXN to the crgs of the calls to ADDNBF() and used the name
NBFIXNT in the dummy args of ADDNBF() and set NBFIXN=NBFIXNT inside ADDNBF().
Otherwise, the t3e compiler does not keep the value of NBFIXN in the common
block in param.fcm current.  Errors in the vdw for runs with modified
parameters result otherwise.

File Modified:
source/io/parmio.src

------------------------------------------------------------------------------

3.2 Karolinska Institutet Fixes
    Name          : Lennart Nilsson
    Email Address : Lennart.Nilsson@csb.ki.se
    Institution   : Karolinska Institutet, Sweden

(1) NDEGF was not correctly taken into account in TEMP timeseries in correl,
    resulting in incorrect temperatures
    FILES: source/correl/anacor.src
           source/correl/correl.src

(2) Velocities not saved for all atoms in dynamic runs on parallel
    systems. (veloctities were not distributed before being written)
    FILES: source/dynamc/dcntrl.src
           source/dynamc4.src
           source/dynamcv.src
           source/dynamcvv.src

(3) NSAVV not correctly reported after writing velocities (NSAVC was used).
    FILES: source/dynamc/dynamc.src
           source/dynamc/dynio.src

(4) Parallel timing output wrong for slave processes. Indexing problem.
    FILE:  source/machdep/paral1.src

(5) Declaration order problems cleared up in pmeutil.
    FILE:  source/nbonds/pmeutil.src

(6) End-of-buffer error messages under DigitalPVM when empty buffers
    encountered, added lenght checks in a couple of places
    FILE:  source/machdep/paral3.src

------------------------------------------------------------------------------

3.3 Bugfixes

(1) B980623.rn
  - Robert Nagle
    Any HBONDS update can possibly produce a segmentation violation
    (certainly an array bounds violation).  In HBEDIT, no check made when
    using IHB(I) - it may already have the value MARK (i.e. -999999).
    File:  source/gener/hbonds.src

(2) B980630.rs1
  - Roland Stote
    The EXTENDED Electrostatics model is not properly implemented. 
    In the Extended Electrostatics model, the electrostatic energy
    is taken as the sum of a 'near' term plus an 'extended' term.  The near
    term is calculated as a standard pairwise sum and a group truncation 
    should be applied.  The extended term is approximated by a multipole
    expansion model and the van der Waals term is the standard pairwise
    sum with a switching function. 
    In the recent versions of CHARMM, a switching function is applied
    to the near term to which the extended term was added.
    This leads to the exclusion of some electrostatic interactions
    in the switching/truncation region.
    Files: source/nbonds/enbfast.src (ENBFSG)
           source/nbonds/enbond.src 

(3) B980630.rs2
  - Roland Stote
    The default in the T3E version of c26a2 is to exclude the BLOCK routines.
    This, in turn, excludes parts of the GROUP energies that should not
    be excluded and different energies are obtained when compared
    to other platforms.
    File:  source/nbonds/enbfast.src (ENBFSG)

(4) B980629.wy and B980728.wy
  - William Young and Tom Halgren
    There are a number of errors in the current implementation of MMFF in
    CHARMM.  When testing of the charmm version of MMFF, a large number of
    differences were found in computed energies from the original OPTIMOL
    version.  These problems have been corrected.  Also the atom typing
    error was fixed.
    Files: source/energy/ecntrl.src
           source/mmff/assignpar.src
           source/mmff/datastruc.src
           source/mmff/escalar_mm.src
           source/mmff/merckio.src
           source/mmff/mmfftype.src
           source/nbonds/enbond.src
           source/fcm/mmff.fcm

(5) B980830.clb
  - Charles L. Brooks, III and Michal F. Crowley
    The variables xold, yold and zold are not initialized for atoms
    outside the "parallel block" for parallel runs (using the routine
    dynamc.src) with images and fixed atoms but are passed onto image
    centering routines where they are used causing a floating point
    exception on machines that don't force all uninitialized variables to
    initialize to zero.
    File:  dynamc/dynamc.src

(6) B980902.br
  - Simon Berneche (bernechs@magellan.umontreal.ca)
    The gradient of energy is computed by using the position in the 4th
    dimension instead of the forces.
    File:  minmiz/egrad1.src

(7) B980917.mw
  - Masa Watanabe (watanabe@moldyn.com)
    An image list is generated correctly when MTS SLFG option is not used.
    File: dynamc/mts.src

  4. c26b2 Change Log Previous Top

    The following are introduced and modified during the development period
of September 30, 1998 through February 15, 1999.

4.1 TSRI Fixes and Enhancements
    Name          : Charles L. Brooks, III and Mike Crowley
    Email Address : brooks@scripps.edu, crowley@scripps.edu
    Institution   : The Scripps Research Institute
    Date          : January 7, 1999


4.1.1 Fixes of Uninitialized Variables and Programming Standard

Files modified:
source/charmm/charmm_main.src
      /correl/solana.src
      /energy/eintern.src
      /energy/enefscal.src
      /fcm/impnon.fcm
      /io/psfres.src
      /io/rtfio.src
      /machdep/machio.src
      /machdep/paral1.src

4.1.2 Fixes of Parallel I/O and Minor Changes

Files modified:
source/dynamc/dcntrl.src    - parallel I/O fix
      /dynam/dynsub.src     - IOLEV checking added
      /misc/sbound.src      - IOLEV checking added
      /correl/solana.src    - IOLEV checking added
      /image/cnbndm.src     - nxi1, inbxa removed from cmic$- line
      /machdep/machutil.src - Declare TIMEF,SECOND,TSECND in UNICOS code
      /nbonds/cnbnd.src     - REAL*8 CORR moved out of PBOUND block
      /rxncor/path.src      - IF condition corrected
      /misc/genetic.src     - ptall initialized and FORMAT corrected
test/c23test/nmrtest1.inp   - node 0 added to prnlev control
    /c25test/quiet.in       - node 0 added to prnlev control

------------------------------------------------------------------------------

4.2 Moldyn MBO(N)D Code Distribution
    Name          : Ryszard Czerminski, Robert Nagle, Eric Koinstine,
                    Hon Chun, and Kim Blair
    Email Address : ryszard@moldyn.com
    Institution   : Moldyn Inc
    Date          : December 30, 1998

MOLDYN code is available in academic versions as of c26b2 for Intel/PPro/Linux,
DecAlpha/Linux, SGI.  New soruce module source/moldyn is added.  Note the
following links in the source/fcm directory:

Files modified:
build/UNX/Makefile_gnu     MBONDFLG introduced, -lblas added
         /Makefile_sgi    
         /Makefile_sgi64  
     /UNX/charmm.mk        g77 requires .F file if there are cpp directives
         /mbond.mk
         /moldyn.mk
source/fcm/mbmts.fcm       MBMTSLEN set to LENENT ( =60)
      /fcm/mbond.fcm       pMbLang, qModChg added
      /fcm/mbpar.fcm       Langevin parameters, Threshold for Euler sequence
      /fcm/mbspp.fcm       NEW: Single parameter mode generation
      /fcm/cveloci.fcm     NEW: constant velocity code
      /fcm/param_mbond.fcm link to -> ../../moldyn/PARAM.FOR
      /mbond/mbdiag.src    CALL ENBOND modified back for c26b1
      /charmm/iniall.src   printout for MBO(N)D specific dimensions
      /dynamc/dcntrl.src   VVERL not supported in MBOND;
                           NTRFrq flags: printed for PRNLEV.GT.5 
      /machdep/cstuff.c    floating point error trap introduced for gnu
      /moldyn/             New with many changes for gnu port

------------------------------------------------------------------------------

4.3 Bugfixes

(1) RTF dimension increase (B981024.adm)
      source/fcm/dimens.fcm

(2) 4D time series code fixed (B981215.bs Brent T. Speelman)
      source/correl/correl.src

(3) QYT=QYYT*YD+QYZT*ZD+QXYT*XD (B990105.rjp)
      source/nbonds/nbondg.src
      source/nbonds/nbndgc.src

Top