User Interface – command line 

Framsticks command line interface is faster and simpler than the GUI (no overheads), and it is especially recommended for long-term experiments. It can also act as a server.

To learn about command-line parameters, run frams -?

Interactive command-line

To run the interactive command-line program (with its own shell), just execute it. (For Windows console, run frams.exe; for UNIX/Linux, run frams).

Enter help to see help, enter lm to see more options. See frams.ini file, too. Note that you can access class browser (it is also available in Framsticks GUI).

To quit the program, enter qu, or the End-Of-Line character (^Z for Windows, ^D for UNIX/Linux).


You can use arguments, for example:

frams "lo e0.gen" "st 100000000" "sa last.gen" qu

means that you

  • run the program (all parameters are initialized to default values)
  • load e0.gen (a file with genotypes)
  • simulate 100 000 000 steps
  • save genotypes to last.gen
  • quit (qu)
Quotation marks are needed for parameters which contain spaces. Another example:

frams "lo exp_03.expt" "go"

means that you

  • run the program (all parameters are initialized to default values)
  • load exp_03.expt (a file with genotypes and simulation settings)
  • run simulation until the Control-C (or Control-Break) is pressed

Thus, if the exp_03.expt activates "autosave" option, then you will have periodic snapshot files of the simulation state. You can examine them with the GUI without stopping the command-line simulation, which can be interrupted by pressing control-C at any time.

Non-standard experiment definitions

If you are using an experiment definition different from standard.expdef, it is recommended to set it immediately, as the first argument in the command-line. To set a non-standard expdef, use the "expdef" macro: frams "expdef myowndefinition" ...


You can use batch mode, for example:

frams < commands.txt

where commands.txt file contains the commands you would enter interactively.

User-defined actions, scripts and macros

See cliutils.ini file for more examples.