Getting started¶
Quick example¶
If Baltica dependencies, baltica configuration and cluster configuration are available, use:
baltica <workflow> <config> --use-singularity
Note
Singularity requires a mountable temp directory, we recommend setting /tmp with export TMPDIR=/tmp/
- workflow:
all
: run end-to-end wokflowsqc
: run quality controlstringtie
: run de novo and guided transcriptome assemblyrmats
junctionseq
majiq
leafcutter
analysis
: run scripts for integration, annotation and reporting- config: project configuration file
Use --profile <cluster>
with a Snakemake cluster profile
or set the number of avaiable cores with --cores
. For more Snakemake parameters, check their documentation.
Warning
Baltica is under active development. Please contact us if you have any issues with this documentation.
Software environment¶
Baltica framework is based on:
- A python command-line interface
- Snakemake workflows
- Docker containers used with Singularity
- R scripts for processing, integrating, annotating, assigning biological features, and reporting
- a Rmarkdown report
We have developed it on the following computer environments:
- Distribution: Debian 10
- Kernel: 4.19.0-16-amd64
- gcc version: 8.3.0
- Python version: 3.7.7
- Singularity version: 3.7.3
- Snakemake version: 6.4.1
- Git version: 2.20.1
These versions should not matter because the workflows are run within Docker containers, as long Snakemake version > 6 and a recent Singularity version.
Baltica depends on python3, Singulary, and Snakemake:
Installation¶
git clone https://github.com/dieterich-lab/baltica
cd baltica
pip install .
Will install Baltica and its python dependencies. You may want to create a virtual environment before installing Baltica.
All other requirements are resolved with singularity containers. Baltica store its singularity containers at $HOME/.baltica/singularity/
.
Note
We plan to submit Baltica to the Python Package Index.
Warning
majiq requires an Academic or Commercial license for use. Users are required to obtain their licenses..
Executing Baltica¶
Use baltica cli
for current help documentation:
baltica --help
Baltica executor takes a single optional argument --verbose
, to detail its execution. Every other option is passed to Snakemake.
Test dataset¶
Baltica ships with a test dataset, located at the data/
directory. There is a configuration file for the test dataset. Users are required to update this configuration file. Please see the Baltica project configuration for further details.
Cluster profile¶
Snakemake supports distributed workflow execution in many different high-performance computer clusters, as detailed here. We recommend using cluster profiles and using it like:
baltica <workflow> <config> --use-singularity --profile <cluster>
(Advanced) Baltica workflows directly from Snakemake¶
Baltica workflows can be used directly with Snakemake without installation. However, there is limited support for it.
(Advanced) Set path to store singularity containers¶
The --singularity-prefix
option can be use directly:
baltica all config.yml --use-singularity --singularity-prefix $PWD/.singularity
Alternatively, with the --use-singularity
option and without the--singularity-prefix
option, Baltica uses $HOME/.baltica/singularity/
to store the containers. Accordingly, to update the containers, one can delete the content of $HOME/.baltica/singularity/
.