Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
.. highlight:: none
.. _config:
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 :ref:`install`, this is a standard configuration
file that will work for you:
.. code-block:: python
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.
The email address used in contact information on the website and sent with
NCBI Entrez calls.
BATCH_NOTIFICATION_EMAIL
The email address used as sender in batch job notifications. If set to
`None`, the value of :ref:`EMAIL <config-email>` will be used.
`Default value:` `None`
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
.. _config-debug:
DEBUG
If set to `True`, Mutalyzer runs in debug mode and will show more
information with errors.
`Default value:` `False`
.. _config-cache-dir:
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.
================ =============================================================
================ =============================================================
PostgreSQL ``postgresql://mutalyzer:*****@localhost/mutalyzer``
MySQL ``mysql://mutalyzer:*****@localhost/mutalyzer?charset=utf8``
SQLite ``sqlite:////tmp/mutalyzer.db``
================ =============================================================
See the SQLAlchemy documentation on
`Engine Configuration
<http://docs.sqlalchemy.org/en/latest/core/engines.html>`_ for more
information.
`Default value:` ``sqlite://`` (in-memory SQLite database)
REDIS_URI
Redis connection URI (can be any `redis-py
<https://github.com/andymccurdy/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.
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
`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
<http://docs.python.org/2/library/time.html#time.strftime>`_.
`Default value:` ``%Y-%m-%d %H:%M:%S``
Website settings
^^^^^^^^^^^^^^^^
.. _config-reverse-proxied:
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`
.. _config-website-root-url:
WEBSITE_ROOT_URL
URL to the website root (without trailing slash). Used for generating
download links in the batch scheduler.
`Default value:` `None`
.. _config-soap-wsdl-url:
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.
.. _config-json-root-url:
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.
Piwik settings
^^^^^^^^^^^^^^
`Piwik <http://piwik.org/>`_ 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
`Default value:` `60 * 60 * 24 * 30` (30 days)
USE_RELOADER
Enable the `Werkzeug reloader
<http://werkzeug.pocoo.org/docs/0.10/serving/#reloader>`_ for the website.
This is disabled by default due to `a bug with using the reloader
<https://github.com/mitsuhiko/werkzeug/issues/461#issuecomment-139369694>`_
in combination with ``python -m mutalyzer.entrypoints.website``.
`Default value:` `False`