Profiles

Profile Configuration

Profiles define execution environments using YAML files. Like pipelines, profiles must be placed in a Python module (directory with __init__.py).

Profile Structure

A profile requires these main sections:

  1. info
    • description: Profile purpose

    • date: Creation/update date

    • version: Profile version

  2. files
    • Reference data paths

    • Input/output directories

    • Resource locations

  3. programs
    • Software configurations

    • Environment modules

    • Container images

Example Profiles

Basic Path-based Profile:

Path-based profile example
info:
   description: Test Profile
   date:        23/11/2020
genome_build: hg38
files:
   genome_fa:    /abs/path/to/fasta.fa
   genome_fa_gz: /abs/path/to/fasta.fa.gz
   dummy_file:   /just/a/dummy/file/for/testing.txt

programs:
   samtools_0:
      namespace: path@samtools
      version: 0.1.19
   samtools_1:
      namespace: path@samtools
      version: 1.2
   bwa:
      namespace: path@bwa
      version: 0.7.10
   star:
      namespace: path@star
      version: 2.5.1b
   alpine_3:
      namespace: path@alpine
      version: latest

Container-based Profile:

Docker profile example
info:
   description: Test Profile with Docker Namespace
   date:        23/11/2020
genome_build: hg38
files:
   genome_fa:    /abs/path/to/fasta.fa
   genome_fa_gz: /abs/path/to/fasta.fa.gz
   dummy_file:   /just/a/dummy/file/for/testing.txt

programs:
   samtools_0:
      namespace: path@samtools
      version: 0.1.19
   samtools_1:
      namespace: docker@biocontainers/samtools
      version: v1.7.0_cv4
   bwa:
      namespace: docker@biocontainers/bwa
      version: v0.7.15_cv4
   star:
      namespace: path@star
      version: 2.5.1b
   alpine_3:
      namespace: docker@alpine
      version: latest