Configuration

This section describes how to configure Mutalyzer and includes a list of all available configuration settings.

Mutalyzer looks for its configuration in the file specified by the MUTALYZER_SETTINGS environment variable. Make sure to always have this environment variable set when invoking any component of Mutalyzer. One way of doing this is by exporting it:

$ export MUTALYZER_SETTINGS=~/mutalyzer/settings.py

If you like, you can add this command to your ~/.bashrc to have it executed every time you open a shell.

Another way is by prefixing your invocations with MUTALYZER_SETTINGS=.... For example:

$ MUTALYZER_SETTINGS=~/mutalyzer/settings.py mutalyzer-website

Example configuration

If you followed the steps in Installation, this is a standard configuration file that will work for you:

REDIS_URI = 'redis://localhost'
DATABASE_URI = 'postgresql://mutalyzer:*****@localhost/mutalyzer'

This is not yet a minimal configuration. In fact, you can run Mutalyzer without a configuration file since the default configuration works out of the box. The default configuration uses a mock Redis instance, an in-memory database backend and a temporary directory for cache and log files, so it is not recommended for anything more than playing around.

The next section describes all available configuration settings.

Configuration settings

Note that the configuration file is interpreted as a Python module, so you can use arbitrary Python expressions as configuration values, or even import other modules in it.

Unsetting a configuration setting is done by using the value None. If no default value is mentioned for any configuration setting below it means it is not set by default.

EMAIL

The email address used in contact information on the website and sent with NCBI Entrez calls.

Default value: mutalyzer@humgen.nl

BATCH_NOTIFICATION_EMAIL

The email address used as sender in batch job notifications. If set to None, the value of EMAIL will be used.

Default value: None

DEBUG

If set to True, Mutalyzer runs in debug mode and will show more information with errors.

Default value: False

CACHE_DIR

The cache directory which is used to store uploaded and downloaded files such as reference files from the NCBI and batch job results.

Default value: /tmp

User input settings

MAX_FILE_SIZE

Maximum size for uploaded and downloaded files (in bytes).

Default value: 10 * 1048576 (10 MB)

EXTRACTOR_MAX_INPUT_LENGTH

Maximum sequence length for description extractor (in bases).

Default value: 50 * 1000 (50 Kbp)

BATCH_JOBS_ERROR_THRESHOLD

Allow for this fraction of errors in batch jobs.

Default value: 0.05

Database settings

DATABASE_URI

SQLAlchemy database connection URI specifying the database used to store users, samples, variants, etcetera.

Database system Example URI
PostgreSQL postgresql://mutalyzer:*****@localhost/mutalyzer
MySQL mysql://mutalyzer:*****@localhost/mutalyzer?charset=utf8
SQLite sqlite:////tmp/mutalyzer.db

See the SQLAlchemy documentation on Engine Configuration for more information.

Default value: sqlite:// (in-memory SQLite database)

REDIS_URI

Redis connection URI (can be any redis-py connection URI). Set to None to silently use a mock Redis. Redis is only used for non-essential features such as caching of external resources.

Default value: None

Settings for output and logging

All Mutalyzer messages come with a level which can be one of:

Level Alias Meaning
-1 Log Specifically log a message.
0 Debug Debug information.
1 Info Info.
2 Warning Regular warnings.
3 Error Serious errors that can be compensated for.
4 Fatal Errors that are not recoverable.
5 Off Can be used as a log/output level to turn off output.
LOG_FILE

Name and location of the log file.

Default value: /tmp/mutalyzer.log

LOG_LEVEL

Level of logged messages.

Default value: 3

OUTPUT_LEVEL

Level of output messages.

Default value: 1

LOG_TIME_FORMAT

Format of time prefix for log messages. Can be anything that is accepted as the format argument of time.strftime.

Default value: %Y-%m-%d %H:%M:%S

Website settings

REVERSE_PROXIED

If set to True, the WSGI application runs behind a reverse proxy (e.g., nginx using proxy_pass). This needs to be set if the application is mapped to a URL other than / or a different HTTP scheme is used by the reverse proxy.

Default value: False

WEBSITE_ROOT_URL

URL to the website root (without trailing slash). Used for generating download links in the batch scheduler.

Default value: None

SOAP_WSDL_URL

URL to the SOAP webservice WSDL document. Used to build the WSDL document and for linking to it from the documentation page on the website.

Default value: None

JSON_ROOT_URL

URL to the HTTP/RPC+JSON webservice root (without trailing slash). Used for linking to it from the documentation page on the website.

Default value: None

Piwik settings

Piwik is an Open Source analytics platform. Mutalyzer has built-in support for visitor tracking with Piwik.

PIWIK

If set to True, Piwik is enabled and some Javascript tracking code is included in every Mutalyzer website page.

Default value: False

PIWIK_BASE_URL

Base URL for the Piwik server.

Default value: https://piwik.example.com

PIWIK_SITE_ID

Piwik site ID for Mutalyzer.

Default value: 1

Miscellaneous settings

LRG_PREFIX_URL

Prefix URL from where LRG files are fetched.

Default value: ftp://ftp.ebi.ac.uk/pub/databases/lrgex/SCHEMA_1_7_ARCHIVE/

DEFAULT_ASSEMBLY

Default genome assembly (by name or alias).

Default value: hg19

NEGATIVE_LINK_CACHE_EXPIRATION

Cache expiration time for negative transcript<->protein links from the NCBI (in seconds).

Default value: 60 * 60 * 24 * 30 (30 days)

USE_RELOADER

Enable the Werkzeug reloader for the website.

This is disabled by default due to a bug with using the reloader in combination with python -m mutalyzer.entrypoints.website.

Default value: False