desist
manages running large-scale simulation pipelines for event-based in
silico clinical trials, where it supports users in creating, running, and
analysing in silico trials. The application assumes the underlying simulation
events are implemented in containerised environments, i.e. using either
Docker or
Singularity, and coupled using the provided
EventHandler
API. desist
implements various
Runner
s to evaluate the simulations---either
sequentially or (massively) parallel---on a variety of environments: ranging
from local machines to cloud-computing and HPC architectures, where GNU Parallel
and/or
QCG-PilotJob
are leveraged
for scheduling, distribution, and parallelisation of the individual simulation
events.
The desist
packages was originally developed to manage the in silico
simulations pipelines within the INSIST project
and later made publicly available for extensions to other event-based in
silico simulation pipelines. For more information, see the accompanying
publication.
The package requires a recent Python version
(>=3.8
). For a development version it is recommended to setup the package
within a virtual environment.
Then, to install the package within the virtual environment:
pip install -e .
To enable the QCG-PilotJob
runner you can include the [qcg]
feature:
pip install -e .[qcg]
To verify the installation, run desist --help
from the virtual environment and
you should see the command-line application's usage instructions.
General usage instructions are printed using desist --help
or more
specifically per command desist <command> --help
. Typical usage involves
mostly the trial
command and the create
, run
, and outcome
subcommands.
For more more detailed usage instructions and examples how to use and customise
desist
, please refer to the hosted
documentation (#18) or create the
documentation locally using make docs
or browsing the (raw) source files in
docs/source/
.
Contributions to desist
are welcomed and making pull requests is encouraged.
In case you are unsure about your feature, feel free to open an issue first for
discussion, before writing/submitting your pull request.
During development you might want to install the additional dependencies for
testing purposes, through pip install -e .[dev]
. The test suite can be
evaluated through pytest
.
For bugs, issues, or other problems experienced with desist
please open an
issue and we will try to help to resolve them.
When using desist
for your research project, please cite: des-ist: A Simulation Framework to Streamline Event-Based In Silico Trials
(DOI:
10.1007/978-3-030-77967-2_53
). The corresponding .bib
file is provided
in references.bib
.
Please make sure to properly acknowledge GNU Parallel
or QCG-PilotJob
depending on your usage:
Publications using desist
: