PROFASI  Version 1.5
SimAnnealRun program reference

Brief description of simulated annealing

In simulated annealing, canonical Monte Carlo simulations are carried out with a progressively decreasing temperature. At the higher temepratures the MC simulation samples the energy landscape with a coarse resolution, and as the temperature goes down, it starts to distinguish between finer and finer details. If the cooling is slow enough and the process of high temperature equilibration and the subsequent cooling is repeated many times, the global minimum in the energy landscape is very likely to be found.

The program SimAnnealRun performs simulated annealing using ProFASi libraries. The actual temperature at each temperature step, as well as the number of Monte Carlo sweeps performed at that temperature can be controlled through a "schema". The default is a geometric progression of temperatures (constant ratio between adjacent temperatures), with a fixed number (500) of Monte Carlo sweeps at each temperature. But any alternative schema can be provided using a schema file, specified by the "schema_file" command in the settings file or on the command line as described below in Simulated Annealing schema file.

SimTempRun starts an annealing cycle by initialising the population in a specified manner. For instance, if option init_config was set to "stretched", the chains are put to a stretched conformation. If it is "random" (default), a random conformation is used. If it is "file://someconfig.tcnf", the population is initialised to the conformation stored in the file "someconfig.tcnf". It then performs a specified number of Monte Carlo sweeps at the highest temperature. Then the temperature is reduced to the next lower temperature and the required number of sweeps at that temperature are carried out. When the required number of Monte Carlo sweeps at all temperatures are finished, a new annealing cycle is started at the highest temperature.

An annealing cycle is started only if there is a sufficient number of Monte Carlo cycles remaining. For instance, if there are 20 temperatures, each with 1000 sweeps, and a total number of 50000 sweeps are requested, the run will stop when 2 annealing cycles, i.e., 40000 sweeps are finished.

It is recommended that you use the switch "–no-histograms" to suppress generation of histograms if you decide to run simulated annealing with a large number of temperatures and only a few sweeps at each temperature.


Most options available on the command line in the BasicMCRun program work with SimAnnealRun. To see how to set up the population, force field etc, please see BasicMCRun program reference. The following are some extra options for simulated annealing.

Note that if a schema file is specified with the "–schema_file" option, minimum and maximum temperatures, number of temperatures and number of cycles at each separate temperature is read from the schema file. The other options above are then ignored.

See Also
BasicMCRun program reference

Simulated Annealing schema file

The schema file should contain 2 columns: temperature and the number of sweeps at that temperature. The temperature values are assumed to be in the PROFASI internal units by default. To enter temperatures in Kelvin, you should have a comment line at the top with the entry "#temperature Kelvin". To enter inverse temperatures, that line should be "#temperature inverted". In order to give the user complete freedom to devise any temperature "lowering" scheme, the SimAnnealRun program simply follows the temperatures in the order they appear in the schema file, without any attempt to sort them. So, the first entry should normally be the highest temperature with successive entries at lower and lower temperatures. You can arbitrarily choose how many sweeps to perform at each temperature. Here is an example schema file.

#temperature Kelvin
400 100
350 120
330 500
320 1000
315 3000
310 1000
300 1000
290 1000
280 1000
270 1000
See Also
BasicMCRun program reference

PROFASI: Protein Folding and Aggregation Simulator, Version 1.5
© (2005-2016) Anders Irbäck and Sandipan Mohanty
Documentation generated on Mon Jul 18 2016 using Doxygen version 1.8.2