SOLIDA is command-line solution that facilitate the reproducibility and portability of NGS pipelines. It can easily organize the deployment, the data management and the execution of a Snakemake based workflow.
You can install the latest stable version from PyPI
pip install solida
To run Solida, Conda e Mamba must be presents in your computer.
To install Conda, see https://conda.io/miniconda.html
To install Mamba, see https://github.com/mamba-org/mamba
conda install -c conda-forge mamba
To check version:
solida -v
To list all the pipelines enabled, digit
solida info
To check if both pipeline and profile are available, digit:
solida setup -l pipeline_label -p profile_label
Before to deploy a pipeline, you have to create a project profile:
solida setup -l pipeline_label -p profile_label --create-profile
Solida will create a yaml file named profile_label.yaml into ~/solida_profiles
Edit the profile_label.yaml to match your environment settings.
After that, deploy the pipeline into localhost with:
solida setup -l pipeline_label -p profile_label --deploy
If you want to deploy the pipeline into a remote host, add these arguments:
solida setup -l pipeline_label -p profile_label --deploy --host remote_host
--remote-user username --connection ssh
where:
--host is the hostname of the remote host
--remote-user is a username available in the remote host
--connection is the type of connection to use
Pay attention, remote_user have to be able to do ssh login into remote_host without password (SSH Key-Based Authentication)
Solida provides a bash script, run.project.sh, to facilitate the workflow execution.
run.project.sh [-h] [-s Snakefile] -c FILENAME [-w DIR] [-p "parameters"] --script to execute a snakemake workflow
where:
-h show this help text
-s path to a Snakefile different from the default one (Snakefile).
-c path to the snakemake's configuration file.
-w is the project's workdir label. Default is current timestamp.
-p snakemake parameters as "--rerun-incomplete --dryrun --keep-going --restart-time"
Use -s to specify a different Snakefile.
If you don't give the script a workdir label (-w), a directory with the current timestamp as label will be created and used to collect results into.
Option -c is mandatory and have to be the path to the snakemake's configuration file.
Option -p permit to provide the script all the snakemake parameters (don't forget to encapsulate them with """).