Skip to main content

Running APPLES on Windows

Installing prerequisite software

Installing Perl and Eclipse

One of the main advantages of installing PERL on a PC is that it allows code to be written and debugged in the Eclipse development environment. Instructions for installing this can be found here.

It is also necessary to install bioperl and ensemble, the instructions for which can be found here


Some of the APPLEs modules use R, which must be installed. In order for this to be available to Perl, the path to the R binary files must be appended to the windows 'path' environment variable.

It will also be necessary to install the 'Graph' package, which can be done from the R GUI using 'Packages/Install Packages'

Additional PERL Modules

As well as some standard additional modules (such as for MooseX support) APPLEs requires some additional APPLEs specific modules to be installed.

  • Class-MOP
  • namespace-clean
  • Chart-Gnuplot: Used by Conservation_profiles for plotting graphs)
  • Config-General:
  • File-Remove:
  • Statistics::R: Note that this only appears to be available from the perl packages at touchelle, which needs to be added to the list of active repositories in the perl package manager (Edit/preferences/repositries, select from drop-down list and click 'add')

Install gnuplot

Some of the APPLEs modules make use of the PERL gnu_plot module, which in turn makes use of the open source gnuplot. This can be downloaded and installed from:

There is no windows installer package, so the files need to be unzipped to a suitable location (e.g. C:\local\bin\gnuplot) and then the windows 'PATH' environment variable updated to include the path to the binaries (e.g. C:\local\bin\gnuplot\binary).

In addition, Chart::Gnuplot uses the convert function, which is part of the Imagemagick suite that can be downloaded and installed from:

I would suggest the ImageMagick-6.6.1-0-Q16-windows-static.exe version. The installer takes care of everything and nothing further needs to be done (Note that after installation, the windows command line 'convert' function is no longer available, as the 'convert' function from Imagemagick is picked up from the search path instead. This should not be a problem)

Install gcc

The binaries that have been written for APPLEs make used of variable length arrays, which is a C++ C99 feature not supported in the Microsoft C++ compiler (see here). A solution is to install gcc on windows. The easiest way of doing this is to install MinGW (Minimalist GNU for windows), which supports a range of GNU applications without the need for them to run within CygWin. This can be downloaded and installed from:

and installing the g++ compiler as well as the base tools. The source directory can be changed to one other than the default (e.g. C:\local\bin\MinGW\) but it is recommended that it not include spaces because GNU utilities have a habit of not working correctly when directory paths include spaces as this is not supported in OSs other than Windows).

After installation it is necessary to add the path to the newly installed binaries (e.g. C:\local\bin\MinGW\bin) to the PATH environment variable so that they can be run from the command line.

After installation the C source code provided by APPLEs can be compiled from the Windows command line in exactly the same way as is done on the other installations.

Windows specific APPLEs installation and configuration

Most of the configuration and running of APPLEs is much the same as when it is run on the server, apart from:

Editting the .dat files

The .dat files use the UNIX line feed format, and are best editted with an editor such as VIM, rather than notepad.

Accessing the APPLEs cache data

In order to run, APPLEs needs to access a MySQL database that runs on a Warwick Server. This can be accessed from a PC by setting up a SSH tunnel using putty.

Putty should be used to log into (which will require the use of a security key). Connection/SSH/Tunnels should then be setup to provide an SSH tunnel between the source port 3306 and the destination

This can then be saved as a putty session, so make it easier to use next time.

In the 'cache_main.dat' config file the db_server line should be changed to:

db_server = localhost ### Name of server hosting database read from config

Accessing the BIFA Server

APPLEs also requires access to the BIFA server. This can be acheived by first connecting to the BIFA server using the APPLEs client. If this is not installed then installation instructions can be found here. The action of connecting creates an SSH tunnel to the server which the APPLEs code is then also able to use. APPLEs can then use this tunnel by changing the BiFa Server configuration lines in APPLEs.dat to:

BiFa_Server_Name =
BiFa_Server_Port = 4338

Configuring the grid

At the moment the use of a grid for submitting jobs to a queue is not supported for desktop running of APPLEs, and indeed there is no real purpose in running APPLEs in this way on a PC, and it makes debugging more difficult. Consequently grid should be set to 0. It is still necessary to setup the queue and input directories.

grid = 0