diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index afa6f3e176d497f25988c4fc0be7f277da846103..91ff05f215165c41c6ae063a84ab0db58914bc59 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,17 +1,21 @@
-image: snakemake/snakemake:v5.9.1
+image: continuumio/miniconda3:4.7.12
 
 before_script:
-  - apt update
-  - apt install -y unzip
-  - pip install -r scripts/requirements.txt
+  - apt update && apt install -y gcc
+  - conda init bash && source ~/.bashrc && echo $CONDA_DEFAULT_ENV
+  - conda env create -f install/environment.root.yml
+  - conda activate rnaseq_pipeline && echo $CONDA_DEFAULT_ENV
+  - conda env update -f install/environment.dev.yml
 
 test:
   script:
     # add code quality tests here
     # add unit tests here
     # add script tests here
-    - bash tests/test_scripts_labkey_to_snakemake/test.sh
+    - bash tests/test_scripts_labkey_to_snakemake_table/test.sh
+    - bash tests/test_scripts_labkey_to_snakemake_api/test.sh
     # add integration tests here
-    - bash tests/test_create_dag_chart/test.sh
+    - bash tests/test_create_dag_image/test.sh
+    - bash tests/test_create_rule_graph/test.sh
     - bash tests/test_integration_workflow/test.local.sh
 
diff --git a/README.md b/README.md
index 12afd7bfd7981314b5363354e8dbf128f43b792a..c77c22f7455bb8501e22c012e2540485c11eac4f 100644
--- a/README.md
+++ b/README.md
@@ -1,75 +1,114 @@
 # RNA-Seq pipeline
 
-[Snakemake] workflow for general purpose RNA-Seq library annotation developed
-by the [Zavolan lab].
+[Snakemake][snakemake] workflow for general purpose RNA-Seq library annotation
+developed by the [Zavolan lab][zavolan-lab].
 
 Reads are processed, aligned, quantified and analyzed with state-of-the-art
 tools to give meaningful initial insights into various aspects of an RNA-Seq
 library while cutting down on hands-on time for bioinformaticians.
 
-The scheme below is a visual representation of an example run of the
-workflow:  
+Below is a visual representation of the individual workflow steps ("pe"
+refers to "paired-end"):
 
-> ![workflow_dag](images/workflow_dag.svg)
+> ![rule_graph][rule-graph]
+
+## Requirements
+
+Currently the workflow is only available for Linux distributions. It was tested
+on the following distributions:
+
+- CentOS 7.5
+- Debian 10
+- Ubuntu 16.04, 18.04
 
 ## Installation
 
-### Installing Singularity
+### Cloning the repository
+
+Traverse to the desired path on your file system, then clone the repository and
+move into it with:
+
+```bash
+git clone ssh://git@git.scicore.unibas.ch:2222/zavolan_group/pipelines/rnaseqpipeline.git
+cd rnaseqpipeline
+```
+
+### Installing Conda
+
+Workflow dependencies can be conveniently installed with the [Conda][conda]
+package manager. We recommend that you install
+[Miniconda][miniconda-installation] for your system (Linux). Be sure to select
+Python 3 option. The workflow was built and tested with `miniconda 4.7.12`.
+Other versions are not guaranteed to work as expected.
 
-For improved reproducibility and reusability of the workflow, as well as an
-easy means to run it on a high performance computing (HPC) cluster managed,
-e.g., by [Slurm], each individual step of the workflow runs in its own
-container. Specifically, containers are created out of [Singularity] images
-built for each software used within the workflow. As a consequence, running
-this workflow has very few individual dependencies. It does, however, require
-that Singularity be installed. See the links below for installation
-instructions for the most up-to-date (as of writing) as well as for the tested
-version (2.6.1) of Singularity:
+### Installing dependencies
 
-- [Singularity v3.5](https://sylabs.io/guides/3.5/user-guide/quick_start.html)
-- [Singularity v2.6](https://sylabs.io/guides/2.6/user-guide/installation.html)
+For improved reproducibility and reusability of the workflow,
+each individual step of the workflow runs in its own [Singularity][singularity]
+container. As a consequence, running this workflow has very few
+individual dependencies. It does, however, require Singularity to be installed
+on the system running the workflow. As the functional installation of
+Singularity requires root privileges, and Conda currently only provides
+Singularity for Linux architectures, the installation instructions are
+slightly different depending on your system/setup:
 
-### Setting up a Snakemake virtual environment
+#### For most users
 
-In addition to Singularity, [Snakemake] needs to be installed. We strongly
-recommended to do so via a virtual environment. Here we describe the steps
-necessary to set up such a virtual environment with a recent version (v4.4+) of
-the `conda` package manager. If you prefer to use another solution, such as
-`virtualenv`, adapt the steps according to the specific instructions of your
-preferred solution.
+If you do *not* have root privileges on the machine you want to run the
+workflow on *or* if you do not have a Linux machine, please [install
+Singularity][singularity-install] separately and in privileged mode, depending
+on your system. You may have to ask an authorized person (e.g., a systems
+administrator) to do that. This will almost certainly be required if you want
+to run the workflow on a high-performance computing (HPC) cluster. We have
+successfully tested the workflow with the following Singularity versions:
 
-If you do not have `conda` installed for Python3, we recommend to install the
-minimal version (Python and package manager) [Miniconda] (see the link for
-installation instructions). Be sure to select the correct version for your
-operating system and ensure that you select the Python 3 option.
+- `v2.4.5`
+- `v2.6.2`
+- `v3.5.2`
 
-To create and activate the environment, run:
+After installing Singularity, install the remaining dependencies with:
 
 ```bash
-conda create -n rnaseq_pipeline \
-    -c bioconda \
-    -c conda-forge \
-    snakemake=5.10.0
-conda activate rnaseq_pipeline
+conda env create -f install/environment.yml
 ```
 
-### Cloning the repository
+#### As root user on Linux
 
-Traverse to the desired path on your file system, then clone the repository and
-move into it with:
+If you have a Linux machine, as well as root privileges, (e.g., if you plan to
+run the workflow on your own computer), you can execute the following command
+to include Singularity in the Conda environment:
 
 ```bash
-git clone ssh://git@git.scicore.unibas.ch:2222/zavolan_group/pipelines/rnaseqpipeline.git
-cd rnaseqpipeline
+conda env create -f install/environment.root.yml
 ```
 
-All installation requirements should now be met with.
+### Activate environment
+
+Activate the Conda environment with:
+
+```bash
+conda activate rnaseq_pipeline
+```
+
+### Installing non-essential dependencies
+
+Most tests have additional dependencies. If you are planning to run tests, you
+will need to install these by executing the following command _in your active
+Conda environment_:
+
+```bash
+conda env update -f install/environment.dev.yml
+```
 
 ## Testing the installation
 
-We have prepared several tests to check the integrity of the workflow. The
-most important one lets you execute the workflow on a small set of example
-input files.
+We have prepared several tests to check the integrity of the workflow, its
+components and non-essential processing scripts. These can be found in
+subdirectories of the `tests/` directory. The most critical of these tests
+lets you execute the entire workflow on a small set of example input files.
+Note that for this and other tests to complete without issues,
+[additional dependencies](#installing-non-essential-dependencies) need to be
+installed.
 
 ### Run workflow on local machine
 
@@ -81,10 +120,11 @@ bash tests/test_integration_workflow/test.local.sh
 
 ### Run workflow via Slurm
 
-Execute the following command to run the test workflow on a Slurm-managed HPC.
+Execute the following command to run the test workflow on a
+[Slurm][slurm]-managed high-performance computing (HPC) cluster:
 
 ```bash
-bash tests/test_integration_workflow/test.local.sh
+bash tests/test_integration_workflow/test.slurm.sh
 ```
 
 > **NOTE:** Depending on the configuration of your Slurm installation or if
@@ -100,8 +140,8 @@ bash tests/test_integration_workflow/test.local.sh
 create a directory for your workflow run and traverse inside it with:
 
     ```bash
-    mkdir runs/my_run
-    cd runs/my_run
+    mkdir config/my_run
+    cd config/my_run
     ```
 
 2. Create empty sample table, workflow configuration and, if necessary, cluster
@@ -133,7 +173,6 @@ your run.
     ```bash
     cat << "EOF" > run.sh
     #!/bin/bash
-    mkdir -p logs/local_log
     snakemake \
         --snakefile="../../snakemake/Snakefile" \
         --configfile="config.yaml" \
@@ -176,14 +215,14 @@ your run.
 
 ### Configuring workflow runs via LabKey tables
 
-Our lab stores metadata for sequencing samples in a locally deployed [LabKey]
-instance. This repository provides two scripts that give programmatic access to
-the LabKey data table and convert it to the corresponding workflow inputs
-(`samples.tsv` and `config.yaml`), respectively. As such, these scripts largely
-automate step 3. of the above instructions. However, as these scripts were
-specifically for the needs of our lab, they are likely not portable or, at
-least, will require considerable modification for other setups (e.g., different
-LabKey table structure).
+Our lab stores metadata for sequencing samples in a locally deployed
+[LabKey][labkey] instance. This repository provides two scripts that give
+programmatic access to the LabKey data table and convert it to the
+corresponding workflow inputs (`samples.tsv` and `config.yaml`), respectively.
+As such, these scripts largely automate step 3. of the above instructions.
+However, as these scripts were specifically for the needs of our lab, they are
+likely not portable or, at least, will require considerable modification for
+other setups (e.g., different LabKey table structure).
 
 > **NOTE:** All of the below steps assume that your current working directory
 > is the repository's root directory.
@@ -207,28 +246,19 @@ you do not have these):
     EOF
     ```
 
-3. Run the LabKey API client script:
-
-    ```bash
-    python scripts/labkey_api.py <project_name> <labkey_table_nane>
-    ```
-
-    > **NOTE:** Right now the script only prints a `pandas` data frame
-    > representation of the LabKey table on the screen and manually needs to be
-    > saved to a file for the next step. Ultimately the script will produce
-    > either a file in table format or will be merged with the following
-    > script.
-
-4. Generate the workflow configuration with the following command, after
-replacing the placeholders with the appropriate values:
+3. Generate the workflow configuration with the following command, after
+replacing the placeholders with the appropriate values (check out the
+help screen with option '--help' for further options and information):
 
     ```bash
-    python scripts scripts/labkey_to_snakemake.py \
-        --input_table=<labkey_output_table> \
-        --input_dict="scripts/input_dict.tsv" \
-        --config_file="runs/my_run/config.yaml" \
-        --samples_table="runs/my_run/samples.tsv" \
-        --genomes_path=<path_to_annotation_files>
+    python scripts/labkey_to_snakemake.py \
+        --input_dict="scripts/labkey_to_snakemake.dict.tsv" \
+        --config_file="config/my_run/config.yaml" \
+        --samples_table="config/my_run/samples.tsv" \
+        --remote \
+        --project-name="project_name" \
+        --table-name="table_name" \
+        <path_to_annotation_files>
     ```
 
 #### Additional information
@@ -289,10 +319,13 @@ Cycles | cycles
 Molecule | molecule
 Contaminant sequences | contaminant_seqs
 
+[conda]: <https://docs.conda.io/projects/conda/en/latest/index.html>
 [cluster execution]: <https://snakemake.readthedocs.io/en/stable/executing/cluster-cloud.html#cluster-execution>
-[LabKey]: <https://www.labkey.com/>
-[Miniconda]: <https://docs.conda.io/en/latest/miniconda.html>
-[Snakemake]: <https://snakemake.readthedocs.io/en/stable/>
-[Singularity]: <https://sylabs.io/singularity/>
-[Slurm]: <https://slurm.schedmd.com/documentation.html>
-[Zavolan lab]: <https://www.biozentrum.unibas.ch/research/researchgroups/overview/unit/zavolan/research-group-mihaela-zavolan/>
+[labkey]: <https://www.labkey.com/>
+[miniconda-installation]: <https://docs.conda.io/en/latest/miniconda.html>
+[rule-graph]: images/rule_graph.svg
+[snakemake]: <https://snakemake.readthedocs.io/en/stable/>
+[singularity]: <https://sylabs.io/singularity/>
+[singularity-install]: <https://sylabs.io/guides/3.5/admin-guide/installation.html>
+[slurm]: <https://slurm.schedmd.com/documentation.html>
+[zavolan-lab]: <https://www.biozentrum.unibas.ch/research/researchgroups/overview/unit/zavolan/research-group-mihaela-zavolan/>
diff --git a/Snakefile b/Snakefile
new file mode 100644
index 0000000000000000000000000000000000000000..647635105669b89270297800c02044b180309a31
--- /dev/null
+++ b/Snakefile
@@ -0,0 +1,432 @@
+"""General purpose RNA-Seq analysis pipeline developed by the Zavolan Lab"""
+
+import os
+import sys
+
+import pandas as pd
+
+# Get sample table
+samples_table = pd.read_csv(
+    config['samples'],
+    header=0,
+    index_col=0,
+    comment='#',
+    engine='python',
+    sep="\t",
+)
+
+# Global config
+localrules: finish
+
+# Create log directories
+os.makedirs(
+    os.path.join(
+        os.getcwd(),
+        config['log_dir'],
+    ),
+    exist_ok=True,
+)
+if cluster_config:
+    os.makedirs(
+        os.path.join(
+            os.getcwd(),
+            os.path.dirname(cluster_config['__default__']['out']),
+        ),
+        exist_ok=True,
+    )
+
+# Include subworkflows
+include: os.path.join("workflow", "rules", "paired_end.snakefile.smk")
+include: os.path.join("workflow", "rules", "single_end.snakefile.smk")
+
+# Final rule
+rule finish:
+    """Rule for collecting outputs"""
+    input:
+        outdir1 = expand(
+            os.path.join(
+                config['output_dir'],
+                "{seqmode}",
+                "{sample}",
+                "mate1_fastqc",
+            ),
+            zip,
+            sample=[i for i in list(samples_table.index.values)],
+            seqmode=[
+                samples_table.loc[i, 'seqmode']
+                for i in list(samples_table.index.values)
+            ]
+        ),
+        salmon_gn_estimates = expand(
+            os.path.join(
+                config['output_dir'],
+                "{seqmode}",
+                "{sample}",
+                "salmon_quant",
+                "quant.genes.sf",
+            ),
+            zip,
+            sample=[i for i in list(samples_table.index.values)],
+            seqmode=[
+                samples_table.loc[i, 'seqmode']
+                for i in list(samples_table.index.values)
+            ]
+        ),
+        pseudoalignment = expand(
+            os.path.join(
+                config['output_dir'],
+                "{seqmode}",
+                "{sample}",
+                "quant_kallisto",
+                "{sample}.kallisto.pseudo.sam",
+            ),
+            zip,
+            sample=[i for i in list(samples_table.index.values)],
+            seqmode=[
+                samples_table.loc[i, 'seqmode']
+                for i in list(samples_table.index.values)
+            ]
+        ),
+        TIN_score = expand(
+            os.path.join(
+                config['output_dir'],
+                "{seqmode}",
+                "{sample}",
+                "TIN",
+                "TIN_score.tsv",
+            ),
+            zip,
+            sample=[i for i in list(samples_table.index.values)],
+            seqmode=[
+                samples_table.loc[i, 'seqmode']
+                for i in list(samples_table.index.values)
+            ]
+        ),
+        alfa_reports = expand(os.path.join(
+			config["output_dir"],
+			"{seqmode}",
+			"{sample}",
+			"ALFA",
+			"ALFA_plots.Biotypes.pdf"),
+			zip,
+			sample= [i for i in list(samples_table.index.values)],
+			seqmode= [
+                samples_table.loc[i,"seqmode"] 
+                for i in list(samples_table.index.values)]
+        ),
+
+
+rule create_index_star:
+    """Create index for STAR alignments"""
+    input:
+        genome = lambda wildcards:
+            samples_table['genome'][
+                samples_table['organism'] == wildcards.organism
+            ][0],
+        gtf = lambda wildcards:
+            samples_table['gtf'][
+                samples_table['organism'] == wildcards.organism
+            ][0],
+    output:
+        chromosome_info = os.path.join(
+            config['star_indexes'],
+            "{organism}",
+            "{index_size}",
+            "STAR_index",
+            "chrNameLength.txt",
+        ),
+        chromosomes_names = os.path.join(
+            config['star_indexes'],
+            "{organism}",
+            "{index_size}",
+            "STAR_index",
+            "chrName.txt",
+        ),
+    params:
+        output_dir = os.path.join(
+            config['star_indexes'],
+            "{organism}",
+            "{index_size}",
+            "STAR_index",
+        ),
+        outFileNamePrefix = os.path.join(
+            config['star_indexes'],
+            "{organism}",
+            "{index_size}",
+            "STAR_index/STAR_",
+        ),
+        sjdbOverhang = "{index_size}",
+    singularity:
+        "docker://zavolab/star:2.6.0a"
+    threads: 12
+    log:
+        os.path.join(
+            config['log_dir'],
+            "{organism}_{index_size}_create_index_star.log",
+        )
+    shell:
+        "(mkdir -p {params.output_dir}; \
+        chmod -R 777 {params.output_dir}; \
+        STAR \
+        --runMode genomeGenerate \
+        --sjdbOverhang {params.sjdbOverhang} \
+        --genomeDir {params.output_dir} \
+        --genomeFastaFiles {input.genome} \
+        --runThreadN {threads} \
+        --outFileNamePrefix {params.outFileNamePrefix} \
+        --sjdbGTFfile {input.gtf}) &> {log}"
+
+
+rule create_index_salmon:
+    """Create index for Salmon quantification"""
+    input:
+        transcriptome = lambda wildcards:
+            samples_table['tr_fasta_filtered'][
+                samples_table['organism'] == wildcards.organism
+            ][0]
+    output:
+        index = directory(
+            os.path.join(
+                config['salmon_indexes'],
+                "{organism}",
+                "{kmer}",
+                "salmon.idx",
+            )
+        ),
+    params:
+        kmerLen = "{kmer}",
+    singularity:
+        "docker://zavolab/salmon:0.11.0"
+    log:
+        os.path.join(
+            config['log_dir'],
+            "{organism}_{kmer}_create_index_salmon.log"
+        )
+    threads: 8
+    shell:
+        "(salmon index \
+        --transcripts {input.transcriptome} \
+        --index {output.index} \
+        --kmerLen {params.kmerLen} \
+        --threads {threads}) &> {log}"
+
+
+rule create_index_kallisto:
+    """Create index for Kallisto quantification"""
+    input:
+        transcriptome = lambda wildcards:
+            samples_table['tr_fasta_filtered'][
+                samples_table['organism'] == wildcards.organism
+            ][0],
+    output:
+        index = os.path.join(
+            config['kallisto_indexes'],
+            "{organism}",
+            "kallisto.idx",
+        ),
+    params:
+        output_dir = os.path.join(
+            config['kallisto_indexes'],
+            "{organism}",
+        ),
+    singularity:
+        "docker://zavolab/kallisto:0.46.1"
+    log:
+        os.path.join(
+            config['log_dir'],
+            "{organism}_create_index_kallisto.log"
+        )
+    shell:
+        "(mkdir -p {params.output_dir}; \
+        chmod -R 777 {params.output_dir}; \
+        kallisto index -i {output.index} {input.transcriptome}) &> {log}"
+
+
+rule extract_transcripts_as_bed12:
+    """Convert transcripts to BED12 format"""
+    input:
+        gtf = lambda wildcards:
+            samples_table['gtf'][0],
+    output:
+        bed12 = os.path.join(
+            config['output_dir'],
+            "full_transcripts_protein_coding.bed",
+        ),
+    singularity:
+        "docker://zavolab/gtf_transcript_type_to_bed12:0.1.0"
+    threads: 1
+    log:
+        os.path.join(
+            config['log_dir'],
+            "extract_transcripts_as_bed12.log",
+        )
+    shell:
+        "gtf_transcript_type_to_bed12.pl \
+        --anno={input.gtf} \
+        --type=protein_coding \
+        1> {output.bed12} \
+        2> {log}"
+
+
+rule calculate_TIN_scores:
+    """Caluclate transcript integrity (TIN) score"""
+    input:
+        bai = os.path.join(
+            config['output_dir'],
+            "{seqmode}",
+            "{sample}",
+            "map_genome",
+            "{sample}_Aligned.sortedByCoord.out.bam.bai"
+        ),
+        transcripts_bed12 = os.path.join(
+            config['output_dir'],
+            "full_transcripts_protein_coding.bed"
+        ),
+    output:
+        TIN_score = os.path.join(
+            config['output_dir'],
+            "{seqmode}",
+            "{sample}",
+            "TIN",
+            "TIN_score.tsv",
+        ),
+    params:
+        bam = os.path.join(
+            config['output_dir'],
+            "{seqmode}",
+            "{sample}",
+            "map_genome",
+            "{sample}_Aligned.sortedByCoord.out.bam"
+        ),
+        sample = "{sample}",
+    log:
+        os.path.join(
+            config['log_dir'],
+            "{seqmode}",
+            "{sample}",
+            "calculate_TIN_scores.log",
+        )
+    threads: 8
+    singularity:
+        "docker://zavolab/tin_score_calculation:0.1.0"
+    shell:
+        "tin_score_calculation.py \
+        -i {params.bam} \
+        -r {input.transcripts_bed12} \
+        -c 0 \
+        --names {params.sample} \
+        -n 100 \
+        1> {output.TIN_score} \
+        2> {log}"
+
+#################################################################################
+### ALFA: Annotation Landscape For Aligned reads
+#################################################################################
+
+directionality = {"--fr": "fr-firststrand", "--rv": "fr-secondstrand"}
+rename_files = {"fr-firststrand": ("Signal.UniqueMultiple.out.plus.bg", 
+	"Signal.UniqueMultiple.out.minus.bg"),
+	"fr-secondstrand": ("Signal.UniqueMultiple.out.minus.bg", 
+	"Signal.UniqueMultiple.out.plus.bg")}
+rename_expr = {"fr-firststrand": ("out.plus", "out.minus"),
+	"fr-secondstrand": ("out.minus", "out.plus")}
+	
+rule generate_alfa_index:
+	''' Generate ALFA index files from sorted GTF file '''
+	input:
+		gtf =lambda wildcards: samples_table["gtf"][samples_table["organism"]==wildcards.organism][0]
+	output:
+		index_stranded = os.path.join(config["alfa_indexes"], "{organism}", 
+			"{index_size}", "ALFA", "sorted_genes.stranded.ALFA_index"),
+		index_unstranded = os.path.join(config["alfa_indexes"], "{organism}", 
+			"{index_size}", "ALFA", "sorted_genes.unstranded.ALFA_index")
+	params:
+		chr_len = os.path.join(
+			config["star_indexes"],
+			"{organism}",
+			"{index_size}",
+			"STAR_index",
+			"chrNameLength.txt"),
+		genome_index = "sorted_genes",
+		out_dir = directory(os.path.join(config["alfa_indexes"], "{organism}", "{index_size}", "ALFA"))
+	threads:	4
+	singularity: 
+		"docker://zavolab/alfa:1.1.1"
+	log: 
+		os.path.join(config["local_log"], "{organism}_{index_size}_generate_alfa_index.log")
+	shell:
+		"alfa -a {input.gtf} \
+			-g {params.genome_index} \
+			--chr_len {params.chr_len} \
+			-p {threads} \
+			-o {params.out_dir} &> {log}"
+
+
+# TODO: add rule that executes ALFA on all samples; should be on the same genome & same orientation
+rule alfa_bg_all_samples:
+	''' Run ALFA from stranded bedgraph files '''
+	input:
+		str1 = expand(os.path.join(
+			config["output_dir"],
+			"{seqmode}",
+			"{sample}",
+			"ALFA",
+			"{sample}_Signal.UniqueMultiple.str1.out.bg"),
+			zip,
+			sample= [i for i in list(samples_table.index.values)], 
+			seqmode= [samples_table.loc[i,"seqmode"] for i in list(samples_table.index.values)]),
+		str2 = expand(os.path.join(
+			config["output_dir"],
+			"{seqmode}",
+			"{sample}",
+			"ALFA",
+			"{sample}_Signal.UniqueMultiple.str2.out.bg"),
+			zip,
+			sample= [i for i in list(samples_table.index.values)], 
+			seqmode= [samples_table.loc[i,"seqmode"] for i in list(samples_table.index.values)]),
+		gtf = [os.path.join(config["alfa_indexes"], samples_table.loc[sample1, "organism"], 
+			str(samples_table.loc[sample1, "index_size"]), "ALFA", "sorted_genes.stranded.ALFA_index") for sample1 in list(samples_table.index.values)]
+	output:
+		biotypes = os.path.join(
+			config["output_dir"],
+			"ALFA",
+			"ALFA_plots.Biotypes.pdf"),
+		categories = os.path.join(
+			config["output_dir"],
+			"ALFA",
+			"ALFA_plots.Categories.pdf")
+	params:
+		str1 = lambda wildcards, input: [os.path.abspath(i) for i in input.str1],
+		str2 = lambda wildcards, input: [os.path.abspath(i) for i in input.str2],
+		out_dir = lambda wildcards, output: directory(os.path.dirname(output.biotypes)),
+		in_file_str1 = lambda wildcards, input: [os.path.basename(inp) for inp in input.str1], # copy files into out_dir and create with expand construct of bg + name
+		rename_str1 = [rename_expr[directionality[samples_table.loc[sample1, "kallisto_directionality"]]][0] for sample1 in list(samples_table.index.values)][0],
+		in_file_str2 = lambda wildcards, input: [os.path.basename(inp) for inp in input.str2],
+		rename_str2 = [rename_expr[directionality[samples_table.loc[sample1, "kallisto_directionality"]]][1] for sample1 in list(samples_table.index.values)][0],
+		genome_index = [os.path.abspath(os.path.join(
+			config["alfa_indexes"], 
+			samples_table.loc[sample1, "organism"], 
+			str(samples_table.loc[sample1, "index_size"]), 
+			"ALFA", "sorted_genes")) for sample1 in list(samples_table.index.values)][0],
+		orientation = [directionality[samples_table.loc[sample1, "kallisto_directionality"]] for sample1 in list(samples_table.index.values)][0],
+		bg_and_sample_name = [sample1 + "_Signal.UniqueMultiple." + 
+			rename_expr[directionality[samples_table.loc[sample1, "kallisto_directionality"]]][0] + ".bg " + 
+			sample1 + "_Signal.UniqueMultiple." + rename_expr[directionality[samples_table.loc[sample1, "kallisto_directionality"]]][1] + ".bg " + sample1
+			for sample1 in list(samples_table.index.values)]
+	# singularity:
+	# 	"docker://zavolab/alfa:1.1.1"
+	conda: os.path.abspath("../../envs/env_alfa.yaml")
+	log: os.path.abspath(os.path.join(config["local_log"], "ALFA", "alfa_bg_all_samples.log"))
+	shell:
+		""" 
+		mkdir -p {params.out_dir}; \
+		cd {params.out_dir}; \
+		cp {params.str1} . ; \
+		cp {params.str2} . ; \
+		rename 's/str1.out/{params.rename_str1}/' *str1.out.bg; \
+		rename 's/str2.out/{params.rename_str2}/' *str2.out.bg; \
+		(alfa -g {params.genome_index} \
+			--bedgraph {params.bg_and_sample_name} \
+			-s {params.orientation}) &> {log}; \
+		rm *{params.rename_str1}.bg *{params.rename_str2}.bg
+		"""
\ No newline at end of file
diff --git a/runs/PUT_YOUR_WORKFLOW_RUN_CONFIGS_HERE b/config/PUT_YOUR_WORKFLOW_RUN_CONFIGS_HERE
similarity index 100%
rename from runs/PUT_YOUR_WORKFLOW_RUN_CONFIGS_HERE
rename to config/PUT_YOUR_WORKFLOW_RUN_CONFIGS_HERE
diff --git a/images/dag_test_workflow.svg b/images/dag_test_workflow.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6b992f3ac567c7b0bb1e670089e234ef8db3b360
--- /dev/null
+++ b/images/dag_test_workflow.svg
@@ -0,0 +1,269 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.38.0 (20140413.2041)
+ -->
+<!-- Title: snakemake_dag Pages: 1 -->
+<svg width="1338pt" height="409pt"
+ viewBox="0.00 0.00 1338.00 409.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 405)">
+<title>snakemake_dag</title>
+<polygon fill="white" stroke="none" points="-4,4 -4,-405 1334,-405 1334,4 -4,4"/>
+<!-- 0 -->
+<g id="node1" class="node"><title>0</title>
+<path fill="none" stroke="#56d8c1" stroke-width="2" d="M714,-36C714,-36 684,-36 684,-36 678,-36 672,-30 672,-24 672,-24 672,-12 672,-12 672,-6 678,-0 684,-0 684,-0 714,-0 714,-0 720,-0 726,-6 726,-12 726,-12 726,-24 726,-24 726,-30 720,-36 714,-36"/>
+<text text-anchor="middle" x="699" y="-15.5" font-family="sans" font-size="10.00">finish</text>
+</g>
+<!-- 1 -->
+<g id="node2" class="node"><title>1</title>
+<path fill="none" stroke="#d8a456" stroke-width="2" d="M280,-108C280,-108 12,-108 12,-108 6,-108 0,-102 0,-96 0,-96 0,-84 0,-84 0,-78 6,-72 12,-72 12,-72 280,-72 280,-72 286,-72 292,-78 292,-84 292,-84 292,-96 292,-96 292,-102 286,-108 280,-108"/>
+<text text-anchor="middle" x="146" y="-93" font-family="sans" font-size="10.00">pe_fastqc</text>
+<text text-anchor="middle" x="146" y="-82" font-family="sans" font-size="10.00">sample: synthetic_10_reads_paired_synthetic_10_reads_paired</text>
+</g>
+<!-- 1&#45;&gt;0 -->
+<g id="edge1" class="edge"><title>1&#45;&gt;0</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M280.572,-71.9656C406.068,-56.08 585.083,-33.4199 661.788,-23.7104"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="662.435,-27.1565 671.916,-22.4284 661.555,-20.212 662.435,-27.1565"/>
+</g>
+<!-- 2 -->
+<g id="node3" class="node"><title>2</title>
+<path fill="none" stroke="#59d856" stroke-width="2" d="M602,-108C602,-108 322,-108 322,-108 316,-108 310,-102 310,-96 310,-96 310,-84 310,-84 310,-78 316,-72 322,-72 322,-72 602,-72 602,-72 608,-72 614,-78 614,-84 614,-84 614,-96 614,-96 614,-102 608,-108 602,-108"/>
+<text text-anchor="middle" x="462" y="-93" font-family="sans" font-size="10.00">fastqc</text>
+<text text-anchor="middle" x="462" y="-82" font-family="sans" font-size="10.00">sample: synthetic_10_reads_mate_1_synthetic_10_reads_mate_1</text>
+</g>
+<!-- 2&#45;&gt;0 -->
+<g id="edge2" class="edge"><title>2&#45;&gt;0</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M519.674,-71.9656C564.073,-58.8519 624.103,-41.1216 662.193,-29.8712"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="663.253,-33.2076 671.852,-27.0183 661.27,-26.4943 663.253,-33.2076"/>
+</g>
+<!-- 3 -->
+<g id="node4" class="node"><title>3</title>
+<path fill="none" stroke="#d85656" stroke-width="2" d="M513.5,-252C513.5,-252 410.5,-252 410.5,-252 404.5,-252 398.5,-246 398.5,-240 398.5,-240 398.5,-228 398.5,-228 398.5,-222 404.5,-216 410.5,-216 410.5,-216 513.5,-216 513.5,-216 519.5,-216 525.5,-222 525.5,-228 525.5,-228 525.5,-240 525.5,-240 525.5,-246 519.5,-252 513.5,-252"/>
+<text text-anchor="middle" x="462" y="-231.5" font-family="sans" font-size="10.00">pe_quantification_salmon</text>
+</g>
+<!-- 3&#45;&gt;0 -->
+<g id="edge3" class="edge"><title>3&#45;&gt;0</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M487.264,-215.826C520.088,-192.982 578.459,-150.513 623,-108 643.903,-88.0485 665.037,-62.797 679.694,-44.2918"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="682.537,-46.3381 685.948,-36.3074 677.026,-42.0215 682.537,-46.3381"/>
+</g>
+<!-- 4 -->
+<g id="node5" class="node"><title>4</title>
+<path fill="none" stroke="#d8bc56" stroke-width="2" d="M642.5,-252C642.5,-252 555.5,-252 555.5,-252 549.5,-252 543.5,-246 543.5,-240 543.5,-240 543.5,-228 543.5,-228 543.5,-222 549.5,-216 555.5,-216 555.5,-216 642.5,-216 642.5,-216 648.5,-216 654.5,-222 654.5,-228 654.5,-228 654.5,-240 654.5,-240 654.5,-246 648.5,-252 642.5,-252"/>
+<text text-anchor="middle" x="599" y="-231.5" font-family="sans" font-size="10.00">quantification_salmon</text>
+</g>
+<!-- 4&#45;&gt;0 -->
+<g id="edge4" class="edge"><title>4&#45;&gt;0</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M623.094,-215.785C634.597,-206.411 647.644,-193.897 656,-180 681.56,-137.492 692.17,-79.7097 696.391,-46.1773"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="699.874,-46.5286 697.548,-36.1923 692.92,-45.7231 699.874,-46.5286"/>
+</g>
+<!-- 5 -->
+<g id="node6" class="node"><title>5</title>
+<path fill="none" stroke="#88d856" stroke-width="2" d="M827,-252C827,-252 685,-252 685,-252 679,-252 673,-246 673,-240 673,-240 673,-228 673,-228 673,-222 679,-216 685,-216 685,-216 827,-216 827,-216 833,-216 839,-222 839,-228 839,-228 839,-240 839,-240 839,-246 833,-252 827,-252"/>
+<text text-anchor="middle" x="756" y="-231.5" font-family="sans" font-size="10.00">pe_genome_quantification_kallisto</text>
+</g>
+<!-- 5&#45;&gt;0 -->
+<g id="edge5" class="edge"><title>5&#45;&gt;0</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M751.432,-215.849C741.551,-178.753 718.127,-90.8101 706.219,-46.1027"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="709.546,-44.9947 703.59,-36.2325 702.782,-46.7964 709.546,-44.9947"/>
+</g>
+<!-- 6 -->
+<g id="node7" class="node"><title>6</title>
+<path fill="none" stroke="#568ad8" stroke-width="2" d="M995,-252C995,-252 869,-252 869,-252 863,-252 857,-246 857,-240 857,-240 857,-228 857,-228 857,-222 863,-216 869,-216 869,-216 995,-216 995,-216 1001,-216 1007,-222 1007,-228 1007,-228 1007,-240 1007,-240 1007,-246 1001,-252 995,-252"/>
+<text text-anchor="middle" x="932" y="-231.5" font-family="sans" font-size="10.00">genome_quantification_kallisto</text>
+</g>
+<!-- 6&#45;&gt;0 -->
+<g id="edge6" class="edge"><title>6&#45;&gt;0</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M863.1,-215.882C827.305,-205.814 788.309,-192.618 775,-180 737.506,-144.455 755.302,-118.111 732,-72 727.356,-62.8095 721.614,-53.1415 716.229,-44.6159"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="719.17,-42.7179 710.807,-36.2128 713.288,-46.5131 719.17,-42.7179"/>
+</g>
+<!-- 7 -->
+<g id="node8" class="node"><title>7</title>
+<path fill="none" stroke="#5673d8" stroke-width="2" d="M923,-108C923,-108 835,-108 835,-108 829,-108 823,-102 823,-96 823,-96 823,-84 823,-84 823,-78 829,-72 835,-72 835,-72 923,-72 923,-72 929,-72 935,-78 935,-84 935,-84 935,-96 935,-96 935,-102 929,-108 923,-108"/>
+<text text-anchor="middle" x="879" y="-93" font-family="sans" font-size="10.00">calculate_TIN_scores</text>
+<text text-anchor="middle" x="879" y="-82" font-family="sans" font-size="10.00">seqmode: paired_end</text>
+</g>
+<!-- 7&#45;&gt;0 -->
+<g id="edge7" class="edge"><title>7&#45;&gt;0</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M834.967,-71.8761C804.523,-60.0365 764.485,-44.4665 735.753,-33.293"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="736.685,-29.8999 726.096,-29.5374 734.148,-36.424 736.685,-29.8999"/>
+</g>
+<!-- 8 -->
+<g id="node9" class="node"><title>8</title>
+<path fill="none" stroke="#5673d8" stroke-width="2" d="M1109,-108C1109,-108 1021,-108 1021,-108 1015,-108 1009,-102 1009,-96 1009,-96 1009,-84 1009,-84 1009,-78 1015,-72 1021,-72 1021,-72 1109,-72 1109,-72 1115,-72 1121,-78 1121,-84 1121,-84 1121,-96 1121,-96 1121,-102 1115,-108 1109,-108"/>
+<text text-anchor="middle" x="1065" y="-93" font-family="sans" font-size="10.00">calculate_TIN_scores</text>
+<text text-anchor="middle" x="1065" y="-82" font-family="sans" font-size="10.00">seqmode: single_end</text>
+</g>
+<!-- 8&#45;&gt;0 -->
+<g id="edge8" class="edge"><title>8&#45;&gt;0</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M1008.61,-78.2159C933.016,-63.7572 800.875,-38.4843 736.452,-26.1629"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="736.823,-22.6705 726.343,-24.2296 735.508,-29.5459 736.823,-22.6705"/>
+</g>
+<!-- 9 -->
+<g id="node10" class="node"><title>9</title>
+<path fill="none" stroke="#bed856" stroke-width="2" d="M726,-326.5C726,-326.5 614,-326.5 614,-326.5 608,-326.5 602,-320.5 602,-314.5 602,-314.5 602,-302.5 602,-302.5 602,-296.5 608,-290.5 614,-290.5 614,-290.5 726,-290.5 726,-290.5 732,-290.5 738,-296.5 738,-302.5 738,-302.5 738,-314.5 738,-314.5 738,-320.5 732,-326.5 726,-326.5"/>
+<text text-anchor="middle" x="670" y="-306" font-family="sans" font-size="10.00">pe_remove_polya_cutadapt</text>
+</g>
+<!-- 9&#45;&gt;3 -->
+<g id="edge9" class="edge"><title>9&#45;&gt;3</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M620.97,-290.41C590.929,-279.939 552.3,-266.475 520.644,-255.441"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="521.655,-252.087 511.061,-252.1 519.351,-258.697 521.655,-252.087"/>
+</g>
+<!-- 9&#45;&gt;5 -->
+<g id="edge13" class="edge"><title>9&#45;&gt;5</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M690.381,-290.319C701.627,-280.838 715.758,-268.925 728.024,-258.585"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="730.376,-261.18 735.765,-252.058 725.864,-255.828 730.376,-261.18"/>
+</g>
+<!-- 18 -->
+<g id="node19" class="node"><title>18</title>
+<path fill="none" stroke="#70d856" stroke-width="2" d="M1126.5,-252C1126.5,-252 1037.5,-252 1037.5,-252 1031.5,-252 1025.5,-246 1025.5,-240 1025.5,-240 1025.5,-228 1025.5,-228 1025.5,-222 1031.5,-216 1037.5,-216 1037.5,-216 1126.5,-216 1126.5,-216 1132.5,-216 1138.5,-222 1138.5,-228 1138.5,-228 1138.5,-240 1138.5,-240 1138.5,-246 1132.5,-252 1126.5,-252"/>
+<text text-anchor="middle" x="1082" y="-231.5" font-family="sans" font-size="10.00">pe_map_genome_star</text>
+</g>
+<!-- 9&#45;&gt;18 -->
+<g id="edge26" class="edge"><title>9&#45;&gt;18</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M738.35,-290.717C742.959,-289.749 747.541,-288.832 752,-288 865.226,-266.87 898.018,-274.364 1015.13,-252.03"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="1016.06,-255.415 1025.21,-250.075 1014.73,-248.543 1016.06,-255.415"/>
+</g>
+<!-- 10 -->
+<g id="node11" class="node"><title>10</title>
+<path fill="none" stroke="#56d8a2" stroke-width="2" d="M541.5,-329C541.5,-329 440.5,-329 440.5,-329 434.5,-329 428.5,-323 428.5,-317 428.5,-317 428.5,-300 428.5,-300 428.5,-294 434.5,-288 440.5,-288 440.5,-288 541.5,-288 541.5,-288 547.5,-288 553.5,-294 553.5,-300 553.5,-300 553.5,-317 553.5,-317 553.5,-323 547.5,-329 541.5,-329"/>
+<text text-anchor="middle" x="491" y="-317" font-family="sans" font-size="10.00">create_index_salmon</text>
+<text text-anchor="middle" x="491" y="-306" font-family="sans" font-size="10.00">kmer: 31</text>
+<text text-anchor="middle" x="491" y="-295" font-family="sans" font-size="10.00">organism: homo_sapiens</text>
+</g>
+<!-- 10&#45;&gt;3 -->
+<g id="edge10" class="edge"><title>10&#45;&gt;3</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M483.076,-287.689C479.859,-279.647 476.094,-270.236 472.644,-261.61"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="475.891,-260.304 468.928,-252.319 469.392,-262.904 475.891,-260.304"/>
+</g>
+<!-- 10&#45;&gt;4 -->
+<g id="edge12" class="edge"><title>10&#45;&gt;4</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M520.226,-287.88C533.987,-278.643 550.489,-267.565 564.825,-257.941"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="567.076,-260.646 573.428,-252.166 563.174,-254.834 567.076,-260.646"/>
+</g>
+<!-- 11 -->
+<g id="node12" class="node"><title>11</title>
+<path fill="none" stroke="#d86e56" stroke-width="2" d="M1015,-326.5C1015,-326.5 919,-326.5 919,-326.5 913,-326.5 907,-320.5 907,-314.5 907,-314.5 907,-302.5 907,-302.5 907,-296.5 913,-290.5 919,-290.5 919,-290.5 1015,-290.5 1015,-290.5 1021,-290.5 1027,-296.5 1027,-302.5 1027,-302.5 1027,-314.5 1027,-314.5 1027,-320.5 1021,-326.5 1015,-326.5"/>
+<text text-anchor="middle" x="967" y="-306" font-family="sans" font-size="10.00">remove_polya_cutadapt</text>
+</g>
+<!-- 11&#45;&gt;4 -->
+<g id="edge11" class="edge"><title>11&#45;&gt;4</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M906.62,-290.63C902.698,-289.695 898.8,-288.808 895,-288 796.444,-267.04 767.467,-272.788 664.451,-251.962"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="665.082,-248.518 654.582,-249.932 663.672,-255.375 665.082,-248.518"/>
+</g>
+<!-- 11&#45;&gt;6 -->
+<g id="edge15" class="edge"><title>11&#45;&gt;6</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M958.705,-290.319C954.521,-281.651 949.355,-270.949 944.685,-261.276"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="947.734,-259.542 940.235,-252.058 941.431,-262.585 947.734,-259.542"/>
+</g>
+<!-- 19 -->
+<g id="node20" class="node"><title>19</title>
+<path fill="none" stroke="#d88d56" stroke-width="2" d="M1241.5,-252C1241.5,-252 1168.5,-252 1168.5,-252 1162.5,-252 1156.5,-246 1156.5,-240 1156.5,-240 1156.5,-228 1156.5,-228 1156.5,-222 1162.5,-216 1168.5,-216 1168.5,-216 1241.5,-216 1241.5,-216 1247.5,-216 1253.5,-222 1253.5,-228 1253.5,-228 1253.5,-240 1253.5,-240 1253.5,-246 1247.5,-252 1241.5,-252"/>
+<text text-anchor="middle" x="1205" y="-231.5" font-family="sans" font-size="10.00">map_genome_star</text>
+</g>
+<!-- 11&#45;&gt;19 -->
+<g id="edge28" class="edge"><title>11&#45;&gt;19</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M1023.1,-290.41C1060.19,-279.112 1108.72,-264.329 1146.32,-252.874"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="1147.58,-256.15 1156.13,-249.888 1145.54,-249.454 1147.58,-256.15"/>
+</g>
+<!-- 12 -->
+<g id="node13" class="node"><title>12</title>
+<path fill="none" stroke="#56d8d8" stroke-width="2" d="M873.5,-326.5C873.5,-326.5 772.5,-326.5 772.5,-326.5 766.5,-326.5 760.5,-320.5 760.5,-314.5 760.5,-314.5 760.5,-302.5 760.5,-302.5 760.5,-296.5 766.5,-290.5 772.5,-290.5 772.5,-290.5 873.5,-290.5 873.5,-290.5 879.5,-290.5 885.5,-296.5 885.5,-302.5 885.5,-302.5 885.5,-314.5 885.5,-314.5 885.5,-320.5 879.5,-326.5 873.5,-326.5"/>
+<text text-anchor="middle" x="823" y="-311.5" font-family="sans" font-size="10.00">create_index_kallisto</text>
+<text text-anchor="middle" x="823" y="-300.5" font-family="sans" font-size="10.00">organism: homo_sapiens</text>
+</g>
+<!-- 12&#45;&gt;5 -->
+<g id="edge14" class="edge"><title>12&#45;&gt;5</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M807.122,-290.319C798.611,-281.109 787.979,-269.604 778.618,-259.475"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="781.122,-257.027 771.764,-252.058 775.981,-261.778 781.122,-257.027"/>
+</g>
+<!-- 12&#45;&gt;6 -->
+<g id="edge16" class="edge"><title>12&#45;&gt;6</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M848.831,-290.319C863.492,-280.567 882.022,-268.242 897.868,-257.702"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="899.966,-260.511 906.354,-252.058 896.089,-254.682 899.966,-260.511"/>
+</g>
+<!-- 13 -->
+<g id="node14" class="node"><title>13</title>
+<path fill="none" stroke="#a7d856" stroke-width="2" d="M962,-180C962,-180 796,-180 796,-180 790,-180 784,-174 784,-168 784,-168 784,-156 784,-156 784,-150 790,-144 796,-144 796,-144 962,-144 962,-144 968,-144 974,-150 974,-156 974,-156 974,-168 974,-168 974,-174 968,-180 962,-180"/>
+<text text-anchor="middle" x="879" y="-159.5" font-family="sans" font-size="10.00">pe_index_genomic_alignment_samtools</text>
+</g>
+<!-- 13&#45;&gt;7 -->
+<g id="edge17" class="edge"><title>13&#45;&gt;7</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M879,-143.697C879,-135.983 879,-126.712 879,-118.112"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="882.5,-118.104 879,-108.104 875.5,-118.104 882.5,-118.104"/>
+</g>
+<!-- 14 -->
+<g id="node15" class="node"><title>14</title>
+<path fill="none" stroke="#56d873" stroke-width="2" d="M1125.5,-180C1125.5,-180 1004.5,-180 1004.5,-180 998.5,-180 992.5,-174 992.5,-168 992.5,-168 992.5,-156 992.5,-156 992.5,-150 998.5,-144 1004.5,-144 1004.5,-144 1125.5,-144 1125.5,-144 1131.5,-144 1137.5,-150 1137.5,-156 1137.5,-156 1137.5,-168 1137.5,-168 1137.5,-174 1131.5,-180 1125.5,-180"/>
+<text text-anchor="middle" x="1065" y="-159.5" font-family="sans" font-size="10.00">extract_transcripts_as_bed12</text>
+</g>
+<!-- 14&#45;&gt;7 -->
+<g id="edge18" class="edge"><title>14&#45;&gt;7</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M1019.5,-143.876C993.62,-134.137 961.033,-121.872 933.759,-111.608"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="934.945,-108.315 924.353,-108.068 932.479,-114.866 934.945,-108.315"/>
+</g>
+<!-- 14&#45;&gt;8 -->
+<g id="edge20" class="edge"><title>14&#45;&gt;8</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M1065,-143.697C1065,-135.983 1065,-126.712 1065,-118.112"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="1068.5,-118.104 1065,-108.104 1061.5,-118.104 1068.5,-118.104"/>
+</g>
+<!-- 15 -->
+<g id="node16" class="node"><title>15</title>
+<path fill="none" stroke="#56c1d8" stroke-width="2" d="M1318,-180C1318,-180 1168,-180 1168,-180 1162,-180 1156,-174 1156,-168 1156,-168 1156,-156 1156,-156 1156,-150 1162,-144 1168,-144 1168,-144 1318,-144 1318,-144 1324,-144 1330,-150 1330,-156 1330,-156 1330,-168 1330,-168 1330,-174 1324,-180 1318,-180"/>
+<text text-anchor="middle" x="1243" y="-159.5" font-family="sans" font-size="10.00">index_genomic_alignment_samtools</text>
+</g>
+<!-- 15&#45;&gt;8 -->
+<g id="edge19" class="edge"><title>15&#45;&gt;8</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M1199.46,-143.876C1174.8,-134.179 1143.78,-121.98 1117.75,-111.743"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="1118.99,-108.471 1108.4,-108.068 1116.43,-114.985 1118.99,-108.471"/>
+</g>
+<!-- 16 -->
+<g id="node17" class="node"><title>16</title>
+<path fill="none" stroke="#56a2d8" stroke-width="2" d="M791,-401C791,-401 523,-401 523,-401 517,-401 511,-395 511,-389 511,-389 511,-377 511,-377 511,-371 517,-365 523,-365 523,-365 791,-365 791,-365 797,-365 803,-371 803,-377 803,-377 803,-389 803,-389 803,-395 797,-401 791,-401"/>
+<text text-anchor="middle" x="657" y="-386" font-family="sans" font-size="10.00">pe_remove_adapters_cutadapt</text>
+<text text-anchor="middle" x="657" y="-375" font-family="sans" font-size="10.00">sample: synthetic_10_reads_paired_synthetic_10_reads_paired</text>
+</g>
+<!-- 16&#45;&gt;9 -->
+<g id="edge21" class="edge"><title>16&#45;&gt;9</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M660.081,-364.819C661.586,-356.422 663.434,-346.116 665.125,-336.686"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="668.621,-337.019 666.941,-326.558 661.731,-335.783 668.621,-337.019"/>
+</g>
+<!-- 17 -->
+<g id="node18" class="node"><title>17</title>
+<path fill="none" stroke="#56d88a" stroke-width="2" d="M1113,-401C1113,-401 833,-401 833,-401 827,-401 821,-395 821,-389 821,-389 821,-377 821,-377 821,-371 827,-365 833,-365 833,-365 1113,-365 1113,-365 1119,-365 1125,-371 1125,-377 1125,-377 1125,-389 1125,-389 1125,-395 1119,-401 1113,-401"/>
+<text text-anchor="middle" x="973" y="-386" font-family="sans" font-size="10.00">remove_adapters_cutadapt</text>
+<text text-anchor="middle" x="973" y="-375" font-family="sans" font-size="10.00">sample: synthetic_10_reads_mate_1_synthetic_10_reads_mate_1</text>
+</g>
+<!-- 17&#45;&gt;11 -->
+<g id="edge22" class="edge"><title>17&#45;&gt;11</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M971.578,-364.819C970.883,-356.422 970.03,-346.116 969.25,-336.686"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="972.725,-336.235 968.412,-326.558 965.748,-336.813 972.725,-336.235"/>
+</g>
+<!-- 18&#45;&gt;13 -->
+<g id="edge23" class="edge"><title>18&#45;&gt;13</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M1032.6,-215.966C1004.11,-206.142 968.114,-193.729 938.129,-183.389"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="939.216,-180.062 928.621,-180.111 936.934,-186.68 939.216,-180.062"/>
+</g>
+<!-- 19&#45;&gt;15 -->
+<g id="edge24" class="edge"><title>19&#45;&gt;15</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M1214.39,-215.697C1218.76,-207.644 1224.06,-197.894 1228.9,-188.982"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="1232.02,-190.563 1233.71,-180.104 1225.87,-187.223 1232.02,-190.563"/>
+</g>
+<!-- 20 -->
+<g id="node21" class="node"><title>20</title>
+<path fill="none" stroke="#d6d856" stroke-width="2" d="M1193.5,-329C1193.5,-329 1092.5,-329 1092.5,-329 1086.5,-329 1080.5,-323 1080.5,-317 1080.5,-317 1080.5,-300 1080.5,-300 1080.5,-294 1086.5,-288 1092.5,-288 1092.5,-288 1193.5,-288 1193.5,-288 1199.5,-288 1205.5,-294 1205.5,-300 1205.5,-300 1205.5,-317 1205.5,-317 1205.5,-323 1199.5,-329 1193.5,-329"/>
+<text text-anchor="middle" x="1143" y="-317" font-family="sans" font-size="10.00">create_index_star</text>
+<text text-anchor="middle" x="1143" y="-306" font-family="sans" font-size="10.00">index_size: 75</text>
+<text text-anchor="middle" x="1143" y="-295" font-family="sans" font-size="10.00">organism: homo_sapiens</text>
+</g>
+<!-- 20&#45;&gt;18 -->
+<g id="edge25" class="edge"><title>20&#45;&gt;18</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M1126.33,-287.689C1119.2,-279.215 1110.79,-269.22 1103.22,-260.226"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="1105.69,-257.718 1096.57,-252.319 1100.33,-262.225 1105.69,-257.718"/>
+</g>
+<!-- 20&#45;&gt;19 -->
+<g id="edge27" class="edge"><title>20&#45;&gt;19</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M1159.94,-287.689C1167.26,-279.128 1175.91,-269.016 1183.66,-259.951"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="1186.35,-262.194 1190.19,-252.319 1181.03,-257.645 1186.35,-262.194"/>
+</g>
+</g>
+</svg>
diff --git a/images/rule_graph.svg b/images/rule_graph.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5c845f59f06aa16328fa5144f3f22a427f401cc7
--- /dev/null
+++ b/images/rule_graph.svg
@@ -0,0 +1,243 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.38.0 (20140413.2041)
+ -->
+<!-- Title: snakemake_dag Pages: 1 -->
+<svg width="940pt" height="404pt"
+ viewBox="0.00 0.00 939.50 404.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 400)">
+<title>snakemake_dag</title>
+<polygon fill="white" stroke="none" points="-4,4 -4,-400 935.5,-400 935.5,4 -4,4"/>
+<!-- 0 -->
+<g id="node1" class="node"><title>0</title>
+<path fill="none" stroke="#d85656" stroke-width="2" d="M296.5,-36C296.5,-36 266.5,-36 266.5,-36 260.5,-36 254.5,-30 254.5,-24 254.5,-24 254.5,-12 254.5,-12 254.5,-6 260.5,-0 266.5,-0 266.5,-0 296.5,-0 296.5,-0 302.5,-0 308.5,-6 308.5,-12 308.5,-12 308.5,-24 308.5,-24 308.5,-30 302.5,-36 296.5,-36"/>
+<text text-anchor="middle" x="281.5" y="-15.5" font-family="sans" font-size="10.00">finish</text>
+</g>
+<!-- 1 -->
+<g id="node2" class="node"><title>1</title>
+<path fill="none" stroke="#a7d856" stroke-width="2" d="M131,-108C131,-108 96,-108 96,-108 90,-108 84,-102 84,-96 84,-96 84,-84 84,-84 84,-78 90,-72 96,-72 96,-72 131,-72 131,-72 137,-72 143,-78 143,-84 143,-84 143,-96 143,-96 143,-102 137,-108 131,-108"/>
+<text text-anchor="middle" x="113.5" y="-87.5" font-family="sans" font-size="10.00">pe_fastqc</text>
+</g>
+<!-- 1&#45;&gt;0 -->
+<g id="edge5" class="edge"><title>1&#45;&gt;0</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M143.282,-75.9405C146.391,-74.6005 149.507,-73.2669 152.5,-72 183.541,-58.86 218.97,-44.3377 244.835,-33.8224"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="246.302,-37.0044 254.25,-29.9997 243.668,-30.5186 246.302,-37.0044"/>
+</g>
+<!-- 2 -->
+<g id="node3" class="node"><title>2</title>
+<path fill="none" stroke="#56c1d8" stroke-width="2" d="M203.5,-108C203.5,-108 173.5,-108 173.5,-108 167.5,-108 161.5,-102 161.5,-96 161.5,-96 161.5,-84 161.5,-84 161.5,-78 167.5,-72 173.5,-72 173.5,-72 203.5,-72 203.5,-72 209.5,-72 215.5,-78 215.5,-84 215.5,-84 215.5,-96 215.5,-96 215.5,-102 209.5,-108 203.5,-108"/>
+<text text-anchor="middle" x="188.5" y="-87.5" font-family="sans" font-size="10.00">fastqc</text>
+</g>
+<!-- 2&#45;&gt;0 -->
+<g id="edge6" class="edge"><title>2&#45;&gt;0</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M211.489,-71.6966C223.314,-62.796 237.892,-51.8232 250.679,-42.1989"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="252.891,-44.9145 258.776,-36.1043 248.681,-39.3217 252.891,-44.9145"/>
+</g>
+<!-- 3 -->
+<g id="node4" class="node"><title>3</title>
+<path fill="none" stroke="#568ad8" stroke-width="2" d="M115,-252C115,-252 12,-252 12,-252 6,-252 -7.10543e-15,-246 -7.10543e-15,-240 -7.10543e-15,-240 -7.10543e-15,-228 -7.10543e-15,-228 -7.10543e-15,-222 6,-216 12,-216 12,-216 115,-216 115,-216 121,-216 127,-222 127,-228 127,-228 127,-240 127,-240 127,-246 121,-252 115,-252"/>
+<text text-anchor="middle" x="63.5" y="-231.5" font-family="sans" font-size="10.00">pe_quantification_salmon</text>
+</g>
+<!-- 3&#45;&gt;0 -->
+<g id="edge7" class="edge"><title>3&#45;&gt;0</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M90.8692,-215.973C124.885,-193.92 183.454,-152.942 224.5,-108 241.966,-88.8761 257.5,-63.7838 267.923,-45.1186"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="271.035,-46.723 272.753,-36.2684 264.89,-43.3697 271.035,-46.723"/>
+</g>
+<!-- 4 -->
+<g id="node5" class="node"><title>4</title>
+<path fill="none" stroke="#d8bc56" stroke-width="2" d="M244,-252C244,-252 157,-252 157,-252 151,-252 145,-246 145,-240 145,-240 145,-228 145,-228 145,-222 151,-216 157,-216 157,-216 244,-216 244,-216 250,-216 256,-222 256,-228 256,-228 256,-240 256,-240 256,-246 250,-252 244,-252"/>
+<text text-anchor="middle" x="200.5" y="-231.5" font-family="sans" font-size="10.00">quantification_salmon</text>
+</g>
+<!-- 4&#45;&gt;0 -->
+<g id="edge3" class="edge"><title>4&#45;&gt;0</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M225.562,-215.933C237.162,-206.679 250.005,-194.227 257.5,-180 279.985,-137.319 283.155,-79.9722 282.771,-46.4954"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="286.261,-46.0283 282.527,-36.1132 279.263,-46.1926 286.261,-46.0283"/>
+</g>
+<!-- 5 -->
+<g id="node6" class="node"><title>5</title>
+<path fill="none" stroke="#d6d856" stroke-width="2" d="M428.5,-252C428.5,-252 286.5,-252 286.5,-252 280.5,-252 274.5,-246 274.5,-240 274.5,-240 274.5,-228 274.5,-228 274.5,-222 280.5,-216 286.5,-216 286.5,-216 428.5,-216 428.5,-216 434.5,-216 440.5,-222 440.5,-228 440.5,-228 440.5,-240 440.5,-240 440.5,-246 434.5,-252 428.5,-252"/>
+<text text-anchor="middle" x="357.5" y="-231.5" font-family="sans" font-size="10.00">pe_genome_quantification_kallisto</text>
+</g>
+<!-- 5&#45;&gt;0 -->
+<g id="edge4" class="edge"><title>5&#45;&gt;0</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M351.409,-215.849C338.207,-178.675 306.871,-90.4388 291.025,-45.8204"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="294.265,-44.4845 287.62,-36.2325 287.668,-46.8272 294.265,-44.4845"/>
+</g>
+<!-- 6 -->
+<g id="node7" class="node"><title>6</title>
+<path fill="none" stroke="#d88d56" stroke-width="2" d="M596.5,-252C596.5,-252 470.5,-252 470.5,-252 464.5,-252 458.5,-246 458.5,-240 458.5,-240 458.5,-228 458.5,-228 458.5,-222 464.5,-216 470.5,-216 470.5,-216 596.5,-216 596.5,-216 602.5,-216 608.5,-222 608.5,-228 608.5,-228 608.5,-240 608.5,-240 608.5,-246 602.5,-252 596.5,-252"/>
+<text text-anchor="middle" x="533.5" y="-231.5" font-family="sans" font-size="10.00">genome_quantification_kallisto</text>
+</g>
+<!-- 6&#45;&gt;0 -->
+<g id="edge2" class="edge"><title>6&#45;&gt;0</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M466.704,-215.888C430.604,-205.599 390.594,-192.18 376.5,-180 335.744,-144.78 350.057,-117.673 321.5,-72 315.633,-62.6164 308.541,-52.8174 301.968,-44.2341"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="304.545,-41.8464 295.633,-36.1164 299.026,-46.1532 304.545,-41.8464"/>
+</g>
+<!-- 7 -->
+<g id="node8" class="node"><title>7</title>
+<path fill="none" stroke="#d86e56" stroke-width="2" d="M617.5,-108C617.5,-108 529.5,-108 529.5,-108 523.5,-108 517.5,-102 517.5,-96 517.5,-96 517.5,-84 517.5,-84 517.5,-78 523.5,-72 529.5,-72 529.5,-72 617.5,-72 617.5,-72 623.5,-72 629.5,-78 629.5,-84 629.5,-84 629.5,-96 629.5,-96 629.5,-102 623.5,-108 617.5,-108"/>
+<text text-anchor="middle" x="573.5" y="-87.5" font-family="sans" font-size="10.00">calculate_TIN_scores</text>
+</g>
+<!-- 7&#45;&gt;0 -->
+<g id="edge1" class="edge"><title>7&#45;&gt;0</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M517.199,-75.5033C458.593,-61.4537 368.502,-39.8566 318.378,-27.8405"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="319.151,-24.4268 308.61,-25.4991 317.519,-31.2339 319.151,-24.4268"/>
+</g>
+<!-- 8 -->
+<g id="node9" class="node"><title>8</title>
+<path fill="none" stroke="#5673d8" stroke-width="2" d="M360.5,-324C360.5,-324 248.5,-324 248.5,-324 242.5,-324 236.5,-318 236.5,-312 236.5,-312 236.5,-300 236.5,-300 236.5,-294 242.5,-288 248.5,-288 248.5,-288 360.5,-288 360.5,-288 366.5,-288 372.5,-294 372.5,-300 372.5,-300 372.5,-312 372.5,-312 372.5,-318 366.5,-324 360.5,-324"/>
+<text text-anchor="middle" x="304.5" y="-303.5" font-family="sans" font-size="10.00">pe_remove_polya_cutadapt</text>
+</g>
+<!-- 8&#45;&gt;3 -->
+<g id="edge9" class="edge"><title>8&#45;&gt;3</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M245.853,-287.966C211.594,-278.015 168.184,-265.406 132.314,-254.987"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="132.989,-251.539 122.41,-252.111 131.037,-258.261 132.989,-251.539"/>
+</g>
+<!-- 8&#45;&gt;5 -->
+<g id="edge13" class="edge"><title>8&#45;&gt;5</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M317.601,-287.697C323.891,-279.389 331.547,-269.277 338.465,-260.141"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="341.304,-262.19 344.55,-252.104 335.723,-257.964 341.304,-262.19"/>
+</g>
+<!-- 17 -->
+<g id="node18" class="node"><title>17</title>
+<path fill="none" stroke="#59d856" stroke-width="2" d="M728,-252C728,-252 639,-252 639,-252 633,-252 627,-246 627,-240 627,-240 627,-228 627,-228 627,-222 633,-216 639,-216 639,-216 728,-216 728,-216 734,-216 740,-222 740,-228 740,-228 740,-240 740,-240 740,-246 734,-252 728,-252"/>
+<text text-anchor="middle" x="683.5" y="-231.5" font-family="sans" font-size="10.00">pe_map_genome_star</text>
+</g>
+<!-- 8&#45;&gt;17 -->
+<g id="edge24" class="edge"><title>8&#45;&gt;17</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M372.886,-289.657C375.793,-289.082 378.674,-288.527 381.5,-288 482.647,-269.141 511.799,-272.997 616.656,-252.052"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="617.597,-255.433 626.703,-250.017 616.207,-248.572 617.597,-255.433"/>
+</g>
+<!-- 9 -->
+<g id="node10" class="node"><title>9</title>
+<path fill="none" stroke="#56d8a2" stroke-width="2" d="M156,-324C156,-324 71,-324 71,-324 65,-324 59,-318 59,-312 59,-312 59,-300 59,-300 59,-294 65,-288 71,-288 71,-288 156,-288 156,-288 162,-288 168,-294 168,-300 168,-300 168,-312 168,-312 168,-318 162,-324 156,-324"/>
+<text text-anchor="middle" x="113.5" y="-303.5" font-family="sans" font-size="10.00">create_index_salmon</text>
+</g>
+<!-- 9&#45;&gt;3 -->
+<g id="edge8" class="edge"><title>9&#45;&gt;3</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M101.14,-287.697C95.2672,-279.474 88.1309,-269.483 81.6576,-260.421"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="84.3779,-258.207 75.7174,-252.104 78.6817,-262.276 84.3779,-258.207"/>
+</g>
+<!-- 9&#45;&gt;4 -->
+<g id="edge11" class="edge"><title>9&#45;&gt;4</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M135.006,-287.697C145.963,-278.881 159.446,-268.032 171.325,-258.474"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="173.645,-261.1 179.242,-252.104 169.256,-255.646 173.645,-261.1"/>
+</g>
+<!-- 10 -->
+<g id="node11" class="node"><title>10</title>
+<path fill="none" stroke="#56d8d8" stroke-width="2" d="M624.5,-324C624.5,-324 528.5,-324 528.5,-324 522.5,-324 516.5,-318 516.5,-312 516.5,-312 516.5,-300 516.5,-300 516.5,-294 522.5,-288 528.5,-288 528.5,-288 624.5,-288 624.5,-288 630.5,-288 636.5,-294 636.5,-300 636.5,-300 636.5,-312 636.5,-312 636.5,-318 630.5,-324 624.5,-324"/>
+<text text-anchor="middle" x="576.5" y="-303.5" font-family="sans" font-size="10.00">remove_polya_cutadapt</text>
+</g>
+<!-- 10&#45;&gt;4 -->
+<g id="edge10" class="edge"><title>10&#45;&gt;4</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M516.363,-289.831C513.372,-289.187 510.405,-288.573 507.5,-288 403.939,-267.586 373.787,-273.413 266.048,-251.975"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="266.572,-248.51 256.077,-249.958 265.184,-255.371 266.572,-248.51"/>
+</g>
+<!-- 10&#45;&gt;6 -->
+<g id="edge14" class="edge"><title>10&#45;&gt;6</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M565.871,-287.697C560.872,-279.559 554.809,-269.689 549.288,-260.701"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="552.223,-258.793 544.007,-252.104 546.259,-262.457 552.223,-258.793"/>
+</g>
+<!-- 18 -->
+<g id="node19" class="node"><title>18</title>
+<path fill="none" stroke="#70d856" stroke-width="2" d="M843,-252C843,-252 770,-252 770,-252 764,-252 758,-246 758,-240 758,-240 758,-228 758,-228 758,-222 764,-216 770,-216 770,-216 843,-216 843,-216 849,-216 855,-222 855,-228 855,-228 855,-240 855,-240 855,-246 849,-252 843,-252"/>
+<text text-anchor="middle" x="806.5" y="-231.5" font-family="sans" font-size="10.00">map_genome_star</text>
+</g>
+<!-- 10&#45;&gt;18 -->
+<g id="edge25" class="edge"><title>10&#45;&gt;18</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M632.47,-287.966C667.475,-277.312 712.49,-263.612 747.968,-252.814"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="749.158,-256.111 757.705,-249.851 747.119,-249.414 749.158,-256.111"/>
+</g>
+<!-- 11 -->
+<g id="node12" class="node"><title>11</title>
+<path fill="none" stroke="#56d8c1" stroke-width="2" d="M486.5,-324C486.5,-324 402.5,-324 402.5,-324 396.5,-324 390.5,-318 390.5,-312 390.5,-312 390.5,-300 390.5,-300 390.5,-294 396.5,-288 402.5,-288 402.5,-288 486.5,-288 486.5,-288 492.5,-288 498.5,-294 498.5,-300 498.5,-300 498.5,-312 498.5,-312 498.5,-318 492.5,-324 486.5,-324"/>
+<text text-anchor="middle" x="444.5" y="-303.5" font-family="sans" font-size="10.00">create_index_kallisto</text>
+</g>
+<!-- 11&#45;&gt;5 -->
+<g id="edge12" class="edge"><title>11&#45;&gt;5</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M422.994,-287.697C412.037,-278.881 398.554,-268.032 386.675,-258.474"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="388.744,-255.646 378.758,-252.104 384.355,-261.1 388.744,-255.646"/>
+</g>
+<!-- 11&#45;&gt;6 -->
+<g id="edge15" class="edge"><title>11&#45;&gt;6</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M466.5,-287.697C477.709,-278.881 491.502,-268.032 503.654,-258.474"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="506.057,-261.038 511.753,-252.104 501.729,-255.535 506.057,-261.038"/>
+</g>
+<!-- 12 -->
+<g id="node13" class="node"><title>12</title>
+<path fill="none" stroke="#d8a456" stroke-width="2" d="M563.5,-180C563.5,-180 397.5,-180 397.5,-180 391.5,-180 385.5,-174 385.5,-168 385.5,-168 385.5,-156 385.5,-156 385.5,-150 391.5,-144 397.5,-144 397.5,-144 563.5,-144 563.5,-144 569.5,-144 575.5,-150 575.5,-156 575.5,-156 575.5,-168 575.5,-168 575.5,-174 569.5,-180 563.5,-180"/>
+<text text-anchor="middle" x="480.5" y="-159.5" font-family="sans" font-size="10.00">pe_index_genomic_alignment_samtools</text>
+</g>
+<!-- 12&#45;&gt;7 -->
+<g id="edge17" class="edge"><title>12&#45;&gt;7</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M503.489,-143.697C515.314,-134.796 529.892,-123.823 542.679,-114.199"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="544.891,-116.915 550.776,-108.104 540.681,-111.322 544.891,-116.915"/>
+</g>
+<!-- 13 -->
+<g id="node14" class="node"><title>13</title>
+<path fill="none" stroke="#56a2d8" stroke-width="2" d="M727,-180C727,-180 606,-180 606,-180 600,-180 594,-174 594,-168 594,-168 594,-156 594,-156 594,-150 600,-144 606,-144 606,-144 727,-144 727,-144 733,-144 739,-150 739,-156 739,-156 739,-168 739,-168 739,-174 733,-180 727,-180"/>
+<text text-anchor="middle" x="666.5" y="-159.5" font-family="sans" font-size="10.00">extract_transcripts_as_bed12</text>
+</g>
+<!-- 13&#45;&gt;7 -->
+<g id="edge18" class="edge"><title>13&#45;&gt;7</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M643.511,-143.697C631.686,-134.796 617.108,-123.823 604.321,-114.199"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="606.319,-111.322 596.224,-108.104 602.109,-116.915 606.319,-111.322"/>
+</g>
+<!-- 14 -->
+<g id="node15" class="node"><title>14</title>
+<path fill="none" stroke="#88d856" stroke-width="2" d="M919.5,-180C919.5,-180 769.5,-180 769.5,-180 763.5,-180 757.5,-174 757.5,-168 757.5,-168 757.5,-156 757.5,-156 757.5,-150 763.5,-144 769.5,-144 769.5,-144 919.5,-144 919.5,-144 925.5,-144 931.5,-150 931.5,-156 931.5,-156 931.5,-168 931.5,-168 931.5,-174 925.5,-180 919.5,-180"/>
+<text text-anchor="middle" x="844.5" y="-159.5" font-family="sans" font-size="10.00">index_genomic_alignment_samtools</text>
+</g>
+<!-- 14&#45;&gt;7 -->
+<g id="edge16" class="edge"><title>14&#45;&gt;7</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M778.552,-143.966C736.344,-133.063 681.783,-118.97 639.554,-108.062"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="640.206,-104.615 629.648,-105.503 638.455,-111.393 640.206,-104.615"/>
+</g>
+<!-- 15 -->
+<g id="node16" class="node"><title>15</title>
+<path fill="none" stroke="#56d88a" stroke-width="2" d="M367.5,-396C367.5,-396 241.5,-396 241.5,-396 235.5,-396 229.5,-390 229.5,-384 229.5,-384 229.5,-372 229.5,-372 229.5,-366 235.5,-360 241.5,-360 241.5,-360 367.5,-360 367.5,-360 373.5,-360 379.5,-366 379.5,-372 379.5,-372 379.5,-384 379.5,-384 379.5,-390 373.5,-396 367.5,-396"/>
+<text text-anchor="middle" x="304.5" y="-375.5" font-family="sans" font-size="10.00">pe_remove_adapters_cutadapt</text>
+</g>
+<!-- 15&#45;&gt;8 -->
+<g id="edge19" class="edge"><title>15&#45;&gt;8</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M304.5,-359.697C304.5,-351.983 304.5,-342.712 304.5,-334.112"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="308,-334.104 304.5,-324.104 301,-334.104 308,-334.104"/>
+</g>
+<!-- 16 -->
+<g id="node17" class="node"><title>16</title>
+<path fill="none" stroke="#bed856" stroke-width="2" d="M631.5,-396C631.5,-396 521.5,-396 521.5,-396 515.5,-396 509.5,-390 509.5,-384 509.5,-384 509.5,-372 509.5,-372 509.5,-366 515.5,-360 521.5,-360 521.5,-360 631.5,-360 631.5,-360 637.5,-360 643.5,-366 643.5,-372 643.5,-372 643.5,-384 643.5,-384 643.5,-390 637.5,-396 631.5,-396"/>
+<text text-anchor="middle" x="576.5" y="-375.5" font-family="sans" font-size="10.00">remove_adapters_cutadapt</text>
+</g>
+<!-- 16&#45;&gt;10 -->
+<g id="edge20" class="edge"><title>16&#45;&gt;10</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M576.5,-359.697C576.5,-351.983 576.5,-342.712 576.5,-334.112"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="580,-334.104 576.5,-324.104 573,-334.104 580,-334.104"/>
+</g>
+<!-- 17&#45;&gt;12 -->
+<g id="edge21" class="edge"><title>17&#45;&gt;12</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M634.1,-215.966C605.613,-206.142 569.614,-193.729 539.629,-183.389"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="540.716,-180.062 530.121,-180.111 538.434,-186.68 540.716,-180.062"/>
+</g>
+<!-- 18&#45;&gt;14 -->
+<g id="edge22" class="edge"><title>18&#45;&gt;14</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M815.893,-215.697C820.265,-207.644 825.557,-197.894 830.395,-188.982"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="833.52,-190.563 835.215,-180.104 827.368,-187.223 833.52,-190.563"/>
+</g>
+<!-- 19 -->
+<g id="node20" class="node"><title>19</title>
+<path fill="none" stroke="#56d873" stroke-width="2" d="M779.5,-324C779.5,-324 709.5,-324 709.5,-324 703.5,-324 697.5,-318 697.5,-312 697.5,-312 697.5,-300 697.5,-300 697.5,-294 703.5,-288 709.5,-288 709.5,-288 779.5,-288 779.5,-288 785.5,-288 791.5,-294 791.5,-300 791.5,-300 791.5,-312 791.5,-312 791.5,-318 785.5,-324 779.5,-324"/>
+<text text-anchor="middle" x="744.5" y="-303.5" font-family="sans" font-size="10.00">create_index_star</text>
+</g>
+<!-- 19&#45;&gt;17 -->
+<g id="edge23" class="edge"><title>19&#45;&gt;17</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M729.421,-287.697C722.108,-279.305 713.19,-269.07 705.165,-259.861"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="707.614,-257.344 698.405,-252.104 702.336,-261.943 707.614,-257.344"/>
+</g>
+<!-- 19&#45;&gt;18 -->
+<g id="edge26" class="edge"><title>19&#45;&gt;18</title>
+<path fill="none" stroke="grey" stroke-width="2" d="M759.826,-287.697C767.259,-279.305 776.323,-269.07 784.48,-259.861"/>
+<polygon fill="grey" stroke="grey" stroke-width="2" points="787.34,-261.911 791.35,-252.104 782.1,-257.27 787.34,-261.911"/>
+</g>
+</g>
+</svg>
diff --git a/images/workflow_dag.svg b/images/workflow_dag.svg
deleted file mode 100644
index fc7fd7d13440f2567764a3fe62c60ded829efc3e..0000000000000000000000000000000000000000
--- a/images/workflow_dag.svg
+++ /dev/null
@@ -1,274 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
- "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<!-- Generated by graphviz version 2.42.3 (20191010.1750)
- -->
-<!-- Title: snakemake_dag Pages: 1 -->
-<svg width="1409pt" height="337pt"
- viewBox="0.00 0.00 1408.50 337.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 333)">
-<title>snakemake_dag</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-333 1404.5,-333 1404.5,4 -4,4"/>
-<!-- 0 -->
-<g id="node1" class="node">
-<title>0</title>
-<path fill="none" stroke="#70d856" stroke-width="2" d="M826.5,-36C826.5,-36 796.5,-36 796.5,-36 790.5,-36 784.5,-30 784.5,-24 784.5,-24 784.5,-12 784.5,-12 784.5,-6 790.5,0 796.5,0 796.5,0 826.5,0 826.5,0 832.5,0 838.5,-6 838.5,-12 838.5,-12 838.5,-24 838.5,-24 838.5,-30 832.5,-36 826.5,-36"/>
-<text text-anchor="middle" x="811.5" y="-15.5" font-family="sans" font-size="10.00">finish</text>
-</g>
-<!-- 1 -->
-<g id="node2" class="node">
-<title>1</title>
-<path fill="none" stroke="#d88d56" stroke-width="2" d="M177,-108C177,-108 12,-108 12,-108 6,-108 0,-102 0,-96 0,-96 0,-84 0,-84 0,-78 6,-72 12,-72 12,-72 177,-72 177,-72 183,-72 189,-78 189,-84 189,-84 189,-96 189,-96 189,-102 183,-108 177,-108"/>
-<text text-anchor="middle" x="94.5" y="-93" font-family="sans" font-size="10.00">pe_fastqc</text>
-<text text-anchor="middle" x="94.5" y="-82" font-family="sans" font-size="10.00">sample: synthetic_10_reads_paired</text>
-</g>
-<!-- 1&#45;&gt;0 -->
-<g id="edge1" class="edge">
-<title>1&#45;&gt;0</title>
-<path fill="none" stroke="grey" stroke-width="2" d="M189.03,-73.11C191.89,-72.72 194.71,-72.35 197.5,-72 415.45,-44.65 678.72,-27.08 774.44,-21.19"/>
-<polygon fill="grey" stroke="grey" stroke-width="2" points="774.72,-24.68 784.49,-20.58 774.29,-17.7 774.72,-24.68"/>
-</g>
-<!-- 2 -->
-<g id="node3" class="node">
-<title>2</title>
-<path fill="none" stroke="#56d892" stroke-width="2" d="M390,-108C390,-108 219,-108 219,-108 213,-108 207,-102 207,-96 207,-96 207,-84 207,-84 207,-78 213,-72 219,-72 219,-72 390,-72 390,-72 396,-72 402,-78 402,-84 402,-84 402,-96 402,-96 402,-102 396,-108 390,-108"/>
-<text text-anchor="middle" x="304.5" y="-93" font-family="sans" font-size="10.00">fastqc</text>
-<text text-anchor="middle" x="304.5" y="-82" font-family="sans" font-size="10.00">sample: synthetic_10_reads_mate_1</text>
-</g>
-<!-- 2&#45;&gt;0 -->
-<g id="edge2" class="edge">
-<title>2&#45;&gt;0</title>
-<path fill="none" stroke="grey" stroke-width="2" d="M402.1,-73.24C404.93,-72.82 407.73,-72.4 410.5,-72 544,-52.48 702.99,-32.4 774.01,-23.6"/>
-<polygon fill="grey" stroke="grey" stroke-width="2" points="774.74,-27.04 784.24,-22.34 773.88,-20.09 774.74,-27.04"/>
-</g>
-<!-- 3 -->
-<g id="node4" class="node">
-<title>3</title>
-<path fill="none" stroke="#d8cb56" stroke-width="2" d="M621,-108C621,-108 432,-108 432,-108 426,-108 420,-102 420,-96 420,-96 420,-84 420,-84 420,-78 426,-72 432,-72 432,-72 621,-72 621,-72 627,-72 633,-78 633,-84 633,-84 633,-96 633,-96 633,-102 627,-108 621,-108"/>
-<text text-anchor="middle" x="526.5" y="-87.5" font-family="sans" font-size="10.00">pe_index_genomic_alignment_samtools</text>
-</g>
-<!-- 3&#45;&gt;0 -->
-<g id="edge3" class="edge">
-<title>3&#45;&gt;0</title>
-<path fill="none" stroke="grey" stroke-width="2" d="M595.85,-71.97C652.11,-58.15 729.22,-39.21 774.37,-28.12"/>
-<polygon fill="grey" stroke="grey" stroke-width="2" points="775.43,-31.46 784.31,-25.68 773.76,-24.66 775.43,-31.46"/>
-</g>
-<!-- 4 -->
-<g id="node5" class="node">
-<title>4</title>
-<path fill="none" stroke="#d8ac56" stroke-width="2" d="M834.5,-108C834.5,-108 662.5,-108 662.5,-108 656.5,-108 650.5,-102 650.5,-96 650.5,-96 650.5,-84 650.5,-84 650.5,-78 656.5,-72 662.5,-72 662.5,-72 834.5,-72 834.5,-72 840.5,-72 846.5,-78 846.5,-84 846.5,-84 846.5,-96 846.5,-96 846.5,-102 840.5,-108 834.5,-108"/>
-<text text-anchor="middle" x="748.5" y="-87.5" font-family="sans" font-size="10.00">index_genomic_alignment_samtools</text>
-</g>
-<!-- 4&#45;&gt;0 -->
-<g id="edge4" class="edge">
-<title>4&#45;&gt;0</title>
-<path fill="none" stroke="grey" stroke-width="2" d="M764.07,-71.7C771.7,-63.22 781.02,-52.86 789.38,-43.58"/>
-<polygon fill="grey" stroke="grey" stroke-width="2" points="792.02,-45.88 796.11,-36.1 786.81,-41.2 792.02,-45.88"/>
-</g>
-<!-- 5 -->
-<g id="node6" class="node">
-<title>5</title>
-<path fill="none" stroke="#56c9d8" stroke-width="2" d="M851.5,-180C851.5,-180 733.5,-180 733.5,-180 727.5,-180 721.5,-174 721.5,-168 721.5,-168 721.5,-156 721.5,-156 721.5,-150 727.5,-144 733.5,-144 733.5,-144 851.5,-144 851.5,-144 857.5,-144 863.5,-150 863.5,-156 863.5,-156 863.5,-168 863.5,-168 863.5,-174 857.5,-180 851.5,-180"/>
-<text text-anchor="middle" x="792.5" y="-159.5" font-family="sans" font-size="10.00">pe_quantification_salmon</text>
-</g>
-<!-- 5&#45;&gt;0 -->
-<g id="edge5" class="edge">
-<title>5&#45;&gt;0</title>
-<path fill="none" stroke="grey" stroke-width="2" d="M822.8,-143.8C835.38,-134.9 848.62,-122.77 855.5,-108 862.25,-93.49 860.93,-87.05 855.5,-72 851.75,-61.6 844.96,-51.8 837.83,-43.52"/>
-<polygon fill="grey" stroke="grey" stroke-width="2" points="840.33,-41.06 830.97,-36.08 835.18,-45.81 840.33,-41.06"/>
-</g>
-<!-- 6 -->
-<g id="node7" class="node">
-<title>6</title>
-<path fill="none" stroke="#5673d8" stroke-width="2" d="M995,-180C995,-180 894,-180 894,-180 888,-180 882,-174 882,-168 882,-168 882,-156 882,-156 882,-150 888,-144 894,-144 894,-144 995,-144 995,-144 1001,-144 1007,-150 1007,-156 1007,-156 1007,-168 1007,-168 1007,-174 1001,-180 995,-180"/>
-<text text-anchor="middle" x="944.5" y="-159.5" font-family="sans" font-size="10.00">quantification_salmon</text>
-</g>
-<!-- 6&#45;&gt;0 -->
-<g id="edge6" class="edge">
-<title>6&#45;&gt;0</title>
-<path fill="none" stroke="grey" stroke-width="2" d="M932.06,-143.86C918.32,-125.38 895.14,-95.45 872.5,-72 862.64,-61.79 851.04,-51.36 840.62,-42.5"/>
-<polygon fill="grey" stroke="grey" stroke-width="2" points="842.84,-39.79 832.93,-36.05 838.34,-45.15 842.84,-39.79"/>
-</g>
-<!-- 7 -->
-<g id="node8" class="node">
-<title>7</title>
-<path fill="none" stroke="#8fd856" stroke-width="2" d="M1200,-180C1200,-180 1037,-180 1037,-180 1031,-180 1025,-174 1025,-168 1025,-168 1025,-156 1025,-156 1025,-150 1031,-144 1037,-144 1037,-144 1200,-144 1200,-144 1206,-144 1212,-150 1212,-156 1212,-156 1212,-168 1212,-168 1212,-174 1206,-180 1200,-180"/>
-<text text-anchor="middle" x="1118.5" y="-159.5" font-family="sans" font-size="10.00">pe_genome_quantification_kallisto</text>
-</g>
-<!-- 7&#45;&gt;0 -->
-<g id="edge7" class="edge">
-<title>7&#45;&gt;0</title>
-<path fill="none" stroke="grey" stroke-width="2" d="M1081.47,-143.87C1022.25,-116.48 906.93,-63.14 848.03,-35.9"/>
-<polygon fill="grey" stroke="grey" stroke-width="2" points="849.28,-32.62 838.74,-31.6 846.34,-38.97 849.28,-32.62"/>
-</g>
-<!-- 8 -->
-<g id="node9" class="node">
-<title>8</title>
-<path fill="none" stroke="#afd856" stroke-width="2" d="M1388.5,-180C1388.5,-180 1242.5,-180 1242.5,-180 1236.5,-180 1230.5,-174 1230.5,-168 1230.5,-168 1230.5,-156 1230.5,-156 1230.5,-150 1236.5,-144 1242.5,-144 1242.5,-144 1388.5,-144 1388.5,-144 1394.5,-144 1400.5,-150 1400.5,-156 1400.5,-156 1400.5,-168 1400.5,-168 1400.5,-174 1394.5,-180 1388.5,-180"/>
-<text text-anchor="middle" x="1315.5" y="-159.5" font-family="sans" font-size="10.00">genome_quantification_kallisto</text>
-</g>
-<!-- 8&#45;&gt;0 -->
-<g id="edge8" class="edge">
-<title>8&#45;&gt;0</title>
-<path fill="none" stroke="grey" stroke-width="2" d="M1254.96,-143.94C1149.4,-114.2 934.71,-53.71 848.53,-29.43"/>
-<polygon fill="grey" stroke="grey" stroke-width="2" points="849.24,-26 838.67,-26.65 847.34,-32.74 849.24,-26"/>
-</g>
-<!-- 9 -->
-<g id="node10" class="node">
-<title>9</title>
-<path fill="none" stroke="#56d8c9" stroke-width="2" d="M566,-180C566,-180 465,-180 465,-180 459,-180 453,-174 453,-168 453,-168 453,-156 453,-156 453,-150 459,-144 465,-144 465,-144 566,-144 566,-144 572,-144 578,-150 578,-156 578,-156 578,-168 578,-168 578,-174 572,-180 566,-180"/>
-<text text-anchor="middle" x="515.5" y="-159.5" font-family="sans" font-size="10.00">pe_map_genome_star</text>
-</g>
-<!-- 9&#45;&gt;3 -->
-<g id="edge9" class="edge">
-<title>9&#45;&gt;3</title>
-<path fill="none" stroke="grey" stroke-width="2" d="M518.22,-143.7C519.43,-135.98 520.89,-126.71 522.24,-118.11"/>
-<polygon fill="grey" stroke="grey" stroke-width="2" points="525.72,-118.53 523.81,-108.1 518.8,-117.44 525.72,-118.53"/>
-</g>
-<!-- 10 -->
-<g id="node11" class="node">
-<title>10</title>
-<path fill="none" stroke="#d87556" stroke-width="2" d="M691,-180C691,-180 608,-180 608,-180 602,-180 596,-174 596,-168 596,-168 596,-156 596,-156 596,-150 602,-144 608,-144 608,-144 691,-144 691,-144 697,-144 703,-150 703,-156 703,-156 703,-168 703,-168 703,-174 697,-180 691,-180"/>
-<text text-anchor="middle" x="649.5" y="-159.5" font-family="sans" font-size="10.00">map_genome_star</text>
-</g>
-<!-- 10&#45;&gt;4 -->
-<g id="edge10" class="edge">
-<title>10&#45;&gt;4</title>
-<path fill="none" stroke="grey" stroke-width="2" d="M673.72,-143.88C686.42,-134.89 702.16,-123.76 715.92,-114.03"/>
-<polygon fill="grey" stroke="grey" stroke-width="2" points="718.04,-116.82 724.19,-108.19 714,-111.11 718.04,-116.82"/>
-</g>
-<!-- 11 -->
-<g id="node12" class="node">
-<title>11</title>
-<path fill="none" stroke="#56d873" stroke-width="2" d="M818.5,-254.5C818.5,-254.5 690.5,-254.5 690.5,-254.5 684.5,-254.5 678.5,-248.5 678.5,-242.5 678.5,-242.5 678.5,-230.5 678.5,-230.5 678.5,-224.5 684.5,-218.5 690.5,-218.5 690.5,-218.5 818.5,-218.5 818.5,-218.5 824.5,-218.5 830.5,-224.5 830.5,-230.5 830.5,-230.5 830.5,-242.5 830.5,-242.5 830.5,-248.5 824.5,-254.5 818.5,-254.5"/>
-<text text-anchor="middle" x="754.5" y="-234" font-family="sans" font-size="10.00">pe_remove_polya_cutadapt</text>
-</g>
-<!-- 11&#45;&gt;5 -->
-<g id="edge11" class="edge">
-<title>11&#45;&gt;5</title>
-<path fill="none" stroke="grey" stroke-width="2" d="M763.51,-218.32C768.1,-209.56 773.77,-198.73 778.89,-188.97"/>
-<polygon fill="grey" stroke="grey" stroke-width="2" points="782.02,-190.54 783.56,-180.06 775.82,-187.29 782.02,-190.54"/>
-</g>
-<!-- 11&#45;&gt;7 -->
-<g id="edge15" class="edge">
-<title>11&#45;&gt;7</title>
-<path fill="none" stroke="grey" stroke-width="2" d="M828.18,-218.42C832,-217.59 835.8,-216.78 839.5,-216 897.3,-203.88 962.09,-191.5 1014.68,-181.76"/>
-<polygon fill="grey" stroke="grey" stroke-width="2" points="1015.49,-185.17 1024.69,-179.91 1014.22,-178.28 1015.49,-185.17"/>
-</g>
-<!-- 11&#45;&gt;9 -->
-<g id="edge20" class="edge">
-<title>11&#45;&gt;9</title>
-<path fill="none" stroke="grey" stroke-width="2" d="M698.16,-218.41C663.2,-207.8 618.11,-194.13 581.48,-183.01"/>
-<polygon fill="grey" stroke="grey" stroke-width="2" points="582.46,-179.65 571.87,-180.1 580.43,-186.35 582.46,-179.65"/>
-</g>
-<!-- 12 -->
-<g id="node13" class="node">
-<title>12</title>
-<path fill="none" stroke="#59d856" stroke-width="2" d="M976,-257C976,-257 861,-257 861,-257 855,-257 849,-251 849,-245 849,-245 849,-228 849,-228 849,-222 855,-216 861,-216 861,-216 976,-216 976,-216 982,-216 988,-222 988,-228 988,-228 988,-245 988,-245 988,-251 982,-257 976,-257"/>
-<text text-anchor="middle" x="918.5" y="-245" font-family="sans" font-size="10.00">create_index_salmon</text>
-<text text-anchor="middle" x="918.5" y="-234" font-family="sans" font-size="10.00">kmer: 31</text>
-<text text-anchor="middle" x="918.5" y="-223" font-family="sans" font-size="10.00">organism: homo_sapiens</text>
-</g>
-<!-- 12&#45;&gt;5 -->
-<g id="edge12" class="edge">
-<title>12&#45;&gt;5</title>
-<path fill="none" stroke="grey" stroke-width="2" d="M884.4,-215.88C868.05,-206.47 848.37,-195.15 831.43,-185.4"/>
-<polygon fill="grey" stroke="grey" stroke-width="2" points="832.75,-182.12 822.33,-180.17 829.26,-188.19 832.75,-182.12"/>
-</g>
-<!-- 12&#45;&gt;6 -->
-<g id="edge14" class="edge">
-<title>12&#45;&gt;6</title>
-<path fill="none" stroke="grey" stroke-width="2" d="M925.6,-215.69C928.46,-207.73 931.79,-198.44 934.86,-189.89"/>
-<polygon fill="grey" stroke="grey" stroke-width="2" points="938.21,-190.91 938.29,-180.32 931.62,-188.55 938.21,-190.91"/>
-</g>
-<!-- 13 -->
-<g id="node14" class="node">
-<title>13</title>
-<path fill="none" stroke="#56d8a9" stroke-width="2" d="M1128.5,-254.5C1128.5,-254.5 1018.5,-254.5 1018.5,-254.5 1012.5,-254.5 1006.5,-248.5 1006.5,-242.5 1006.5,-242.5 1006.5,-230.5 1006.5,-230.5 1006.5,-224.5 1012.5,-218.5 1018.5,-218.5 1018.5,-218.5 1128.5,-218.5 1128.5,-218.5 1134.5,-218.5 1140.5,-224.5 1140.5,-230.5 1140.5,-230.5 1140.5,-242.5 1140.5,-242.5 1140.5,-248.5 1134.5,-254.5 1128.5,-254.5"/>
-<text text-anchor="middle" x="1073.5" y="-234" font-family="sans" font-size="10.00">remove_polya_cutadapt</text>
-</g>
-<!-- 13&#45;&gt;6 -->
-<g id="edge13" class="edge">
-<title>13&#45;&gt;6</title>
-<path fill="none" stroke="grey" stroke-width="2" d="M1042.93,-218.32C1025.18,-208.34 1002.63,-195.67 983.6,-184.97"/>
-<polygon fill="grey" stroke="grey" stroke-width="2" points="985.28,-181.91 974.85,-180.06 981.85,-188.01 985.28,-181.91"/>
-</g>
-<!-- 13&#45;&gt;8 -->
-<g id="edge17" class="edge">
-<title>13&#45;&gt;8</title>
-<path fill="none" stroke="grey" stroke-width="2" d="M1130.54,-218.41C1165.95,-207.8 1211.6,-194.13 1248.69,-183.01"/>
-<polygon fill="grey" stroke="grey" stroke-width="2" points="1249.85,-186.32 1258.42,-180.1 1247.84,-179.62 1249.85,-186.32"/>
-</g>
-<!-- 13&#45;&gt;10 -->
-<g id="edge22" class="edge">
-<title>13&#45;&gt;10</title>
-<path fill="none" stroke="grey" stroke-width="2" d="M1009.36,-218.44C1005.36,-217.56 1001.38,-216.74 997.5,-216 875.27,-192.69 839.56,-204.07 713.39,-180.01"/>
-<polygon fill="grey" stroke="grey" stroke-width="2" points="713.83,-176.53 703.34,-178.05 712.49,-183.4 713.83,-176.53"/>
-</g>
-<!-- 14 -->
-<g id="node15" class="node">
-<title>14</title>
-<path fill="none" stroke="#d85656" stroke-width="2" d="M1329,-254.5C1329,-254.5 1214,-254.5 1214,-254.5 1208,-254.5 1202,-248.5 1202,-242.5 1202,-242.5 1202,-230.5 1202,-230.5 1202,-224.5 1208,-218.5 1214,-218.5 1214,-218.5 1329,-218.5 1329,-218.5 1335,-218.5 1341,-224.5 1341,-230.5 1341,-230.5 1341,-242.5 1341,-242.5 1341,-248.5 1335,-254.5 1329,-254.5"/>
-<text text-anchor="middle" x="1271.5" y="-239.5" font-family="sans" font-size="10.00">create_index_kallisto</text>
-<text text-anchor="middle" x="1271.5" y="-228.5" font-family="sans" font-size="10.00">organism: homo_sapiens</text>
-</g>
-<!-- 14&#45;&gt;7 -->
-<g id="edge16" class="edge">
-<title>14&#45;&gt;7</title>
-<path fill="none" stroke="grey" stroke-width="2" d="M1235.24,-218.32C1213.81,-208.16 1186.48,-195.21 1163.65,-184.39"/>
-<polygon fill="grey" stroke="grey" stroke-width="2" points="1165.03,-181.18 1154.5,-180.06 1162.04,-187.5 1165.03,-181.18"/>
-</g>
-<!-- 14&#45;&gt;8 -->
-<g id="edge18" class="edge">
-<title>14&#45;&gt;8</title>
-<path fill="none" stroke="grey" stroke-width="2" d="M1281.93,-218.32C1287.3,-209.47 1293.95,-198.5 1299.92,-188.67"/>
-<polygon fill="grey" stroke="grey" stroke-width="2" points="1302.95,-190.42 1305.15,-180.06 1296.97,-186.79 1302.95,-190.42"/>
-</g>
-<!-- 15 -->
-<g id="node16" class="node">
-<title>15</title>
-<path fill="none" stroke="#5692d8" stroke-width="2" d="M623,-257C623,-257 508,-257 508,-257 502,-257 496,-251 496,-245 496,-245 496,-228 496,-228 496,-222 502,-216 508,-216 508,-216 623,-216 623,-216 629,-216 635,-222 635,-228 635,-228 635,-245 635,-245 635,-251 629,-257 623,-257"/>
-<text text-anchor="middle" x="565.5" y="-245" font-family="sans" font-size="10.00">create_index_star</text>
-<text text-anchor="middle" x="565.5" y="-234" font-family="sans" font-size="10.00">index_size: 76</text>
-<text text-anchor="middle" x="565.5" y="-223" font-family="sans" font-size="10.00">organism: homo_sapiens</text>
-</g>
-<!-- 15&#45;&gt;9 -->
-<g id="edge19" class="edge">
-<title>15&#45;&gt;9</title>
-<path fill="none" stroke="grey" stroke-width="2" d="M551.84,-215.69C546.11,-207.39 539.38,-197.63 533.28,-188.78"/>
-<polygon fill="grey" stroke="grey" stroke-width="2" points="536,-186.56 527.44,-180.32 530.24,-190.54 536,-186.56"/>
-</g>
-<!-- 15&#45;&gt;10 -->
-<g id="edge21" class="edge">
-<title>15&#45;&gt;10</title>
-<path fill="none" stroke="grey" stroke-width="2" d="M588.45,-215.69C598.85,-206.72 611.22,-196.04 622.1,-186.65"/>
-<polygon fill="grey" stroke="grey" stroke-width="2" points="624.43,-189.26 629.71,-180.08 619.86,-183.96 624.43,-189.26"/>
-</g>
-<!-- 16 -->
-<g id="node17" class="node">
-<title>16</title>
-<path fill="none" stroke="#56a9d8" stroke-width="2" d="M837,-329C837,-329 672,-329 672,-329 666,-329 660,-323 660,-317 660,-317 660,-305 660,-305 660,-299 666,-293 672,-293 672,-293 837,-293 837,-293 843,-293 849,-299 849,-305 849,-305 849,-317 849,-317 849,-323 843,-329 837,-329"/>
-<text text-anchor="middle" x="754.5" y="-314" font-family="sans" font-size="10.00">pe_remove_adapters_cutadapt</text>
-<text text-anchor="middle" x="754.5" y="-303" font-family="sans" font-size="10.00">sample: synthetic_10_reads_paired</text>
-</g>
-<!-- 16&#45;&gt;11 -->
-<g id="edge23" class="edge">
-<title>16&#45;&gt;11</title>
-<path fill="none" stroke="grey" stroke-width="2" d="M754.5,-292.82C754.5,-284.42 754.5,-274.12 754.5,-264.69"/>
-<polygon fill="grey" stroke="grey" stroke-width="2" points="758,-264.56 754.5,-254.56 751,-264.56 758,-264.56"/>
-</g>
-<!-- 17 -->
-<g id="node18" class="node">
-<title>17</title>
-<path fill="none" stroke="#c6d856" stroke-width="2" d="M1159,-329C1159,-329 988,-329 988,-329 982,-329 976,-323 976,-317 976,-317 976,-305 976,-305 976,-299 982,-293 988,-293 988,-293 1159,-293 1159,-293 1165,-293 1171,-299 1171,-305 1171,-305 1171,-317 1171,-317 1171,-323 1165,-329 1159,-329"/>
-<text text-anchor="middle" x="1073.5" y="-314" font-family="sans" font-size="10.00">remove_adapters_cutadapt</text>
-<text text-anchor="middle" x="1073.5" y="-303" font-family="sans" font-size="10.00">sample: synthetic_10_reads_mate_1</text>
-</g>
-<!-- 17&#45;&gt;13 -->
-<g id="edge24" class="edge">
-<title>17&#45;&gt;13</title>
-<path fill="none" stroke="grey" stroke-width="2" d="M1073.5,-292.82C1073.5,-284.42 1073.5,-274.12 1073.5,-264.69"/>
-<polygon fill="grey" stroke="grey" stroke-width="2" points="1077,-264.56 1073.5,-254.56 1070,-264.56 1077,-264.56"/>
-</g>
-</g>
-</svg>
diff --git a/install/environment.dev.yml b/install/environment.dev.yml
new file mode 100644
index 0000000000000000000000000000000000000000..54f012ec84b04ff7a9546e778c38e4bddf44e9fa
--- /dev/null
+++ b/install/environment.dev.yml
@@ -0,0 +1,13 @@
+name: rnaseq_pipeline
+channels:
+  - bioconda
+  - conda-forge
+  - defaults
+dependencies:
+  - bedtools=2.29.2
+  - unzip=6.0
+  - pip=20.0.2
+  - pip:
+    - biopython==1.76
+    - labkey==1.2.0
+
diff --git a/install/environment.root.yml b/install/environment.root.yml
new file mode 100644
index 0000000000000000000000000000000000000000..9c6d56dd4a0ab2d3a1f7907549a71053c35a4cd0
--- /dev/null
+++ b/install/environment.root.yml
@@ -0,0 +1,13 @@
+name: rnaseq_pipeline
+channels:
+  - conda-forge
+  - defaults
+dependencies:
+  - graphviz=2.40.1
+  - pip=20.0.2
+  - python=3.7.4
+  - singularity=3.5.2
+  - pip:
+    - pandas==1.0.1
+    - snakemake==5.10.0
+
diff --git a/install/environment.yml b/install/environment.yml
new file mode 100644
index 0000000000000000000000000000000000000000..dd6b5d5061a9186dfa6bb37f5f9caf0a8886c06b
--- /dev/null
+++ b/install/environment.yml
@@ -0,0 +1,11 @@
+name: rnaseq_pipeline
+channels:
+  - defaults
+dependencies:
+  - graphviz=2.40.1
+  - pip=20.0.2
+  - python=3.7.4
+  - pip:
+    - pandas==1.0.1
+    - snakemake==5.10.0
+
diff --git a/scripts/input_dict_caption.tsv b/scripts/input_dict_caption.tsv
deleted file mode 100644
index 6f043f835084ef9286e1584994f06a40e0011214..0000000000000000000000000000000000000000
--- a/scripts/input_dict_caption.tsv
+++ /dev/null
@@ -1,51 +0,0 @@
-labkey	snakemake
-Entry date	entry_date
-Path to FASTQ file(s)	fastq_path
-Condition name	condition
-Replicate name	replicate_name
-End type (PAIRED or SINGLE)	seqmode
-Name of Mate1 FASTQ file	fq1
-Name of Mate2 FASTQ file	fq2
-Direction of Mate1 (SENSE, ANTISENSE or RANDOM)	mate1_direction
-Direction of Mate2 (SENSE, ANTISENSE or RANDOM)	mate2_direction
-5' adapter of Mate1	fq1_5p
-3' adapter of Mate1	fq1_3p
-5' adapter of Mate2	fq2_5p
-3' adapter of Mate2	fq2_3p
-Fragment length mean	mean
-Fragment length SD	sd
-Quality control flag (PASSED or FAILED)	quality_control_flag
-Checksum of raw Mate1 FASTQ file	mate1_checksum
-Checksum of raw Mate2 FASTQ file	mate2_checksum
-Name of metadata file	metadata
-Name of quality control file for Mate1	mate1_quality
-Name of quality control file for Mate2	mate2_quality
-Organism	organism
-Taxon ID	taxon_id
-Name of Strain / Isolate / Breed / Ecotype	strain_name
-Strain / Isolate / Breed / Ecotype ID	strain_id
-Biomaterial provider	biomaterial_provider
-Source / tissue name	source_name
-Tissue code	tissue_code
-Additional tissue description	tissue_description
-Genotype short name	genotype_name
-Genotype description	genotype_description
-Disease short name	disease_name
-Disease description	disease_description
-Abbreviation for treatment	treatment
-Treatment description	treatment_description
-Gender	gender
-Age	age
-Developmental stage	development_stage
-Passage number	passage_number
-Sample preparation date (YYYY-MM-DD)	sample_prep_date
-Prepared by	prepared_by
-Documentation	documentation
-Name of protocol file	protocol_file
-Sequencing date (YYYY-MM-DD)	seq_date
-Sequencing instrument	seq_instrument
-Library preparation kit	library_kit
-Cycles	cycles
-Molecule	molecule
-Contaminant sequences	contaminant_seqs
-Name of BioAnalyzer file	bioanalyser_file
diff --git a/scripts/input_dict_field_key.tsv b/scripts/labkey_to_snakemake.dict.tsv
similarity index 100%
rename from scripts/input_dict_field_key.tsv
rename to scripts/labkey_to_snakemake.dict.tsv
diff --git a/scripts/labkey_to_snakemake.py b/scripts/labkey_to_snakemake.py
index f8f752752f91e84ddfa66a110a3016069fe01ede..b6b9569b15d669afa97e785ff2bc83f9360351c8 100755
--- a/scripts/labkey_to_snakemake.py
+++ b/scripts/labkey_to_snakemake.py
@@ -1,3 +1,5 @@
+#!/usr/bin/env python3
+
 ## -----------------------------------------------------------------------------
 # Author : Katsantoni Maria, Christina Herrmann
 # Company: Mihaela Zavolan, Biozentrum, Basel
@@ -12,15 +14,18 @@
 
 import sys
 import gzip
+import labkey
 from argparse import ArgumentParser, RawTextHelpFormatter
 import os
+import sys
 import numpy as np
 import pandas as pd
 from Bio import SeqIO
 from io import StringIO
 from csv import writer
 from pathlib import Path
-
+# for convenience, load QueryFilter explicitly (avoids long lines in filter definitions)
+from labkey.query import QueryFilter
 # ----------------------------------------------------------------------------------------------------------------------
 def main():
     """ Preprocess sample folder and create config file for snakemake"""
@@ -32,69 +37,98 @@ def main():
         formatter_class=RawTextHelpFormatter)
 
     parser.add_argument(
-        "--input_table",
-        dest="input_table",
-        help="input table containing the sample information",
-        required=True,
-        metavar="FILE")
+        "genomes_path",
+        help="Path containing the FASTA and GTF files for all organisms",
+        metavar="GENOMES PATH"
+    )
+
+    parser.add_argument(
+        "--input-table",
+        type=str,
+        default=None,
+        help=(
+            "Input table in LabKey format containing the sample information;"
+            "\nexactly one of '--input-table' and '--remote' is required."
+        ),
+        metavar="FILE",
+    )
+
+    parser.add_argument(
+        "--remote",
+        action="store_true",
+        help=(
+            "Fetch LabKey table via API; exactly one of '--input-table' and"
+            "\n'--remote' is required."
+        ),
+    )
+
+    parser.add_argument(
+        "--project-name",
+        help=(
+            "Name of LabKey project containing table '--table-name'; required"
+            "\nif '--remote' is specified."
+        ),
+        metavar="STR",
+    )
 
     parser.add_argument(
-        "--input_dict",
-        dest="input_dict",
-        help="input dictionary containing the feature name \
-              conversion from labkey to snakemake allowed names",
-        required=True,
-        metavar="FILE")
+        "--table-name",
+        help="Name of LabKey table; required if '--remote' is specified.",
+        metavar="STR",
+    )
+    parser.add_argument(
+        "--input-dict",
+        help=(
+            "Input dictionary containing the feature name conversion from \n"
+            "LabKey to Snakemake; default: '%(default)s'"
+        ),
+        default=os.path.join(
+            os.path.dirname(__file__),
+            'labkey_to_snakemake.dict.tsv'
+        ),
+        metavar="FILE"
+    )
 
     parser.add_argument(
-        "--genomes_path",
-        dest="genomes_path",
-        help="path containing the fasta and gtf files for all organisms",
-        required=True)
+        "--samples-table",
+        help="Output table compatible to snakemake; default: '%(default)s'",
+        default='samples.tsv',
+        metavar="FILE"
+    )
 
     parser.add_argument(
         "--multimappers",
-        dest="multimappers",
-        help="number of mulitmappers allowed",
-        required=False,
         type=int,
-        metavar='value',
-        default=1)
+        default=100,
+        help="Number of allowed multimappers",
+        metavar='INT',
+    )
 
     parser.add_argument(
-        "--soft_clip",
-        dest="soft_clip",
-        help="soft-clipping option of STAR",
-        required=False,
+        "--soft-clip",
         choices=['EndToEnd','Local'],
-        default='EndToEnd')
+        default='EndToEnd',
+        help="Soft-clipping option for STAR",
+    )
 
     parser.add_argument(
-        "--pass_mode",
-        dest="pass_mode",
-        help="STAR option pass_mode",
-        required=False,
+        "--pass-mode",
         choices=['None','Basic'],
-        default='None')
+        default='None',
+        help="2-pass mode option for STAR",
+    )
 
     parser.add_argument(
         "--libtype",
-        dest="libtype",
+        default='A',
         help="Library type for salmon",
-        required=False,
-        default='A')
+        metavar="STR",
+    )
 
     parser.add_argument(
-        "--config_file",
-        dest="config_file",
+        "--config-file",
         help="Configuration file to be used by Snakemake",
-        required=False)
-
-    parser.add_argument(
-        "--samples_table",
-        dest="samples_table",
-        help="Table with samples",
-        required=True)
+    )
 
 
     # __________________________________________________________________________________________________________________
@@ -110,14 +144,41 @@ def main():
         parser.print_help()
         sys.exit(1)
 
+    if options.remote and options.input_table:
+        parser.print_help()
+        print("\n[ERROR] Options '--input-table' and '--remote' are mutually exclusive.")
+        sys.exit(1)
+
+    if not options.remote and not options.input_table:
+        parser.print_help()
+        print("\n[ERROR] At least one of '--input-table' and '--remote' is required.")
+        sys.exit(1)
+
+    if options.remote and not options.project_name:
+        parser.print_help()
+        print("\n[ERROR] If option '--remote' is specified, option '--project-name' is required.")
+        sys.exit(1)
+
+    if options.remote and not options.table_name:
+        parser.print_help()
+        print("\n[ERROR] If option '--remote' is specified, option '--table-name' is required.")
+        sys.exit(1)
+
     sys.stdout.write('Reading input file...\n')
-    input_table = pd.read_csv(
-        options.input_table,
-        header=0,
-        sep='\t',
-        index_col=None,
-        comment='#',
-        engine='python')
+
+    if options.remote == True:
+        input_table = api_fetch_labkey_table(
+            project_name=options.project_name,
+            query_name=options.table_name)
+        input_table.to_csv(options.input_table, sep='\t', index=False)
+    else:
+        input_table = pd.read_csv(
+            options.input_table,
+            header=0,
+            sep='\t',
+            index_col=None,
+            comment='#',
+            engine='python')
 
     input_dict = pd.read_csv(
         options.input_dict,
@@ -126,10 +187,12 @@ def main():
         index_col=None,
         comment='#',
         engine='python')
+
     input_dict.set_index('snakemake', inplace=True, drop=True)
     sys.stdout.write('Create snakemake table...\n')
     snakemake_table = pd.DataFrame()
     for index, row in input_table.iterrows():
+        snakemake_table.loc[index, 'sample'] = row[input_dict.loc['replicate_name', 'labkey']] + "_" + row[input_dict.loc['condition', 'labkey']]
         if row[input_dict.loc['seqmode', 'labkey']] == 'PAIRED':
             snakemake_table.loc[index, 'seqmode'] = 'paired_end'
         elif row[input_dict.loc['seqmode', 'labkey']] == 'SINGLE':
@@ -138,12 +201,14 @@ def main():
         fq1 = os.path.join(
             row[input_dict.loc['fastq_path', 'labkey']],
             row[input_dict.loc['fq1', 'labkey']])
+
         snakemake_table.loc[index, 'fq1'] = fq1
 
         with gzip.open(fq1, "rt") as handle:
             for record in SeqIO.parse(handle, "fastq"):
                 read_length = len(record.seq)
                 break
+
         snakemake_table.loc[index, 'index_size'] = read_length
         if read_length <= 50:
             snakemake_table.loc[index, 'kmer'] = 21
@@ -151,29 +216,36 @@ def main():
             snakemake_table.loc[index, 'kmer'] = 31
 
 
-        snakemake_table.loc[index, 'fq2'] = os.path.join(
-            row[input_dict.loc['fastq_path', 'labkey']],
-            row[input_dict.loc['fq2', 'labkey']])
+        if row[input_dict.loc['seqmode', 'labkey']] == 'PAIRED':
+            snakemake_table.loc[index, 'fq2'] = os.path.join(
+                row[input_dict.loc['fastq_path', 'labkey']],
+                row[input_dict.loc['fq2', 'labkey']])
 
         snakemake_table.loc[index, 'fq1_3p'] = row[input_dict.loc['fq1_3p', 'labkey']]
         snakemake_table.loc[index, 'fq1_5p'] = row[input_dict.loc['fq1_5p', 'labkey']]
-        snakemake_table.loc[index, 'fq2_3p'] = row[input_dict.loc['fq2_3p', 'labkey']]
-        snakemake_table.loc[index, 'fq2_5p'] = row[input_dict.loc['fq2_5p', 'labkey']]
+
+        if row[input_dict.loc['seqmode', 'labkey']] == 'PAIRED':
+            snakemake_table.loc[index, 'fq2_3p'] = row[input_dict.loc['fq2_3p', 'labkey']]
+            snakemake_table.loc[index, 'fq2_5p'] = row[input_dict.loc['fq2_5p', 'labkey']]
 
         organism = row[input_dict.loc['organism', 'labkey']].replace(' ', '_').lower()
         snakemake_table.loc[index, 'organism'] = organism
+
         snakemake_table.loc[index, 'gtf'] = os.path.join(
             options.genomes_path,
             organism,
             'annotation.gtf')
+
         snakemake_table.loc[index, 'gtf_filtered'] = os.path.join(
             options.genomes_path,
             organism,
             'annotation.gtf')
+
         snakemake_table.loc[index, 'genome'] = os.path.join(
             options.genomes_path,
             organism,
             'genome.fa')
+
         snakemake_table.loc[index, 'tr_fasta_filtered'] = os.path.join(
             options.genomes_path,
             organism,
@@ -187,9 +259,9 @@ def main():
         snakemake_table.loc[index, 'libtype'] = options.libtype
 
         if row[input_dict.loc['mate1_direction', 'labkey']] == 'SENSE':
-            snakemake_table.loc[index, 'kallisto_directionality'] = '--fr-stranded'
+            snakemake_table.loc[index, 'kallisto_directionality'] = '--fr'
         elif row[input_dict.loc['mate1_direction', 'labkey']] == 'ANTISENSE':
-            snakemake_table.loc[index, 'kallisto_directionality'] = '--rf-stranded'
+            snakemake_table.loc[index, 'kallisto_directionality'] = '--rf'
         else:
             snakemake_table.loc[index, 'kallisto_directionality'] = ''
 
@@ -202,36 +274,58 @@ def main():
         else:
             pass
 
-        if row[input_dict.loc['mate2_direction', 'labkey']] == 'SENSE':
-            snakemake_table.loc[index, 'fq2_polya'] = 'AAAAAAAAAAAAAAAAA'
-        elif row[input_dict.loc['mate2_direction', 'labkey']] == 'ANTISENSE':
-            snakemake_table.loc[index, 'fq2_polya'] = 'TTTTTTTTTTTTTTTTT'
-        elif row[input_dict.loc['mate2_direction', 'labkey']] == 'RANDOM':
-            snakemake_table.loc[index, 'fq2_polya'] = 'AAAAAAAAAAAAAAAAA'
-        else:
-            pass
-
+        if row[input_dict.loc['seqmode', 'labkey']] == 'PAIRED':
+            if row[input_dict.loc['mate2_direction', 'labkey']] == 'SENSE':
+                snakemake_table.loc[index, 'fq2_polya'] = 'AAAAAAAAAAAAAAAAA'
+            elif row[input_dict.loc['mate2_direction', 'labkey']] == 'ANTISENSE':
+                snakemake_table.loc[index, 'fq2_polya'] = 'TTTTTTTTTTTTTTTTT'
+            elif row[input_dict.loc['mate2_direction', 'labkey']] == 'RANDOM':
+                snakemake_table.loc[index, 'fq2_polya'] = 'AAAAAAAAAAAAAAAAA'
+            else:
+                pass
+
+
+    snakemake_table.fillna('XXXXXXXXXXXXX', inplace=True)
+    snakemake_table = snakemake_table.astype(
+        {
+            "sd": int,
+            "mean": int,
+            "multimappers": int,
+            "kmer": int,
+            "index_size": int,
+        }
+    )
     snakemake_table.to_csv(
         options.samples_table,
         sep='\t',
         header=True,
         index=False)
 
+
     # Read file and infer read size for sjdbovwerhang
     with open(options.config_file, 'w') as config_file:
         config_file.write('''---
-  output_dir: "results"
-  local_log: "local_log"
-  star_indexes: "star_indexes"
-  kallisto_indexes: "kallisto_indexes"
+  samples: "'''+ options.samples_table + '''"
+  output_dir: "results/"
+  log_dir: "logs/"
+  kallisto_indexes: "results/kallisto_indexes/"
+  salmon_indexes: "results/salmon_indexes/"
+  star_indexes: "results/star_indexes/"
 ...''')
 
-
     sys.stdout.write('Create snakemake table finished successfully...\n')
     sys.stdout.write('Create config file...\n')
     sys.stdout.write('Create config file finished successfully...\n')
     return
 
+def api_fetch_labkey_table(project_name=None, query_name=None):
+    group_path = os.path.join( '/Zavolan Group', project_name)
+    server_context = labkey.utils.create_server_context('labkey.scicore.unibas.ch', group_path, 'labkey', use_ssl=True)
+    schema_name = "lists"
+    results = labkey.query.select_rows(server_context, schema_name, query_name)
+    input_table = pd.DataFrame(results["rows"])
+    return input_table
+
 
 # _____________________________________________________________________________
 # -----------------------------------------------------------------------------
diff --git a/snakemake/Snakefile b/snakemake/Snakefile
deleted file mode 100644
index eb6e4a5a597287ec956f98492292849f55488aef..0000000000000000000000000000000000000000
--- a/snakemake/Snakefile
+++ /dev/null
@@ -1,266 +0,0 @@
-configfile: "config.yaml"
-
-################################################################################
-### python modules
-################################################################################
-
-import os
-import sys
-import pandas as pd
-
-############################
-
-samples_table = pd.read_csv(config["samples"], header=0, index_col=0, comment='#', engine='python', sep="\t")
-directionality = {"--fr": "fr-firststrand", "--rv": "fr-secondstrand"}
-rename_files = {"fr-firststrand": ("Signal.UniqueMultiple.out.plus.bg", 
-	"Signal.UniqueMultiple.out.minus.bg"),
-	"fr-secondstrand": ("Signal.UniqueMultiple.out.minus.bg", 
-	"Signal.UniqueMultiple.out.plus.bg")}
-rename_expr = {"fr-firststrand": ("out.plus", "out.minus"),
-	"fr-secondstrand": ("out.minus", "out.plus")}
-
-localrules: finish
-
-##################################################################################
-# Execution dependend on sequencing mode
-##################################################################################
-
-include: 'paired_end.snakefile.smk'
-include: 'single_end.snakefile.smk'
-
-#################################################################################
-### Final rule
-#################################################################################
-
-rule finish:
-	input:
-		outdir1 = expand(os.path.join(config["output_dir"], "{seqmode}", "{sample}", "mate1_fastqc"),
-			zip,
-			sample= [i for i in list(samples_table.index.values)], 
-			seqmode= [samples_table.loc[i,"seqmode"] for i in list(samples_table.index.values)]),
-		bai_index_map = expand(os.path.join(config["output_dir"], "{seqmode}", "{sample}", "map_genome", "{sample}_Aligned.sortedByCoord.out.bam.bai"),
-			zip,
-			sample= [i for i in list(samples_table.index.values)], 
-			seqmode= [samples_table.loc[i,"seqmode"] for i in list(samples_table.index.values)]), 
-		salmon_gn_estimates = expand(os.path.join(config["output_dir"],"{seqmode}","{sample}","salmon_quant","quant.genes.sf"),
-			zip,
-			sample= [i for i in list(samples_table.index.values)], 
-			seqmode= [samples_table.loc[i,"seqmode"] for i in list(samples_table.index.values)]),
-		pseudoalignment = expand(os.path.join(config["output_dir"],"{seqmode}","{sample}","quant_kallisto", "{sample}.kallisto.pseudo.sam"),
-			zip,
-			sample= [i for i in list(samples_table.index.values)], 
-			seqmode= [samples_table.loc[i,"seqmode"] for i in list(samples_table.index.values)]),
-		alfa_index = expand(os.path.join(config["alfa_indexes"],"{organism}","{index_size}","ALFA", "sorted_genes.stranded.ALFA_index"),
-			zip,
-			organism= list(set([samples_table.loc[i,"organism"] for i in list(samples_table.index.values)])),
-			index_size= list(set([samples_table.loc[i,"index_size"] for i in list(samples_table.index.values)]))),
-		star_rpm_paired_end = expand(os.path.join(
-			config["output_dir"],
-			"{seqmode}",
-			"{sample}",
-			"ALFA",
-			"ALFA_plots.Biotypes.pdf"),
-			zip,
-			sample= [i for i in list(samples_table.index.values)],
-			seqmode= [samples_table.loc[i,"seqmode"] for i in list(samples_table.index.values)])
-
-
-rule create_index_star:
-	''' Create index using STAR'''
-	input:
-		genome =lambda wildcards: samples_table["genome"][samples_table["organism"]==wildcards.organism][0],
-		gtf =lambda wildcards: samples_table["gtf"][samples_table["organism"]==wildcards.organism][0]
-	output:
-		chromosome_info = os.path.join(
-			config["star_indexes"],
-			"{organism}",
-			"{index_size}",
-			"STAR_index",
-			"chrNameLength.txt"),
-		chromosomes_names = os.path.join(
-			config["star_indexes"],
-			"{organism}",
-			"{index_size}",
-			"STAR_index",
-			"chrName.txt")
-	params:
-		output_dir = os.path.join(
-				config["star_indexes"],
-				"{organism}",
-				"{index_size}",
-				"STAR_index"),
-		outFileNamePrefix = os.path.join(
-				config["star_indexes"],
-				"{organism}",
-				"{index_size}",
-				"STAR_index/STAR_"),
-		sjdbOverhang = "{index_size}"
-	singularity:
-		"docker://zavolab/star:2.6.0a"
-	threads: 12
-	log:
-		os.path.join( config["local_log"], "{organism}_{index_size}_create_index_star.log")
-	shell:
-		"(mkdir -p {params.output_dir}; \
-		chmod -R 777 {params.output_dir}; \
-		STAR \
-		--runMode genomeGenerate \
-		--sjdbOverhang {params.sjdbOverhang} \
-		--genomeDir {params.output_dir} \
-		--genomeFastaFiles {input.genome} \
-		--runThreadN {threads} \
-		--outFileNamePrefix {params.outFileNamePrefix} \
-		--sjdbGTFfile {input.gtf}) &> {log}"
-
-
-rule create_index_salmon:
-	'''Create index for salmon quantification'''
-	input:
-		transcriptome = lambda wildcards: samples_table['tr_fasta_filtered'][samples_table["organism"]==wildcards.organism][0]
-	output:
-		index = directory(os.path.join(
-			config["salmon_indexes"],
-			"{organism}",
-			"{kmer}",
-			"salmon.idx"))
-
-	params:
-		kmerLen = "{kmer}"
-	singularity:
-		"docker://zavolab/salmon:0.11.0"
-	log:
-		os.path.join(config["local_log"], "{organism}_{kmer}_create_index_salmon.log")
-	threads:	8
-	shell:
-		"(salmon index \
-		--transcripts {input.transcriptome} \
-		--index {output.index} \
-		--kmerLen {params.kmerLen} \
-		--threads {threads}) &> {log}"
-
-
-rule create_index_kallisto:
-	'''Create index for running Kallisto'''
-	input:
-		transcriptome = lambda wildcards: samples_table['tr_fasta_filtered'][samples_table["organism"]==wildcards.organism][0]
-	output:
-		index = os.path.join(
-				config["kallisto_indexes"],
-				"{organism}",
-				"kallisto.idx")
-	params:
-		output_dir = os.path.join(
-				config["kallisto_indexes"],
-				"{organism}")
-	singularity:
-		"docker://zavolab/kallisto:0.46.1"
-	log:
-		os.path.join(config["local_log"], "{organism}_create_index_kallisto.log")
-	shell:
-		"(mkdir -p {params.output_dir}; \
-		chmod -R 777 {params.output_dir}; \
-		kallisto index -i {output.index} {input.transcriptome}) &> {log}"
-
-#################################################################################
-### ALFA: Annotation Landscape For Aligned reads
-#################################################################################
-
-rule generate_alfa_index:
-	''' Generate ALFA index files from sorted GTF file '''
-	input:
-		gtf =lambda wildcards: samples_table["gtf"][samples_table["organism"]==wildcards.organism][0]
-	output:
-		index_stranded = os.path.join(config["alfa_indexes"], "{organism}", 
-			"{index_size}", "ALFA", "sorted_genes.stranded.ALFA_index"),
-		index_unstranded = os.path.join(config["alfa_indexes"], "{organism}", 
-			"{index_size}", "ALFA", "sorted_genes.unstranded.ALFA_index")
-	params:
-		chr_len = os.path.join(
-			config["star_indexes"],
-			"{organism}",
-			"{index_size}",
-			"STAR_index",
-			"chrNameLength.txt"),
-		genome_index = "sorted_genes",
-		out_dir = directory(os.path.join(config["alfa_indexes"], "{organism}", "{index_size}", "ALFA"))
-	threads:	4
-	singularity: 
-		"docker://zavolab/alfa:1.1.1"
-	log: 
-		os.path.join(config["local_log"], "{organism}_{index_size}_generate_alfa_index.log")
-	shell:
-		"alfa -a {input.gtf} \
-			-g {params.genome_index} \
-			--chr_len {params.chr_len} \
-			-p {threads} \
-			-o {params.out_dir} &> {log}"
-
-
-# TODO: add rule that executes ALFA on all samples; should be on the same genome & same orientation
-rule alfa_bg_all_samples:
-	''' Run ALFA from stranded bedgraph files '''
-	input:
-		str1 = expand(os.path.join(
-			config["output_dir"],
-			"{seqmode}",
-			"{sample}",
-			"ALFA",
-			"{sample}_Signal.UniqueMultiple.str1.out.bg"),
-			zip,
-			sample= [i for i in list(samples_table.index.values)], 
-			seqmode= [samples_table.loc[i,"seqmode"] for i in list(samples_table.index.values)]),
-		str2 = expand(os.path.join(
-			config["output_dir"],
-			"{seqmode}",
-			"{sample}",
-			"ALFA",
-			"{sample}_Signal.UniqueMultiple.str2.out.bg"),
-			zip,
-			sample= [i for i in list(samples_table.index.values)], 
-			seqmode= [samples_table.loc[i,"seqmode"] for i in list(samples_table.index.values)]),
-		gtf = [os.path.join(config["alfa_indexes"], samples_table.loc[sample1, "organism"], 
-			str(samples_table.loc[sample1, "index_size"]), "ALFA", "sorted_genes.stranded.ALFA_index") for sample1 in list(samples_table.index.values)]
-	output:
-		biotypes = os.path.join(
-			config["output_dir"],
-			"ALFA",
-			"ALFA_plots.Biotypes.pdf"),
-		categories = os.path.join(
-			config["output_dir"],
-			"ALFA",
-			"ALFA_plots.Categories.pdf")
-	params:
-		str1 = lambda wildcards, input: [os.path.abspath(i) for i in input.str1],
-		str2 = lambda wildcards, input: [os.path.abspath(i) for i in input.str2],
-		out_dir = lambda wildcards, output: directory(os.path.dirname(output.biotypes)),
-		in_file_str1 = lambda wildcards, input: [os.path.basename(inp) for inp in input.str1], # copy files into out_dir and create with expand construct of bg + name
-		rename_str1 = [rename_expr[directionality[samples_table.loc[sample1, "kallisto_directionality"]]][0] for sample1 in list(samples_table.index.values)][0],
-		in_file_str2 = lambda wildcards, input: [os.path.basename(inp) for inp in input.str2],
-		rename_str2 = [rename_expr[directionality[samples_table.loc[sample1, "kallisto_directionality"]]][1] for sample1 in list(samples_table.index.values)][0],
-		genome_index = [os.path.abspath(os.path.join(
-			config["alfa_indexes"], 
-			samples_table.loc[sample1, "organism"], 
-			str(samples_table.loc[sample1, "index_size"]), 
-			"ALFA", "sorted_genes")) for sample1 in list(samples_table.index.values)][0],
-		orientation = [directionality[samples_table.loc[sample1, "kallisto_directionality"]] for sample1 in list(samples_table.index.values)][0],
-		bg_and_sample_name = [sample1 + "_Signal.UniqueMultiple." + 
-			rename_expr[directionality[samples_table.loc[sample1, "kallisto_directionality"]]][0] + ".bg " + 
-			sample1 + "_Signal.UniqueMultiple." + rename_expr[directionality[samples_table.loc[sample1, "kallisto_directionality"]]][1] + ".bg " + sample1
-			for sample1 in list(samples_table.index.values)]
-	# singularity:
-	# 	"docker://zavolab/alfa:1.1.1"
-	conda: os.path.abspath("../../envs/env_alfa.yaml")
-	log: os.path.abspath(os.path.join(config["local_log"], "ALFA", "alfa_bg_all_samples.log"))
-	shell:
-		""" 
-		mkdir -p {params.out_dir}; \
-		cd {params.out_dir}; \
-		cp {params.str1} . ; \
-		cp {params.str2} . ; \
-		rename 's/str1.out/{params.rename_str1}/' *str1.out.bg; \
-		rename 's/str2.out/{params.rename_str2}/' *str2.out.bg; \
-		(alfa -g {params.genome_index} \
-			--bedgraph {params.bg_and_sample_name} \
-			-s {params.orientation}) &> {log}; \
-		rm *{params.rename_str1}.bg *{params.rename_str2}.bg
-		"""
\ No newline at end of file
diff --git a/tests/test_integration_workflow/cluster.json b/tests/input_files/cluster.json
similarity index 82%
rename from tests/test_integration_workflow/cluster.json
rename to tests/input_files/cluster.json
index 86b342c873c24e40a7ddba4add30b307b73645a2..4ce5f1a709fa2d1c3b0c340a9a692d2fabda90a7 100644
--- a/tests/test_integration_workflow/cluster.json
+++ b/tests/input_files/cluster.json
@@ -6,7 +6,7 @@
     "threads": "1",
     "mem": "4G",
     "name": "{rule}.{wildcards}",
-    "out": "$PWD/logs/cluster_log/{rule}.{wildcards}-%j-%N.out"
+    "out": "logs/cluster/{rule}.{wildcards}-%j-%N.out"
   },
   "generate_segemehl_index_other_RNAs":
   {
@@ -43,5 +43,11 @@
     "time": "01:00:00",
     "threads": "8",
     "mem":"8G"
+  },
+  "calculate_TIN_scores":
+  {
+    "time": "06:00:00",
+    "threads":"8",
+    "mem":"32G"
   }
 }
diff --git a/tests/input_files/config.yaml b/tests/input_files/config.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..6c6ef768ceff6d148cfdfbaa2be7792e57656000
--- /dev/null
+++ b/tests/input_files/config.yaml
@@ -0,0 +1,9 @@
+---
+  samples: "../input_files/samples.tsv"
+  output_dir: "results/"
+  log_dir: "logs/"
+  kallisto_indexes: "results/kallisto_indexes/"
+  salmon_indexes: "results/salmon_indexes/"
+  star_indexes: "results/star_indexes/"
+  alfa_indexes: "results/alfa_indexes"
+...
diff --git a/tests/test_create_dag_chart/input_files/chr1-10000-20000.gtf b/tests/input_files/homo_sapiens/annotation.gtf
similarity index 100%
rename from tests/test_create_dag_chart/input_files/chr1-10000-20000.gtf
rename to tests/input_files/homo_sapiens/annotation.gtf
diff --git a/tests/test_create_dag_chart/input_files/chr1-10000-20000.fa b/tests/input_files/homo_sapiens/genome.fa
similarity index 100%
rename from tests/test_create_dag_chart/input_files/chr1-10000-20000.fa
rename to tests/input_files/homo_sapiens/genome.fa
diff --git a/tests/test_create_dag_chart/input_files/chr1-10000-20000.transcripts.fa b/tests/input_files/homo_sapiens/transcriptome.fa
similarity index 100%
rename from tests/test_create_dag_chart/input_files/chr1-10000-20000.transcripts.fa
rename to tests/input_files/homo_sapiens/transcriptome.fa
diff --git a/tests/test_create_dag_chart/input_files/synthetic.mate_1.fastq.gz b/tests/input_files/project1/synthetic.mate_1.fastq.gz
similarity index 100%
rename from tests/test_create_dag_chart/input_files/synthetic.mate_1.fastq.gz
rename to tests/input_files/project1/synthetic.mate_1.fastq.gz
diff --git a/tests/test_create_dag_chart/input_files/synthetic.mate_2.fastq.gz b/tests/input_files/project1/synthetic.mate_2.fastq.gz
similarity index 100%
rename from tests/test_create_dag_chart/input_files/synthetic.mate_2.fastq.gz
rename to tests/input_files/project1/synthetic.mate_2.fastq.gz
diff --git a/tests/test_integration_workflow/input_files/synthetic.mate_1.fastq.gz b/tests/input_files/project2/synthetic.mate_1.fastq.gz
similarity index 100%
rename from tests/test_integration_workflow/input_files/synthetic.mate_1.fastq.gz
rename to tests/input_files/project2/synthetic.mate_1.fastq.gz
diff --git a/tests/input_files/samples.tsv b/tests/input_files/samples.tsv
new file mode 100644
index 0000000000000000000000000000000000000000..cc0ec82c5caa7d5b7fa0618e80260bc6f2676b92
--- /dev/null
+++ b/tests/input_files/samples.tsv
@@ -0,0 +1,3 @@
+sample	seqmode	fq1	index_size	kmer	fq2	fq1_3p	fq1_5p	fq2_3p	fq2_5p	organism	gtf	gtf_filtered	genome	tr_fasta_filtered	sd	mean	multimappers	soft_clip	pass_mode	libtype	kallisto_directionality	fq1_polya	fq2_polya
+synthetic_10_reads_paired_synthetic_10_reads_paired	paired_end	../input_files/project1/synthetic.mate_1.fastq.gz	75	31	../input_files/project1/synthetic.mate_2.fastq.gz	AGATCGGAAGAGCACA	XXXXXXXXXXXXX	AGATCGGAAGAGCGT	XXXXXXXXXXXXX	homo_sapiens	../input_files/homo_sapiens/annotation.gtf	../input_files/homo_sapiens/annotation.gtf	../input_files/homo_sapiens/genome.fa	../input_files/homo_sapiens/transcriptome.fa	100	250	10	EndToEnd	None	A	--fr	AAAAAAAAAAAAAAAAA	TTTTTTTTTTTTTTTTT
+synthetic_10_reads_mate_1_synthetic_10_reads_mate_1	single_end	../input_files/project2/synthetic.mate_1.fastq.gz	75	31	XXXXXXXXXXXXX	AGATCGGAAGAGCACA	XXXXXXXXXXXXX	XXXXXXXXXXXXX	XXXXXXXXXXXXX	homo_sapiens	../input_files/homo_sapiens/annotation.gtf	../input_files/homo_sapiens/annotation.gtf	../input_files/homo_sapiens/genome.fa	../input_files/homo_sapiens/transcriptome.fa	100	250	10	EndToEnd	None	A	--fr	AAAAAAAAAAAAAAAAA	XXXXXXXXXXXXX
diff --git a/tests/input_files/synthetic.mate_1.bed b/tests/input_files/synthetic.mate_1.bed
new file mode 100644
index 0000000000000000000000000000000000000000..47335f6a30c2f03477886531c57f6408d2ae391b
--- /dev/null
+++ b/tests/input_files/synthetic.mate_1.bed
@@ -0,0 +1,10 @@
+1-10000-20000	3397	3472	NS500318:863:HY2KYBGXC:1:11101:14671:1067	0	+	ENSG00000223972
+1-10000-20000	3249	3324	NS500318:863:HY2KYBGXC:1:11101:24439:1068	0	+	ENSG00000223972
+1-10000-20000	3735	3810	NS500318:863:HY2KYBGXC:1:11101:14965:1069	0	+	ENSG00000223972
+1-10000-20000	2055	2130	NS500318:863:HY2KYBGXC:1:11101:21081:1069	0	+	ENSG00000223972
+1-10000-20000	3567	3642	NS500318:863:HY2KYBGXC:1:11101:18197:1070	0	+	ENSG00000223972
+1-10000-20000	7945	8020	NS500318:863:HY2KYBGXC:1:11101:4614:1071	0	-	ENSG00000227232
+1-10000-20000	6690	6765	NS500318:863:HY2KYBGXC:1:11101:8467:1073	0	-	ENSG00000227232
+1-10000-20000	6940	7015	NS500318:863:HY2KYBGXC:1:11101:18960:1076	0	-	ENSG00000227232
+1-10000-20000	5866	5941	NS500318:863:HY2KYBGXC:1:11101:6851:1076	0	-	ENSG00000227232
+1-10000-20000	7954	8029	NS500318:863:HY2KYBGXC:1:11101:14731:1078	0	-	ENSG00000227232
diff --git a/tests/input_files/synthetic.mate_2.bed b/tests/input_files/synthetic.mate_2.bed
new file mode 100644
index 0000000000000000000000000000000000000000..7e09a2d4998b30d045850887089957f08cc1c6f3
--- /dev/null
+++ b/tests/input_files/synthetic.mate_2.bed
@@ -0,0 +1,10 @@
+1-10000-20000	3422	3497	NS500318:863:HY2KYBGXC:1:11101:14671:1067	0	+	ENSG00000223972
+1-10000-20000	3274	3349	NS500318:863:HY2KYBGXC:1:11101:24439:1068	0	+	ENSG00000223972
+1-10000-20000	3760	3835	NS500318:863:HY2KYBGXC:1:11101:14965:1069	0	+	ENSG00000223972
+1-10000-20000	2080	2155	NS500318:863:HY2KYBGXC:1:11101:21081:1069	0	+	ENSG00000223972
+1-10000-20000	3592	3667	NS500318:863:HY2KYBGXC:1:11101:18197:1070	0	+	ENSG00000223972
+1-10000-20000	7920	7995	NS500318:863:HY2KYBGXC:1:11101:4614:1071	0	-	ENSG00000227232
+1-10000-20000	6665	6740	NS500318:863:HY2KYBGXC:1:11101:8467:1073	0	-	ENSG00000227232
+1-10000-20000	6915	6990	NS500318:863:HY2KYBGXC:1:11101:18960:1076	0	-	ENSG00000227232
+1-10000-20000	5841	5916	NS500318:863:HY2KYBGXC:1:11101:6851:1076	0	-	ENSG00000227232
+1-10000-20000	7929	8004	NS500318:863:HY2KYBGXC:1:11101:14731:1078	0	-	ENSG00000227232
diff --git a/tests/test_create_dag_chart/config.yaml b/tests/test_create_dag_chart/config.yaml
deleted file mode 100644
index bf2fa203c3f7588b93b019c07c41d0c61decc825..0000000000000000000000000000000000000000
--- a/tests/test_create_dag_chart/config.yaml
+++ /dev/null
@@ -1,30 +0,0 @@
----
-  ##############################################################################
-  ### Annotation
-  ##############################################################################
-  organism: "Homo_sapiens"
-  annotation: "../prepare_annotation/results/annotation.gtf"
-  genome: "../prepare_annotation/results/genome.fa"
-  annotation_filtered: "../prepare_annotation/results/filtered_transcripts.gtf"
-  STAR_index: "../prepare_annotation/results/STAR_index/"
-  other_RNAs_sequence: "../prepare_annotation/other.fa"
-  other_RNAs_index: "../prepare_annotation/results/other_RNAs_sequence.idx"
-  salmon_index: "../prepare_annotation/results/filtered_transcripts_salmon.idx/"
-  ##############################################################################
-  ### Output and log directories
-  ##############################################################################
-  database_path: "/some/path"
-  STAR_idx_folder: "STAR_indices"
-  output_dir: "results"
-  star_indexes: "results"
-  alfa_indexes: "results"
-  salmon_indexes: "results"
-  kallisto_indexes: "results"
-  local_log: "logs/local_log"
-  cluster_log: "logs/cluster_log"
-  
-  ##############################################################################
-  ### Sample info
-  ##############################################################################
-  samples: "samples.tsv"
-...
diff --git a/tests/test_create_dag_chart/samples.tsv b/tests/test_create_dag_chart/samples.tsv
deleted file mode 100644
index 3793d813f3f2b9b880904a2aa82c1119a29db84d..0000000000000000000000000000000000000000
--- a/tests/test_create_dag_chart/samples.tsv
+++ /dev/null
@@ -1,3 +0,0 @@
-sample	fq1	fq2	fq1_3p	fq1_5p	fq2_3p	fq2_5p	fq1_polya	fq2_polya	organism	index_size	multimappers	soft_clip	pass_mode	gtf_filtered	libtype	kallisto_directionality	mean	sd	genome	gtf	tr_fasta_filtered	kmer	seqmode
-synthetic_10_reads_paired	input_files/synthetic.mate_1.fastq.gz	input_files/synthetic.mate_2.fastq.gz	AGATCGGAAGAGCACA	XXXXXXXX	AGATCGGAAGAGCGT	XXXXXXXX	AAAAAAAAAAAAAAAAAAAA	TTTTTTTTTTTTTTTTTTT	homo_sapiens	76	10	Local	Basic	input_files/chr1-10000-20000.gtf	A	--fr	250	100	input_files/chr1-10000-20000.fa	input_files/chr1-10000-20000.gtf	input_files/chr1-10000-20000.transcripts.fa	31	paired_end
-synthetic_10_reads_mate_1	input_files/synthetic.mate_1.fastq.gz		AGATCGGAAGAGCACA	XXXXXXXX			AAAAAAAAAAAAAAAAAAAA		homo_sapiens	76	10	Local	Basic	input_files/chr1-10000-20000.gtf	A	--fr	250	100	input_files/chr1-10000-20000.fa	input_files/chr1-10000-20000.gtf	input_files/chr1-10000-20000.transcripts.fa	31	single_end
diff --git a/tests/test_create_dag_chart/test.sh b/tests/test_create_dag_image/test.sh
similarity index 62%
rename from tests/test_create_dag_chart/test.sh
rename to tests/test_create_dag_image/test.sh
index 5ae27d01be3638ab78a259d0650c418b55c497d4..afd8de4c0c0ca2cb86c3773c68477729a5395b37 100755
--- a/tests/test_create_dag_chart/test.sh
+++ b/tests/test_create_dag_image/test.sh
@@ -1,7 +1,14 @@
 #!/bin/bash
 
 # Tear down test environment
-trap 'cd $user_dir' EXIT  # quotes command is exected after script exits, regardless of exit status
+cleanup () {
+    rc=$?
+    rm -rf .snakemake
+    rm -rf logs/
+    cd $user_dir
+    echo "Exit status: $rc"
+}
+trap cleanup EXIT
 
 # Set up test environment
 set -eo pipefail  # ensures that script exits at first command that exits with non-zero status
@@ -13,10 +20,11 @@ cd $script_dir
 
 # Run tests
 snakemake \
-    --snakefile="../../snakemake/Snakefile" \
-    --configfile="config.yaml" \
+    --snakefile="../../Snakefile" \
+    --configfile="../input_files/config.yaml" \
     --dag \
     --printshellcmds \
     --dryrun \
-    | dot -Tsvg > "../../images/workflow_dag.svg"
+    --verbose \
+    | dot -Tsvg > "../../images/dag_test_workflow.svg"
 
diff --git a/tests/test_scripts_labkey_to_snakemake/test.sh b/tests/test_create_rule_graph/test.sh
similarity index 50%
rename from tests/test_scripts_labkey_to_snakemake/test.sh
rename to tests/test_create_rule_graph/test.sh
index c168305bebc4ca9eb08697daef89ab0be94b658b..51e538324c23a9514093427d7cd4db1a6a7123b2 100755
--- a/tests/test_scripts_labkey_to_snakemake/test.sh
+++ b/tests/test_create_rule_graph/test.sh
@@ -1,7 +1,14 @@
 #!/bin/bash
 
 # Tear down test environment
-trap 'rm config.yaml samples.tsv && cd $user_dir' EXIT  # quotes command is exected after script exits, regardless of exit status
+cleanup () {
+    rc=$?
+    rm -rf .snakemake
+    rm -rf logs/
+    cd $user_dir
+    echo "Exit status: $rc"
+}
+trap cleanup EXIT
 
 # Set up test environment
 set -eo pipefail  # ensures that script exits at first command that exits with non-zero status
@@ -12,11 +19,12 @@ script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
 cd $script_dir
 
 # Run tests
-python "../../scripts/labkey_to_snakemake.py" \
-    --input_table="input_table.tsv" \
-    --input_dict="../../scripts/input_dict_caption.tsv" \
-    --config_file="config.yaml" \
-    --samples_table="samples.tsv" \
-    --genomes_path="."
-md5sum --check "expected_output.md5"
+snakemake \
+    --snakefile="../../Snakefile" \
+    --configfile="../input_files/config.yaml" \
+    --rulegraph \
+    --printshellcmds \
+    --dryrun \
+    --verbose \
+    | dot -Tsvg > "../../images/rule_graph.svg"
 
diff --git a/tests/test_integration_workflow/.java/fonts/1.8.0_111/fcinfo-1-shi03.cluster.bc2.ch-Linux-3.10.0-862.14.4.el7.x86_64-en.properties b/tests/test_integration_workflow/.java/fonts/1.8.0_111/fcinfo-1-shi03.cluster.bc2.ch-Linux-3.10.0-862.14.4.el7.x86_64-en.properties
deleted file mode 100644
index 270b359742115fa3a7f00c42493a5359aa9a4787..0000000000000000000000000000000000000000
--- a/tests/test_integration_workflow/.java/fonts/1.8.0_111/fcinfo-1-shi03.cluster.bc2.ch-Linux-3.10.0-862.14.4.el7.x86_64-en.properties
+++ /dev/null
@@ -1,245 +0,0 @@
-#JDK Font Configuration Generated File: *Do Not Edit*
-#Tue Feb 04 14:17:33 UTC 2020
-monospaced.3.5.family=DejaVu Serif
-sansserif.0.7.family=DejaVu Serif
-serif.2.8.family=DejaVu Sans Mono
-serif.3.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-monospaced.0.6.family=DejaVu Serif
-serif.3.1.family=DejaVu Serif
-sansserif.1.0.family=DejaVu Sans
-serif.2.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Oblique.ttf
-sansserif.0.length=9
-serif.0.2.family=DejaVu Serif
-serif.3.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-sansserif.2.3.family=DejaVu Sans
-serif.2.9.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-monospaced.0.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-monospaced.2.2.family=DejaVu Serif
-serif.2.5.family=DejaVu Sans Mono
-sansserif.1.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-serif.3.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-monospaced.1.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Bold.ttf
-monospaced.0.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-monospaced.1.length=9
-serif.3.8.family=DejaVu Sans
-sansserif.1.7.family=DejaVu Serif
-sansserif.2.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-monospaced.1.6.family=DejaVu Serif
-sansserif.1.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-serif.3.length=10
-sansserif.2.0.family=DejaVu Sans
-monospaced.1.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-serif.1.2.family=DejaVu Serif
-sansserif.3.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-sansserif.2.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Oblique.ttf
-sansserif.3.3.family=DejaVu Sans
-monospaced.2.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-monospaced.3.2.family=DejaVu Sans Mono
-monospaced.1.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-sansserif.0.4.family=DejaVu Sans Mono
-serif.3.5.family=DejaVu Sans Mono
-sansserif.3.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-serif.0.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf
-monospaced.0.3.family=DejaVu Sans
-serif.0.6.family=DejaVu Sans
-monospaced.3.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Bold.ttf
-serif.0.length=9
-monospaced.2.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-sansserif.0.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-sansserif.2.7.family=DejaVu Sans Mono
-serif.0.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-monospaced.2.6.family=DejaVu Sans
-serif.1.9.family=DejaVu Sans
-sansserif.3.0.family=DejaVu Sans
-monospaced.3.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-sansserif.0.1.family=DejaVu Sans
-serif.2.2.family=DejaVu Serif
-serif.1.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-sansserif.0.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf
-monospaced.0.0.family=DejaVu Sans Mono
-serif.0.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-monospaced.3.9.family=DejaVu Serif
-sansserif.1.4.family=DejaVu Sans Mono
-serif.2.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf
-monospaced.1.3.family=DejaVu Serif
-serif.1.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-serif.1.6.family=DejaVu Sans
-serif.3.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-sansserif.3.7.family=DejaVu Serif
-serif.2.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-monospaced.3.6.family=DejaVu Sans
-sansserif.0.8.family=DejaVu Serif
-serif.2.9.family=DejaVu Sans
-sansserif.1.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-monospaced.0.7.family=DejaVu Sans
-serif.3.2.family=DejaVu Serif
-sansserif.1.1.family=DejaVu Sans
-serif.3.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-BoldOblique.ttf
-sansserif.1.length=9
-monospaced.1.0.family=DejaVu Sans Mono
-serif.0.3.family=DejaVu Serif
-monospaced.0.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf
-sansserif.1.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Bold.ttf
-sansserif.2.4.family=DejaVu Serif
-serif.3.9.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.1.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.2.3.family=DejaVu Serif
-monospaced.0.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-sansserif.2.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-sansserif.1.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-monospaced.2.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Oblique.ttf
-serif.0.0.family=DejaVu Serif
-monospaced.1.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-monospaced.2.length=9
-serif.3.9.family=DejaVu Sans Mono
-sansserif.1.8.family=DejaVu Serif
-sansserif.3.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-version=1
-monospaced.1.7.family=DejaVu Sans
-sansserif.2.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-sansserif.2.1.family=DejaVu Sans
-monospaced.2.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-monospaced.2.0.family=DejaVu Sans Mono
-serif.1.3.family=DejaVu Serif
-sansserif.3.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-BoldOblique.ttf
-serif.0.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-sansserif.3.4.family=DejaVu Serif
-monospaced.3.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.3.3.family=DejaVu Sans Mono
-monospaced.2.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-sansserif.0.5.family=DejaVu Serif
-serif.2.6.family=DejaVu Sans
-fcversion=21100
-serif.1.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-sansserif.0.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-monospaced.0.4.family=DejaVu Serif
-serif.0.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-serif.1.length=10
-monospaced.3.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-serif.1.0.family=DejaVu Serif
-sansserif.0.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-serif.1.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-sansserif.3.1.family=DejaVu Sans
-monospaced.3.0.family=DejaVu Sans Mono
-serif.2.3.family=DejaVu Serif
-sansserif.0.2.family=DejaVu Sans
-serif.2.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-monospaced.0.1.family=DejaVu Sans
-serif.1.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-cachedir.2=/scicore/home/zavolan/kanitz/SANDBOX/rnaseqpipeline/tests/test_integration_workflow/.fontconfig
-cachedir.1=/scicore/home/zavolan/kanitz/SANDBOX/rnaseqpipeline/tests/test_integration_workflow/.cache/fontconfig
-cachedir.0=/var/cache/fontconfig
-serif.3.6.family=DejaVu Sans
-sansserif.1.5.family=DejaVu Serif
-serif.3.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-monospaced.1.4.family=DejaVu Sans
-serif.0.7.family=DejaVu Sans
-serif.2.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-sansserif.1.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-serif.2.0.family=DejaVu Serif
-sansserif.2.8.family=DejaVu Serif
-serif.3.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-monospaced.2.7.family=DejaVu Sans
-monospaced.0.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-sansserif.2.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-serif.3.3.family=DejaVu Serif
-sansserif.1.2.family=DejaVu Sans
-sansserif.1.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-sansserif.2.length=9
-monospaced.1.1.family=DejaVu Sans Mono
-serif.0.4.family=DejaVu Sans
-monospaced.1.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-monospaced.0.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-sansserif.2.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-sansserif.2.5.family=DejaVu Serif
-monospaced.2.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.2.4.family=DejaVu Sans
-serif.1.7.family=DejaVu Sans Mono
-monospaced.1.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-sansserif.3.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-serif.3.0.family=DejaVu Serif
-sansserif.3.8.family=DejaVu Sans Mono
-sansserif.2.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-monospaced.3.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-BoldOblique.ttf
-serif.0.1.family=DejaVu Serif
-monospaced.3.7.family=DejaVu Sans
-monospaced.2.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-monospaced.3.length=11
-monospaced.0.8.family=DejaVu Sans
-sansserif.3.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-serif.0.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-sansserif.2.2.family=DejaVu Sans
-monospaced.3.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-monospaced.2.1.family=DejaVu Sans Mono
-serif.1.4.family=DejaVu Sans
-serif.1.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf
-sansserif.0.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-serif.0.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-sansserif.3.5.family=DejaVu Serif
-monospaced.3.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-monospaced.3.4.family=DejaVu Serif
-sansserif.0.6.family=DejaVu Serif
-serif.2.7.family=DejaVu Sans
-serif.2.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-monospaced.0.5.family=DejaVu Serif
-sansserif.0.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-serif.1.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Bold.ttf
-serif.2.length=10
-monospaced.1.8.family=DejaVu Sans
-serif.2.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-serif.1.9.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-sansserif.0.3.family=DejaVu Sans
-serif.2.4.family=DejaVu Sans
-serif.3.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf
-monospaced.0.2.family=DejaVu Serif
-serif.2.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.0.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.0.length=9
-serif.3.7.family=DejaVu Sans
-sansserif.1.6.family=DejaVu Sans Mono
-sansserif.1.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-monospaced.1.5.family=DejaVu Serif
-serif.3.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-serif.0.8.family=DejaVu Sans
-monospaced.0.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-monospaced.3.10.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-serif.1.1.family=DejaVu Serif
-sansserif.2.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-sansserif.1.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.2.8.family=DejaVu Serif
-sansserif.3.2.family=DejaVu Sans
-monospaced.1.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-monospaced.3.1.family=DejaVu Sans Mono
-monospaced.0.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-sansserif.3.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-serif.3.4.family=DejaVu Sans
-sansserif.2.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-sansserif.3.length=9
-serif.0.5.family=DejaVu Sans Mono
-monospaced.2.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-monospaced.1.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-sansserif.3.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-sansserif.2.6.family=DejaVu Sans Mono
-monospaced.3.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Oblique.ttf
-monospaced.2.5.family=DejaVu Sans
-serif.1.8.family=DejaVu Sans
-monospaced.2.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-monospaced.3.10.family=DejaVu Sans
-serif.2.1.family=DejaVu Serif
-sansserif.0.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-sansserif.0.0.family=DejaVu Sans
-sansserif.3.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-serif.0.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-monospaced.3.8.family=DejaVu Sans
-monospaced.3.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-sansserif.1.3.family=DejaVu Sans
-serif.1.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-sansserif.0.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.1.2.family=DejaVu Sans
-serif.0.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-serif.1.5.family=DejaVu Sans Mono
-monospaced.3.9.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-serif.2.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-sansserif.3.6.family=DejaVu Sans Mono
-serif.1.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-sansserif.0.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
diff --git a/tests/test_integration_workflow/.java/fonts/1.8.0_111/fcinfo-1-shi20.cluster.bc2.ch-Linux-3.10.0-862.14.4.el7.x86_64-en.properties b/tests/test_integration_workflow/.java/fonts/1.8.0_111/fcinfo-1-shi20.cluster.bc2.ch-Linux-3.10.0-862.14.4.el7.x86_64-en.properties
deleted file mode 100644
index dd359b621e3e83ecf601dd2891099e85cb555ce8..0000000000000000000000000000000000000000
--- a/tests/test_integration_workflow/.java/fonts/1.8.0_111/fcinfo-1-shi20.cluster.bc2.ch-Linux-3.10.0-862.14.4.el7.x86_64-en.properties
+++ /dev/null
@@ -1,245 +0,0 @@
-#JDK Font Configuration Generated File: *Do Not Edit*
-#Tue Feb 04 14:15:22 UTC 2020
-monospaced.3.5.family=DejaVu Serif
-sansserif.0.7.family=DejaVu Serif
-serif.2.8.family=DejaVu Sans Mono
-serif.3.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-monospaced.0.6.family=DejaVu Serif
-serif.3.1.family=DejaVu Serif
-sansserif.1.0.family=DejaVu Sans
-serif.2.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Oblique.ttf
-sansserif.0.length=9
-serif.0.2.family=DejaVu Serif
-serif.3.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-sansserif.2.3.family=DejaVu Sans
-serif.2.9.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-monospaced.0.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-monospaced.2.2.family=DejaVu Serif
-serif.2.5.family=DejaVu Sans Mono
-sansserif.1.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-serif.3.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-monospaced.1.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Bold.ttf
-monospaced.0.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-monospaced.1.length=9
-serif.3.8.family=DejaVu Sans
-sansserif.1.7.family=DejaVu Serif
-sansserif.2.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-monospaced.1.6.family=DejaVu Serif
-sansserif.1.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-serif.3.length=10
-sansserif.2.0.family=DejaVu Sans
-monospaced.1.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-serif.1.2.family=DejaVu Serif
-sansserif.3.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-sansserif.2.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Oblique.ttf
-sansserif.3.3.family=DejaVu Sans
-monospaced.2.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-monospaced.3.2.family=DejaVu Sans Mono
-monospaced.1.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-sansserif.0.4.family=DejaVu Sans Mono
-serif.3.5.family=DejaVu Sans Mono
-sansserif.3.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-serif.0.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf
-monospaced.0.3.family=DejaVu Sans
-serif.0.6.family=DejaVu Sans
-monospaced.3.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Bold.ttf
-serif.0.length=9
-monospaced.2.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-sansserif.0.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-sansserif.2.7.family=DejaVu Sans Mono
-serif.0.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-monospaced.2.6.family=DejaVu Sans
-serif.1.9.family=DejaVu Sans
-sansserif.3.0.family=DejaVu Sans
-monospaced.3.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-sansserif.0.1.family=DejaVu Sans
-serif.2.2.family=DejaVu Serif
-serif.1.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-sansserif.0.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf
-monospaced.0.0.family=DejaVu Sans Mono
-serif.0.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-monospaced.3.9.family=DejaVu Serif
-sansserif.1.4.family=DejaVu Sans Mono
-serif.2.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf
-monospaced.1.3.family=DejaVu Serif
-serif.1.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-serif.1.6.family=DejaVu Sans
-serif.3.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-sansserif.3.7.family=DejaVu Serif
-serif.2.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-monospaced.3.6.family=DejaVu Sans
-sansserif.0.8.family=DejaVu Serif
-serif.2.9.family=DejaVu Sans
-sansserif.1.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-monospaced.0.7.family=DejaVu Sans
-serif.3.2.family=DejaVu Serif
-sansserif.1.1.family=DejaVu Sans
-serif.3.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-BoldOblique.ttf
-sansserif.1.length=9
-monospaced.1.0.family=DejaVu Sans Mono
-serif.0.3.family=DejaVu Serif
-monospaced.0.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf
-sansserif.1.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Bold.ttf
-sansserif.2.4.family=DejaVu Serif
-serif.3.9.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.1.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.2.3.family=DejaVu Serif
-monospaced.0.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-sansserif.2.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-sansserif.1.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-monospaced.2.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Oblique.ttf
-serif.0.0.family=DejaVu Serif
-monospaced.1.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-monospaced.2.length=9
-serif.3.9.family=DejaVu Sans Mono
-sansserif.1.8.family=DejaVu Serif
-sansserif.3.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-version=1
-monospaced.1.7.family=DejaVu Sans
-sansserif.2.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-sansserif.2.1.family=DejaVu Sans
-monospaced.2.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-monospaced.2.0.family=DejaVu Sans Mono
-serif.1.3.family=DejaVu Serif
-sansserif.3.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-BoldOblique.ttf
-serif.0.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-sansserif.3.4.family=DejaVu Serif
-monospaced.3.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.3.3.family=DejaVu Sans Mono
-monospaced.2.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-sansserif.0.5.family=DejaVu Serif
-serif.2.6.family=DejaVu Sans
-fcversion=21100
-serif.1.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-sansserif.0.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-monospaced.0.4.family=DejaVu Serif
-serif.0.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-serif.1.length=10
-monospaced.3.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-serif.1.0.family=DejaVu Serif
-sansserif.0.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-serif.1.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-sansserif.3.1.family=DejaVu Sans
-monospaced.3.0.family=DejaVu Sans Mono
-serif.2.3.family=DejaVu Serif
-sansserif.0.2.family=DejaVu Sans
-serif.2.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-monospaced.0.1.family=DejaVu Sans
-serif.1.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-cachedir.2=/scicore/home/zavolan/kanitz/SANDBOX/rnaseqpipeline/tests/test_integration_workflow/.fontconfig
-cachedir.1=/scicore/home/zavolan/kanitz/SANDBOX/rnaseqpipeline/tests/test_integration_workflow/.cache/fontconfig
-cachedir.0=/var/cache/fontconfig
-serif.3.6.family=DejaVu Sans
-sansserif.1.5.family=DejaVu Serif
-serif.3.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-monospaced.1.4.family=DejaVu Sans
-serif.0.7.family=DejaVu Sans
-serif.2.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-sansserif.1.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-serif.2.0.family=DejaVu Serif
-sansserif.2.8.family=DejaVu Serif
-serif.3.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-monospaced.2.7.family=DejaVu Sans
-monospaced.0.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-sansserif.2.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-serif.3.3.family=DejaVu Serif
-sansserif.1.2.family=DejaVu Sans
-sansserif.1.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-sansserif.2.length=9
-monospaced.1.1.family=DejaVu Sans Mono
-serif.0.4.family=DejaVu Sans
-monospaced.1.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-monospaced.0.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-sansserif.2.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-sansserif.2.5.family=DejaVu Serif
-monospaced.2.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.2.4.family=DejaVu Sans
-serif.1.7.family=DejaVu Sans Mono
-monospaced.1.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-sansserif.3.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-serif.3.0.family=DejaVu Serif
-sansserif.3.8.family=DejaVu Sans Mono
-sansserif.2.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-monospaced.3.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-BoldOblique.ttf
-serif.0.1.family=DejaVu Serif
-monospaced.3.7.family=DejaVu Sans
-monospaced.2.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-monospaced.3.length=11
-monospaced.0.8.family=DejaVu Sans
-sansserif.3.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-serif.0.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-sansserif.2.2.family=DejaVu Sans
-monospaced.3.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-monospaced.2.1.family=DejaVu Sans Mono
-serif.1.4.family=DejaVu Sans
-serif.1.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf
-sansserif.0.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-serif.0.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-sansserif.3.5.family=DejaVu Serif
-monospaced.3.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-monospaced.3.4.family=DejaVu Serif
-sansserif.0.6.family=DejaVu Serif
-serif.2.7.family=DejaVu Sans
-serif.2.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-monospaced.0.5.family=DejaVu Serif
-sansserif.0.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-serif.1.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Bold.ttf
-serif.2.length=10
-monospaced.1.8.family=DejaVu Sans
-serif.2.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-serif.1.9.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-sansserif.0.3.family=DejaVu Sans
-serif.2.4.family=DejaVu Sans
-serif.3.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf
-monospaced.0.2.family=DejaVu Serif
-serif.2.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.0.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.0.length=9
-serif.3.7.family=DejaVu Sans
-sansserif.1.6.family=DejaVu Sans Mono
-sansserif.1.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-monospaced.1.5.family=DejaVu Serif
-serif.3.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-serif.0.8.family=DejaVu Sans
-monospaced.0.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-monospaced.3.10.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-serif.1.1.family=DejaVu Serif
-sansserif.2.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-sansserif.1.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.2.8.family=DejaVu Serif
-sansserif.3.2.family=DejaVu Sans
-monospaced.1.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-monospaced.3.1.family=DejaVu Sans Mono
-monospaced.0.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-sansserif.3.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-serif.3.4.family=DejaVu Sans
-sansserif.2.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-sansserif.3.length=9
-serif.0.5.family=DejaVu Sans Mono
-monospaced.2.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-monospaced.1.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-sansserif.3.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-sansserif.2.6.family=DejaVu Sans Mono
-monospaced.3.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Oblique.ttf
-monospaced.2.5.family=DejaVu Sans
-serif.1.8.family=DejaVu Sans
-monospaced.2.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-monospaced.3.10.family=DejaVu Sans
-serif.2.1.family=DejaVu Serif
-sansserif.0.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-sansserif.0.0.family=DejaVu Sans
-sansserif.3.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-serif.0.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-monospaced.3.8.family=DejaVu Sans
-monospaced.3.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-sansserif.1.3.family=DejaVu Sans
-serif.1.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-sansserif.0.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.1.2.family=DejaVu Sans
-serif.0.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-serif.1.5.family=DejaVu Sans Mono
-monospaced.3.9.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-serif.2.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-sansserif.3.6.family=DejaVu Sans Mono
-serif.1.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-sansserif.0.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
diff --git a/tests/test_integration_workflow/.java/fonts/1.8.0_111/fcinfo-1-shi33.cluster.bc2.ch-Linux-3.10.0-862.14.4.el7.x86_64-en.properties b/tests/test_integration_workflow/.java/fonts/1.8.0_111/fcinfo-1-shi33.cluster.bc2.ch-Linux-3.10.0-862.14.4.el7.x86_64-en.properties
deleted file mode 100644
index 20526159a6869e870fdc7fd1ce299f942b776c4f..0000000000000000000000000000000000000000
--- a/tests/test_integration_workflow/.java/fonts/1.8.0_111/fcinfo-1-shi33.cluster.bc2.ch-Linux-3.10.0-862.14.4.el7.x86_64-en.properties
+++ /dev/null
@@ -1,245 +0,0 @@
-#JDK Font Configuration Generated File: *Do Not Edit*
-#Tue Feb 04 12:10:34 UTC 2020
-monospaced.3.5.family=DejaVu Serif
-sansserif.0.7.family=DejaVu Serif
-serif.2.8.family=DejaVu Sans Mono
-serif.3.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-monospaced.0.6.family=DejaVu Serif
-serif.3.1.family=DejaVu Serif
-sansserif.1.0.family=DejaVu Sans
-serif.2.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Oblique.ttf
-sansserif.0.length=9
-serif.0.2.family=DejaVu Serif
-serif.3.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-sansserif.2.3.family=DejaVu Sans
-serif.2.9.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-monospaced.0.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-monospaced.2.2.family=DejaVu Serif
-serif.2.5.family=DejaVu Sans Mono
-sansserif.1.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-serif.3.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-monospaced.1.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Bold.ttf
-monospaced.0.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-monospaced.1.length=9
-serif.3.8.family=DejaVu Sans
-sansserif.1.7.family=DejaVu Serif
-sansserif.2.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-monospaced.1.6.family=DejaVu Serif
-sansserif.1.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-serif.3.length=10
-sansserif.2.0.family=DejaVu Sans
-monospaced.1.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-serif.1.2.family=DejaVu Serif
-sansserif.3.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-sansserif.2.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Oblique.ttf
-sansserif.3.3.family=DejaVu Sans
-monospaced.2.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-monospaced.3.2.family=DejaVu Sans Mono
-monospaced.1.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-sansserif.0.4.family=DejaVu Sans Mono
-serif.3.5.family=DejaVu Sans Mono
-sansserif.3.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-serif.0.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf
-monospaced.0.3.family=DejaVu Sans
-serif.0.6.family=DejaVu Sans
-monospaced.3.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Bold.ttf
-serif.0.length=9
-monospaced.2.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-sansserif.0.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-sansserif.2.7.family=DejaVu Sans Mono
-serif.0.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-monospaced.2.6.family=DejaVu Sans
-serif.1.9.family=DejaVu Sans
-sansserif.3.0.family=DejaVu Sans
-monospaced.3.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-sansserif.0.1.family=DejaVu Sans
-serif.2.2.family=DejaVu Serif
-serif.1.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-sansserif.0.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf
-monospaced.0.0.family=DejaVu Sans Mono
-serif.0.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-monospaced.3.9.family=DejaVu Serif
-sansserif.1.4.family=DejaVu Sans Mono
-serif.2.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf
-monospaced.1.3.family=DejaVu Serif
-serif.1.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-serif.1.6.family=DejaVu Sans
-serif.3.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-sansserif.3.7.family=DejaVu Serif
-serif.2.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-monospaced.3.6.family=DejaVu Sans
-sansserif.0.8.family=DejaVu Serif
-serif.2.9.family=DejaVu Sans
-sansserif.1.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-monospaced.0.7.family=DejaVu Sans
-serif.3.2.family=DejaVu Serif
-sansserif.1.1.family=DejaVu Sans
-serif.3.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-BoldOblique.ttf
-sansserif.1.length=9
-monospaced.1.0.family=DejaVu Sans Mono
-serif.0.3.family=DejaVu Serif
-monospaced.0.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf
-sansserif.1.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Bold.ttf
-sansserif.2.4.family=DejaVu Serif
-serif.3.9.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.1.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.2.3.family=DejaVu Serif
-monospaced.0.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-sansserif.2.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-sansserif.1.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-monospaced.2.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Oblique.ttf
-serif.0.0.family=DejaVu Serif
-monospaced.1.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-monospaced.2.length=9
-serif.3.9.family=DejaVu Sans Mono
-sansserif.1.8.family=DejaVu Serif
-sansserif.3.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-version=1
-monospaced.1.7.family=DejaVu Sans
-sansserif.2.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-sansserif.2.1.family=DejaVu Sans
-monospaced.2.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-monospaced.2.0.family=DejaVu Sans Mono
-serif.1.3.family=DejaVu Serif
-sansserif.3.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-BoldOblique.ttf
-serif.0.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-sansserif.3.4.family=DejaVu Serif
-monospaced.3.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.3.3.family=DejaVu Sans Mono
-monospaced.2.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-sansserif.0.5.family=DejaVu Serif
-serif.2.6.family=DejaVu Sans
-fcversion=21100
-serif.1.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-sansserif.0.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-monospaced.0.4.family=DejaVu Serif
-serif.0.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-serif.1.length=10
-monospaced.3.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-serif.1.0.family=DejaVu Serif
-sansserif.0.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-serif.1.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-sansserif.3.1.family=DejaVu Sans
-monospaced.3.0.family=DejaVu Sans Mono
-serif.2.3.family=DejaVu Serif
-sansserif.0.2.family=DejaVu Sans
-serif.2.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-monospaced.0.1.family=DejaVu Sans
-serif.1.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-cachedir.2=/scicore/home/zavolan/kanitz/SANDBOX/rnaseqpipeline/tests/test_integration_workflow/.fontconfig
-cachedir.1=/scicore/home/zavolan/kanitz/SANDBOX/rnaseqpipeline/tests/test_integration_workflow/.cache/fontconfig
-cachedir.0=/var/cache/fontconfig
-serif.3.6.family=DejaVu Sans
-sansserif.1.5.family=DejaVu Serif
-serif.3.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-monospaced.1.4.family=DejaVu Sans
-serif.0.7.family=DejaVu Sans
-serif.2.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-sansserif.1.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-serif.2.0.family=DejaVu Serif
-sansserif.2.8.family=DejaVu Serif
-serif.3.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-monospaced.2.7.family=DejaVu Sans
-monospaced.0.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-sansserif.2.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-serif.3.3.family=DejaVu Serif
-sansserif.1.2.family=DejaVu Sans
-sansserif.1.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-sansserif.2.length=9
-monospaced.1.1.family=DejaVu Sans Mono
-serif.0.4.family=DejaVu Sans
-monospaced.1.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-monospaced.0.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-sansserif.2.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-sansserif.2.5.family=DejaVu Serif
-monospaced.2.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.2.4.family=DejaVu Sans
-serif.1.7.family=DejaVu Sans Mono
-monospaced.1.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-sansserif.3.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-serif.3.0.family=DejaVu Serif
-sansserif.3.8.family=DejaVu Sans Mono
-sansserif.2.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-monospaced.3.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-BoldOblique.ttf
-serif.0.1.family=DejaVu Serif
-monospaced.3.7.family=DejaVu Sans
-monospaced.2.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-monospaced.3.length=11
-monospaced.0.8.family=DejaVu Sans
-sansserif.3.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-serif.0.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-sansserif.2.2.family=DejaVu Sans
-monospaced.3.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-monospaced.2.1.family=DejaVu Sans Mono
-serif.1.4.family=DejaVu Sans
-serif.1.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf
-sansserif.0.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-serif.0.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-sansserif.3.5.family=DejaVu Serif
-monospaced.3.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-monospaced.3.4.family=DejaVu Serif
-sansserif.0.6.family=DejaVu Serif
-serif.2.7.family=DejaVu Sans
-serif.2.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-monospaced.0.5.family=DejaVu Serif
-sansserif.0.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-serif.1.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Bold.ttf
-serif.2.length=10
-monospaced.1.8.family=DejaVu Sans
-serif.2.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-serif.1.9.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-sansserif.0.3.family=DejaVu Sans
-serif.2.4.family=DejaVu Sans
-serif.3.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf
-monospaced.0.2.family=DejaVu Serif
-serif.2.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.0.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.0.length=9
-serif.3.7.family=DejaVu Sans
-sansserif.1.6.family=DejaVu Sans Mono
-sansserif.1.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-monospaced.1.5.family=DejaVu Serif
-serif.3.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-serif.0.8.family=DejaVu Sans
-monospaced.0.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-monospaced.3.10.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-serif.1.1.family=DejaVu Serif
-sansserif.2.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-sansserif.1.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.2.8.family=DejaVu Serif
-sansserif.3.2.family=DejaVu Sans
-monospaced.1.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-monospaced.3.1.family=DejaVu Sans Mono
-monospaced.0.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-sansserif.3.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-serif.3.4.family=DejaVu Sans
-sansserif.2.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-sansserif.3.length=9
-serif.0.5.family=DejaVu Sans Mono
-monospaced.2.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-monospaced.1.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-sansserif.3.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-sansserif.2.6.family=DejaVu Sans Mono
-monospaced.3.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Oblique.ttf
-monospaced.2.5.family=DejaVu Sans
-serif.1.8.family=DejaVu Sans
-monospaced.2.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-monospaced.3.10.family=DejaVu Sans
-serif.2.1.family=DejaVu Serif
-sansserif.0.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-sansserif.0.0.family=DejaVu Sans
-sansserif.3.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-serif.0.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-monospaced.3.8.family=DejaVu Sans
-monospaced.3.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-sansserif.1.3.family=DejaVu Sans
-serif.1.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-sansserif.0.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.1.2.family=DejaVu Sans
-serif.0.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-serif.1.5.family=DejaVu Sans Mono
-monospaced.3.9.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-serif.2.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-sansserif.3.6.family=DejaVu Sans Mono
-serif.1.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-sansserif.0.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
diff --git a/tests/test_integration_workflow/.java/fonts/1.8.0_111/fcinfo-1-usi105.cluster.bc2.ch-Linux-3.10.0-862.14.4.el7.x86_64-en.properties b/tests/test_integration_workflow/.java/fonts/1.8.0_111/fcinfo-1-usi105.cluster.bc2.ch-Linux-3.10.0-862.14.4.el7.x86_64-en.properties
deleted file mode 100644
index 7605aed3c618c5309bd1877221a773ff7938770c..0000000000000000000000000000000000000000
--- a/tests/test_integration_workflow/.java/fonts/1.8.0_111/fcinfo-1-usi105.cluster.bc2.ch-Linux-3.10.0-862.14.4.el7.x86_64-en.properties
+++ /dev/null
@@ -1,245 +0,0 @@
-#JDK Font Configuration Generated File: *Do Not Edit*
-#Tue Feb 04 12:10:35 UTC 2020
-monospaced.3.5.family=DejaVu Serif
-sansserif.0.7.family=DejaVu Serif
-serif.2.8.family=DejaVu Sans Mono
-serif.3.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-monospaced.0.6.family=DejaVu Serif
-serif.3.1.family=DejaVu Serif
-sansserif.1.0.family=DejaVu Sans
-serif.2.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Oblique.ttf
-sansserif.0.length=9
-serif.0.2.family=DejaVu Serif
-serif.3.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-sansserif.2.3.family=DejaVu Sans
-serif.2.9.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-monospaced.0.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-monospaced.2.2.family=DejaVu Serif
-serif.2.5.family=DejaVu Sans Mono
-sansserif.1.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-serif.3.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-monospaced.1.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Bold.ttf
-monospaced.0.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-monospaced.1.length=9
-serif.3.8.family=DejaVu Sans
-sansserif.1.7.family=DejaVu Serif
-sansserif.2.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-monospaced.1.6.family=DejaVu Serif
-sansserif.1.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-serif.3.length=10
-sansserif.2.0.family=DejaVu Sans
-monospaced.1.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-serif.1.2.family=DejaVu Serif
-sansserif.3.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-sansserif.2.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Oblique.ttf
-sansserif.3.3.family=DejaVu Sans
-monospaced.2.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-monospaced.3.2.family=DejaVu Sans Mono
-monospaced.1.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-sansserif.0.4.family=DejaVu Sans Mono
-serif.3.5.family=DejaVu Sans Mono
-sansserif.3.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-serif.0.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf
-monospaced.0.3.family=DejaVu Sans
-serif.0.6.family=DejaVu Sans
-monospaced.3.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Bold.ttf
-serif.0.length=9
-monospaced.2.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-sansserif.0.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-sansserif.2.7.family=DejaVu Sans Mono
-serif.0.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-monospaced.2.6.family=DejaVu Sans
-serif.1.9.family=DejaVu Sans
-sansserif.3.0.family=DejaVu Sans
-monospaced.3.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-sansserif.0.1.family=DejaVu Sans
-serif.2.2.family=DejaVu Serif
-serif.1.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-sansserif.0.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf
-monospaced.0.0.family=DejaVu Sans Mono
-serif.0.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-monospaced.3.9.family=DejaVu Serif
-sansserif.1.4.family=DejaVu Sans Mono
-serif.2.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf
-monospaced.1.3.family=DejaVu Serif
-serif.1.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-serif.1.6.family=DejaVu Sans
-serif.3.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-sansserif.3.7.family=DejaVu Serif
-serif.2.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-monospaced.3.6.family=DejaVu Sans
-sansserif.0.8.family=DejaVu Serif
-serif.2.9.family=DejaVu Sans
-sansserif.1.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-monospaced.0.7.family=DejaVu Sans
-serif.3.2.family=DejaVu Serif
-sansserif.1.1.family=DejaVu Sans
-serif.3.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-BoldOblique.ttf
-sansserif.1.length=9
-monospaced.1.0.family=DejaVu Sans Mono
-serif.0.3.family=DejaVu Serif
-monospaced.0.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf
-sansserif.1.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Bold.ttf
-sansserif.2.4.family=DejaVu Serif
-serif.3.9.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.1.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.2.3.family=DejaVu Serif
-monospaced.0.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-sansserif.2.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-sansserif.1.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-monospaced.2.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Oblique.ttf
-serif.0.0.family=DejaVu Serif
-monospaced.1.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-monospaced.2.length=9
-serif.3.9.family=DejaVu Sans Mono
-sansserif.1.8.family=DejaVu Serif
-sansserif.3.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-version=1
-monospaced.1.7.family=DejaVu Sans
-sansserif.2.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-sansserif.2.1.family=DejaVu Sans
-monospaced.2.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-monospaced.2.0.family=DejaVu Sans Mono
-serif.1.3.family=DejaVu Serif
-sansserif.3.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-BoldOblique.ttf
-serif.0.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-sansserif.3.4.family=DejaVu Serif
-monospaced.3.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.3.3.family=DejaVu Sans Mono
-monospaced.2.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-sansserif.0.5.family=DejaVu Serif
-serif.2.6.family=DejaVu Sans
-fcversion=21100
-serif.1.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-sansserif.0.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-monospaced.0.4.family=DejaVu Serif
-serif.0.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-serif.1.length=10
-monospaced.3.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-serif.1.0.family=DejaVu Serif
-sansserif.0.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-serif.1.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-sansserif.3.1.family=DejaVu Sans
-monospaced.3.0.family=DejaVu Sans Mono
-serif.2.3.family=DejaVu Serif
-sansserif.0.2.family=DejaVu Sans
-serif.2.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-monospaced.0.1.family=DejaVu Sans
-serif.1.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-cachedir.2=/scicore/home/zavolan/kanitz/SANDBOX/rnaseqpipeline/tests/test_integration_workflow/.fontconfig
-cachedir.1=/scicore/home/zavolan/kanitz/SANDBOX/rnaseqpipeline/tests/test_integration_workflow/.cache/fontconfig
-cachedir.0=/var/cache/fontconfig
-serif.3.6.family=DejaVu Sans
-sansserif.1.5.family=DejaVu Serif
-serif.3.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-monospaced.1.4.family=DejaVu Sans
-serif.0.7.family=DejaVu Sans
-serif.2.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-sansserif.1.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-serif.2.0.family=DejaVu Serif
-sansserif.2.8.family=DejaVu Serif
-serif.3.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-monospaced.2.7.family=DejaVu Sans
-monospaced.0.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-sansserif.2.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-serif.3.3.family=DejaVu Serif
-sansserif.1.2.family=DejaVu Sans
-sansserif.1.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-sansserif.2.length=9
-monospaced.1.1.family=DejaVu Sans Mono
-serif.0.4.family=DejaVu Sans
-monospaced.1.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-monospaced.0.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-sansserif.2.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-sansserif.2.5.family=DejaVu Serif
-monospaced.2.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.2.4.family=DejaVu Sans
-serif.1.7.family=DejaVu Sans Mono
-monospaced.1.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-sansserif.3.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-serif.3.0.family=DejaVu Serif
-sansserif.3.8.family=DejaVu Sans Mono
-sansserif.2.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-monospaced.3.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-BoldOblique.ttf
-serif.0.1.family=DejaVu Serif
-monospaced.3.7.family=DejaVu Sans
-monospaced.2.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-monospaced.3.length=11
-monospaced.0.8.family=DejaVu Sans
-sansserif.3.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-serif.0.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-sansserif.2.2.family=DejaVu Sans
-monospaced.3.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-monospaced.2.1.family=DejaVu Sans Mono
-serif.1.4.family=DejaVu Sans
-serif.1.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf
-sansserif.0.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-serif.0.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-sansserif.3.5.family=DejaVu Serif
-monospaced.3.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-monospaced.3.4.family=DejaVu Serif
-sansserif.0.6.family=DejaVu Serif
-serif.2.7.family=DejaVu Sans
-serif.2.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-monospaced.0.5.family=DejaVu Serif
-sansserif.0.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-serif.1.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Bold.ttf
-serif.2.length=10
-monospaced.1.8.family=DejaVu Sans
-serif.2.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-serif.1.9.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-sansserif.0.3.family=DejaVu Sans
-serif.2.4.family=DejaVu Sans
-serif.3.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf
-monospaced.0.2.family=DejaVu Serif
-serif.2.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.0.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.0.length=9
-serif.3.7.family=DejaVu Sans
-sansserif.1.6.family=DejaVu Sans Mono
-sansserif.1.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-monospaced.1.5.family=DejaVu Serif
-serif.3.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-serif.0.8.family=DejaVu Sans
-monospaced.0.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-monospaced.3.10.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-serif.1.1.family=DejaVu Serif
-sansserif.2.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-sansserif.1.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.2.8.family=DejaVu Serif
-sansserif.3.2.family=DejaVu Sans
-monospaced.1.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-monospaced.3.1.family=DejaVu Sans Mono
-monospaced.0.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-sansserif.3.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-serif.3.4.family=DejaVu Sans
-sansserif.2.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-sansserif.3.length=9
-serif.0.5.family=DejaVu Sans Mono
-monospaced.2.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-monospaced.1.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-sansserif.3.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-sansserif.2.6.family=DejaVu Sans Mono
-monospaced.3.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Oblique.ttf
-monospaced.2.5.family=DejaVu Sans
-serif.1.8.family=DejaVu Sans
-monospaced.2.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-monospaced.3.10.family=DejaVu Sans
-serif.2.1.family=DejaVu Serif
-sansserif.0.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-sansserif.0.0.family=DejaVu Sans
-sansserif.3.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-serif.0.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-monospaced.3.8.family=DejaVu Sans
-monospaced.3.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-sansserif.1.3.family=DejaVu Sans
-serif.1.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-sansserif.0.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.1.2.family=DejaVu Sans
-serif.0.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-serif.1.5.family=DejaVu Sans Mono
-monospaced.3.9.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-serif.2.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-sansserif.3.6.family=DejaVu Sans Mono
-serif.1.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-sansserif.0.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
diff --git a/tests/test_integration_workflow/.java/fonts/1.8.0_111/fcinfo-1-worker03.cluster.bc2.ch-Linux-3.10.0-862.14.4.el7.x86_64-en.properties b/tests/test_integration_workflow/.java/fonts/1.8.0_111/fcinfo-1-worker03.cluster.bc2.ch-Linux-3.10.0-862.14.4.el7.x86_64-en.properties
deleted file mode 100644
index 207503ef9ae7a90077a9d6b18352b4889edecb22..0000000000000000000000000000000000000000
--- a/tests/test_integration_workflow/.java/fonts/1.8.0_111/fcinfo-1-worker03.cluster.bc2.ch-Linux-3.10.0-862.14.4.el7.x86_64-en.properties
+++ /dev/null
@@ -1,245 +0,0 @@
-#JDK Font Configuration Generated File: *Do Not Edit*
-#Tue Feb 04 12:05:16 UTC 2020
-monospaced.3.5.family=DejaVu Serif
-sansserif.0.7.family=DejaVu Serif
-serif.2.8.family=DejaVu Sans Mono
-serif.3.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-monospaced.0.6.family=DejaVu Serif
-serif.3.1.family=DejaVu Serif
-sansserif.1.0.family=DejaVu Sans
-serif.2.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Oblique.ttf
-sansserif.0.length=9
-serif.0.2.family=DejaVu Serif
-serif.3.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-sansserif.2.3.family=DejaVu Sans
-serif.2.9.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-monospaced.0.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-monospaced.2.2.family=DejaVu Serif
-serif.2.5.family=DejaVu Sans Mono
-sansserif.1.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-serif.3.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-monospaced.1.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Bold.ttf
-monospaced.0.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-monospaced.1.length=9
-serif.3.8.family=DejaVu Sans
-sansserif.1.7.family=DejaVu Serif
-sansserif.2.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-monospaced.1.6.family=DejaVu Serif
-sansserif.1.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-serif.3.length=10
-sansserif.2.0.family=DejaVu Sans
-monospaced.1.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-serif.1.2.family=DejaVu Serif
-sansserif.3.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-sansserif.2.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Oblique.ttf
-sansserif.3.3.family=DejaVu Sans
-monospaced.2.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-monospaced.3.2.family=DejaVu Sans Mono
-monospaced.1.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-sansserif.0.4.family=DejaVu Sans Mono
-serif.3.5.family=DejaVu Sans Mono
-sansserif.3.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-serif.0.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf
-monospaced.0.3.family=DejaVu Sans
-serif.0.6.family=DejaVu Sans
-monospaced.3.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Bold.ttf
-serif.0.length=9
-monospaced.2.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-sansserif.0.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-sansserif.2.7.family=DejaVu Sans Mono
-serif.0.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-monospaced.2.6.family=DejaVu Sans
-serif.1.9.family=DejaVu Sans
-sansserif.3.0.family=DejaVu Sans
-monospaced.3.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-sansserif.0.1.family=DejaVu Sans
-serif.2.2.family=DejaVu Serif
-serif.1.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-sansserif.0.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf
-monospaced.0.0.family=DejaVu Sans Mono
-serif.0.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-monospaced.3.9.family=DejaVu Serif
-sansserif.1.4.family=DejaVu Sans Mono
-serif.2.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf
-monospaced.1.3.family=DejaVu Serif
-serif.1.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-serif.1.6.family=DejaVu Sans
-serif.3.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-sansserif.3.7.family=DejaVu Serif
-serif.2.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-monospaced.3.6.family=DejaVu Sans
-sansserif.0.8.family=DejaVu Serif
-serif.2.9.family=DejaVu Sans
-sansserif.1.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-monospaced.0.7.family=DejaVu Sans
-serif.3.2.family=DejaVu Serif
-sansserif.1.1.family=DejaVu Sans
-serif.3.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-BoldOblique.ttf
-sansserif.1.length=9
-monospaced.1.0.family=DejaVu Sans Mono
-serif.0.3.family=DejaVu Serif
-monospaced.0.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf
-sansserif.1.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Bold.ttf
-sansserif.2.4.family=DejaVu Serif
-serif.3.9.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.1.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.2.3.family=DejaVu Serif
-monospaced.0.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-sansserif.2.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-sansserif.1.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-monospaced.2.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Oblique.ttf
-serif.0.0.family=DejaVu Serif
-monospaced.1.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-monospaced.2.length=9
-serif.3.9.family=DejaVu Sans Mono
-sansserif.1.8.family=DejaVu Serif
-sansserif.3.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-version=1
-monospaced.1.7.family=DejaVu Sans
-sansserif.2.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-sansserif.2.1.family=DejaVu Sans
-monospaced.2.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-monospaced.2.0.family=DejaVu Sans Mono
-serif.1.3.family=DejaVu Serif
-sansserif.3.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-BoldOblique.ttf
-serif.0.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-sansserif.3.4.family=DejaVu Serif
-monospaced.3.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.3.3.family=DejaVu Sans Mono
-monospaced.2.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-sansserif.0.5.family=DejaVu Serif
-serif.2.6.family=DejaVu Sans
-fcversion=21100
-serif.1.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-sansserif.0.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-monospaced.0.4.family=DejaVu Serif
-serif.0.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-serif.1.length=10
-monospaced.3.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-serif.1.0.family=DejaVu Serif
-sansserif.0.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-serif.1.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-sansserif.3.1.family=DejaVu Sans
-monospaced.3.0.family=DejaVu Sans Mono
-serif.2.3.family=DejaVu Serif
-sansserif.0.2.family=DejaVu Sans
-serif.2.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-monospaced.0.1.family=DejaVu Sans
-serif.1.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-cachedir.2=/scicore/home/zavolan/kanitz/SANDBOX/rnaseqpipeline/tests/test_integration_workflow/.fontconfig
-cachedir.1=/scicore/home/zavolan/kanitz/SANDBOX/rnaseqpipeline/tests/test_integration_workflow/.cache/fontconfig
-cachedir.0=/var/cache/fontconfig
-serif.3.6.family=DejaVu Sans
-sansserif.1.5.family=DejaVu Serif
-serif.3.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-monospaced.1.4.family=DejaVu Sans
-serif.0.7.family=DejaVu Sans
-serif.2.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-sansserif.1.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-serif.2.0.family=DejaVu Serif
-sansserif.2.8.family=DejaVu Serif
-serif.3.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-monospaced.2.7.family=DejaVu Sans
-monospaced.0.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-sansserif.2.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-serif.3.3.family=DejaVu Serif
-sansserif.1.2.family=DejaVu Sans
-sansserif.1.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-sansserif.2.length=9
-monospaced.1.1.family=DejaVu Sans Mono
-serif.0.4.family=DejaVu Sans
-monospaced.1.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-monospaced.0.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-sansserif.2.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-sansserif.2.5.family=DejaVu Serif
-monospaced.2.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.2.4.family=DejaVu Sans
-serif.1.7.family=DejaVu Sans Mono
-monospaced.1.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-sansserif.3.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-serif.3.0.family=DejaVu Serif
-sansserif.3.8.family=DejaVu Sans Mono
-sansserif.2.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-monospaced.3.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-BoldOblique.ttf
-serif.0.1.family=DejaVu Serif
-monospaced.3.7.family=DejaVu Sans
-monospaced.2.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-monospaced.3.length=11
-monospaced.0.8.family=DejaVu Sans
-sansserif.3.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-serif.0.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-sansserif.2.2.family=DejaVu Sans
-monospaced.3.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-monospaced.2.1.family=DejaVu Sans Mono
-serif.1.4.family=DejaVu Sans
-serif.1.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf
-sansserif.0.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-serif.0.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-sansserif.3.5.family=DejaVu Serif
-monospaced.3.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-monospaced.3.4.family=DejaVu Serif
-sansserif.0.6.family=DejaVu Serif
-serif.2.7.family=DejaVu Sans
-serif.2.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-monospaced.0.5.family=DejaVu Serif
-sansserif.0.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-serif.1.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Bold.ttf
-serif.2.length=10
-monospaced.1.8.family=DejaVu Sans
-serif.2.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-serif.1.9.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-sansserif.0.3.family=DejaVu Sans
-serif.2.4.family=DejaVu Sans
-serif.3.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf
-monospaced.0.2.family=DejaVu Serif
-serif.2.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.0.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.0.length=9
-serif.3.7.family=DejaVu Sans
-sansserif.1.6.family=DejaVu Sans Mono
-sansserif.1.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-monospaced.1.5.family=DejaVu Serif
-serif.3.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
-serif.0.8.family=DejaVu Sans
-monospaced.0.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-monospaced.3.10.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-serif.1.1.family=DejaVu Serif
-sansserif.2.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-sansserif.1.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.2.8.family=DejaVu Serif
-sansserif.3.2.family=DejaVu Sans
-monospaced.1.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-monospaced.3.1.family=DejaVu Sans Mono
-monospaced.0.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-sansserif.3.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-serif.3.4.family=DejaVu Sans
-sansserif.2.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-sansserif.3.length=9
-serif.0.5.family=DejaVu Sans Mono
-monospaced.2.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-monospaced.1.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
-sansserif.3.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-sansserif.2.6.family=DejaVu Sans Mono
-monospaced.3.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Oblique.ttf
-monospaced.2.5.family=DejaVu Sans
-serif.1.8.family=DejaVu Sans
-monospaced.2.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-monospaced.3.10.family=DejaVu Sans
-serif.2.1.family=DejaVu Serif
-sansserif.0.0.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-sansserif.0.0.family=DejaVu Sans
-sansserif.3.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-serif.0.3.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-monospaced.3.8.family=DejaVu Sans
-monospaced.3.5.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Italic.ttf
-sansserif.1.3.family=DejaVu Sans
-serif.1.2.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-sansserif.0.4.file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
-monospaced.1.2.family=DejaVu Sans
-serif.0.7.file=/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
-serif.1.5.family=DejaVu Sans Mono
-monospaced.3.9.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
-serif.2.1.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
-sansserif.3.6.family=DejaVu Sans Mono
-serif.1.6.file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
-sansserif.0.8.file=/usr/share/fonts/truetype/dejavu/DejaVuSerif-BoldItalic.ttf
diff --git a/tests/test_integration_workflow/config.yaml b/tests/test_integration_workflow/config.yaml
deleted file mode 100644
index bf2fa203c3f7588b93b019c07c41d0c61decc825..0000000000000000000000000000000000000000
--- a/tests/test_integration_workflow/config.yaml
+++ /dev/null
@@ -1,30 +0,0 @@
----
-  ##############################################################################
-  ### Annotation
-  ##############################################################################
-  organism: "Homo_sapiens"
-  annotation: "../prepare_annotation/results/annotation.gtf"
-  genome: "../prepare_annotation/results/genome.fa"
-  annotation_filtered: "../prepare_annotation/results/filtered_transcripts.gtf"
-  STAR_index: "../prepare_annotation/results/STAR_index/"
-  other_RNAs_sequence: "../prepare_annotation/other.fa"
-  other_RNAs_index: "../prepare_annotation/results/other_RNAs_sequence.idx"
-  salmon_index: "../prepare_annotation/results/filtered_transcripts_salmon.idx/"
-  ##############################################################################
-  ### Output and log directories
-  ##############################################################################
-  database_path: "/some/path"
-  STAR_idx_folder: "STAR_indices"
-  output_dir: "results"
-  star_indexes: "results"
-  alfa_indexes: "results"
-  salmon_indexes: "results"
-  kallisto_indexes: "results"
-  local_log: "logs/local_log"
-  cluster_log: "logs/cluster_log"
-  
-  ##############################################################################
-  ### Sample info
-  ##############################################################################
-  samples: "samples.tsv"
-...
diff --git a/tests/test_integration_workflow/expected_output.files b/tests/test_integration_workflow/expected_output.files
index 31f26f4f6025f26cd95089ffdb1e3f6c4199d601..853825cac53f5138441308b3e00753e6ea16159d 100644
--- a/tests/test_integration_workflow/expected_output.files
+++ b/tests/test_integration_workflow/expected_output.files
@@ -1,135 +1,90 @@
-results/homo_sapiens/kallisto.idx
-results/homo_sapiens/31/salmon.idx/duplicate_clusters.tsv
-results/homo_sapiens/31/salmon.idx/hash.bin
-results/homo_sapiens/31/salmon.idx/header.json
-results/homo_sapiens/31/salmon.idx/refInfo.json
-results/homo_sapiens/31/salmon.idx/rsd.bin
-results/homo_sapiens/31/salmon.idx/sa.bin
-results/homo_sapiens/31/salmon.idx/txpInfo.bin
-results/homo_sapiens/31/salmon.idx/versionInfo.json
-results/homo_sapiens/76/STAR_index/chrLength.txt
-results/homo_sapiens/76/STAR_index/chrNameLength.txt
-results/homo_sapiens/76/STAR_index/chrName.txt
-results/homo_sapiens/76/STAR_index/chrStart.txt
-results/homo_sapiens/76/STAR_index/exonGeTrInfo.tab
-results/homo_sapiens/76/STAR_index/exonInfo.tab
-results/homo_sapiens/76/STAR_index/geneInfo.tab
-results/homo_sapiens/76/STAR_index/Genome
-results/homo_sapiens/76/STAR_index/genomeParameters.txt
-results/homo_sapiens/76/STAR_index/SA
-results/homo_sapiens/76/STAR_index/SAindex
-results/homo_sapiens/76/STAR_index/sjdbInfo.txt
-results/homo_sapiens/76/STAR_index/sjdbList.fromGTF.out.tab
-results/homo_sapiens/76/STAR_index/sjdbList.out.tab
-results/homo_sapiens/76/STAR_index/transcriptInfo.tab
-results/paired_end/synthetic_10_reads_paired/synthetic_10_reads_paired.remove_adapters_mate1.fastq
-results/paired_end/synthetic_10_reads_paired/synthetic_10_reads_paired.remove_adapters_mate2.fastq
-results/paired_end/synthetic_10_reads_paired/synthetic_10_reads_paired.remove_polya_mate1.fastq
-results/paired_end/synthetic_10_reads_paired/synthetic_10_reads_paired.remove_polya_mate2.fastq
-results/paired_end/synthetic_10_reads_paired/map_genome/synthetic_10_reads_paired_Aligned.sortedByCoord.out.bam
-results/paired_end/synthetic_10_reads_paired/map_genome/synthetic_10_reads_paired_Aligned.sortedByCoord.out.bam.bai
-results/paired_end/synthetic_10_reads_paired/map_genome/synthetic_10_reads_paired_SJ.out.tab
-results/paired_end/synthetic_10_reads_paired/map_genome/synthetic_10_reads_paired__STARgenome/sjdbInfo.txt
-results/paired_end/synthetic_10_reads_paired/map_genome/synthetic_10_reads_paired__STARgenome/sjdbList.out.tab
-results/paired_end/synthetic_10_reads_paired/map_genome/synthetic_10_reads_paired__STARpass1/SJ.out.tab
-results/paired_end/synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/fastqc_data.txt
-results/paired_end/synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/fastqc.fo
-results/paired_end/synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/summary.txt
-results/paired_end/synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/Images/adapter_content.png
-results/paired_end/synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/Images/duplication_levels.png
-results/paired_end/synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_base_n_content.png
-results/paired_end/synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_base_quality.png
-results/paired_end/synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_base_sequence_content.png
-results/paired_end/synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_sequence_gc_content.png
-results/paired_end/synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_sequence_quality.png
-results/paired_end/synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_tile_quality.png
-results/paired_end/synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/Images/sequence_length_distribution.png
-results/paired_end/synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/fastqc_data.txt
-results/paired_end/synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/fastqc.fo
-results/paired_end/synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/summary.txt
-results/paired_end/synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/Images/adapter_content.png
-results/paired_end/synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/Images/duplication_levels.png
-results/paired_end/synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/Images/per_base_n_content.png
-results/paired_end/synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/Images/per_base_quality.png
-results/paired_end/synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/Images/per_base_sequence_content.png
-results/paired_end/synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/Images/per_sequence_gc_content.png
-results/paired_end/synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/Images/per_sequence_quality.png
-results/paired_end/synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/Images/per_tile_quality.png
-results/paired_end/synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/Images/sequence_length_distribution.png
-results/paired_end/synthetic_10_reads_paired/quant_kallisto/abundance.tsv
-results/paired_end/synthetic_10_reads_paired/quant_kallisto/pseudoalignments.bam
-results/paired_end/synthetic_10_reads_paired/quant_kallisto/synthetic_10_reads_paired.kallisto.pseudo.sam
-results/paired_end/synthetic_10_reads_paired/salmon_quant/cmd_info.json
-results/paired_end/synthetic_10_reads_paired/salmon_quant/lib_format_counts.json
-results/paired_end/synthetic_10_reads_paired/salmon_quant/aux_info/ambig_info.tsv
-results/paired_end/synthetic_10_reads_paired/salmon_quant/aux_info/expected_bias
-results/paired_end/synthetic_10_reads_paired/salmon_quant/aux_info/observed_bias
-results/paired_end/synthetic_10_reads_paired/salmon_quant/aux_info/observed_bias_3p
-results/paired_end/synthetic_10_reads_paired/salmon_quant/aux_info/unmapped_names.txt
-results/single_end/synthetic_10_reads_mate_1/synthetic_10_reads_mate_1.remove_adapters_mate1.fastq
-results/single_end/synthetic_10_reads_mate_1/synthetic_10_reads_mate_1.remove_polya_mate1.fastq
-results/single_end/synthetic_10_reads_mate_1/map_genome/synthetic_10_reads_mate_1_Aligned.sortedByCoord.out.bam
-results/single_end/synthetic_10_reads_mate_1/map_genome/synthetic_10_reads_mate_1_Aligned.sortedByCoord.out.bam.bai
-results/single_end/synthetic_10_reads_mate_1/map_genome/synthetic_10_reads_mate_1_SJ.out.tab
-results/single_end/synthetic_10_reads_mate_1/map_genome/synthetic_10_reads_mate_1__STARgenome/sjdbInfo.txt
-results/single_end/synthetic_10_reads_mate_1/map_genome/synthetic_10_reads_mate_1__STARgenome/sjdbList.out.tab
-results/single_end/synthetic_10_reads_mate_1/map_genome/synthetic_10_reads_mate_1__STARpass1/SJ.out.tab
-results/single_end/synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/fastqc_data.txt
-results/single_end/synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/fastqc.fo
-results/single_end/synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/summary.txt
-results/single_end/synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/Images/adapter_content.png
-results/single_end/synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/Images/duplication_levels.png
-results/single_end/synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_base_n_content.png
-results/single_end/synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_base_quality.png
-results/single_end/synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_base_sequence_content.png
-results/single_end/synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_sequence_gc_content.png
-results/single_end/synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_sequence_quality.png
-results/single_end/synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_tile_quality.png
-results/single_end/synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/Images/sequence_length_distribution.png
-results/single_end/synthetic_10_reads_mate_1/quant_kallisto/abundance.tsv
-results/single_end/synthetic_10_reads_mate_1/quant_kallisto/pseudoalignments.bam
-results/single_end/synthetic_10_reads_mate_1/quant_kallisto/synthetic_10_reads_mate_1.kallisto.pseudo.sam
-results/single_end/synthetic_10_reads_mate_1/salmon_quant/cmd_info.json
-results/single_end/synthetic_10_reads_mate_1/salmon_quant/lib_format_counts.json
-results/single_end/synthetic_10_reads_mate_1/salmon_quant/quant.genes.sf
-results/single_end/synthetic_10_reads_mate_1/salmon_quant/quant.sf
-results/single_end/synthetic_10_reads_mate_1/salmon_quant/aux_info/ambig_info.tsv
-results/single_end/synthetic_10_reads_mate_1/salmon_quant/aux_info/expected_bias
-results/single_end/synthetic_10_reads_mate_1/salmon_quant/aux_info/observed_bias
-results/single_end/synthetic_10_reads_mate_1/salmon_quant/aux_info/observed_bias_3p
-results/single_end/synthetic_10_reads_mate_1/salmon_quant/aux_info/unmapped_names.txt
-results/single_end/synthetic_10_reads_mate_2/synthetic_10_reads_mate_2.remove_adapters_mate1.fastq
-results/single_end/synthetic_10_reads_mate_2/synthetic_10_reads_mate_2.remove_polya_mate1.fastq
-results/single_end/synthetic_10_reads_mate_2/map_genome/synthetic_10_reads_mate_2_Aligned.sortedByCoord.out.bam
-results/single_end/synthetic_10_reads_mate_2/map_genome/synthetic_10_reads_mate_2_Aligned.sortedByCoord.out.bam.bai
-results/single_end/synthetic_10_reads_mate_2/map_genome/synthetic_10_reads_mate_2_SJ.out.tab
-results/single_end/synthetic_10_reads_mate_2/map_genome/synthetic_10_reads_mate_2__STARgenome/sjdbInfo.txt
-results/single_end/synthetic_10_reads_mate_2/map_genome/synthetic_10_reads_mate_2__STARgenome/sjdbList.out.tab
-results/single_end/synthetic_10_reads_mate_2/map_genome/synthetic_10_reads_mate_2__STARpass1/SJ.out.tab
-results/single_end/synthetic_10_reads_mate_2/mate1_fastqc/synthetic.mate_2_fastqc/fastqc_data.txt
-results/single_end/synthetic_10_reads_mate_2/mate1_fastqc/synthetic.mate_2_fastqc/fastqc.fo
-results/single_end/synthetic_10_reads_mate_2/mate1_fastqc/synthetic.mate_2_fastqc/summary.txt
-results/single_end/synthetic_10_reads_mate_2/mate1_fastqc/synthetic.mate_2_fastqc/Images/adapter_content.png
-results/single_end/synthetic_10_reads_mate_2/mate1_fastqc/synthetic.mate_2_fastqc/Images/duplication_levels.png
-results/single_end/synthetic_10_reads_mate_2/mate1_fastqc/synthetic.mate_2_fastqc/Images/per_base_n_content.png
-results/single_end/synthetic_10_reads_mate_2/mate1_fastqc/synthetic.mate_2_fastqc/Images/per_base_quality.png
-results/single_end/synthetic_10_reads_mate_2/mate1_fastqc/synthetic.mate_2_fastqc/Images/per_base_sequence_content.png
-results/single_end/synthetic_10_reads_mate_2/mate1_fastqc/synthetic.mate_2_fastqc/Images/per_sequence_gc_content.png
-results/single_end/synthetic_10_reads_mate_2/mate1_fastqc/synthetic.mate_2_fastqc/Images/per_sequence_quality.png
-results/single_end/synthetic_10_reads_mate_2/mate1_fastqc/synthetic.mate_2_fastqc/Images/per_tile_quality.png
-results/single_end/synthetic_10_reads_mate_2/mate1_fastqc/synthetic.mate_2_fastqc/Images/sequence_length_distribution.png
-results/single_end/synthetic_10_reads_mate_2/quant_kallisto/abundance.tsv
-results/single_end/synthetic_10_reads_mate_2/quant_kallisto/pseudoalignments.bam
-results/single_end/synthetic_10_reads_mate_2/quant_kallisto/synthetic_10_reads_mate_2.kallisto.pseudo.sam
-results/single_end/synthetic_10_reads_mate_2/salmon_quant/cmd_info.json
-results/single_end/synthetic_10_reads_mate_2/salmon_quant/lib_format_counts.json
-results/single_end/synthetic_10_reads_mate_2/salmon_quant/quant.genes.sf
-results/single_end/synthetic_10_reads_mate_2/salmon_quant/quant.sf
-results/single_end/synthetic_10_reads_mate_2/salmon_quant/aux_info/ambig_info.tsv
-results/single_end/synthetic_10_reads_mate_2/salmon_quant/aux_info/expected_bias
-results/single_end/synthetic_10_reads_mate_2/salmon_quant/aux_info/observed_bias
-results/single_end/synthetic_10_reads_mate_2/salmon_quant/aux_info/observed_bias_3p
-results/single_end/synthetic_10_reads_mate_2/salmon_quant/aux_info/unmapped_names.txt
+results/kallisto_indexes/homo_sapiens/kallisto.idx
+results/salmon_indexes/homo_sapiens/31/salmon.idx/duplicate_clusters.tsv
+results/salmon_indexes/homo_sapiens/31/salmon.idx/hash.bin
+results/salmon_indexes/homo_sapiens/31/salmon.idx/header.json
+results/salmon_indexes/homo_sapiens/31/salmon.idx/refInfo.json
+results/salmon_indexes/homo_sapiens/31/salmon.idx/rsd.bin
+results/salmon_indexes/homo_sapiens/31/salmon.idx/sa.bin
+results/salmon_indexes/homo_sapiens/31/salmon.idx/txpInfo.bin
+results/salmon_indexes/homo_sapiens/31/salmon.idx/versionInfo.json
+results/star_indexes/homo_sapiens/75/STAR_index/chrLength.txt
+results/star_indexes/homo_sapiens/75/STAR_index/chrNameLength.txt
+results/star_indexes/homo_sapiens/75/STAR_index/chrName.txt
+results/star_indexes/homo_sapiens/75/STAR_index/chrStart.txt
+results/star_indexes/homo_sapiens/75/STAR_index/exonGeTrInfo.tab
+results/star_indexes/homo_sapiens/75/STAR_index/exonInfo.tab
+results/star_indexes/homo_sapiens/75/STAR_index/geneInfo.tab
+results/star_indexes/homo_sapiens/75/STAR_index/Genome
+results/star_indexes/homo_sapiens/75/STAR_index/SA
+results/star_indexes/homo_sapiens/75/STAR_index/SAindex
+results/star_indexes/homo_sapiens/75/STAR_index/sjdbInfo.txt
+results/star_indexes/homo_sapiens/75/STAR_index/sjdbList.fromGTF.out.tab
+results/star_indexes/homo_sapiens/75/STAR_index/sjdbList.out.tab
+results/star_indexes/homo_sapiens/75/STAR_index/transcriptInfo.tab
+results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/synthetic_10_reads_paired_synthetic_10_reads_paired.remove_adapters_mate1.fastq
+results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/synthetic_10_reads_paired_synthetic_10_reads_paired.remove_adapters_mate2.fastq
+results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/synthetic_10_reads_paired_synthetic_10_reads_paired.remove_polya_mate1.fastq
+results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/synthetic_10_reads_paired_synthetic_10_reads_paired.remove_polya_mate2.fastq
+results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/map_genome/synthetic_10_reads_paired_synthetic_10_reads_paired_SJ.out.tab
+results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/fastqc_data.txt
+results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/fastqc.fo
+results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/summary.txt
+results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/Images/adapter_content.png
+results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/Images/duplication_levels.png
+results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_base_n_content.png
+results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_base_quality.png
+results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_base_sequence_content.png
+results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_sequence_gc_content.png
+results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_sequence_quality.png
+results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_tile_quality.png
+results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/Images/sequence_length_distribution.png
+results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/fastqc_data.txt
+results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/fastqc.fo
+results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/summary.txt
+results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/Images/adapter_content.png
+results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/Images/duplication_levels.png
+results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/Images/per_base_n_content.png
+results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/Images/per_base_quality.png
+results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/Images/per_base_sequence_content.png
+results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/Images/per_sequence_gc_content.png
+results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/Images/per_sequence_quality.png
+results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/Images/per_tile_quality.png
+results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/Images/sequence_length_distribution.png
+results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/quant_kallisto/abundance.tsv
+results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/quant_kallisto/pseudoalignments.bam
+results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/quant_kallisto/synthetic_10_reads_paired_synthetic_10_reads_paired.kallisto.pseudo.sam
+results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/salmon_quant/lib_format_counts.json
+results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/salmon_quant/aux_info/ambig_info.tsv
+results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/salmon_quant/aux_info/expected_bias
+results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/salmon_quant/aux_info/observed_bias
+results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/salmon_quant/aux_info/observed_bias_3p
+results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/salmon_quant/aux_info/unmapped_names.txt
+results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1.remove_adapters_mate1.fastq
+results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1.remove_polya_mate1.fastq
+results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/map_genome/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1_SJ.out.tab
+results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/fastqc_data.txt
+results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/fastqc.fo
+results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/summary.txt
+results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/Images/adapter_content.png
+results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/Images/duplication_levels.png
+results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_base_n_content.png
+results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_base_quality.png
+results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_base_sequence_content.png
+results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_sequence_gc_content.png
+results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_sequence_quality.png
+results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_tile_quality.png
+results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/Images/sequence_length_distribution.png
+results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/quant_kallisto/abundance.tsv
+results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/quant_kallisto/pseudoalignments.bam
+results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/quant_kallisto/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1.kallisto.pseudo.sam
+results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/salmon_quant/lib_format_counts.json
+results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/salmon_quant/quant.genes.sf
+results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/salmon_quant/quant.sf
+results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/salmon_quant/aux_info/ambig_info.tsv
+results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/salmon_quant/aux_info/expected_bias
+results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/salmon_quant/aux_info/observed_bias
+results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/salmon_quant/aux_info/observed_bias_3p
+results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/salmon_quant/aux_info/unmapped_names.txt
 results/paired_end/synthetic_10_reads_paired/ALFA/synthetic_10_reads_paired_Signal.UniqueMultiple.str1.out.bg
 results/paired_end/synthetic_10_reads_paired/ALFA/synthetic_10_reads_paired_Signal.UniqueMultiple.str2.out.bg
 results/paired_end/synthetic_10_reads_paired/ALFA/synthetic_10_reads_paired_Signal.Unique.str1.out.bg
@@ -144,4 +99,4 @@ results/single_end/synthetic_10_reads_mate_2/ALFA/synthetic_10_reads_mate_2_Sign
 results/single_end/synthetic_10_reads_mate_2/ALFA/synthetic_10_reads_mate_2_Signal.UniqueMultiple.str2.out.bg
 results/single_end/synthetic_10_reads_mate_2/ALFA/synthetic_10_reads_mate_2_Signal.Unique.str1.out.bg
 results/single_end/synthetic_10_reads_mate_2/ALFA/synthetic_10_reads_mate_2_Signal.Unique.str2.out.bg
-results/single_end/synthetic_10_reads_mate_2/ALFA/synthetic_10_reads_mate_2.ALFA_feature_counts.tsv
\ No newline at end of file
+results/single_end/synthetic_10_reads_mate_2/ALFA/synthetic_10_reads_mate_2.ALFA_feature_counts.tsv
diff --git a/tests/test_integration_workflow/expected_output.md5 b/tests/test_integration_workflow/expected_output.md5
index a41cd16d235b05cbaf1d6150fcd7a1d6467b849b..d7cfc53251f02001fabdc9bc74eb4d456dac5cb0 100644
--- a/tests/test_integration_workflow/expected_output.md5
+++ b/tests/test_integration_workflow/expected_output.md5
@@ -1,135 +1,90 @@
-cbaebdb67aee4784b64aff7fec9fda42  results/homo_sapiens/kallisto.idx
-15f17d12eb9b908605bd6dbb1e9ea5c5  results/homo_sapiens/31/salmon.idx/duplicate_clusters.tsv
-5dd9a2314563aa72fc0498ff173c578a  results/homo_sapiens/31/salmon.idx/hash.bin
-45588b6e8acf09e507f2aa5883e411d5  results/homo_sapiens/31/salmon.idx/header.json
-ddd41b11317d64acdd9a71ae0c6fbd31  results/homo_sapiens/31/salmon.idx/refInfo.json
-5dec8cab99b7cccd6a341cf85eb5b978  results/homo_sapiens/31/salmon.idx/rsd.bin
-2a5dddf1ff309c1287f0b88f1631c0f3  results/homo_sapiens/31/salmon.idx/sa.bin
-cd72748424a7d75dc8b2bdc342eb04b5  results/homo_sapiens/31/salmon.idx/txpInfo.bin
-3d2de5424aae670242a9ca02c0f4c48c  results/homo_sapiens/31/salmon.idx/versionInfo.json
-dee7cdc194d5d0617552b7a3b5ad8dfb  results/homo_sapiens/76/STAR_index/chrLength.txt
-8e2e96e2d6b7f29940ad5de40662b7cb  results/homo_sapiens/76/STAR_index/chrNameLength.txt
-d0826904b8afa45352906ad9591f2bfb  results/homo_sapiens/76/STAR_index/chrName.txt
-8d3291e6bcdbe9902fbd7c887494173f  results/homo_sapiens/76/STAR_index/chrStart.txt
-83ea3c15ab782b5c55bfaefda8e7aad8  results/homo_sapiens/76/STAR_index/exonGeTrInfo.tab
-bad9d837f9a988694cc7080ee6d2997a  results/homo_sapiens/76/STAR_index/exonInfo.tab
-97e90abd8df5b91bd0b0f94dbeb66fbd  results/homo_sapiens/76/STAR_index/geneInfo.tab
-ce532365de45380570f53b6ec4a2840c  results/homo_sapiens/76/STAR_index/Genome
-007e4de58646a2242ae9f6a5d9e6dd4d  results/homo_sapiens/76/STAR_index/genomeParameters.txt
-0c215d8d17aef042dec12f4338c1a22c  results/homo_sapiens/76/STAR_index/SA
-ed6ea6529def93add585b182c015156b  results/homo_sapiens/76/STAR_index/SAindex
-0cb8219ff4bc9506622934c60d33d600  results/homo_sapiens/76/STAR_index/sjdbInfo.txt
-ea36f062eedc7f54ceffea2b635a25a8  results/homo_sapiens/76/STAR_index/sjdbList.fromGTF.out.tab
-ea36f062eedc7f54ceffea2b635a25a8  results/homo_sapiens/76/STAR_index/sjdbList.out.tab
-59c4082523c0279740fa0452871dea4b  results/homo_sapiens/76/STAR_index/transcriptInfo.tab
-500dd49da40b16799aba62aa5cf239ba  results/paired_end/synthetic_10_reads_paired/synthetic_10_reads_paired.remove_adapters_mate1.fastq
-e90e31db1ce51d930645eb74ff70d21b  results/paired_end/synthetic_10_reads_paired/synthetic_10_reads_paired.remove_adapters_mate2.fastq
-500dd49da40b16799aba62aa5cf239ba  results/paired_end/synthetic_10_reads_paired/synthetic_10_reads_paired.remove_polya_mate1.fastq
-e90e31db1ce51d930645eb74ff70d21b  results/paired_end/synthetic_10_reads_paired/synthetic_10_reads_paired.remove_polya_mate2.fastq
-907ed8e0885b353e52af735c99e06e45  results/paired_end/synthetic_10_reads_paired/map_genome/synthetic_10_reads_paired_Aligned.sortedByCoord.out.bam
-830675b200ee205a7bea8e4293e0307b  results/paired_end/synthetic_10_reads_paired/map_genome/synthetic_10_reads_paired_Aligned.sortedByCoord.out.bam.bai
-d41d8cd98f00b204e9800998ecf8427e  results/paired_end/synthetic_10_reads_paired/map_genome/synthetic_10_reads_paired_SJ.out.tab
-0cb8219ff4bc9506622934c60d33d600  results/paired_end/synthetic_10_reads_paired/map_genome/synthetic_10_reads_paired__STARgenome/sjdbInfo.txt
-ea36f062eedc7f54ceffea2b635a25a8  results/paired_end/synthetic_10_reads_paired/map_genome/synthetic_10_reads_paired__STARgenome/sjdbList.out.tab
-d41d8cd98f00b204e9800998ecf8427e  results/paired_end/synthetic_10_reads_paired/map_genome/synthetic_10_reads_paired__STARpass1/SJ.out.tab
-69042457ef7ec3f401153e8503408ad4  results/paired_end/synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/fastqc_data.txt
-c0df759ceab72ea4b1a560f991fe6497  results/paired_end/synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/fastqc.fo
-a7530faae728593900da23fca4bea97a  results/paired_end/synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/summary.txt
-fe6c1c9343d91f5413c8319ccd72b5d5  results/paired_end/synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/Images/adapter_content.png
-42741852cc110a151580bb3bb5180fc0  results/paired_end/synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/Images/duplication_levels.png
-8b34217d5fd931966d9007a658570e67  results/paired_end/synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_base_n_content.png
-848396c145d2157f34bbf86757f51abe  results/paired_end/synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_base_quality.png
-56bd6a5f95196121173609eb70618166  results/paired_end/synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_base_sequence_content.png
-e4c1a39967ec9547a2e4c71c97982ee0  results/paired_end/synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_sequence_gc_content.png
-69b70e3f561b749bf10b186dd2480a8a  results/paired_end/synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_sequence_quality.png
-b28aac49f537b8cba364b6422458ad28  results/paired_end/synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_tile_quality.png
-5b950b5dfe3c7407e9aac153db330a38  results/paired_end/synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/Images/sequence_length_distribution.png
-9273c891e47c90fed47554fe8d1e706c  results/paired_end/synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/fastqc_data.txt
-5d406428979b59abf760b9be8b1877e2  results/paired_end/synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/fastqc.fo
-706b6812d0313b6858e80a4e6aff453e  results/paired_end/synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/summary.txt
-fe6c1c9343d91f5413c8319ccd72b5d5  results/paired_end/synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/Images/adapter_content.png
-42741852cc110a151580bb3bb5180fc0  results/paired_end/synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/Images/duplication_levels.png
-8b34217d5fd931966d9007a658570e67  results/paired_end/synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/Images/per_base_n_content.png
-848396c145d2157f34bbf86757f51abe  results/paired_end/synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/Images/per_base_quality.png
-73a907996c12a3c39bea535588e65658  results/paired_end/synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/Images/per_base_sequence_content.png
-3a5ef8cfdbab5c8987941fdd46145ca4  results/paired_end/synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/Images/per_sequence_gc_content.png
-69b70e3f561b749bf10b186dd2480a8a  results/paired_end/synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/Images/per_sequence_quality.png
-b28aac49f537b8cba364b6422458ad28  results/paired_end/synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/Images/per_tile_quality.png
-5b950b5dfe3c7407e9aac153db330a38  results/paired_end/synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/Images/sequence_length_distribution.png
-5e07e870d516a91647808bd84068d829  results/paired_end/synthetic_10_reads_paired/quant_kallisto/abundance.tsv
-6180a904511292b0f173794ae98af991  results/paired_end/synthetic_10_reads_paired/quant_kallisto/pseudoalignments.bam
-d41d8cd98f00b204e9800998ecf8427e  results/paired_end/synthetic_10_reads_paired/quant_kallisto/synthetic_10_reads_paired.kallisto.pseudo.sam
-512e159b1e9e8cfaff60ba84df15641c  results/paired_end/synthetic_10_reads_paired/salmon_quant/cmd_info.json
-0b787862fa84b1d61016c95157fff3f1  results/paired_end/synthetic_10_reads_paired/salmon_quant/lib_format_counts.json
-8b03c43b8241d50bce5ac642564779e1  results/paired_end/synthetic_10_reads_paired/salmon_quant/aux_info/ambig_info.tsv
-3407f87245d0003e0ffbfdf6d8c04f20  results/paired_end/synthetic_10_reads_paired/salmon_quant/aux_info/expected_bias
-92bcd0592d22a6a58d0360fc76103e56  results/paired_end/synthetic_10_reads_paired/salmon_quant/aux_info/observed_bias
-92bcd0592d22a6a58d0360fc76103e56  results/paired_end/synthetic_10_reads_paired/salmon_quant/aux_info/observed_bias_3p
-d41d8cd98f00b204e9800998ecf8427e  results/paired_end/synthetic_10_reads_paired/salmon_quant/aux_info/unmapped_names.txt
-12ac6d56ed50ab74ce16a4d618612847  results/single_end/synthetic_10_reads_mate_1/synthetic_10_reads_mate_1.remove_adapters_mate1.fastq
-12ac6d56ed50ab74ce16a4d618612847  results/single_end/synthetic_10_reads_mate_1/synthetic_10_reads_mate_1.remove_polya_mate1.fastq
-5494191c4b0b51ae80b0519ded33a533  results/single_end/synthetic_10_reads_mate_1/map_genome/synthetic_10_reads_mate_1_Aligned.sortedByCoord.out.bam
-a603dbcbaace37710f6fb394b238f5a4  results/single_end/synthetic_10_reads_mate_1/map_genome/synthetic_10_reads_mate_1_Aligned.sortedByCoord.out.bam.bai
-d41d8cd98f00b204e9800998ecf8427e  results/single_end/synthetic_10_reads_mate_1/map_genome/synthetic_10_reads_mate_1_SJ.out.tab
-0cb8219ff4bc9506622934c60d33d600  results/single_end/synthetic_10_reads_mate_1/map_genome/synthetic_10_reads_mate_1__STARgenome/sjdbInfo.txt
-ea36f062eedc7f54ceffea2b635a25a8  results/single_end/synthetic_10_reads_mate_1/map_genome/synthetic_10_reads_mate_1__STARgenome/sjdbList.out.tab
-d41d8cd98f00b204e9800998ecf8427e  results/single_end/synthetic_10_reads_mate_1/map_genome/synthetic_10_reads_mate_1__STARpass1/SJ.out.tab
-69042457ef7ec3f401153e8503408ad4  results/single_end/synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/fastqc_data.txt
-c0df759ceab72ea4b1a560f991fe6497  results/single_end/synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/fastqc.fo
-a7530faae728593900da23fca4bea97a  results/single_end/synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/summary.txt
-fe6c1c9343d91f5413c8319ccd72b5d5  results/single_end/synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/Images/adapter_content.png
-42741852cc110a151580bb3bb5180fc0  results/single_end/synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/Images/duplication_levels.png
-8b34217d5fd931966d9007a658570e67  results/single_end/synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_base_n_content.png
-848396c145d2157f34bbf86757f51abe  results/single_end/synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_base_quality.png
-56bd6a5f95196121173609eb70618166  results/single_end/synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_base_sequence_content.png
-e4c1a39967ec9547a2e4c71c97982ee0  results/single_end/synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_sequence_gc_content.png
-69b70e3f561b749bf10b186dd2480a8a  results/single_end/synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_sequence_quality.png
-b28aac49f537b8cba364b6422458ad28  results/single_end/synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_tile_quality.png
-5b950b5dfe3c7407e9aac153db330a38  results/single_end/synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/Images/sequence_length_distribution.png
-50a9b89a9f1da2c438cb0041b64faa0e  results/single_end/synthetic_10_reads_mate_1/quant_kallisto/abundance.tsv
-3a727fbf59b74a85e1738b0eb3404a73  results/single_end/synthetic_10_reads_mate_1/quant_kallisto/pseudoalignments.bam
-d41d8cd98f00b204e9800998ecf8427e  results/single_end/synthetic_10_reads_mate_1/quant_kallisto/synthetic_10_reads_mate_1.kallisto.pseudo.sam
-4aca06dd7e702bd8bb06484cce98315b  results/single_end/synthetic_10_reads_mate_1/salmon_quant/cmd_info.json
-e4d44fa00c886035d3530fb126e30881  results/single_end/synthetic_10_reads_mate_1/salmon_quant/lib_format_counts.json
-644256e10c1cfff4fd67b5e7be60742a  results/single_end/synthetic_10_reads_mate_1/salmon_quant/quant.genes.sf
-50ef8217ce367740e40dd040d6907573  results/single_end/synthetic_10_reads_mate_1/salmon_quant/quant.sf
-8b03c43b8241d50bce5ac642564779e1  results/single_end/synthetic_10_reads_mate_1/salmon_quant/aux_info/ambig_info.tsv
-3407f87245d0003e0ffbfdf6d8c04f20  results/single_end/synthetic_10_reads_mate_1/salmon_quant/aux_info/expected_bias
-92bcd0592d22a6a58d0360fc76103e56  results/single_end/synthetic_10_reads_mate_1/salmon_quant/aux_info/observed_bias
-92bcd0592d22a6a58d0360fc76103e56  results/single_end/synthetic_10_reads_mate_1/salmon_quant/aux_info/observed_bias_3p
-d41d8cd98f00b204e9800998ecf8427e  results/single_end/synthetic_10_reads_mate_1/salmon_quant/aux_info/unmapped_names.txt
-13ea5927ba0454c7c09165cfc919b638  results/single_end/synthetic_10_reads_mate_2/synthetic_10_reads_mate_2.remove_adapters_mate1.fastq
-13ea5927ba0454c7c09165cfc919b638  results/single_end/synthetic_10_reads_mate_2/synthetic_10_reads_mate_2.remove_polya_mate1.fastq
-59840549dfd870c3d19e3eb57d52d380  results/single_end/synthetic_10_reads_mate_2/map_genome/synthetic_10_reads_mate_2_Aligned.sortedByCoord.out.bam
-e3ccc0e032494c01709ffac48bdf1ba8  results/single_end/synthetic_10_reads_mate_2/map_genome/synthetic_10_reads_mate_2_Aligned.sortedByCoord.out.bam.bai
-d41d8cd98f00b204e9800998ecf8427e  results/single_end/synthetic_10_reads_mate_2/map_genome/synthetic_10_reads_mate_2_SJ.out.tab
-0cb8219ff4bc9506622934c60d33d600  results/single_end/synthetic_10_reads_mate_2/map_genome/synthetic_10_reads_mate_2__STARgenome/sjdbInfo.txt
-ea36f062eedc7f54ceffea2b635a25a8  results/single_end/synthetic_10_reads_mate_2/map_genome/synthetic_10_reads_mate_2__STARgenome/sjdbList.out.tab
-d41d8cd98f00b204e9800998ecf8427e  results/single_end/synthetic_10_reads_mate_2/map_genome/synthetic_10_reads_mate_2__STARpass1/SJ.out.tab
-9273c891e47c90fed47554fe8d1e706c  results/single_end/synthetic_10_reads_mate_2/mate1_fastqc/synthetic.mate_2_fastqc/fastqc_data.txt
-5d406428979b59abf760b9be8b1877e2  results/single_end/synthetic_10_reads_mate_2/mate1_fastqc/synthetic.mate_2_fastqc/fastqc.fo
-706b6812d0313b6858e80a4e6aff453e  results/single_end/synthetic_10_reads_mate_2/mate1_fastqc/synthetic.mate_2_fastqc/summary.txt
-fe6c1c9343d91f5413c8319ccd72b5d5  results/single_end/synthetic_10_reads_mate_2/mate1_fastqc/synthetic.mate_2_fastqc/Images/adapter_content.png
-42741852cc110a151580bb3bb5180fc0  results/single_end/synthetic_10_reads_mate_2/mate1_fastqc/synthetic.mate_2_fastqc/Images/duplication_levels.png
-8b34217d5fd931966d9007a658570e67  results/single_end/synthetic_10_reads_mate_2/mate1_fastqc/synthetic.mate_2_fastqc/Images/per_base_n_content.png
-848396c145d2157f34bbf86757f51abe  results/single_end/synthetic_10_reads_mate_2/mate1_fastqc/synthetic.mate_2_fastqc/Images/per_base_quality.png
-73a907996c12a3c39bea535588e65658  results/single_end/synthetic_10_reads_mate_2/mate1_fastqc/synthetic.mate_2_fastqc/Images/per_base_sequence_content.png
-3a5ef8cfdbab5c8987941fdd46145ca4  results/single_end/synthetic_10_reads_mate_2/mate1_fastqc/synthetic.mate_2_fastqc/Images/per_sequence_gc_content.png
-69b70e3f561b749bf10b186dd2480a8a  results/single_end/synthetic_10_reads_mate_2/mate1_fastqc/synthetic.mate_2_fastqc/Images/per_sequence_quality.png
-b28aac49f537b8cba364b6422458ad28  results/single_end/synthetic_10_reads_mate_2/mate1_fastqc/synthetic.mate_2_fastqc/Images/per_tile_quality.png
-5b950b5dfe3c7407e9aac153db330a38  results/single_end/synthetic_10_reads_mate_2/mate1_fastqc/synthetic.mate_2_fastqc/Images/sequence_length_distribution.png
-9f344e706248e8f38bebbfcfa5e6abca  results/single_end/synthetic_10_reads_mate_2/quant_kallisto/abundance.tsv
-f65a153e46776121e7777d170cd44db5  results/single_end/synthetic_10_reads_mate_2/quant_kallisto/pseudoalignments.bam
-d41d8cd98f00b204e9800998ecf8427e  results/single_end/synthetic_10_reads_mate_2/quant_kallisto/synthetic_10_reads_mate_2.kallisto.pseudo.sam
-874ac0f041c437f5ed79ef8552ebe59f  results/single_end/synthetic_10_reads_mate_2/salmon_quant/cmd_info.json
-240389d181d6396403e79c26dce682a2  results/single_end/synthetic_10_reads_mate_2/salmon_quant/lib_format_counts.json
-727a0c8e71ad680dbe0d5b34dbefe0b4  results/single_end/synthetic_10_reads_mate_2/salmon_quant/quant.genes.sf
-d71cf9a0d3cc0c4ff34d282234f224cc  results/single_end/synthetic_10_reads_mate_2/salmon_quant/quant.sf
-8b03c43b8241d50bce5ac642564779e1  results/single_end/synthetic_10_reads_mate_2/salmon_quant/aux_info/ambig_info.tsv
-3407f87245d0003e0ffbfdf6d8c04f20  results/single_end/synthetic_10_reads_mate_2/salmon_quant/aux_info/expected_bias
-92bcd0592d22a6a58d0360fc76103e56  results/single_end/synthetic_10_reads_mate_2/salmon_quant/aux_info/observed_bias
-92bcd0592d22a6a58d0360fc76103e56  results/single_end/synthetic_10_reads_mate_2/salmon_quant/aux_info/observed_bias_3p
-d41d8cd98f00b204e9800998ecf8427e  results/single_end/synthetic_10_reads_mate_2/salmon_quant/aux_info/unmapped_names.txt
+cbaebdb67aee4784b64aff7fec9fda42  results/kallisto_indexes/homo_sapiens/kallisto.idx
+15f17d12eb9b908605bd6dbb1e9ea5c5  results/salmon_indexes/homo_sapiens/31/salmon.idx/duplicate_clusters.tsv
+5dd9a2314563aa72fc0498ff173c578a  results/salmon_indexes/homo_sapiens/31/salmon.idx/hash.bin
+45588b6e8acf09e507f2aa5883e411d5  results/salmon_indexes/homo_sapiens/31/salmon.idx/header.json
+c13cbadc90309dcede958d26c1f7c747  results/salmon_indexes/homo_sapiens/31/salmon.idx/refInfo.json
+5dec8cab99b7cccd6a341cf85eb5b978  results/salmon_indexes/homo_sapiens/31/salmon.idx/rsd.bin
+2a5dddf1ff309c1287f0b88f1631c0f3  results/salmon_indexes/homo_sapiens/31/salmon.idx/sa.bin
+cd72748424a7d75dc8b2bdc342eb04b5  results/salmon_indexes/homo_sapiens/31/salmon.idx/txpInfo.bin
+3d2de5424aae670242a9ca02c0f4c48c  results/salmon_indexes/homo_sapiens/31/salmon.idx/versionInfo.json
+dee7cdc194d5d0617552b7a3b5ad8dfb  results/star_indexes/homo_sapiens/75/STAR_index/chrLength.txt
+8e2e96e2d6b7f29940ad5de40662b7cb  results/star_indexes/homo_sapiens/75/STAR_index/chrNameLength.txt
+d0826904b8afa45352906ad9591f2bfb  results/star_indexes/homo_sapiens/75/STAR_index/chrName.txt
+8d3291e6bcdbe9902fbd7c887494173f  results/star_indexes/homo_sapiens/75/STAR_index/chrStart.txt
+83ea3c15ab782b5c55bfaefda8e7aad8  results/star_indexes/homo_sapiens/75/STAR_index/exonGeTrInfo.tab
+bad9d837f9a988694cc7080ee6d2997a  results/star_indexes/homo_sapiens/75/STAR_index/exonInfo.tab
+97e90abd8df5b91bd0b0f94dbeb66fbd  results/star_indexes/homo_sapiens/75/STAR_index/geneInfo.tab
+00dda17b3c3983873d1474e9a758d6e6  results/star_indexes/homo_sapiens/75/STAR_index/Genome
+c0d91c3af633d9439bfd0160d11efe4d  results/star_indexes/homo_sapiens/75/STAR_index/SA
+27884e419e42a7c8b3b2f49543de0260  results/star_indexes/homo_sapiens/75/STAR_index/SAindex
+bae93882f9148a6c55816b733c32a3a2  results/star_indexes/homo_sapiens/75/STAR_index/sjdbInfo.txt
+ea36f062eedc7f54ceffea2b635a25a8  results/star_indexes/homo_sapiens/75/STAR_index/sjdbList.fromGTF.out.tab
+ea36f062eedc7f54ceffea2b635a25a8  results/star_indexes/homo_sapiens/75/STAR_index/sjdbList.out.tab
+59c4082523c0279740fa0452871dea4b  results/star_indexes/homo_sapiens/75/STAR_index/transcriptInfo.tab
+500dd49da40b16799aba62aa5cf239ba  results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/synthetic_10_reads_paired_synthetic_10_reads_paired.remove_adapters_mate1.fastq
+e90e31db1ce51d930645eb74ff70d21b  results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/synthetic_10_reads_paired_synthetic_10_reads_paired.remove_adapters_mate2.fastq
+500dd49da40b16799aba62aa5cf239ba  results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/synthetic_10_reads_paired_synthetic_10_reads_paired.remove_polya_mate1.fastq
+e90e31db1ce51d930645eb74ff70d21b  results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/synthetic_10_reads_paired_synthetic_10_reads_paired.remove_polya_mate2.fastq
+d41d8cd98f00b204e9800998ecf8427e  results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/map_genome/synthetic_10_reads_paired_synthetic_10_reads_paired_SJ.out.tab
+69042457ef7ec3f401153e8503408ad4  results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/fastqc_data.txt
+c0df759ceab72ea4b1a560f991fe6497  results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/fastqc.fo
+a7530faae728593900da23fca4bea97a  results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/summary.txt
+fe6c1c9343d91f5413c8319ccd72b5d5  results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/Images/adapter_content.png
+42741852cc110a151580bb3bb5180fc0  results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/Images/duplication_levels.png
+8b34217d5fd931966d9007a658570e67  results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_base_n_content.png
+848396c145d2157f34bbf86757f51abe  results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_base_quality.png
+56bd6a5f95196121173609eb70618166  results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_base_sequence_content.png
+e4c1a39967ec9547a2e4c71c97982ee0  results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_sequence_gc_content.png
+69b70e3f561b749bf10b186dd2480a8a  results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_sequence_quality.png
+b28aac49f537b8cba364b6422458ad28  results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_tile_quality.png
+5b950b5dfe3c7407e9aac153db330a38  results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate1_fastqc/synthetic.mate_1_fastqc/Images/sequence_length_distribution.png
+9273c891e47c90fed47554fe8d1e706c  results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/fastqc_data.txt
+5d406428979b59abf760b9be8b1877e2  results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/fastqc.fo
+706b6812d0313b6858e80a4e6aff453e  results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/summary.txt
+fe6c1c9343d91f5413c8319ccd72b5d5  results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/Images/adapter_content.png
+42741852cc110a151580bb3bb5180fc0  results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/Images/duplication_levels.png
+8b34217d5fd931966d9007a658570e67  results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/Images/per_base_n_content.png
+848396c145d2157f34bbf86757f51abe  results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/Images/per_base_quality.png
+73a907996c12a3c39bea535588e65658  results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/Images/per_base_sequence_content.png
+3a5ef8cfdbab5c8987941fdd46145ca4  results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/Images/per_sequence_gc_content.png
+69b70e3f561b749bf10b186dd2480a8a  results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/Images/per_sequence_quality.png
+b28aac49f537b8cba364b6422458ad28  results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/Images/per_tile_quality.png
+5b950b5dfe3c7407e9aac153db330a38  results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/mate2_fastqc/synthetic.mate_2_fastqc/Images/sequence_length_distribution.png
+5e07e870d516a91647808bd84068d829  results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/quant_kallisto/abundance.tsv
+6180a904511292b0f173794ae98af991  results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/quant_kallisto/pseudoalignments.bam
+d41d8cd98f00b204e9800998ecf8427e  results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/quant_kallisto/synthetic_10_reads_paired_synthetic_10_reads_paired.kallisto.pseudo.sam
+2987d73b246aacce29f64110e36fdeea  results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/salmon_quant/lib_format_counts.json
+8b03c43b8241d50bce5ac642564779e1  results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/salmon_quant/aux_info/ambig_info.tsv
+3407f87245d0003e0ffbfdf6d8c04f20  results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/salmon_quant/aux_info/expected_bias
+92bcd0592d22a6a58d0360fc76103e56  results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/salmon_quant/aux_info/observed_bias
+92bcd0592d22a6a58d0360fc76103e56  results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/salmon_quant/aux_info/observed_bias_3p
+d41d8cd98f00b204e9800998ecf8427e  results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/salmon_quant/aux_info/unmapped_names.txt
+12ac6d56ed50ab74ce16a4d618612847  results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1.remove_adapters_mate1.fastq
+12ac6d56ed50ab74ce16a4d618612847  results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1.remove_polya_mate1.fastq
+d41d8cd98f00b204e9800998ecf8427e  results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/map_genome/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1_SJ.out.tab
+69042457ef7ec3f401153e8503408ad4  results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/fastqc_data.txt
+c0df759ceab72ea4b1a560f991fe6497  results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/fastqc.fo
+a7530faae728593900da23fca4bea97a  results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/summary.txt
+fe6c1c9343d91f5413c8319ccd72b5d5  results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/Images/adapter_content.png
+42741852cc110a151580bb3bb5180fc0  results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/Images/duplication_levels.png
+8b34217d5fd931966d9007a658570e67  results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_base_n_content.png
+848396c145d2157f34bbf86757f51abe  results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_base_quality.png
+56bd6a5f95196121173609eb70618166  results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_base_sequence_content.png
+e4c1a39967ec9547a2e4c71c97982ee0  results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_sequence_gc_content.png
+69b70e3f561b749bf10b186dd2480a8a  results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_sequence_quality.png
+b28aac49f537b8cba364b6422458ad28  results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/Images/per_tile_quality.png
+5b950b5dfe3c7407e9aac153db330a38  results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/mate1_fastqc/synthetic.mate_1_fastqc/Images/sequence_length_distribution.png
+50a9b89a9f1da2c438cb0041b64faa0e  results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/quant_kallisto/abundance.tsv
+3a727fbf59b74a85e1738b0eb3404a73  results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/quant_kallisto/pseudoalignments.bam
+d41d8cd98f00b204e9800998ecf8427e  results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/quant_kallisto/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1.kallisto.pseudo.sam
+efe791920c3109d3bfd3dfd3dd6f1cbd  results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/salmon_quant/lib_format_counts.json
+644256e10c1cfff4fd67b5e7be60742a  results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/salmon_quant/quant.genes.sf
+50ef8217ce367740e40dd040d6907573  results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/salmon_quant/quant.sf
+8b03c43b8241d50bce5ac642564779e1  results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/salmon_quant/aux_info/ambig_info.tsv
+3407f87245d0003e0ffbfdf6d8c04f20  results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/salmon_quant/aux_info/expected_bias
+92bcd0592d22a6a58d0360fc76103e56  results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/salmon_quant/aux_info/observed_bias
+92bcd0592d22a6a58d0360fc76103e56  results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/salmon_quant/aux_info/observed_bias_3p
+d41d8cd98f00b204e9800998ecf8427e  results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/salmon_quant/aux_info/unmapped_names.txt
 0139e75ddbfe6eb081c2c2d9b9108ab4  results/paired_end/synthetic_10_reads_paired/ALFA/synthetic_10_reads_paired_Signal.UniqueMultiple.str1.out.bg
 c266d31e0a2ad84975cb9de335891e64  results/paired_end/synthetic_10_reads_paired/ALFA/synthetic_10_reads_paired_Signal.UniqueMultiple.str2.out.bg
 0139e75ddbfe6eb081c2c2d9b9108ab4  results/paired_end/synthetic_10_reads_paired/ALFA/synthetic_10_reads_paired_Signal.Unique.str1.out.bg
@@ -144,4 +99,4 @@ a32092e5208ddc0feb96a6abe5c14e01  results/single_end/synthetic_10_reads_mate_2/A
 7dd1512e9f321abbe380b39a98d9a851  results/single_end/synthetic_10_reads_mate_2/ALFA/synthetic_10_reads_mate_2_Signal.UniqueMultiple.str2.out.bg
 a32092e5208ddc0feb96a6abe5c14e01  results/single_end/synthetic_10_reads_mate_2/ALFA/synthetic_10_reads_mate_2_Signal.Unique.str1.out.bg
 7dd1512e9f321abbe380b39a98d9a851  results/single_end/synthetic_10_reads_mate_2/ALFA/synthetic_10_reads_mate_2_Signal.Unique.str2.out.bg
-ac150e55466e881614a3db07359a0dc5  results/single_end/synthetic_10_reads_mate_2/ALFA/synthetic_10_reads_mate_2.ALFA_feature_counts.tsv
\ No newline at end of file
+ac150e55466e881614a3db07359a0dc5  results/single_end/synthetic_10_reads_mate_2/ALFA/synthetic_10_reads_mate_2.ALFA_feature_counts.tsv
diff --git a/tests/test_integration_workflow/input_files/chr1-10000-20000.fa b/tests/test_integration_workflow/input_files/chr1-10000-20000.fa
deleted file mode 100644
index 7c6b040a306d1d8c23079ffad83d4cb0f0173959..0000000000000000000000000000000000000000
--- a/tests/test_integration_workflow/input_files/chr1-10000-20000.fa
+++ /dev/null
@@ -1,168 +0,0 @@
->1-10000-20000
-ntaaccctaaccctaaccctaaccctaaccctaaccctaaccctaaccctaaccctaacc
-ctaaccctaaccctaaccctaaccctaaccctaaccctaaccctaacccaaccctaaccc
-taaccctaaccctaaccctaaccctaacccctaaccctaaccctaaccctaaccctaacc
-taaccctaaccctaaccctaaccctaaccctaaccctaaccctaaccctaacccctaacc
-ctaaccctaaaccctaaaccctaaccctaaccctaaccctaaccctaaccccaaccccaa
-ccccaaccccaaccccaaccccaaccctaacccctaaccctaaccctaaccctaccctaa
-ccctaaccctaaccctaaccctaaccctaacccctaacccctaaccctaaccctaaccct
-aaccctaaccctaaccctaacccctaaccctaaccctaaccctaaccctcgcggtaccct
-cagccggcccgcccgcccgggtctgacctgaggagaactgtgctccgccttcagagtacc
-accgaaatctgtgcagaggacaacgcagctccgccctcgcggtgctctccgggtctgtgc
-tgaggagaacgcaactccgccgttgcaaaggcgcgccgcgccggcgcaggcgcagagagg
-cgcgccgcgccggcgcaggcgcagagaggcgcgccgcgccggcgcaggcgcagagaggcg
-cgccgcgccggcgcaggcgcagagaggcgcgccgcgccggcgcaggcgcagagaggcgcg
-ccgcgccggcgcaggcgcagacacatgctagcgcgtcggggtggaggcgtggcgcaggcg
-cagagaggcgcgccgcgccggcgcaggcgcagagacacatgctaccgcgtccaggggtgg
-aggcgtggcgcaggcgcagagaggcgcaccgcgccggcgcaggcgcagagacacatgcta
-gcgcgtccaggggtggaggcgtggcgcaggcgcagagacgcaagcctacgggcgggggtt
-gggggggcgtgtgttgcaggagcaaagtcgcacggcgccgggctggggcggggggagggt
-ggcgccgtgcacgcgcagaaactcacgtcacggtggcgcggcgcagagacgggtagaacc
-tcagtaatccgaaaagccgggatcgaccgccccttgcttgcagccgggcactacaggacc
-cgcttgctcacggtgctgtgccagggcgccccctgctggcgactagggcaactgcagggc
-tctcttgcttagagtggtggccagcgccccctgctggcgccggggcactgcagggccctc
-ttgcttactgtatagtggtggcacgccgcctgctggcagctagggacattgcagggtcct
-cttgctcaaggtgtagtggcagcacgcccacctgctggcagctggggacactgccgggcc
-ctcttgctcCAACAGTACTGGCGGATTATAGGGAAACACCCGGAGCATATGCTGTTTGGT
-CTCAGtagactcctaaatatgggattcctgggtttaaaagtaaaaaataaatatgtttaa
-tttgtgaactgattaccatcagaattgtactgttctgtatcccaccagcaatgtctagga
-atgcctgtttctccacaaagtgtttacttttggatttttgccagtctaacaggtgaAGcc
-ctggagattcttattagtgatttgggctggggcctggccatgtgtatttttttaaatttc
-cactgatgattttgctgcatggccggtgttgagaatgactgCGCAAATTTGCCGGATTTC
-CTTTGCTGTTCCTGCATGTAGTTTAAACGAGATTGCCAGCACCGGGTATCATTCACCATT
-TTTCTTTTCGTTAACTTGCCGTCAGCCTTTTCTTTGACCTCTTCTTTCTGTTCATGTGTA
-TTTGCTGTCTCTTAGCCCAGACTTCCCGTGTCCTTTCCACCGGGCCTTTGAGAGGTCACA
-GGGTCTTGATGCTGTGGTCTTCATCTGCAGGTGTCTGACTTCCAGCAACTGCTGGCCTGT
-GCCAGGGTGCAAGCTGAGCACTGGAGTGGAGTTTTCCTGTGGAGAGGAGCCATGCCTAGA
-GTGGGATGGGCCATTGTTCATCTTCTGGCCCCTGTTGTCTGCATGTAACTTAATACCACA
-ACCAGGCATAGGGGAAAGATTGGAGGAAAGATGAGTGAGAGCATCAACTTCTCTCACAAC
-CTAGGCCAGTAAGTAGTGCTTGTGCTCATCTCCTTGGCTGTGATACGTGGCCGGCCCTCG
-CTCCAGCAGCTGGACCCCTACCTGCCGTCTGCTGCCATCGGAGCCCAAAGCCGGGCTGTG
-ACTGCTCAGACCAGCCGGCTGGAGGGAGGGGCTCAGCAGGTCTGGCTTTGGCCCTGGGAG
-AGCAGGTGGAAGATCAGGCAGGCCATCGCTGCCACAGAACCCAGTGGATTGGCCTAGGTG
-GGATCTCTGAGCTCAACAAGCCCTCTCTGGGTGGTAGGTGCAGAGACGGGAGGGGCAGAG
-CCGCAGGCACAGCCAAGAGGGCTGAAGAAATGGTAGAACGGAGCAGCTGGTGATGTGTGG
-GCCCACCGGCCCCAGGCTCCTGTCTCCCCCCAGGTGTGTGGTGATGCCAGGCATGCCCTT
-CCCCAGCATCAGGTCTCCAGAGCTGCAGAAGACGACGGCCGACTTGGATCACACTCTTGT
-GAGTGTCCCCAGTGTTGCAGAGGTGAGAGGAGAGTAGACAGTGAGTGGGAGTGGCGTCGC
-CCCTAGGGCTCTACGGGGCCGGCGTCTCCTGTCTCCTGGAGAGGCTTCGATGCCCCTCCA
-CACCCTCTTGATCTTCCCTGTGATGTCATCTGGAGCCCTGCTGCTTGCGGTGGCCTATAA
-AGCCTCCTAGTCTGGCTCCAAGGCCTGGCAGAGTCTTTCCCAGGGAAAGCTACAAGCAGC
-AAACAGTCTGCATGGGTCATCCCCTTCACTCCCAGCTCAGAGCCCAGGCCAGGGGCCCCC
-AAGAAAGGCTCTGGTGGAGAACCTGTGCATGAAGGCTGTCAACCAGTCCATAGGCAAGCC
-TGGCTGCCTCCAGCTGGGTCGACAGACAGGGGCTGGAGAAGGGGAGAAGAGGAAAGTGAG
-GTTGCCTGCCCTGTCTCCTACCTGAGGCTGAGGAAGGAGAAGGGGATGCACTGTTGGGGA
-GGCAGCTGTAACTCAAAGCCTTAGCCTCTGTTCCCACGAAGGCAGGGCCATCAGGCACCA
-AAGGGATTCTGCCAGCATAGTGCTCCTGGACCAGTGATACACCCGGCACCCTGTCCTGGA
-CACGCTGTTGGCCTGGATCTGAGCCCTGGTGGAGGTCAAAGCCACCTTTGGTTCTGCCAT
-TGCTGCTGTGTGGAAGTTCACTCCTGCCTTTTCCTTTCCCTAGAGCCTCCACCACCCCGA
-GATCACATTTCTCACTGCCTTTTGTCTGCCCAGTTTCACCAGAAGTAGGCCTCTTCCTGA
-CAGGCAGCTGCACCACTGCCTGGCGCTGTGCCCTTCCTTTGCTCTGCCCGCTGGAGACGG
-TGTTTGTCATGGGCCTGGTCTGCAGGGATCCTGCTACAAAGGTGAAACCCAGGAGAGTGT
-GGAGTCCAGAGTGTTGCCAGGACCCAGGCACAGGCATTAGTGCCCGTTGGAGAAAACAGG
-GGAATCCCGAAGAAATGGTGGGTCCTGGCCATCCGTGAGATCTTCCCAGGGCAGCTCCCC
-TCTGTGGAATCCAATCTGTCTTCCATCCTGCGTGGCCGAGGGCCAGGCTTCTCACTGGGC
-CTCTGCAGGAGGCTGCCATTTGTCCTGCCCACCTTCTTAGAAGCGAGACGGAGCAGACCC
-ATCTGCTACTGCCCTTTCTATAATAACTAAAGTTAGCTGCCCTGGACTATTCACCCCCTA
-GTCTCAATTTAAGAAGATCCCCATGGCCACAGGGCCCCTGCCTGGGGGCTTGTCACCTCC
-CCCACCTTCTTCCTGAGTCATTCCTGCAGCCTTGCTCCCTAACCTGCCCCACAGCCTTGC
-CTGGATTTCTATCTCCCTGGCTTGGTGCCAGTTCCTCCAAGTCGATGGCACCTCCCTCCC
-TCTCAACCACTTGAGCAAACTCCAAGACATCTTCTACCCCAACACCAGCAATTGTGCCAA
-GGGCCATTAGGCTCTCAGCATGACTATTTTTAGAGACCCCGTGTCTGTCACTGAAACCTT
-TTTTGTGGGAGACTATTCCTCCCATCTGCAACAGCTGCCCCTGCTGACTGCCCTTCTCTC
-CTCCCTCTCATCCCAGAGAAACAGGTCAGCTGGGAGCTTCTGCCCCCACTGCCTAGGGAC
-CAACAGGGGCAGGAGGCAGTCACTGACCCCGAGACGTTTGCATCCTGCACAGCTAGAGAT
-CCTTTATTAAAAGCACACTGTTGGTTTCTGCTCAGTTCTTTATTGATTGGTGTGCCGTTT
-TCTCTGGAAGCCTCTTAAGAACACAGTGGCGCAGGCTGGGTGGAGCCGTCCCCCCATGGA
-GCACAGGCAGACAGAAGTCCCCGCCCCAGCTGTGTGGCCTCAAGCCAGCCTTCCGCTCCT
-TGAAGCTGGTCTCCACACAGTGCTGGTTCCGTCACCCCCTCCCAAGGAAGTAGGTCTGAG
-CAGCTTGTCCTGGCTGTGTCCATGTCAGAGCAACGGCCCAAGTCTGGGTCTGGGGGGGAA
-GGTGTCATGGAGCCCCCTACGATTCCCAGTCGTCCTCGTCCTCCTCTGCCTGTGGCTGCT
-GCGGTGGCGGCAGAGGAGGGATGGAGTCTGACACGCGGGCAAAGGCTCCTCCGGGCCCCT
-CACCAGCCCCAGGTCCTTTCCCAGAGATGCCTGGAGGGAAAAGGCTGAGTGAGGGTGGTT
-GGTGGGAAACCCTGGTTCCCCCAGCCCCCGGAGACTTAAATACAGGAAGAAAAAGGCAGG
-ACAGAATTACAAGGTGCTGGCCCAGGGCGGGCAGCGGCCCTGCCTCCTACCCTTGCGCCT
-CATGACCAGCTTGTTGAAGAGATCCGACATCAAGTGCCCACCTTGGCTCGTGGCTCTCAC
-TGCAACGGGAAAGCCACAGACTGGGGTGAAGAGTTCAGTCACATGCGACCGGTGACTCCC
-TGTCCCCACCCCCATGACACTCCCCAGCCCTCCAAGGCCACTGTGTTTCCCAGTTAGCTC
-AGAGCCTCAGTCGATCCCTGACCCAGCACCGGGCACTGATGAGACAGCGGCTGTTTGAGG
-AGCCACCTCCCAGCCACCTCGGGGCCAGGGCCAGGGTGTGCAGCAccactgtacaatggg
-gaaactggcccagagaggtgaggcagcttgcctggggtcacagagcaaggcaaaagcagc
-gctgggtacaagctcaAAACCATAGTGCCCAGGGCACTGCCGCTGCAGGCGCAGGCATCG
-CATCACACCAGTGTCTGCGTTCACAGCAGGCATCATCAGTAGCCTCCAGAGGCCTCAGGT
-CCAGTCTCTAAAAATATCTCAGGAGGCTGCAGTGGCTGACCATTGCCTTGGACCGCTCTT
-GGCAGTCGAAGAAGATTCTCCTGTCAGTTTGAGCTGGGTGAGCTTAGAGAGGAAAGCTCC
-ACTATGGCTCCCAAACCAGGAAGGAGCCATAGCCCAGGCAGGAGGGCTGAGGACCTCTGG
-TGGCGGCCCAGGGCTTCCAGCATGTGCCCTAGGGGAAGCAGGGGCCAGCTGGCAAGAGCA
-GGGGGTGGGCAGAAAGCACCCGGTGGACTCAGGGCTGGAGGGGAGGAGGCGATCTTGCCC
-AAGGCCCTCCGACTGCAAGCTCCAGGGCCCGCTCACCTTGCTCCTGCTCCTTCTGCTGCT
-GCTTCTCCAGCTTTCGCTCCTTCATGCTGCGCAGCTTGGCCTTGCCGATGCCCCCAGCTT
-GGCGGATGGACTCTAGCAGAGTGGCCAGCCACCGGAGGGGTCAACCACTTCCCTGGGAGC
-TCCCTGGACTGGAGCCGGGAGGTGGGGAACAGGGCAAGGAGGAAAGGCTGCTCAGGCAGG
-GCTGGGGAAGCTTACTGTGTCCAAGAGCCTGCTGGGAGGGAAGTCACCTCCCCTCAAACG
-AGGAGCCCTGCGCTGGGGAGGCCGGACCTTTGGAGACTGTGTGTGGGGGCCTGGGCACTG
-ACTTCTGCAACCACCTGAGCGCGGGCATCCTGTGTGCAGATACTCCCTGCTTCCTCTCTA
-GCCCCCACCCTGCAGAGCTGGACCCCTGAGCTAGCCATGCTCTGACAGTCTCAGTTGCAC
-ACACGAGCCAGCAGAGGGGTTTTGTGCCACTTCTGGATGCTAGGGTTACACTGGGAGACA
-CAGCAGTGAAGCTGAAATGAAAAATGTGTTGCTGTAGTTTGTTATTAGACCCCTTCTTTC
-CATTGGTTTAATTAGGAATGGGGAACCCAGAGCCTCACTTGTTCAGGCTCCCTCTGCCCT
-AGAAGTGAGAAGTCCAGAGCTCTACAGTTTGAAAACCACTATTTTATGAACCAAGTAGAA
-CAAGATATTTGAAATGGAAACTATTCAAAAAATTGAGAATTTCTGACCACTTAACAAACC
-CACAGAAAATCCACCCGAGTGCACTGAGCACGCCAGAAATCAGGTGGCCTCAAAGAGCTG
-CTCCCACCTGAAGGAGACGCGCTGCTGCTGCTGTCGTCCTGCCTGGCGCCTTGGCCTACA
-GGGGCCGCGGTTGAGGGTGGGAGTGGGGGTGCACTGGCCAGCACCTCAGGAGCtgggggt
-ggtggtgggggcggtgggggtggtgttagtACCCCATCTTGTAGGTCTGAAACACAAAGT
-GTGGGGTGTCTAGGGAAGAAGGTGTGTGACCAGGGAGGTCCCCGGCCCAGCTCCCATCCC
-AGAACCCAGCTCACCTACCTTGAGAGGCTCGGCTACCTCAGTGTGGAAGGTGGGCAGTTC
-TGGAATGGTGCCAGGGGCAGAGGGGGCAATGCCGGGGCCCAGGTCGGCAATGTACATGAG
-GTCGTTGGCAATGCCGGGCAGGTCAGGCAGGTAGGATGGAACATCAATCTCAGGCACCTG
-GCCCAGGTCTGGCACATAGAAGTAGTTCTCTGGGACCTGCAAGATTAGGCAGGGACATGT
-GAGAGGTGACAGGGACCTGCAGGGGCAGCCAACAAGACCTTGTGTGCACCTCCCATGGGT
-GGAATAAGGGGCCCAACAGCCTTGACTGGAGAGGAGCTCTGGCAAGGCCCTGGGCCACTG
-CACCTGTCTCCACCTCTGTCCCACCCCTCCCACCTGCTGTTCCAGCTGCTCTCTCTTGCT
-GATGGACAAGGGGGCATCAAACAGCTTCTCCTCTGTCTCTGCCCCCAGCATCACATGGGT
-CTTTGTTACAGCACCAGCCAGGGGGTCCAGGAAGACATACTTCTTCTACCTACAGAGGCG
-ACATGGGGGTCAGGCAAGCTGACACCCGCTGTCCTGAGCCCATGTTCCTCTCCCACATCA
-TCAGGGGCACAGCGTGCACTGTGGGGTCCCAGGCCTCCCGAGCCGAGCCACCCGTCACCC
-CCTGGCTCCTGGCCTATGTGCTGTACCTGTGTCTGATGCCCTGGGTCCCCACTAAGCCAG
-GCCGGGCCTCCCGCCCACACCCCTCGGCCCTGCCCTCTGGCCATACAGGTTCTCGGTGGT
-GTTGAAGAGCAGCAAGGAGCTGACAGAGCTGATGTTGCTGGGAAGACCCCCAAGTCCCTC
-TTCTGCATCGTCCTCGGGCTCCGGCTTGGTGCTCACGCACACAGGAAAGTCCTTCAGCTT
-CTCCTGAGAGGGCCAGGATGGCCAAGGGATGGTGAATATTTGGTGCTGGGCCTAATCAGC
-TGCCATCCCATCCCAGTCAGCCTCCTCTGGGGGACAGAACCCTATGGTGGCCCCGGCTCC
-TCCCCAGTATCCAGTCCTCCTGGTGTGTGACAGGCTATATGCGCGGCCAGCAGACCTGCA
-GGGCCCGCTCGTCCAGGGGGCGGTGCTTGCTCTGGATCCTGTGGCGGGGGCGTCTCTGCA
-GGCCAGGGTCCTGGGCGCCCGTGAAGATGGAGCCATATTCCTGCAGGCGCCCTGGAGCAG
-GGTACTTGGCACTGGAGAACACCTGTGGACACAGGGACAAGTCTGAGGGGGCCCCAAGAG
-GCTCAGAGGGCTAGGATTGCTTGGCAGGAGAGGGTGGAGTTGGAAGCCTGGGCGAGAAGA
-AAGCTCAAGGTACAGGTGGGCAGCAGGGCAGAGACTGGGCAGCCTCAGAGGCACGGGGAA
-ATGGAGGGACTGCCCAGTAGCCTCAGGACACAGGGGTATGGGGACTACCTTGATGGCCTT
-CTTGCTGCCCTTGATCTTCTCAATCTTGGCCTGGGCCAAGGAGACCTTCTCTCCAATGGC
-CTGCACCTGGCTCCGGCTCTGCTCTACCTGCTGGGAGATCCTGCCATGGAGAAGATCACA
-GAGGCTGGGCTGCTCCCCACCCTCTGCACACCTCCTGCTTCTAACAGCAGAGCTGCCAGG
-CCAGGCCCTCAGGCAAGGGCTCTGAAGTCAGGGTCACCTACTTGCCAGGGCCGATCTTGG
-TGCCATCCAGGGGGCCTCTACAAGGATAATCTGACCTGCAGGGTCGAGGAGTTGACGGTG
-CTGAGTTCCCTGCACTCTCAGTAGGGACAGGCCCTATGCTGCCACCTGTACATGCTATCT
-GAAGGACAGCCTCCAGGGCACACAGAGGATGGTATTTACACATGCACACATGGCTACTGA
-TGGGGCAAGCACTTCACAACCCCTCATGATCACGTGCAGCAGACAATGTGGCCTCTGCAG
-AGGGGGAACGGAGACCGGAGGCTGAGACTGGCAAGGCTGGACCTGAGTGTCGTCACCTAA
-ATTCAGACGGGGAACTGCCCCTGCACATACTGAACGGCTCACTGAGCAAACCCCGAGTCC
-CGACCACCGCCTCAGTGTGGTCTAGCTcctcacctgcttccatcctccctggtgcggggt
-gggcccagtgatatcagctgcctgctgttccccagatgtgccaagtgcattcttgtgtgc
-ttgcatctcatggaacgccatttccccagacatccctgtggctggctccTGATGCCCGAG
-GCCCAAGTGTCTGATGCTTTAAGGCACATCACCCCACTCATGCTTTTCCATGTTCTTTGG
-CCGCAGCAAGGCCGCTCTCACTGCAAAGTTAACTCTGATGCGTGTGTAACACAACATCCT
-CCTCCCAGTCGCCCCTGTAGCTCCCCTACCTCCAAGAGCCCAGCCCTTGCCCACAGGGCC
-ACACTCCACGTGCAGAGCAGCCTCAGCACTCACCGGGCACGAGCGAGCCTGTGTGGTGCG
-CAGGGAtgagaaggcagaggcgcgactggggttcatgaggaagggcaggaggagggtgtg
-ggatggtggaggggtttgagaaggcagaggcgcgactggggttcatgaggaaagggaggg
-ggaggatgtgggatggtggaggggCTGCAGACTCTGGGCTAGGGAAAGCTGGGATGTCTC
-TAAAGGTTGGAATGAATGGCCTAGAATCCGACCCAATAAGCCAAAGCCACTTCCACCAAC
-GTTAGAAGGCCTTGGCCCCCAGAGAGCCAATTTCACAATCCAGAAGTCCCCGTGCCCTAA
-AGGGTCTGCCCTGATTACTCCTGGCTCCTTGTGTGCAGGGGGCTCAGGCATGGCAGGGCT
-GGGAGTACCAGCAGGCACTCAAGCGGCTTAAGTGTTCCATGACAGACTGGTATGAAGGTG
-GCCACAATTCAGAAAGAAAAAAGAAGAGCACCATCTCCTTCCAGTGAGGAAGCGGGACCA
-CCACCCAGCGTGTGCTCCATCTTTTCTGGCTGGGGAGAGGCCTTCATCTGCTGTAAAGGG
-TCCTCCAGCACAAGCTGTCTTAATTGACCCTAGTTCCCAGGGCAGCCTCGTTCTGCCTTG
-GGTGCTGACACGACCTTCGGTAGGTGCATAAGCTCTGCATTCGAGGTCCACAGGGGCAGT
-GGGAGGGAACTGagactggggagggacaaaggctgctctgt
diff --git a/tests/test_integration_workflow/input_files/chr1-10000-20000.gtf b/tests/test_integration_workflow/input_files/chr1-10000-20000.gtf
deleted file mode 100644
index b40ab99def551f041f0b74919df9d791cd8b0026..0000000000000000000000000000000000000000
--- a/tests/test_integration_workflow/input_files/chr1-10000-20000.gtf
+++ /dev/null
@@ -1,28 +0,0 @@
-#!genome-build GRCh38.p13
-#!genome-version GRCh38
-#!genome-date 2013-12
-#!genome-build-accession NCBI:GCA_000001405.28
-#!genebuild-last-updated 2019-08
-1-10000-20000	havana	gene	1870	4410	.	+	.	gene_id "ENSG00000223972"; gene_version "5"; gene_name "DDX11L1"; gene_source "havana"; gene_biotype "transcribed_unprocessed_pseudogene";
-1-10000-20000	havana	transcript	1870	4410	.	+	.	gene_id "ENSG00000223972"; gene_version "5"; transcript_id "ENST00000456328"; transcript_version "2"; gene_name "DDX11L1"; gene_source "havana"; gene_biotype "transcribed_unprocessed_pseudogene"; transcript_name "DDX11L1-202"; transcript_source "havana"; transcript_biotype "processed_transcript"; tag "basic"; transcript_support_level "1";
-1-10000-20000	havana	exon	1870	2228	.	+	.	gene_id "ENSG00000223972"; gene_version "5"; transcript_id "ENST00000456328"; transcript_version "2"; exon_number "1"; gene_name "DDX11L1"; gene_source "havana"; gene_biotype "transcribed_unprocessed_pseudogene"; transcript_name "DDX11L1-202"; transcript_source "havana"; transcript_biotype "processed_transcript"; exon_id "ENSE00002234944"; exon_version "1"; tag "basic"; transcript_support_level "1";
-1-10000-20000	havana	exon	2614	2722	.	+	.	gene_id "ENSG00000223972"; gene_version "5"; transcript_id "ENST00000456328"; transcript_version "2"; exon_number "2"; gene_name "DDX11L1"; gene_source "havana"; gene_biotype "transcribed_unprocessed_pseudogene"; transcript_name "DDX11L1-202"; transcript_source "havana"; transcript_biotype "processed_transcript"; exon_id "ENSE00003582793"; exon_version "1"; tag "basic"; transcript_support_level "1";
-1-10000-20000	havana	exon	3222	4410	.	+	.	gene_id "ENSG00000223972"; gene_version "5"; transcript_id "ENST00000456328"; transcript_version "2"; exon_number "3"; gene_name "DDX11L1"; gene_source "havana"; gene_biotype "transcribed_unprocessed_pseudogene"; transcript_name "DDX11L1-202"; transcript_source "havana"; transcript_biotype "processed_transcript"; exon_id "ENSE00002312635"; exon_version "1"; tag "basic"; transcript_support_level "1";
-1-10000-20000	havana	transcript	2011	3671	.	+	.	gene_id "ENSG00000223972"; gene_version "5"; transcript_id "ENST00000450305"; transcript_version "2"; gene_name "DDX11L1"; gene_source "havana"; gene_biotype "transcribed_unprocessed_pseudogene"; transcript_name "DDX11L1-201"; transcript_source "havana"; transcript_biotype "transcribed_unprocessed_pseudogene"; tag "basic"; transcript_support_level "NA";
-1-10000-20000	havana	exon	2011	2058	.	+	.	gene_id "ENSG00000223972"; gene_version "5"; transcript_id "ENST00000450305"; transcript_version "2"; exon_number "1"; gene_name "DDX11L1"; gene_source "havana"; gene_biotype "transcribed_unprocessed_pseudogene"; transcript_name "DDX11L1-201"; transcript_source "havana"; transcript_biotype "transcribed_unprocessed_pseudogene"; exon_id "ENSE00001948541"; exon_version "1"; tag "basic"; transcript_support_level "NA";
-1-10000-20000	havana	exon	2180	2228	.	+	.	gene_id "ENSG00000223972"; gene_version "5"; transcript_id "ENST00000450305"; transcript_version "2"; exon_number "2"; gene_name "DDX11L1"; gene_source "havana"; gene_biotype "transcribed_unprocessed_pseudogene"; transcript_name "DDX11L1-201"; transcript_source "havana"; transcript_biotype "transcribed_unprocessed_pseudogene"; exon_id "ENSE00001671638"; exon_version "2"; tag "basic"; transcript_support_level "NA";
-1-10000-20000	havana	exon	2614	2698	.	+	.	gene_id "ENSG00000223972"; gene_version "5"; transcript_id "ENST00000450305"; transcript_version "2"; exon_number "3"; gene_name "DDX11L1"; gene_source "havana"; gene_biotype "transcribed_unprocessed_pseudogene"; transcript_name "DDX11L1-201"; transcript_source "havana"; transcript_biotype "transcribed_unprocessed_pseudogene"; exon_id "ENSE00001758273"; exon_version "2"; tag "basic"; transcript_support_level "NA";
-1-10000-20000	havana	exon	2976	3053	.	+	.	gene_id "ENSG00000223972"; gene_version "5"; transcript_id "ENST00000450305"; transcript_version "2"; exon_number "4"; gene_name "DDX11L1"; gene_source "havana"; gene_biotype "transcribed_unprocessed_pseudogene"; transcript_name "DDX11L1-201"; transcript_source "havana"; transcript_biotype "transcribed_unprocessed_pseudogene"; exon_id "ENSE00001799933"; exon_version "2"; tag "basic"; transcript_support_level "NA";
-1-10000-20000	havana	exon	3222	3375	.	+	.	gene_id "ENSG00000223972"; gene_version "5"; transcript_id "ENST00000450305"; transcript_version "2"; exon_number "5"; gene_name "DDX11L1"; gene_source "havana"; gene_biotype "transcribed_unprocessed_pseudogene"; transcript_name "DDX11L1-201"; transcript_source "havana"; transcript_biotype "transcribed_unprocessed_pseudogene"; exon_id "ENSE00001746346"; exon_version "2"; tag "basic"; transcript_support_level "NA";
-1-10000-20000	havana	exon	3454	3671	.	+	.	gene_id "ENSG00000223972"; gene_version "5"; transcript_id "ENST00000450305"; transcript_version "2"; exon_number "6"; gene_name "DDX11L1"; gene_source "havana"; gene_biotype "transcribed_unprocessed_pseudogene"; transcript_name "DDX11L1-201"; transcript_source "havana"; transcript_biotype "transcribed_unprocessed_pseudogene"; exon_id "ENSE00001863096"; exon_version "1"; tag "basic"; transcript_support_level "NA";
-1-10000-20000	havana	gene	4405	8367	.	-	.	gene_id "ENSG00000227232"; gene_version "5"; gene_name "WASH7P"; gene_source "havana"; gene_biotype "unprocessed_pseudogene";
-1-10000-20000	havana	transcript	4405	8367	.	-	.	gene_id "ENSG00000227232"; gene_version "5"; transcript_id "ENST00000488147"; transcript_version "1"; gene_name "WASH7P"; gene_source "havana"; gene_biotype "unprocessed_pseudogene"; transcript_name "WASH7P-201"; transcript_source "havana"; transcript_biotype "unprocessed_pseudogene"; tag "basic"; transcript_support_level "NA";
-1-10000-20000	havana	exon	8269	8367	.	-	.	gene_id "ENSG00000227232"; gene_version "5"; transcript_id "ENST00000488147"; transcript_version "1"; exon_number "3"; gene_name "WASH7P"; gene_source "havana"; gene_biotype "unprocessed_pseudogene"; transcript_name "WASH7P-201"; transcript_source "havana"; transcript_biotype "unprocessed_pseudogene"; exon_id "ENSE00003477500"; exon_version "1"; tag "basic"; transcript_support_level "NA";
-1-10000-20000	havana	exon	7916	8062	.	-	.	gene_id "ENSG00000227232"; gene_version "5"; transcript_id "ENST00000488147"; transcript_version "1"; exon_number "4"; gene_name "WASH7P"; gene_source "havana"; gene_biotype "unprocessed_pseudogene"; transcript_name "WASH7P-201"; transcript_source "havana"; transcript_biotype "unprocessed_pseudogene"; exon_id "ENSE00003565697"; exon_version "1"; tag "basic"; transcript_support_level "NA";
-1-10000-20000	havana	exon	7607	7743	.	-	.	gene_id "ENSG00000227232"; gene_version "5"; transcript_id "ENST00000488147"; transcript_version "1"; exon_number "5"; gene_name "WASH7P"; gene_source "havana"; gene_biotype "unprocessed_pseudogene"; transcript_name "WASH7P-201"; transcript_source "havana"; transcript_biotype "unprocessed_pseudogene"; exon_id "ENSE00003475637"; exon_version "1"; tag "basic"; transcript_support_level "NA";
-1-10000-20000	havana	exon	7234	7369	.	-	.	gene_id "ENSG00000227232"; gene_version "5"; transcript_id "ENST00000488147"; transcript_version "1"; exon_number "6"; gene_name "WASH7P"; gene_source "havana"; gene_biotype "unprocessed_pseudogene"; transcript_name "WASH7P-201"; transcript_source "havana"; transcript_biotype "unprocessed_pseudogene"; exon_id "ENSE00003502542"; exon_version "1"; tag "basic"; transcript_support_level "NA";
-1-10000-20000	havana	exon	6859	7056	.	-	.	gene_id "ENSG00000227232"; gene_version "5"; transcript_id "ENST00000488147"; transcript_version "1"; exon_number "7"; gene_name "WASH7P"; gene_source "havana"; gene_biotype "unprocessed_pseudogene"; transcript_name "WASH7P-201"; transcript_source "havana"; transcript_biotype "unprocessed_pseudogene"; exon_id "ENSE00003553898"; exon_version "1"; tag "basic"; transcript_support_level "NA";
-1-10000-20000	havana	exon	6608	6766	.	-	.	gene_id "ENSG00000227232"; gene_version "5"; transcript_id "ENST00000488147"; transcript_version "1"; exon_number "8"; gene_name "WASH7P"; gene_source "havana"; gene_biotype "unprocessed_pseudogene"; transcript_name "WASH7P-201"; transcript_source "havana"; transcript_biotype "unprocessed_pseudogene"; exon_id "ENSE00003621279"; exon_version "1"; tag "basic"; transcript_support_level "NA";
-1-10000-20000	havana	exon	5797	5948	.	-	.	gene_id "ENSG00000227232"; gene_version "5"; transcript_id "ENST00000488147"; transcript_version "1"; exon_number "9"; gene_name "WASH7P"; gene_source "havana"; gene_biotype "unprocessed_pseudogene"; transcript_name "WASH7P-201"; transcript_source "havana"; transcript_biotype "unprocessed_pseudogene"; exon_id "ENSE00002030414"; exon_version "1"; tag "basic"; transcript_support_level "NA";
-1-10000-20000	havana	exon	5006	5039	.	-	.	gene_id "ENSG00000227232"; gene_version "5"; transcript_id "ENST00000488147"; transcript_version "1"; exon_number "10"; gene_name "WASH7P"; gene_source "havana"; gene_biotype "unprocessed_pseudogene"; transcript_name "WASH7P-201"; transcript_source "havana"; transcript_biotype "unprocessed_pseudogene"; exon_id "ENSE00001935574"; exon_version "1"; tag "basic"; transcript_support_level "NA";
-1-10000-20000	havana	exon	4405	4502	.	-	.	gene_id "ENSG00000227232"; gene_version "5"; transcript_id "ENST00000488147"; transcript_version "1"; exon_number "11"; gene_name "WASH7P"; gene_source "havana"; gene_biotype "unprocessed_pseudogene"; transcript_name "WASH7P-201"; transcript_source "havana"; transcript_biotype "unprocessed_pseudogene"; exon_id "ENSE00001843071"; exon_version "1"; tag "basic"; transcript_support_level "NA";
diff --git a/tests/test_integration_workflow/input_files/chr1-10000-20000.transcripts.fa b/tests/test_integration_workflow/input_files/chr1-10000-20000.transcripts.fa
deleted file mode 100644
index a55426c270a5458fd5d6c36b723efd8d4cb5b296..0000000000000000000000000000000000000000
--- a/tests/test_integration_workflow/input_files/chr1-10000-20000.transcripts.fa
+++ /dev/null
@@ -1,54 +0,0 @@
->ENST00000456328 gene=DDX11L1
-GTTAACTTGCCGTCAGCCTTTTCTTTGACCTCTTCTTTCTGTTCATGTGTATTTGCTGTCTCTTAGCCCA
-GACTTCCCGTGTCCTTTCCACCGGGCCTTTGAGAGGTCACAGGGTCTTGATGCTGTGGTCTTCATCTGCA
-GGTGTCTGACTTCCAGCAACTGCTGGCCTGTGCCAGGGTGCAAGCTGAGCACTGGAGTGGAGTTTTCCTG
-TGGAGAGGAGCCATGCCTAGAGTGGGATGGGCCATTGTTCATCTTCTGGCCCCTGTTGTCTGCATGTAAC
-TTAATACCACAACCAGGCATAGGGGAAAGATTGGAGGAAAGATGAGTGAGAGCATCAACTTCTCTCACAA
-CCTAGGCCAGTGTGTGGTGATGCCAGGCATGCCCTTCCCCAGCATCAGGTCTCCAGAGCTGCAGAAGACG
-ACGGCCGACTTGGATCACACTCTTGTGAGTGTCCCCAGTGTTGCAGAGGCAGGGCCATCAGGCACCAAAG
-GGATTCTGCCAGCATAGTGCTCCTGGACCAGTGATACACCCGGCACCCTGTCCTGGACACGCTGTTGGCC
-TGGATCTGAGCCCTGGTGGAGGTCAAAGCCACCTTTGGTTCTGCCATTGCTGCTGTGTGGAAGTTCACTC
-CTGCCTTTTCCTTTCCCTAGAGCCTCCACCACCCCGAGATCACATTTCTCACTGCCTTTTGTCTGCCCAG
-TTTCACCAGAAGTAGGCCTCTTCCTGACAGGCAGCTGCACCACTGCCTGGCGCTGTGCCCTTCCTTTGCT
-CTGCCCGCTGGAGACGGTGTTTGTCATGGGCCTGGTCTGCAGGGATCCTGCTACAAAGGTGAAACCCAGG
-AGAGTGTGGAGTCCAGAGTGTTGCCAGGACCCAGGCACAGGCATTAGTGCCCGTTGGAGAAAACAGGGGA
-ATCCCGAAGAAATGGTGGGTCCTGGCCATCCGTGAGATCTTCCCAGGGCAGCTCCCCTCTGTGGAATCCA
-ATCTGTCTTCCATCCTGCGTGGCCGAGGGCCAGGCTTCTCACTGGGCCTCTGCAGGAGGCTGCCATTTGT
-CCTGCCCACCTTCTTAGAAGCGAGACGGAGCAGACCCATCTGCTACTGCCCTTTCTATAATAACTAAAGT
-TAGCTGCCCTGGACTATTCACCCCCTAGTCTCAATTTAAGAAGATCCCCATGGCCACAGGGCCCCTGCCT
-GGGGGCTTGTCACCTCCCCCACCTTCTTCCTGAGTCATTCCTGCAGCCTTGCTCCCTAACCTGCCCCACA
-GCCTTGCCTGGATTTCTATCTCCCTGGCTTGGTGCCAGTTCCTCCAAGTCGATGGCACCTCCCTCCCTCT
-CAACCACTTGAGCAAACTCCAAGACATCTTCTACCCCAACACCAGCAATTGTGCCAAGGGCCATTAGGCT
-CTCAGCATGACTATTTTTAGAGACCCCGTGTCTGTCACTGAAACCTTTTTTGTGGGAGACTATTCCTCCC
-ATCTGCAACAGCTGCCCCTGCTGACTGCCCTTCTCTCCTCCCTCTCATCCCAGAGAAACAGGTCAGCTGG
-GAGCTTCTGCCCCCACTGCCTAGGGACCAACAGGGGCAGGAGGCAGTCACTGACCCCGAGACGTTTGCAT
-CCTGCACAGCTAGAGATCCTTTATTAAAAGCACACTGTTGGTTTCTG
->ENST00000450305 gene=DDX11L1
-GTGTCTGACTTCCAGCAACTGCTGGCCTGTGCCAGGGTGCAAGCTGAGTTGGAGGAAAGATGAGTGAGAG
-CATCAACTTCTCTCACAACCTAGGCCAGTGTGTGGTGATGCCAGGCATGCCCTTCCCCAGCATCAGGTCT
-CCAGAGCTGCAGAAGACGACGGCCGACTTGGATCACACTCTTCTCAGAGCCCAGGCCAGGGGCCCCCAAG
-AAAGGCTCTGGTGGAGAACCTGTGCATGAAGGCTGTCAACCAGTCCATAGGCAGGGCCATCAGGCACCAA
-AGGGATTCTGCCAGCATAGTGCTCCTGGACCAGTGATACACCCGGCACCCTGTCCTGGACACGCTGTTGG
-CCTGGATCTGAGCCCTGGTGGAGGTCAAAGCCACCTTTGGTTCTGCCATTGCTGCTGTGTGGAATTTCAC
-CAGAAGTAGGCCTCTTCCTGACAGGCAGCTGCACCACTGCCTGGCGCTGTGCCCTTCCTTTGCTCTGCCC
-GCTGGAGACGGTGTTTGTCATGGGCCTGGTCTGCAGGGATCCTGCTACAAAGGTGAAACCCAGGAGAGTG
-TGGAGTCCAGAGTGTTGCCAGGACCCAGGCACAGGCATTAGTGCCCGTTGGAGAAAACAGGGGAATCCCG
-AA
->ENST00000488147 gene=WASH7P
-GTAGAGCAGAGCCGGAGCCAGGTGCAGGCCATTGGAGAGAAGGTCTCCTTGGCCCAGGCCAAGATTGAGA
-AGATCAAGGGCAGCAAGAAGGCCATCAAGGTGTTCTCCAGTGCCAAGTACCCTGCTCCAGGGCGCCTGCA
-GGAATATGGCTCCATCTTCACGGGCGCCCAGGACCCTGGCCTGCAGAGACGCCCCCGCCACAGGATCCAG
-AGCAAGCACCGCCCCCTGGACGAGCGGGCCCTGCAGGAGAAGCTGAAGGACTTTCCTGTGTGCGTGAGCA
-CCAAGCCGGAGCCCGAGGACGATGCAGAAGAGGGACTTGGGGGTCTTCCCAGCAACATCAGCTCTGTCAG
-CTCCTTGCTGCTCTTCAACACCACCGAGAACCTGTAGAAGAAGTATGTCTTCCTGGACCCCCTGGCTGGT
-GCTGTAACAAAGACCCATGTGATGCTGGGGGCAGAGACAGAGGAGAAGCTGTTTGATGCCCCCTTGTCCA
-TCAGCAAGAGAGAGCAGCTGGAACAGCAGGTCCCAGAGAACTACTTCTATGTGCCAGACCTGGGCCAGGT
-GCCTGAGATTGATGTTCCATCCTACCTGCCTGACCTGCCCGGCATTGCCAACGACCTCATGTACATTGCC
-GACCTGGGCCCCGGCATTGCCCCCTCTGCCCCTGGCACCATTCCAGAACTGCCCACCTTCCACACTGAGG
-TAGCCGAGCCTCTCAAGACCTACAAGATGGGGTactaacaccacccccaccgcccccaccaccaccccca
-GCTCCTGAGGTGCTGGCCAGTGCACCCCCACTCCCACCCTCAACCGCGGCCCCTGTAGGCCAAGGCGCCA
-GGCAGGACGACAGCAGCAGCAGCGCGTCTCCTTCAGTCCAGGGAGCTCCCAGGGAAGTGGTTGACCCCTC
-CGGTGGCTGGCCACTCTGCTAGAGTCCATCCGCCAAGCTGGGGGCATCGGCAAGGCCAAGCTGCGCAGCA
-TGAAGGAGCGAAAGCTGGAGAAGCAGCAGCAGAAGGAGCAGGAGCAAGTGAGAGCCACGAGCCAAGGTGG
-GCACTTGATGTCGCTCCATGGGGGGACGGCTCCACCCAGCCTGCGCCACTGTGTTCTTAAGAGGCTTCCA
-GAGAAAACGGCACACCAATCAATAAAGAACTGAGCAGAAA
diff --git a/tests/test_integration_workflow/input_files/synthetic.mate_1.bed b/tests/test_integration_workflow/input_files/synthetic.mate_1.bed
deleted file mode 100644
index f838343e902d43817f8d2dabd7c82b7c62a5f755..0000000000000000000000000000000000000000
--- a/tests/test_integration_workflow/input_files/synthetic.mate_1.bed
+++ /dev/null
@@ -1,10 +0,0 @@
-1-10000-20000	3397	3472	NS500318:863:HY2KYBGXC:1:11101:14671:1067	0	+	DDX11L1
-1-10000-20000	3249	3324	NS500318:863:HY2KYBGXC:1:11101:24439:1068	0	+	DDX11L1
-1-10000-20000	3735	3810	NS500318:863:HY2KYBGXC:1:11101:14965:1069	0	+	DDX11L1
-1-10000-20000	2055	2130	NS500318:863:HY2KYBGXC:1:11101:21081:1069	0	+	DDX11L1
-1-10000-20000	3567	3642	NS500318:863:HY2KYBGXC:1:11101:18197:1070	0	+	DDX11L1
-1-10000-20000	7920	7995	NS500318:863:HY2KYBGXC:1:11101:4614:1071	0	-	WASH7P
-1-10000-20000	6665	6740	NS500318:863:HY2KYBGXC:1:11101:8467:1073	0	-	WASH7P
-1-10000-20000	6915	6990	NS500318:863:HY2KYBGXC:1:11101:18960:1076	0	-	WASH7P
-1-10000-20000	5841	5916	NS500318:863:HY2KYBGXC:1:11101:6851:1076	0	-	WASH7P
-1-10000-20000	7929	8004	NS500318:863:HY2KYBGXC:1:11101:14731:1078	0	-	WASH7P
diff --git a/tests/test_integration_workflow/input_files/synthetic.mate_2.bed b/tests/test_integration_workflow/input_files/synthetic.mate_2.bed
deleted file mode 100644
index de4b7133d0fa866c071cdd8d31e522bee5e30bf4..0000000000000000000000000000000000000000
--- a/tests/test_integration_workflow/input_files/synthetic.mate_2.bed
+++ /dev/null
@@ -1,10 +0,0 @@
-1-10000-20000	3422	3497	NS500318:863:HY2KYBGXC:1:11101:14671:1067	0	+	DDX11L1
-1-10000-20000	3274	3349	NS500318:863:HY2KYBGXC:1:11101:24439:1068	0	+	DDX11L1
-1-10000-20000	3760	3835	NS500318:863:HY2KYBGXC:1:11101:14965:1069	0	+	DDX11L1
-1-10000-20000	2080	2155	NS500318:863:HY2KYBGXC:1:11101:21081:1069	0	+	DDX11L1
-1-10000-20000	3592	3667	NS500318:863:HY2KYBGXC:1:11101:18197:1070	0	+	DDX11L1
-1-10000-20000	7945	8020	NS500318:863:HY2KYBGXC:1:11101:4614:1071	0	-	WASH7P
-1-10000-20000	6690	6765	NS500318:863:HY2KYBGXC:1:11101:8467:1073	0	-	WASH7P
-1-10000-20000	6940	7015	NS500318:863:HY2KYBGXC:1:11101:18960:1076	0	-	WASH7P
-1-10000-20000	5866	5941	NS500318:863:HY2KYBGXC:1:11101:6851:1076	0	-	WASH7P
-1-10000-20000	7954	8029	NS500318:863:HY2KYBGXC:1:11101:14731:1078	0	-	WASH7P
diff --git a/tests/test_integration_workflow/input_files/synthetic.mate_2.fastq.gz b/tests/test_integration_workflow/input_files/synthetic.mate_2.fastq.gz
deleted file mode 100644
index d48b1cc65d4614ee96a604da5f80f92c99e9bed7..0000000000000000000000000000000000000000
Binary files a/tests/test_integration_workflow/input_files/synthetic.mate_2.fastq.gz and /dev/null differ
diff --git a/tests/test_integration_workflow/input_files/synthetic.paired.bed b/tests/test_integration_workflow/input_files/synthetic.paired.bed
deleted file mode 100644
index e372afbf8082916f55425f7cd333fac0da908d55..0000000000000000000000000000000000000000
--- a/tests/test_integration_workflow/input_files/synthetic.paired.bed
+++ /dev/null
@@ -1,10 +0,0 @@
-1-10000-20000	3397	3497	NS500318:863:HY2KYBGXC:1:11101:14671:1067	0	+	DDX11L1
-1-10000-20000	3249	3349	NS500318:863:HY2KYBGXC:1:11101:24439:1068	0	+	DDX11L1
-1-10000-20000	3735	3835	NS500318:863:HY2KYBGXC:1:11101:14965:1069	0	+	DDX11L1
-1-10000-20000	2055	2155	NS500318:863:HY2KYBGXC:1:11101:21081:1069	0	+	DDX11L1
-1-10000-20000	3567	3667	NS500318:863:HY2KYBGXC:1:11101:18197:1070	0	+	DDX11L1
-1-10000-20000	7920	8020	NS500318:863:HY2KYBGXC:1:11101:4614:1071	0	-	WASH7P
-1-10000-20000	6665	6765	NS500318:863:HY2KYBGXC:1:11101:8467:1073	0	-	WASH7P
-1-10000-20000	6915	7015	NS500318:863:HY2KYBGXC:1:11101:18960:1076	0	-	WASH7P
-1-10000-20000	5841	5941	NS500318:863:HY2KYBGXC:1:11101:6851:1076	0	-	WASH7P
-1-10000-20000	7929	8029	NS500318:863:HY2KYBGXC:1:11101:14731:1078	0	-	WASH7P
diff --git a/tests/test_integration_workflow/samples.tsv b/tests/test_integration_workflow/samples.tsv
deleted file mode 100644
index 0d242e0516d280185e2fd2b4477edf67a01ad7de..0000000000000000000000000000000000000000
--- a/tests/test_integration_workflow/samples.tsv
+++ /dev/null
@@ -1,4 +0,0 @@
-sample	fq1	fq2	fq1_3p	fq1_5p	fq2_3p	fq2_5p	fq1_polya	fq2_polya	organism	index_size	multimappers	soft_clip	pass_mode	gtf_filtered	libtype	kallisto_directionality	mean	sd	genome	gtf	tr_fasta_filtered	kmer	seqmode
-synthetic_10_reads_paired	input_files/synthetic.mate_1.fastq.gz	input_files/synthetic.mate_2.fastq.gz	AGATCGGAAGAGCACA	XXXXXXXX	AGATCGGAAGAGCGT	XXXXXXXX	AAAAAAAAAAAAAAAAAAAA	TTTTTTTTTTTTTTTTTTT	homo_sapiens	76	10	Local	Basic	input_files/chr1-10000-20000.gtf	A	--fr	250	100	input_files/chr1-10000-20000.fa	input_files/chr1-10000-20000.gtf	input_files/chr1-10000-20000.transcripts.fa	31	paired_end
-synthetic_10_reads_mate_1	input_files/synthetic.mate_1.fastq.gz		AGATCGGAAGAGCACA	XXXXXXXX			AAAAAAAAAAAAAAAAAAAA		homo_sapiens	76	10	Local	Basic	input_files/chr1-10000-20000.gtf	A	--fr	250	100	input_files/chr1-10000-20000.fa	input_files/chr1-10000-20000.gtf	input_files/chr1-10000-20000.transcripts.fa	31	single_end
-synthetic_10_reads_mate_2	input_files/synthetic.mate_2.fastq.gz		AGATCGGAAGAGCACA	XXXXXXXX			AAAAAAAAAAAAAAAAAAAA		homo_sapiens	76	10	Local	Basic	input_files/chr1-10000-20000.gtf	A	--fr	250	100	input_files/chr1-10000-20000.fa	input_files/chr1-10000-20000.gtf	input_files/chr1-10000-20000.transcripts.fa	31	single_end
diff --git a/tests/test_integration_workflow/test.local.sh b/tests/test_integration_workflow/test.local.sh
index f26856cdb42fb2d327a6300c06124f9e429f9288..ec650632cdc438ecc8e41e2e2e50e9e5193d95da 100755
--- a/tests/test_integration_workflow/test.local.sh
+++ b/tests/test_integration_workflow/test.local.sh
@@ -1,7 +1,16 @@
 #!/bin/bash
 
 # Tear down test environment
-trap 'rm -rf logs/ results/ .snakemake/ && cd $user_dir' EXIT  # quoted command is exected after script exits, regardless of exit status
+cleanup () {
+    rc=$?
+    rm -rf .java/
+    rm -rf .snakemake/
+    rm -rf logs/
+    rm -rf results/
+    cd $user_dir
+    echo "Exit status: $rc"
+}
+trap cleanup EXIT
 
 # Set up test environment
 set -eo pipefail  # ensures that script exits at first command that exits with non-zero status
@@ -10,18 +19,19 @@ set -x  # facilitates debugging by printing out executed commands
 user_dir=$PWD
 script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
 cd $script_dir
-mkdir -p logs/local_log
 
 # Run tests
 snakemake \
-    --snakefile="../../snakemake/Snakefile" \
-    --configfile="config.yaml" \
+    --snakefile="../../Snakefile" \
+    --configfile="../input_files/config.yaml" \
     --cores=4 \
     --printshellcmds \
     --rerun-incomplete \
     --use-singularity \
-    --singularity-args="--bind ${PWD}" \
-    --use-conda
+    --singularity-args="--bind ${PWD}/../input_files" \
+    --verbose
+
+# Check md5 sum of some output files
 find results/ -type f -name \*\.gz -exec gunzip '{}' \;
 find results/ -type f -name \*\.zip -exec sh -c 'unzip -o {} -d $(dirname {})' \;
 md5sum --check "expected_output.md5"
@@ -37,3 +47,34 @@ md5sum --check "expected_output.md5"
 #     -exec sh -c 'unzip -o {} -d $(dirname {})' \;
 # md5sum $(cat expected_output.files) > expected_output.md5
 
+# Check whether STAR produces expected alignments
+# STAR alignments need to be fully within ground truth alignments for tests to pass; not checking 
+# vice versa because processing might cut off parts of reads (if testing STAR directly, add '-f 1' 
+# as additional option)
+echo "Verifying STAR output"
+result=$(bedtools intersect -F 1 -v -bed \
+    -a ../input_files/synthetic.mate_1.bed \
+    -b results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/map_genome/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1_Aligned.sortedByCoord.out.bam \
+    | wc -l)
+if [ $result != "0" ]; then
+    echo "Alignments for mate 1 reads are not consistent with ground truth"
+    exit 1
+fi
+result=$(bedtools intersect -F 1 -v -bed \
+    -a <(cat ../input_files/synthetic.mate_1.bed ../input_files/synthetic.mate_2.bed) \
+    -b results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/map_genome/synthetic_10_reads_paired_synthetic_10_reads_paired_Aligned.sortedByCoord.out.bam \
+    | wc -l)
+if [ $result != "0" ]; then
+    echo "Alignments for mate 1 reads are not consistent with ground truth"
+    exit 1
+fi
+
+# Check whether Salmon assigns reads to expected genes
+echo "Verifying Salmon output"
+diff \
+    <(cat results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/salmon_quant/quant.genes.sf | cut -f1,5 | tail -n +2 | sort -k1,1) \
+    <(cat ../input_files/synthetic.mate_1.bed | cut -f7 | sort | uniq -c | sort -k2nr | awk '{printf($2"\t"$1"\n")}')
+diff \
+    <(cat results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/salmon_quant/quant.genes.sf | cut -f1,5 | tail -n +2 | sort -k1,1) \
+    <(cat ../input_files/synthetic.mate_1.bed | cut -f7 | sort | uniq -c | sort -k2nr | awk '{printf($2"\t"$1"\n")}')
+
diff --git a/tests/test_integration_workflow/test.slurm.sh b/tests/test_integration_workflow/test.slurm.sh
index efa55a3f02d24f4128d4479bf9e3ff304a33dd1e..00aacd131ccff4c3cc1896a2db91a852c57ea841 100755
--- a/tests/test_integration_workflow/test.slurm.sh
+++ b/tests/test_integration_workflow/test.slurm.sh
@@ -1,7 +1,16 @@
 #!/bin/bash
 
 # Tear down test environment
-trap 'rm -rf logs/ results/ .snakemake/ && cd $user_dir' EXIT  # quoted command is exected after script exits, regardless of exit status
+cleanup () {
+    rc=$?
+    rm -rf .java/
+    rm -rf .snakemake/
+    rm -rf logs/
+    rm -rf results/
+    cd $user_dir
+    echo "Exit status: $rc"
+}
+trap cleanup EXIT
 
 # Set up test environment
 set -eo pipefail  # ensures that script exits at first command that exits with non-zero status
@@ -10,20 +19,21 @@ set -x  # facilitates debugging by printing out executed commands
 user_dir=$PWD
 script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
 cd $script_dir
-mkdir -p logs/cluster_log
-mkdir -p logs/local_log
 
 # Run tests
 snakemake \
-    --snakefile="../../snakemake/Snakefile" \
-    --configfile="config.yaml" \
-    --cluster-config="cluster.json" \
+    --snakefile="../../Snakefile" \
+    --configfile="../input_files/config.yaml" \
+    --cluster-config="../input_files/cluster.json" \
     --cluster="sbatch --cpus-per-task={cluster.threads} --mem={cluster.mem} --qos={cluster.queue} --time={cluster.time} --job-name={cluster.name} -o {cluster.out} -p scicore" \
     --cores=256 \
     --printshellcmds \
     --rerun-incomplete \
     --use-singularity \
-    --singularity-args="--bind ${PWD}"
+    --singularity-args="--bind ${PWD}/../input_files" \
+    --verbose
+
+# Check md5 sum of some output files
 find results/ -type f -name \*\.gz -exec gunzip '{}' \;
 find results/ -type f -name \*\.zip -exec sh -c 'unzip -o {} -d $(dirname {})' \;
 md5sum --check "expected_output.md5"
@@ -39,3 +49,34 @@ md5sum --check "expected_output.md5"
 #     -exec sh -c 'unzip -o {} -d $(dirname {})' \;
 # md5sum $(cat expected_output.files) > expected_output.md5
 
+# Check whether STAR produces expected alignments
+# STAR alignments need to be fully within ground truth alignments for tests to pass; not checking 
+# vice versa because processing might cut off parts of reads (if testing STAR directly, add '-f 1' 
+# as additional option)
+echo "Verifying STAR output"
+result=$(bedtools intersect -F 1 -v -bed \
+    -a ../input_files/synthetic.mate_1.bed \
+    -b results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/map_genome/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1_Aligned.sortedByCoord.out.bam \
+    | wc -l)
+if [ $result != "0" ]; then
+    echo "Alignments for mate 1 reads are not consistent with ground truth"
+    exit 1
+fi
+result=$(bedtools intersect -F 1 -v -bed \
+    -a <(cat ../input_files/synthetic.mate_1.bed ../input_files/synthetic.mate_2.bed) \
+    -b results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/map_genome/synthetic_10_reads_paired_synthetic_10_reads_paired_Aligned.sortedByCoord.out.bam \
+    | wc -l)
+if [ $result != "0" ]; then
+    echo "Alignments for mate 1 reads are not consistent with ground truth"
+    exit 1
+fi
+
+# Check whether Salmon assigns reads to expected genes
+echo "Verifying Salmon output"
+diff \
+    <(cat results/single_end/synthetic_10_reads_mate_1_synthetic_10_reads_mate_1/salmon_quant/quant.genes.sf | cut -f1,5 | tail -n +2 | sort -k1,1) \
+    <(cat ../input_files/synthetic.mate_1.bed | cut -f7 | sort | uniq -c | sort -k2nr | awk '{printf($2"\t"$1"\n")}')
+diff \
+    <(cat results/paired_end/synthetic_10_reads_paired_synthetic_10_reads_paired/salmon_quant/quant.genes.sf | cut -f1,5 | tail -n +2 | sort -k1,1) \
+    <(cat ../input_files/synthetic.mate_1.bed | cut -f7 | sort | uniq -c | sort -k2nr | awk '{printf($2"\t"$1"\n")}')
+
diff --git a/tests/test_scripts_labkey_to_snakemake/expected_output.md5 b/tests/test_scripts_labkey_to_snakemake/expected_output.md5
deleted file mode 100644
index 622cddb24f18000cdf60d7d6a1547d2048a549b0..0000000000000000000000000000000000000000
--- a/tests/test_scripts_labkey_to_snakemake/expected_output.md5
+++ /dev/null
@@ -1,2 +0,0 @@
-de940b0dd38a67a7433536a5b3aee0ac  config.yaml
-d9c9ea4cd6108d39a2521dd87cd0c7e1  samples.tsv
diff --git a/tests/test_scripts_labkey_to_snakemake/input_lib_1.mate_1.fastq.gz b/tests/test_scripts_labkey_to_snakemake/input_lib_1.mate_1.fastq.gz
deleted file mode 100644
index ddd5858c0318c865dd3c1e4a20ca03c07144daac..0000000000000000000000000000000000000000
Binary files a/tests/test_scripts_labkey_to_snakemake/input_lib_1.mate_1.fastq.gz and /dev/null differ
diff --git a/tests/test_scripts_labkey_to_snakemake/input_lib_1.mate_2.fastq.gz b/tests/test_scripts_labkey_to_snakemake/input_lib_1.mate_2.fastq.gz
deleted file mode 100644
index 0e97fa50b8d9f6457a2d73f6f0aa324a5949a1e0..0000000000000000000000000000000000000000
Binary files a/tests/test_scripts_labkey_to_snakemake/input_lib_1.mate_2.fastq.gz and /dev/null differ
diff --git a/tests/test_scripts_labkey_to_snakemake/input_lib_2.mate_1.fastq.gz b/tests/test_scripts_labkey_to_snakemake/input_lib_2.mate_1.fastq.gz
deleted file mode 100644
index af6dc8e311511b121c45266063b97f7882519334..0000000000000000000000000000000000000000
Binary files a/tests/test_scripts_labkey_to_snakemake/input_lib_2.mate_1.fastq.gz and /dev/null differ
diff --git a/tests/test_scripts_labkey_to_snakemake/input_lib_2.mate_2.fastq.gz b/tests/test_scripts_labkey_to_snakemake/input_lib_2.mate_2.fastq.gz
deleted file mode 100644
index dbc4e5096650863aeaa4bcea12b21a9c4b4d2509..0000000000000000000000000000000000000000
Binary files a/tests/test_scripts_labkey_to_snakemake/input_lib_2.mate_2.fastq.gz and /dev/null differ
diff --git a/tests/test_scripts_labkey_to_snakemake/input_table.tsv b/tests/test_scripts_labkey_to_snakemake/input_table.tsv
deleted file mode 100644
index 4b24cbfeb3085aab0c537fb239b082f132b3cbb5..0000000000000000000000000000000000000000
--- a/tests/test_scripts_labkey_to_snakemake/input_table.tsv
+++ /dev/null
@@ -1,3 +0,0 @@
-Entry date	Path to FASTQ file(s)	Condition name	Replicate name	End type (PAIRED or SINGLE)	Name of Mate1 FASTQ file	Name of Mate2 FASTQ file	Direction of Mate1 (SENSE, ANTISENSE or RANDOM)	Direction of Mate2 (SENSE, ANTISENSE or RANDOM)	5' adapter of Mate1	3' adapter of Mate1	5' adapter of Mate2	3' adapter of Mate2	Fragment length mean	Fragment length SD	Quality control flag (PASSED or FAILED)	Checksum of raw Mate1 FASTQ file	Checksum of raw Mate2 FASTQ file	Name of metadata file	Name of quality control file for Mate1	Name of quality control file for Mate2	Organism	Taxon ID	Name of Strain / Isolate / Breed / Ecotype	Strain / Isolate / Breed / Ecotype ID	Biomaterial provider	Source / tissue name	Tissue code	Additional tissue description	Genotype short name	Genotype description	Disease short name	Disease description	Abbreviation for treatment	Treatment description	Gender	Age	Developmental stage	Passage number	Sample preparation date (YYYY-MM-DD)	Prepared by	Documentation	Name of protocol file	Sequencing date (YYYY-MM-DD)	Sequencing instrument	Library preparation kit	Cycles	Molecule	Contaminant sequences	Name of BioAnalyzer file
-Fri Dec 20 00:00:00 CET 2019	.	LN18C	LN18C_rep1	PAIRED	input_lib_1.mate_1.fastq.gz	input_lib_1.mate_2.fastq.gz	ANTISENSE	SENSE	AAAAAAAAAA	AAAAAAAAAA	AAAAAAAAAA	AAAAAAAAAA	300.0	100.0	xxx	xxx	xxx	xxx	xxx	xxx	Homo sapiens	9606	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx
-Fri Dec 20 00:00:00 CET 2019	.	LN18C	LN18C_rep2	PAIRED	input_lib_2.mate_2.fastq.gz	input_lib_2.mate_2.fastq.gz	ANTISENSE	SENSE	AAAAAAAAAA	AAAAAAAAAA	AAAAAAAAAA	AAAAAAAAAA	300.0	100.0	xxx	xxx	xxx	xxx	xxx	xxx	Homo sapiens	9606	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx
diff --git a/tests/test_scripts_labkey_to_snakemake_api/expected_output.md5 b/tests/test_scripts_labkey_to_snakemake_api/expected_output.md5
new file mode 100644
index 0000000000000000000000000000000000000000..90bb3be03674c8c58697c0d1e488023d342d7772
--- /dev/null
+++ b/tests/test_scripts_labkey_to_snakemake_api/expected_output.md5
@@ -0,0 +1,2 @@
+ba5ae0649d1fb82d94f8d19481498ffd  config.yaml
+9aece9e4acb17143b5e8f627968e03a5  samples.tsv
diff --git a/tests/test_scripts_labkey_to_snakemake_api/test.sh b/tests/test_scripts_labkey_to_snakemake_api/test.sh
new file mode 100755
index 0000000000000000000000000000000000000000..5658fd65444833935a066e4207c4d671181d2f60
--- /dev/null
+++ b/tests/test_scripts_labkey_to_snakemake_api/test.sh
@@ -0,0 +1,53 @@
+#!/bin/bash
+
+# Scripts requires environment variables 'LABKEY_HOST', 'LABKEY_USER' and
+# 'LABKEY_PASS' to be set with the appropriate values
+
+# Tear down test environment
+cleanup () {
+    rc=$?
+    rm -rf ${HOME}/.netrc
+    rm -rf .snakemake/
+    rm -rf config.yaml
+    rm -rf input_table.tsv
+    rm -rf samples.tsv
+    cd $user_dir
+    echo "Exit status: $rc"
+}
+trap cleanup EXIT
+
+# Set up test environment
+set -eo pipefail  # ensures that script exits at first command that exits with non-zero status
+set -u  # ensures that script exits when unset variables are used
+set -x  # facilitates debugging by printing out executed commands
+user_dir=$PWD
+script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
+cd $script_dir
+
+cat << EOF | ( umask 0377; cat >> ${HOME}/.netrc; )
+machine ${LABKEY_HOST}
+login ${LABKEY_USER}
+password ${LABKEY_PASS}
+EOF
+
+# Run tests
+python "../../scripts/labkey_to_snakemake.py" \
+    --input-dict="../../scripts/labkey_to_snakemake.dict.tsv" \
+    --config-file="config.yaml" \
+    --samples-table="samples.tsv" \
+    --multimappers='10' \
+    --remote \
+    --project-name "TEST_LABKEY" \
+    --table-name "RNA_Seq_data_template" \
+    "../input_files"
+
+# Check if dry run completes
+snakemake \
+    --snakefile="../../Snakefile" \
+    --configfile="config.yaml" \
+    --dryrun \
+    --verbose
+
+md5sum --check "expected_output.md5"
+# MD5 sums obtained with command:
+# md5sum config.yaml samples.tsv > expected_output.md5
diff --git a/tests/test_scripts_labkey_to_snakemake_table/expected_output.md5 b/tests/test_scripts_labkey_to_snakemake_table/expected_output.md5
new file mode 100644
index 0000000000000000000000000000000000000000..90bb3be03674c8c58697c0d1e488023d342d7772
--- /dev/null
+++ b/tests/test_scripts_labkey_to_snakemake_table/expected_output.md5
@@ -0,0 +1,2 @@
+ba5ae0649d1fb82d94f8d19481498ffd  config.yaml
+9aece9e4acb17143b5e8f627968e03a5  samples.tsv
diff --git a/tests/test_scripts_labkey_to_snakemake_table/input_table.tsv b/tests/test_scripts_labkey_to_snakemake_table/input_table.tsv
new file mode 100644
index 0000000000000000000000000000000000000000..ee6d5fc45ddff7f69b6ce4a9a97532dd4afb1e72
--- /dev/null
+++ b/tests/test_scripts_labkey_to_snakemake_table/input_table.tsv
@@ -0,0 +1,3 @@
+Mate2_5p_Adapter	Condition_Name	Name_Quality_Control_File_Mate1	Disease_Short_Name	Single_Paired	Gender	Entry_Date	Disease_Description	Strain_Isolate_Breed_Ecotype	Genotype_Description	Mate1_File	Source_Tissue_Name	Developmental_Stage	Mate1_Direction	Quality_Control_Flag	Genotype_Short_Name	Strain_Isolate_Breed_Ecotype_ID	Fragment_Length_Mean	Organism	Contaminant_Sequences	TaxonID	Documentation	Prepared_By	_labkeyurl_Entry_Date	Molecule	Mate2_Direction	Library_preparation_kit	Checksum_Raw_FASTQ_Mate1	Cycles	Fragment_Length_SD	Replicate_Name	Passage_Number	Mate1_5p_Adapter	Mate2_3p_Adapter	Path_Fastq_Files	Mate1_3p_Adapter	Treatment_Short_Name	Age	Sequencing_Date	Checksum_Raw_FASTQ_Mate2	Biomaterial_Provider	Treatment_Description	Sample_Preparation_Date	BioAnalyzer_File	Sequencing_Instrument	Additional_Tissue_Description	Protocol_File	Name_Quality_Control_File_Mate2	Tissue_Code	File_Name_Metadata_File	Mate2_File
+	synthetic_10_reads_paired	xxx	xxx	PAIRED	xxx	Fri Dec 20 00:00:00 CET 2019	xxx	xxx	xxx	synthetic.mate_1.fastq.gz	xxx	xxx	SENSE	xxx	xxx	xxx	250.0	Homo sapiens	xxx	9606	xxx	xxx	/labkey/Zavolan%20Group/Test_labkey/list-details.view?listId=9&pk=../input_files/project1	xxx	ANTISENSE	xxx	xxx	xxx	100.0	synthetic_10_reads_paired	xxx		AGATCGGAAGAGCGT	../input_files/project1	AGATCGGAAGAGCACA	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	synthetic.mate_2.fastq.gz
+	synthetic_10_reads_mate_1	xxx	xxx	SINGLE	xxx	Fri Dec 20 00:00:00 CET 2019	xxx	xxx	xxx	synthetic.mate_1.fastq.gz	xxx	xxx	SENSE	xxx	xxx	xxx	250.0	Homo sapiens	xxx	9606	xxx	xxx	/labkey/Zavolan%20Group/Test_labkey/list-details.view?listId=9&pk=../input_files/project2	xxx		xxx	xxx	xxx	100.0	synthetic_10_reads_mate_1	xxx			../input_files/project2	AGATCGGAAGAGCACA	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	xxx	
diff --git a/tests/test_scripts_labkey_to_snakemake_table/test.sh b/tests/test_scripts_labkey_to_snakemake_table/test.sh
new file mode 100755
index 0000000000000000000000000000000000000000..37014eda5e9fb41b564f6e4b78743c09511e5f3c
--- /dev/null
+++ b/tests/test_scripts_labkey_to_snakemake_table/test.sh
@@ -0,0 +1,40 @@
+#!/bin/bash
+
+# Tear down test environment
+cleanup () {
+    rc=$?
+    rm -rf .snakemake/
+    rm -rf config.yaml
+    rm -rf samples.tsv
+    cd $user_dir
+    echo "Exit status: $rc"
+}
+trap cleanup EXIT
+
+# Set up test environment
+set -eo pipefail  # ensures that script exits at first command that exits with non-zero status
+set -u  # ensures that script exits when unset variables are used
+set -x  # facilitates debugging by printing out executed commands
+user_dir=$PWD
+script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
+cd $script_dir
+
+# Run tests
+python "../../scripts/labkey_to_snakemake.py" \
+    --input-table="input_table.tsv" \
+    --input-dict="../../scripts/labkey_to_snakemake.dict.tsv" \
+    --config-file="config.yaml" \
+    --samples-table="samples.tsv" \
+    --multimappers='10' \
+    "../input_files"
+
+# Check if dry run completes
+snakemake \
+    --snakefile="../../Snakefile" \
+    --configfile="config.yaml" \
+    --dryrun \
+    --verbose
+
+md5sum --check "expected_output.md5"
+# MD5 sums obtained with command:
+# md5sum config.yaml samples.tsv > expected_output.md5
diff --git a/snakemake/paired_end.snakefile.smk b/workflow/rules/paired_end.snakefile.smk
similarity index 94%
rename from snakemake/paired_end.snakefile.smk
rename to workflow/rules/paired_end.snakefile.smk
index b92a2038ade28b78716b4b3f5abbfcac2621a45b..1a353fa89b1e9cd1db185fb30d281e8b93e0a67e 100644
--- a/snakemake/paired_end.snakefile.smk
+++ b/workflow/rules/paired_end.snakefile.smk
@@ -13,7 +13,7 @@ rule pe_fastqc:
 	singularity:
 		"docker://zavolab/fastqc:0.11.8"
 	log:
-		os.path.join(config["local_log"],"paired_end", "{sample}", "fastqc.log")
+		os.path.join(config["log_dir"],"paired_end", "{sample}", "fastqc.log")
 	shell:
 		"(mkdir -p {output.outdir1}; \
 		mkdir -p {output.outdir2}; \
@@ -51,7 +51,7 @@ rule pe_remove_adapters_cutadapt:
 		"docker://zavolab/cutadapt:1.16"
 	threads: 8
 	log:
-		os.path.join( config["local_log"], "paired_end", "{sample}", "remove_adapters_cutadapt.log")
+		os.path.join( config["log_dir"], "paired_end", "{sample}", "remove_adapters_cutadapt.log")
 	shell:
 		"(cutadapt \
 		-e 0.1 \
@@ -102,7 +102,7 @@ rule pe_remove_polya_cutadapt:
 		"docker://zavolab/cutadapt:1.16"
 	threads: 8
 	log:
-		os.path.join( config["local_log"], "paired_end", "{sample}", "remove_polya_cutadapt.log")
+		os.path.join( config["log_dir"], "paired_end", "{sample}", "remove_polya_cutadapt.log")
 	shell:
 		'(cutadapt \
 		--match-read-wildcards \
@@ -181,7 +181,7 @@ rule pe_map_genome_star:
 	threads: 12
 
 	log:
-		os.path.join( config["local_log"], "paired_end", "{sample}", "map_genome_star.log")
+		os.path.join( config["log_dir"], "paired_end", "{sample}", "map_genome_star.log")
 
 	shell:
 		"(STAR \
@@ -226,7 +226,7 @@ rule pe_index_genomic_alignment_samtools:
     singularity:
         "docker://zavolab/samtools:1.8"
     log:
-    	os.path.join( config["local_log"], "paired_end", "{sample}", "index_genomic_alignment_samtools.log")
+    	os.path.join( config["log_dir"], "paired_end", "{sample}", "index_genomic_alignment_samtools.log")
 
     shell:
         "(samtools index {input.bam} {output.bai};) &> {log}"
@@ -275,7 +275,7 @@ rule pe_quantification_salmon:
 		libType = lambda wildcards:
 			samples_table.loc[wildcards.sample, 'libtype']
 	log:
-		os.path.join(config["local_log"], "paired_end", "{sample}", "genome_quantification_salmon.log")
+		os.path.join(config["log_dir"], "paired_end", "{sample}", "genome_quantification_salmon.log")
 	threads:	6
 	singularity:
 		"docker://zavolab/salmon:0.11.0"
@@ -330,7 +330,7 @@ rule pe_genome_quantification_kallisto:
 		"docker://zavolab/kallisto:0.46.1"
 	threads:	8
 	log:
-		os.path.join(config["local_log"], "paired_end", "{sample}", "genome_quantification_kallisto.log")
+		os.path.join(config["log_dir"], "paired_end", "{sample}", "genome_quantification_kallisto.log")
 	shell:
 		"(kallisto quant \
 		-i {input.index} \
diff --git a/snakemake/single_end.snakefile.smk b/workflow/rules/single_end.snakefile.smk
similarity index 94%
rename from snakemake/single_end.snakefile.smk
rename to workflow/rules/single_end.snakefile.smk
index 4d5d2311710c0614abe6a0cd4677c18568ee70ce..8cb818fcdf837f8357d876cab2f7038666fddd36 100644
--- a/snakemake/single_end.snakefile.smk
+++ b/workflow/rules/single_end.snakefile.smk
@@ -10,7 +10,7 @@ rule fastqc:
 	singularity:
 		"docker://zavolab/fastqc:0.11.8"
 	log:
-		os.path.join(config["local_log"], "single_end", "{sample}", "fastqc.log")
+		os.path.join(config["log_dir"], "single_end", "{sample}", "fastqc.log")
 	shell:
 		"(mkdir -p {output.outdir}; \
 		fastqc \
@@ -34,7 +34,7 @@ rule remove_adapters_cutadapt:
 		"docker://zavolab/cutadapt:1.16"
 	threads: 8
 	log:
-		os.path.join(config["local_log"], "single_end", "{sample}", "remove_adapters_cutadapt.log")
+		os.path.join(config["log_dir"], "single_end", "{sample}", "remove_adapters_cutadapt.log")
 	shell:
 		"(cutadapt \
 		-e 0.1 \
@@ -61,7 +61,7 @@ rule remove_polya_cutadapt:
 		"docker://zavolab/cutadapt:1.16"
 	threads: 8
 	log:
-		os.path.join(config["local_log"], "single_end", "{sample}", "remove_polya_cutadapt.log")
+		os.path.join(config["log_dir"], "single_end", "{sample}", "remove_polya_cutadapt.log")
 	shell:
 		"(cutadapt \
 		--match-read-wildcards \
@@ -117,7 +117,7 @@ rule map_genome_star:
 		"docker://zavolab/star:2.6.0a"
 	threads: 12
 	log:
-		os.path.join(config["local_log"], "single_end", "{sample}", "map_genome_star.log")
+		os.path.join(config["log_dir"], "single_end", "{sample}", "map_genome_star.log")
 	shell:
 		"(STAR \
 		--runMode alignReads \
@@ -160,7 +160,7 @@ rule index_genomic_alignment_samtools:
 		"docker://zavolab/samtools:1.8"
 	threads: 1
 	log:
-		os.path.join(config["local_log"], "single_end", "{sample}", "index_genomic_alignment_samtools.log")
+		os.path.join(config["log_dir"], "single_end", "{sample}", "index_genomic_alignment_samtools.log")
 	shell:
 		"(samtools index {input.bam} {output.bai};) &> {log}"
 
@@ -202,7 +202,7 @@ rule quantification_salmon:
 		libType = lambda wildcards:
 	 			samples_table.loc[wildcards.sample, "libtype"]
 	log:
-		os.path.join(config["local_log"], "single_end", "{sample}", "quantification_salmon.log")
+		os.path.join(config["log_dir"], "single_end", "{sample}", "quantification_salmon.log")
 	threads:    12
 	singularity:
 		"docker://zavolab/salmon:0.11.0"
@@ -250,7 +250,7 @@ rule genome_quantification_kallisto:
 		directionality = lambda wildcards: samples_table.loc[wildcards.sample, 'kallisto_directionality']
 	threads:	    8
 	log:
-		os.path.join(config["local_log"],"kallisto_align_{sample}.log")
+		os.path.join(config["log_dir"],"kallisto_align_{sample}.log")
 	singularity:
 		"docker://zavolab/kallisto:0.46.1"
 	shell: