*** 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 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
*** 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