Configuration

Ximmer is designed to run “out of the box” with some reasonably sensible defaults. Nonetheless, there are some global settings (not specific to any specific analysis or simulation) that you may wish customize to optimise the configuration for your environment.

Set paths for Python

Ximmer requires Python 2.7 and depends on a specific set of libraries. If these libraries are already available, Ximmer will find them and use them automatically. If not, it will try to install them using pip or conda. If Python 2.7 is not your default Python version, edit the following two files to point Ximmer to where it can find a valid Python 2.7 installation. This can be a VirtualEnv environment, which can help to allow Ximmer to install the libraries it needs without interfering with other applications.

To set a custom Python executable, set the path in these two files:

  • <ximmer install>/eval/pipeline/config.groovy
  • <ximmer install>/eval/pipeline/bpipe.config

Set up Computational Environment

By default, Ximmer runs all its operations on the same computer that you run Ximmer on. Under the hood, however, Ximmer uses Bpipe which can interface with computational clusters to run jobs. If you would like to run Ximmer in such a way, edit /eval/pipeline/bpipe.config and adjust the settings in there accordingly. See the [Bpipe Documentation](http://docs.bpipe.org/Guides/ResourceManagers/) for information about the right format and settings to use.

If your environment uses modules or dotkit to control versions of tools, you can also set those in bpipe.config, or alternatively, you can change what Ximmer will use directly by editing eval/pipeline/config.groovy.

Set Concurrency to Use

By default Ximmer will try to use only 2 cores on the computer it runs on. If you have more cores available (particularly, if you are using a computational cluster), you can instruct Ximmer to use them. This part is configured in the per-analysis configuration file (along with your BAM files, samples and target region, as described in the Analyses section).

Simply add a line such as the example below to your simulation/analysis config.groovy:

concurrency=32

The above will allow Ximmer to use a total of 32 cores altogether. Note these may be distributed across multiple commands. If using a computational cluster, set it to the number of cores available in the whole cluster, or about 120, whichever is smaller.

Configuring an Analysis / Simulation

See the Analyses section for how to configure an individual simulation or anlaysis run.

Setting Java Flags

You can set arbitrary flags to configure the Java environment that ximmer uses by exporting the XIMMER_FLAGS environment variable.

Some parts of Ximmer may try to access the internet. If you need to set a proxy to enable internet access, you can do so using using a setting like:

export XIMMER_FLAGS="-Dhttp.proxyHost=your.proxy.host -Dhttp.proxyPort=8000"