Skip to content

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 wokflows
  • qc: run quality control
  • stringtie: run de novo and guided transcriptome assembly
  • rmats
  • 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/.