Snakemake Workflow

TiRank provides a Snakemake workflow under the repository’s workflow/ directory to support reproducible end-to-end execution with Snakemake-managed conda environments.

Why we recommend a fixed Snakemake version

Snakemake behavior and dependency resolution can change across versions. For consistent and reproducible execution, we recommend installing a fixed Snakemake release (currently 7.32.4).

conda create -n tirank_smk -c conda-forge -c bioconda python=3.9 snakemake=7.32.4
conda activate tirank_smk

Running the workflow with conda environment management

Run from the TiRank repository root:

snakemake --snakefile workflow/Snakefile \
          --configfile workflow/config/config.yaml \
          --use-conda --cores 8

Notes: - --use-conda enables Snakemake to automatically create and manage rule environments. - Configuration is provided via the repository’s workflow config file. Adjust it as needed before running.

Repository layout and Snakemake deployment guidance

Snakemake recommends separating workflow code (workflow/) from configuration (often a top-level config/ directory) for distribution and reproducibility.

TiRank is distributed as a software repository that includes a namespaced workflow. To keep workflow assets clearly scoped, TiRank stores workflow configuration under workflow/config/ while preserving the key separation of concerns (workflow code vs. configuration vs. environments).

If you prefer a standalone Snakemake workflow repository, you can treat: - workflow/ as the Snakemake workflow folder, and - workflow/config/ as the configuration folder for that workflow.