Some notes on the GEMS (Genetically Evolving Models in Science) project code.

The software for this project has been developed using Common Lisp, with some supporting analysis carried out in other systems.

The project code is organised into two packages:

(require :gems)

provides the basic functionality. For convenience, the package is internally organised into sub-packages: builder, gems-logger, gpstats, mini-gp and syntax-tree. It requires alexandria.

(require :gems/tk)

includes the basic functionality in gems, and adds support for constructing graphical interfaces. It requires ltk and ltk-plotchart.

To get started:

  1. Download and Install the software.

  2. To get started, work through the "tutorial" examples in gems-examples along with the tutorial slides from the workshop.

  3. Further examples are included, based on publications, and may be used to develop further models.

The GEMS software and associated documentation is open-source software licensed under The MIT Licence and available from https://codeberg.org/gems.

Download and Install

Details
To get the GEMS software

Download and unzip the latest release.

To install the GEMS software
Portacle

If you are using portacle, then copy the folder into "portacle/projects". Remove any other "gems" folders.

Standard ASDF

Make the "src" folder available to the asdf system (depending on your installation and setup, this is done by copying or linking "src" to the appropriate folder: e.g. on Linux, "~/common-lisp/", or on Windows, "/Users/YOURNAME/common-lisp/").

For convenience, the "src" folder contains copies of required and optional libraries available separately from the project, but you may delete these if you have installed them separately:

  • alexandria - useful utility functions

  • confusion-matrix - for some statistical operations

  • ltk - for writing graphical interfaces

  • ltk-plotchart - for plotting various graphs and charts

The "examples" and "operators" folders should be copied to where you want to use GEMS. The text version of these notes is available in the "documentation" folder.

To install TCL/Tk and tklib

To use GEMS/Tk, you need to install the Tcl/Tk environment and the tklib extension library. How to do this varies with operating system.

See tcltk binaries - distributions including tklib can be found here.

on Linux/Mac OS X

The tk wish program is often already installed, but otherwise both tk and tklib can be obtained using your usual package manager.

example For example, in Ubuntu:

> sudo apt install tk
> sudo apt install tklib
on Windows 10 64 bit
  1. Download and install Active Tcl (you will be asked to create an account before downloading it).

  2. Download and unzip tklib-0.7.zip. Double-click "installer.tcl" to install the library.

To install from source

All source code is available at https://codeberg.org/gems/. Information on installing the GEMS system and its dependencies is available in the separate repositories.

To test the software

In a REPL:

* (asdf:test-system :gems)

Software Tools

The project implementation:

Lisp resources:

Links to selected libraries (some may need separate installation):

  • alexandria - utility library

  • confusion-matrix - for calculating experimental statistics like precision or f-measure

  • lhstats - general purpose statistics library

  • LTk - GUI library - tutorial

  • ltk-plotchart, used through LTk to create simple GUIs

  • uiop - built-in library, contains many useful utility functions