PROFASI
Version 1.5

This program performs simulated tempering runs on single chain and multi chain systems.
Simulated tempering is a generalised ensemble Monte Carlo method in which the temperature of the Monte Carlo is regarded as as dynamic variable. This means, during a simulation the temperature can vary in a given discrete set of values (t_{0},t_{1}, t_{2}, ...t_{n1}), with t_{0} > t_{1} > t_{2} > ... t_{n1} . The inverse temperatures satisfy By default, this discrete set of temperature values is chosen to be a geometric series: t_{i} = t _{0} r^{i} . After a predetermined number of elementary MC updates (typically after every sweep, which consists of N_{dof} elementary MC updates in ProFASi v. 1.5 by default), an update of the temperature variable is attempted. The system temperature can change to one of its nearest neighbouring temperatures in the temperature set, and this is a random event with probability depending on total energy E, the temperatures and a set of simulated tempering parameters (g_{0}, g_{1},...,g_{n1}) corresponding to the temperatures: . and are the changes of (inverse) temperature and g.
The gparameters are unknown properties of the system, which must be determined through the simulations. This is done using an iterative procedure as will be explained now. We run a simulated tempering simulation with a certain set of gparameters, and observe how often different temperatures in the temperature set are visited. We calculate a new set of gparameters, given by g'_{i} = g_{i} + log(p_{i}), where p_{i} are the probabilities of occurence of different temperatures. The g' values are then used as the gparameters for a new simulation. This process is repeated until the calculated changes to the gparameters are negligible. Tuturial Tutorial 3: Simulated annealing gives a walk through of this procedure with ProFASi.
Except for the multiple temperatures and temperature updates, simulated tempering is just like a canonical Monte Carlo. So, this program is also just like BasicMCRun in its usage. All options that can be passed to that program can also be used with this. To see how to set up the protein population, the force field, random numbers etc, look at the BasicMCRun program reference. In addition there are a few options unique to simulated tempering, which will be described here.