*** WELCOME TO CAMPARI V2 ***
Thank you for your interest in our software and research.
We sincerely hope you find CAMPARI useful.
For user documentation, installation instructions, etc. open the html-documentation in your browser (http://campari.sourceforge.net/index.html), and navigate from there.
- The CAMPARI development team
*** Update May 29th 2015 ***
We have yet again collected a round of bug fixes and minor corrections and improvements. As usual, a new archive is provided here (http://sourceforge.net/projects/campari/files).
- In a calculation with all-against-all replica exchange (http://campari.sourceforge.net/keywords.html#RE_NBMODE is set to 1) and a complex swap pattern in a given cycle (exceeding simple replica-to-replica swaps), the passing of structural information was inverted in direction. This required http://campari.sourceforge.net/keywords.html#RE_SWAPS to be larger than 1. The issue was unlikely to be relevant in cases of a small number of swap attempts per cycle relative to the number of replicas and in cases of generally low swap acceptance probability. The bug led to an illegal mixing of information due to a mismatch between the evaluated and performed swaps, respectively. The replica exchange documentation was cleared up in the process.
- Tabulated interactions (http://campari.sourceforge.net/keywords.html#SC_TABUL) defined for atoms in the same residue were not accounted for properly. This bug did not affect tabulated interactions between atoms in different residues or molecules of the same type.
- When using chemical crosslinks in conjunction with tabulated potentials, the crosslink was not masked appropriately leading to undefined behavior (usually a segmentation fault during setup).
- The spatial density restraint potential (http://campari.sourceforge.net/keywords.html#SC_EMICRO) would not necessarily be handled correctly in nonperiodic boundary conditions (spherical droplets). This was manifested in unresolvable errors during setup (complaints about mismatches and misalignments of simulation cell and grid).
- The combination of using a reweighted network (http://campari.sourceforge.net/keywords.html#CEQUILIBRATE is 1) derived from structural clustering with the computation of a cut-based free energy profile (http://campari.sourceforge.net/keywords.html#CMSMCFEP is 1) was not working correctly despite the fix to the Markov state model reweighting, which was included in the last release of bug fixes (see below). Hopefully, this particular combination works correctly now.
- There were a number of fixes to minimizers (http://campari.sourceforge.net/keywords.html#DYNAMICS is 6) as follows:
- Except for special cases, the final output files for on-the-fly analyses (those written only at the end of a normal simulation) were not produced. They are provided now for all termination conditions. Since minimizations do not yield interpretable ensembles, the averaged data in these files are of very limited value of course.
- When performing a stochastic minimization run in torsional space (http://campari.sourceforge.net/keywords.html#DYNAMICS is 6, http://campari.sourceforge.net/keywords.html#MINI_MODE is 4, and http://campari.sourceforge.net/keywords.html#CARTINT is 1), it was possible for the initial steepest descent steps to be skipped for no valid reason. This had no other negative side effects.
- There was a potential inconsistency in using grid-based cutoffs with torsional minimizers in general (unlikely to be relevant due to small geometric changes incurred by minimizers), which was eliminated.
- When using the BFGS minimizer (http://campari.sourceforge.net/keywords.html#MINI_MODE is 3), the step size reduction limitation was not working as intended after its fist encounter (relevant for cases where the BFGS minimizer encounters convergence difficulties.) There was also a chance for a segmentation fault to be triggered for a minimization near convergence if, for example, too small a value was chosen for http://campari.sourceforge.net/keywords.html#MINI_GRMS.
- We fixed a rare segmentation fault occuring when using the stochastic minimizer in conjunction with spatial density analysis (http://campari.sourceforge.net/keywords.html#EMCALC) and a nonzero number of steepest descent steps (http://campari.sourceforge.net/keywords.html#MINI_SC_SDSTEPS was greater than 0).
- We eliminated an incorrect program termination during setup when using weighted dihedral angles for clustering (http://campari.sourceforge.net/keywords.html#CDISTANCE is 2 or 4) in conjunction with Cartesian space sampling (http://campari.sourceforge.net/keywords.html#CARTINT is 2) and certain settings for http://campari.sourceforge.net/keywords.html#TMD_UNKMODE.
- There was a possible memory violation for PDB input files that erroneously contain a thiol hydrogen atom ("HG") for disulfide-bonded systems.
- It was possible that some degrees of freedom were set to an arbitrary value during initial randomization (http://campari.sourceforge.net/keywords.html#RANDOMIZE) in cases where it is difficult to find any improvement (most commonly with chemical crosslinks). For certain compiler debugging settings, this may have led to a segmentation fault during structure randomization.
- We corrected a rare segmentation fault when starting a torsional dynamics calculation in conjunction with the gradient checking utility (http://campari.sourceforge.net/keywords.html#CHECKGRAD is 1) and a setting of http://campari.sourceforge.net/keywords.html#TMD_INT2UP larger than 0.
- When performing weighted snapshot analyses, an FP exception could be triggered for polymeric analyses (http://campari.sourceforge.net/keywords.html#POLCALC) if the first analyzed snapshot had a weight of 0.0.
- We fixed reporting errors for keyword http://campari.sourceforge.net/keywords.html#REMC_DOXYZ.
- It was possible to create a segmentation fault by supplying nonsensical settings to keyword http://campari.sourceforge.net/keywords.html#CCUTOFF when using the hierarchical clustering algorithm (http://campari.sourceforge.net/keywords.html#CMODE is 3), and this was fixed.
In addition, the following feature improvements are included:
- When using structural clustering based on interatomic distances with no input file, CAMPARI will no longer allocate all possible pairwise distances but instead a set of at most 3N randomly chosen distances where N is the number of atoms in the system. While not generally desirable, this helps avoid unintended crashes due to the requested system memory being exceeded. The selected atom piars are not pruned for uniqueness. No special adjustments for systems containing different numbers of molecules are made either.
- During the read-in of PDB files, the second field (atom index) is no longer required to be an integer. Previously, supplying PDB files with alternative information in this field (for example, for systems with more than 100000 atoms) would lead to a fatal type mismatch error during formatted read. CAMPARI should now tolerate entries such as "*****" or "F000A" without complaint or adverse side effects (thanks to Maxim Igaev for the suggestion).
- To provide better memory control for both the spatial density analysis function (http://campari.sourceforge.net/keywords.html#EMCALC) and the corresponding restraint potential (http://campari.sourceforge.net/keywords.html#SC_EMICRO) in nonperiodic (droplet) boundary conditions, we introduced a keyword to control the size of the analysis and evaluation grids (see keyword http://campari.sourceforge.net/keywords.html#EMBUFFER for details).
We apologize for any inconvenience the above errors may have caused.
- The CAMPARI development team
*** Update January 27th 2015 ***
We have collected a further round of bugs and minor corrections. A new archive is provided as usual on this very page (http://sourceforge.net/projects/campari/files).
The list of fixes includes two examples of badly broken functionality and we apologize in particular for these (listed first):
- When performing in vacuo or explicit solvent simulations in periodic boundary conditions using the particle mesh Ewald (PME) method, some of the required corrections for excluded interactions were not calculated correctly (sign errors). This would to lead to unstable simulations (or at least temperature artifacts) if the relevant interactions were not constrained, i.e., simulations of water or monoatomic ions were not affected, whereas simulations of flexible molecules were affected. Due to restrictions on the PME code, this bug could only affect gradient-based (molecular dynamics or minimization) runs in PBC that used pure pairwise potentials (no implicit solvent supported with PME).
- When using keyword http://campari.sourceforge.net/keywords.html#CEQUILIBRATE to try to reequilibrate a Markov state model (network) obtained from structural clustering of simulation data, the iterative reequilibration would terminate almost immediately due to buggy code. This means that any reequliibrated node (cluster) populations reported in output file http://campari.sourceforge.net/outputfiles.html#STRUCT_CLUSTERING.graphml and used in http://campari.sourceforge.net/outputfiles.html#MFPT_CFEP_xxxxxxxx.dat were incorrect. These data were not used in any other documented functionality of CAMPARI, and the impact is therefore limited. We emphasize that the remainder of the output in http://campari.sourceforge.net/outputfiles.html#MFPT_CFEP_xxxxxxxx.dat was unaffected, i.e., only column 3 should contain different values when re-running the code.
- When using Monte Carlo pivot moves on nucleic acids (http://campari.sourceforge.net/keywords.html#NUCFREQ), the auxiliary keyword http://campari.sourceforge.net/keywords.html#NRNUC was not honored. In the corrected version, this keyword does set the average number of nucleic acid backbone dihedral angles to be sampled concurrently in a single pivot move, whereas previously all angles were sampled. This had no negative consequences for the ergodicity or correctness of the move set but it would needlessly lower the acceptance probability for pivot moves of this type. This bug did not affect any other move type, in particular it had no impact on nucleic acid sugar pucker or concerted rotation moves.
- When simulating from structural input that leads to chirality indicators in the Z matrix differing from their default CAMPARI values, a restart of such a run would not correctly preserve these altered chirality indicators. This could lead to unexpected changes in coordinates upon rebuilding caused by the samplers (in particular, during torsional dynamics runs). This was fixed by forcing the Z matrix to be rebuilt during processing of the restart files. In order to keep restart files backwards-compatible, the Z matrix information is (for now) retained in the restart files.
- In gradient-based calculations, some of the long range electrostatics models (http://campari.sourceforge.net/keywords.html#LREL_MD was either 4 or 5) would not correctly respect requests for ghosting these interactions, i.e., if http://campari.sourceforge.net/keywords.html#GHOST was 1 and http://campari.sourceforge.net/keywords.html#FEG_POLAR was less than 1.0. This is now fixed. Note that ghosting only supports fully explicit (in vacuo) simulations, for which these models were very unlikely to be used to begin with.
- When using the reaction-field method (http://campari.sourceforge.net/keywords.html#LREL_MD is 3) with ghosting of interactions, it was possible that some interactions were not truncated in sequence neighbors even though their distance exceeded the hard reaction-field cutoff (the functional form is numerically well-defined but no longer meaningful beyond the cutoff). This has been fixed. Note that this only applies to gradient-based methods due to restrictions on the use of the reaction-field correction.
- When using the global secondary structure restraint potential, http://campari.sourceforge.net/keywords.html#SC_ZSEC, torsional dynamics simulations featuring proline in a polypeptide sequence could fail due to a missing check. This has been corrected.
- The group-based cutoffs in CAMPARI are evaluated at the residue level, which leads to very large groups. The revised code has radii that are shrunk to remove a buffer radius used previously. This can of course alter cutoff-dependent energy and force evaluations slightly (in a desirable way).
The rest are minor and/or generally silent issues:
- We fixed an error when setting up ABSINTH solvation groups for glutamine in a united atom representation (http://campari.sourceforge.net/keywords.html#UAMODEL is 1 or 2). ABSINTH is of course parameterized explicitly in an all-atom representation.
- We fixed a data type inconsistency encountered for box variables when writing out trajectory data in NetCDF format (http://campari.sourceforge.net/keywords.html#XYZPDB is 5).
- We fixed a few instances of undefined variables being erroneously accessed during the setup stage of a simulation.
- We corrected a broken sanity check for the PME method that could be triggered for values of the B-spline order that are large in relation to the lattice size.
- We increased the consistency of calculating the spatial density restraint potential, http://campari.sourceforge.net/keywords.html#SC_EMICRO, at the beginning of a new Monte Carlo segment in hybrid MC/dynamics runs.
- We implemented an additional check to avoid floating point exceptions when using the polymeric biasing potential, http://campari.sourceforge.net/keywords.html#SC_POLY, in the presence of monoatomic ions. Similarly, we fixed a bug when using single dihedral angle pivot moves, http://campari.sourceforge.net/keywords.html#OTHERFREQ, with the polymeric biasing potential.
- We fixed reporting errors for keyword http://campari.sourceforge.net/keywords.html#MPIAVG_XYZ and for parallel Wang-Landau runs.
- We increased the robustness of structure read-in with missing atoms.
- To increase robustness and decrease warning messages about bond angles, we adjusted the Z matrix setup for the tryptophan sidechain slightly.
- We increased the tolerance for reading in distance bins for tabulated potentials, http://campari.sourceforge.net/keywords.html#SC_TABUL.
- We added a missing check needed to exclude unsupported cases for the use of the spatial density potential (would otherwise exit with undiagnosed error).
- We corrected an error where the default for keyword http://campari.sourceforge.net/keywords.html#LREL_MC (3) would be overridden by supplying an out-of-range value to this keyword in the key-file.
- We removed a superfluous argument from a NetCDF-related helper function.
We apologize for any inconvenience these errors may have caused.
- The CAMPARI development team
*** Update October 13th 2014 ***
We have identified a bug in the replica exchange code that would evaluate a condition for exchange incorrectly if two or more swaps within a cycle affected the same replica in a specific way. To trigger the bug, the following must hold:
FMCSC_REMC must be 1 (replica exchange is in use with the MPI executable).
FMCSC_RENBMODE must be 2.
FMCSC_REFREQ must be less than FMCSC_NRSTEPS.
FMCSC_RESWAPS must be greater than 1.
FMCSC_REPLICAS must be greater than 2.
To illustrate the bug, consider the following. Suppose there are 4 replicas. Upon an accepted the swap of replicas of 2 and 3, we have the map 1 3 2 4. If 1 had been picked now for exchange, we may propose the map 3 1 2 4. This, however, requires cross energies for the original replicas 1 and 3. The bug consisted of not having this information available, which means that either the proposal is rejected (this is OK), or it is accepted (which is potentially spurious). In CAMPARI V2, this is easily diagnosed through the trace file (N_000_REXTRACE.dat). Historically, the source of the error is that all cross-energies used to be available by default but that this was changed without introducing a correction.
Unless FMCSC_RESWAPS is much larger than the number of replicas and unless the arrangement of replicas is unusual, the practical relevance of the bug is likely to be negligible. This is because of the following:
1) Replicas are arranged typically in such a way that there is good energetic overlap between neighbors. By extension, this most often also means some overlap between replicas i and i+2/i-2. A swap accepted on account of spurious information is therefore unlikely to correspond to a situation of complete energetic incompatibility.
2) A high swap acceptance rate is both synonymous with large overlap in energies and is more likely to trigger the bug. It is therefore somewhat self-correcting.
3) When evaluating the difference term for acceptance, the missing terms were usually the values the (allocatable) vector was implicitly initialized to (most often 0.0). With net negative potential energies, this means that illicit swap attempts were very likely to be rejected categorically.
There is a one line fix to source file mcmove.f90, and the corrected file has been uploaded. Please make sure to use the latest CAMPARI version (04/2014) in conjunction with this correct source file.
We apologize for any inconveniences this error may have caused,
The CAMPARI development team
*** Update April 17th 2014 ***
We have in the meantime collected a number of smaller and/or silent bugs. Rather than uploading fixes for all of them individually, we have packaged a new archive that includes all the fixes and some minimal, cosmetic corrections. The changes are small in size, and it is straightforward to diff individual source files.
The list of bugs that could be triggered by CAMPARI is as follows:
- When performing analysis of NMR coupling constants - enabled by http://campari.sourceforge.net/keywords.html#ANGCALC - CAMPARI could crash if the first residue under consideration in a molecule was ineligible for this analysis.
- When analyzing type-generalized, intramolecular distance distributions in simulations using ensembles with fluctuating particle numbers, the test for physical presence was erroneous. This bug was specific to input modes 2 or 3 for http://campari.sourceforge.net/inputfiles.html#FMCSC_PCCODEFILE and to intramolecular terms.
- For replica exchange calculations with a mix of temperature and Hamiltonian parameters as exchange parameters, the analysis potentially printed out via http://campari.sourceforge.net/keywords.html#REOLCALC used incorrect temperature factors in the calculation of the average work and average free energy. This bug had no impact on any replica exchange simulation or on the output for any other type of replica exchange overlap quantity.
- When using the DSSP restraint potential - enabled by http://campari.sourceforge.net/keywords.html#SC_DSSP - it was possible to cause a crash by applying it to systems with missing reference atoms other than the backbone amide hydrogen (most likely for simulations of unsupported polypeptide residues or polypeptide caps).
- The reporting of box information in structural output was corrected and/or improved for most output formats.
- An erroneous field name was fixed in output file http://campari.sourceforge.net/outputfiles.html#STRUCT_CLUSTERING.graphml (geometric edge length).
- For simulations in ensembles with fluctuating particle numbers, the visualization script for structural output - http://campari.sourceforge.net/outputfiles.html#basename_VIS.vmd - may have contained an erroneous quotation mark preventing the script from working correctly.
- For simulations using custom constraints in Cartesian space by using input mode A for http://campari.sourceforge.net/inputfiles.html#FMCSC_FRZFILE (explicit freezing of x/y/z), drift removal and the associated accounting of the total number of constraints could be incorrect if an entire Cartesian dimension was removed as degrees of freedom (e.g., the z-coordinates of all atoms in the system were frozen).
The list of bugs that could be triggered only by modifying CAMPARI and using existing library functions are as follows:
- The 0th order B-spline was not handled correctly in subroutine cardBspline(...) in ewald.f90, and the derivatives were not set to zero explicitly for range exceptions.
- The field lensnb of custom type scluster was not copied in subroutine copy_cluster(...) in clustering_utils.f90.
All the aforementioned issues are fixed in the new archive. We apologize for any inconvenience this may have caused.
- The CAMPARI development team