Snapshot selection - martaenciso/BIT_FED GitHub Wiki

One of the key aspects of BIT_FED compared to other swarm methods is how the snapshots that will be re-launched are selected. BIT_FED uses a completely automated procedure based on the relative probabilities of the observed configurations. In addition, it includes a number of stop criteria to end the simulation once the sampling is sufficiently extensive (click here for more information).

In each epoch several snapshots are collected throughout the simulations. Then, these snapshots are clustered according to the relevant collective variables (in the case of deca-alanine, radius of gyration and helical content) in a number of bins.

BIT_FED relies on the effective sampling of the configurational space accessible by the system. This is not achieved by biasing the Hamiltonian in the simulation run, but by selecting those bins that are a priori more promising. The BIT_FED algorithm uses two strategies that can be freely combined by the user: (a) selection of relevant bins and (b) treatment of already visited bins.

Selection of relevant bins

Some of the snapshots collected in one epoch will be selected as starting points for the next epoch. This selection can be done in three different ways (selected by the user at the beginning of the BIT_FED simulation through the cas variable in the BIT_FED.sh script):

  1. cas=0: Randomly chosen starting configurations from all the snapshots generated in the previous epoch.

  2. cas=1: Randomly chosen starting configurations from snapshots lying the most populated bins (the user can select the number of bins that should be considered there).

  3. cas=2: Randomly chosen starting configurations from snapshots lying the least populated bins (again, the user can select the number of bins that should be considered there).

Although any option is valid, most of the results we have produced have used option (2).

The BIT_FED.sh script calls the FORTRAN program SelectSnapshots.f90 for this task. The program generates a number of files:

  • chosen_from_epochN.log: log file generated for each epoch N.
  • chosen_from_epochN.out: output file generated for each epoch N. This file contains the information that the main script needs to generate the next epoch.
  • visited.txt: this file keeps track of all the bins that have been visited
  • launched.txt: this file contains a list with all the bins from which the program has spawned.

Treatment of already visited bins

One of the perils of any searching method is to get trapped in local minima. One way to avoid this in BIT_FED is not to allow to spawn from each bin more than once. This option can be activated or deactivated by the user through the variable forever in the BIT_FED.sh script.