diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 2f4646244..7a620df22 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -68,6 +68,11 @@ jobs:
- name: Check out pipeline code
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4
+ - uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4
+ with:
+ distribution: "temurin"
+ java-version: "17"
+
- name: Set up Nextflow
uses: nf-core/setup-nextflow@v2
with:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 39e77a767..e753f935d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,35 @@
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+# 3.18.0dev - xxxx-xx-xx
+
+### Credits
+
+Special thanks to the following for their contributions to the release:
+
+- [Caitlin Winkler](https://github.com/oligomyeggo)
+- [Siddhartha Bagaria](https://github.com/siddharthab)
+
+### Enhancements & fixes
+
+- [PR #1369](https://github.com/nf-core/rnaseq/pull/1369) - Add umicollapse as an alternative to umi-tools
+- [PR #1461](https://github.com/nf-core/rnaseq/pull/1461) - Add FASTQ linting during preprocessing
+- [PR #1463](https://github.com/nf-core/rnaseq/pull/1463) - Move channel operations outside of the onComplete() block
+- [PR #1467](https://github.com/nf-core/rnaseq/pull/1467) - Add test suite for UMI handling functionality
+- [PR #1466](https://github.com/nf-core/rnaseq/pull/1466) - Factor out UMI handling
+
+### Software dependencies
+
+| Dependency | Old version | New version |
+| ------------- | ----------- | ----------- |
+| `UMICollapse` | | 1.1.0 |
+
+> **NB:** Dependency has been **updated** if both old and new version information is present.
+>
+> **NB:** Dependency has been **added** if just the new version information is present.
+>
+> **NB:** Dependency has been **removed** if new version information isn't present.
+
## [[3.17.0](https://github.com/nf-core/rnaseq/releases/tag/3.17.0)] - 2024-10-23
### Credits
@@ -1007,14 +1036,14 @@ Note, since the pipeline is now using Nextflow DSL2, each process will be run wi
### Parameters
-| Old parameter | New parameter |
-| --------------------------- | -------------------------------------- |
-| `--fc_extra_attributes` | `--gtf_extra_attributes` |
-| `--fc_group_features` | `--gtf_group_features` |
-| `--fc_count_type` | `--gtf_count_type` |
-| `--fc_group_features_type` | `--gtf_group_features_type` |
-| | `--singularity_pull_docker_container` |
-| `--skip_featurecounts` | |
+| Old parameter | New parameter |
+| -------------------------- | ------------------------------------- |
+| `--fc_extra_attributes` | `--gtf_extra_attributes` |
+| `--fc_group_features` | `--gtf_group_features` |
+| `--fc_count_type` | `--gtf_count_type` |
+| `--fc_group_features_type` | `--gtf_group_features_type` |
+| | `--singularity_pull_docker_container` |
+| `--skip_featurecounts` | |
> **NB:** Parameter has been **updated** if both old and new parameter information is present.
> **NB:** Parameter has been **added** if just the new parameter information is present.
@@ -1092,28 +1121,28 @@ Note, since the pipeline is now using Nextflow DSL2, each process will be run wi
#### Updated
-| Old parameter | New parameter |
-| ----------------------------- | --------------------------- |
-| `--reads` | `--input` |
-| `--igenomesIgnore` | `--igenomes_ignore` |
-| `--removeRiboRNA` | `--remove_ribo_rna` |
-| `--rRNA_database_manifest` | `--ribo_database_manifest` |
-| `--save_nonrRNA_reads` | `--save_non_ribo_reads` |
-| `--saveAlignedIntermediates` | `--save_align_intermeds` |
-| `--saveReference` | `--save_reference` |
-| `--saveTrimmed` | `--save_trimmed` |
-| `--saveUnaligned` | `--save_unaligned` |
-| `--skipAlignment` | `--skip_alignment` |
-| `--skipBiotypeQC` | `--skip_biotype_qc` |
-| `--skipDupRadar` | `--skip_dupradar` |
-| `--skipFastQC` | `--skip_fastqc` |
-| `--skipMultiQC` | `--skip_multiqc` |
-| `--skipPreseq` | `--skip_preseq` |
-| `--skipQC` | `--skip_qc` |
-| `--skipQualimap` | `--skip_qualimap` |
-| `--skipRseQC` | `--skip_rseqc` |
-| `--skipTrimming` | `--skip_trimming` |
-| `--stringTieIgnoreGTF` | `--stringtie_ignore_gtf` |
+| Old parameter | New parameter |
+| ---------------------------- | -------------------------- |
+| `--reads` | `--input` |
+| `--igenomesIgnore` | `--igenomes_ignore` |
+| `--removeRiboRNA` | `--remove_ribo_rna` |
+| `--rRNA_database_manifest` | `--ribo_database_manifest` |
+| `--save_nonrRNA_reads` | `--save_non_ribo_reads` |
+| `--saveAlignedIntermediates` | `--save_align_intermeds` |
+| `--saveReference` | `--save_reference` |
+| `--saveTrimmed` | `--save_trimmed` |
+| `--saveUnaligned` | `--save_unaligned` |
+| `--skipAlignment` | `--skip_alignment` |
+| `--skipBiotypeQC` | `--skip_biotype_qc` |
+| `--skipDupRadar` | `--skip_dupradar` |
+| `--skipFastQC` | `--skip_fastqc` |
+| `--skipMultiQC` | `--skip_multiqc` |
+| `--skipPreseq` | `--skip_preseq` |
+| `--skipQC` | `--skip_qc` |
+| `--skipQualimap` | `--skip_qualimap` |
+| `--skipRseQC` | `--skip_rseqc` |
+| `--skipTrimming` | `--skip_trimming` |
+| `--stringTieIgnoreGTF` | `--stringtie_ignore_gtf` |
#### Added
diff --git a/docs/output.md b/docs/output.md
index ca828e9fc..3203f2e64 100644
--- a/docs/output.md
+++ b/docs/output.md
@@ -19,6 +19,7 @@ The pipeline is built using [Nextflow](https://www.nextflow.io/) and processes d
- [Pipeline overview](#pipeline-overview)
- [Preprocessing](#preprocessing)
- [cat](#cat)
+ [fq lint](#fq-lint)
- [FastQC](#fastqc)
- [UMI-tools extract](#umi-tools-extract)
- [TrimGalore](#trimgalore)
@@ -73,6 +74,20 @@ The pipeline is built using [Nextflow](https://www.nextflow.io/) and processes d
If multiple libraries/runs have been provided for the same sample in the input samplesheet (e.g. to increase sequencing depth) then these will be merged at the very beginning of the pipeline in order to have consistent sample naming throughout the pipeline. Please refer to the [usage documentation](https://nf-co.re/rnaseq/usage#samplesheet-input) to see how to specify these samples in the input samplesheet.
+# fq lint
+
+
+Output files
+
+- `fq_lint/*`
+ - `*.fq_lint.txt`: Linting report per library from `fq lint`.
+
+> **NB:** You will see subdirectories here based on the stage of preprocessing for the files that have been linted, for example `raw`, `trimmed`.
+
+
+
+[fq lint](https://github.com/stjude-rust-labs/fq) runs several checks on input FASTQ files. It will fail with a non-zero error code when issues are found, which will terminate the workflow execution. In the absence of this, the successful linting produces the logs you will find here.
+
### FastQC
diff --git a/docs/usage.md b/docs/usage.md
index 851e20c7d..48cafce85 100644
--- a/docs/usage.md
+++ b/docs/usage.md
@@ -27,6 +27,12 @@ CONTROL_REP1,AEG588A1_S1_L003_R1_001.fastq.gz,AEG588A1_S1_L003_R2_001.fastq.gz,a
CONTROL_REP1,AEG588A1_S1_L004_R1_001.fastq.gz,AEG588A1_S1_L004_R2_001.fastq.gz,auto
```
+### Linting
+
+By default, the pipeline will run [fq lint](https://github.com/stjude-rust-labs/fq) on all input FASTQ files, both at the start of preprocessing and after each preprocessing step that manipulates FASTQ files. If errors are found, and error will be reported and the workflow will stop.
+
+The `extra_fqlint_args` parameter can be manipulated to disable [any validator](https://github.com/stjude-rust-labs/fq?tab=readme-ov-file#validators) from `fq` you wish. For example, we have found that checks on the names of paired reads are prone to failure, so that check is disabled by default (setting `extra_fqlint_args` to `--disable-validator P001`).
+
### Strandedness Prediction
If you set the strandedness value to `auto`, the pipeline will sub-sample the input FastQ files to 1 million reads, use Salmon Quant to automatically infer the strandedness, and then propagate this information through the rest of the pipeline. This behavior is controlled by the `--stranded_threshold` and `--unstranded_threshold` parameters, which are set to 0.8 and 0.1 by default, respectively. This means:
diff --git a/modules.json b/modules.json
index 9667d1b6b..8957c2ef4 100644
--- a/modules.json
+++ b/modules.json
@@ -57,6 +57,11 @@
"git_sha": "666652151335353eef2fcd58880bcef5bc2928e1",
"installed_by": ["fastq_fastqc_umitools_fastp", "fastq_fastqc_umitools_trimgalore"]
},
+ "fq/lint": {
+ "branch": "master",
+ "git_sha": "2c0260ed80daeca9c6dfa477a4daf04ff336dc37",
+ "installed_by": ["fastq_qc_trim_filter_setstrandedness", "modules"]
+ },
"fq/subsample": {
"branch": "master",
"git_sha": "a1abf90966a2a4016d3c3e41e228bfcbd4811ccc",
@@ -198,6 +203,7 @@
"branch": "master",
"git_sha": "b13f07be4c508d6ff6312d354d09f2493243e208",
"installed_by": [
+ "bam_dedup_stats_samtools_umicollapse",
"bam_dedup_stats_samtools_umitools",
"bam_markduplicates_picard",
"bam_sort_stats_samtools"
@@ -206,7 +212,7 @@
"samtools/sort": {
"branch": "master",
"git_sha": "b7800db9b069ed505db3f9d91b8c72faea9be17b",
- "installed_by": ["bam_sort_stats_samtools"]
+ "installed_by": ["bam_dedup_umi", "bam_sort_stats_samtools"]
},
"samtools/stats": {
"branch": "master",
@@ -266,9 +272,14 @@
"git_sha": "49f4e50534fe4b64101e62ea41d5dc43b1324358",
"installed_by": ["bedgraph_bedclip_bedgraphtobigwig"]
},
+ "umicollapse": {
+ "branch": "master",
+ "git_sha": "0b27602842d3d79fd0e8db79f4afa764967fc3d1",
+ "installed_by": ["bam_dedup_stats_samtools_umicollapse"]
+ },
"umitools/dedup": {
"branch": "master",
- "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1",
+ "git_sha": "0b27602842d3d79fd0e8db79f4afa764967fc3d1",
"installed_by": ["bam_dedup_stats_samtools_umitools"]
},
"umitools/extract": {
@@ -279,7 +290,7 @@
"umitools/prepareforrsem": {
"branch": "master",
"git_sha": "666652151335353eef2fcd58880bcef5bc2928e1",
- "installed_by": ["modules"]
+ "installed_by": ["bam_dedup_umi", "modules"]
},
"untar": {
"branch": "master",
@@ -290,9 +301,19 @@
},
"subworkflows": {
"nf-core": {
+ "bam_dedup_stats_samtools_umicollapse": {
+ "branch": "master",
+ "git_sha": "0b27602842d3d79fd0e8db79f4afa764967fc3d1",
+ "installed_by": ["bam_dedup_umi", "subworkflows"]
+ },
"bam_dedup_stats_samtools_umitools": {
"branch": "master",
- "git_sha": "763d4b5c05ffda3ac1ac969dc67f7458cfb2eb1d",
+ "git_sha": "0b27602842d3d79fd0e8db79f4afa764967fc3d1",
+ "installed_by": ["bam_dedup_umi", "subworkflows"]
+ },
+ "bam_dedup_umi": {
+ "branch": "master",
+ "git_sha": "b5828f47c17c41ce3a4c70b863c99207e3f6d37c",
"installed_by": ["subworkflows"]
},
"bam_markduplicates_picard": {
@@ -308,12 +329,13 @@
"bam_sort_stats_samtools": {
"branch": "master",
"git_sha": "763d4b5c05ffda3ac1ac969dc67f7458cfb2eb1d",
- "installed_by": ["fastq_align_hisat2"]
+ "installed_by": ["bam_dedup_umi", "fastq_align_hisat2"]
},
"bam_stats_samtools": {
"branch": "master",
"git_sha": "763d4b5c05ffda3ac1ac969dc67f7458cfb2eb1d",
"installed_by": [
+ "bam_dedup_stats_samtools_umicollapse",
"bam_dedup_stats_samtools_umitools",
"bam_markduplicates_picard",
"bam_sort_stats_samtools"
@@ -341,7 +363,7 @@
},
"fastq_qc_trim_filter_setstrandedness": {
"branch": "master",
- "git_sha": "9082d6440bdffbb4f5d9bd9d753361933b3febcb",
+ "git_sha": "2c0260ed80daeca9c6dfa477a4daf04ff336dc37",
"installed_by": ["subworkflows"]
},
"fastq_subsample_fq_salmon": {
diff --git a/modules/nf-core/fq/lint/environment.yml b/modules/nf-core/fq/lint/environment.yml
new file mode 100644
index 000000000..74b146083
--- /dev/null
+++ b/modules/nf-core/fq/lint/environment.yml
@@ -0,0 +1,5 @@
+channels:
+ - conda-forge
+ - bioconda
+dependencies:
+ - bioconda::fq=0.12.0
diff --git a/modules/nf-core/fq/lint/main.nf b/modules/nf-core/fq/lint/main.nf
new file mode 100644
index 000000000..27107b465
--- /dev/null
+++ b/modules/nf-core/fq/lint/main.nf
@@ -0,0 +1,44 @@
+process FQ_LINT {
+ tag "$meta.id"
+ label 'process_low'
+
+ conda "${moduleDir}/environment.yml"
+ container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
+ 'https://depot.galaxyproject.org/singularity/fq:0.12.0--h9ee0642_0':
+ 'biocontainers/fq:0.12.0--h9ee0642_0' }"
+
+ input:
+ tuple val(meta), path(fastq)
+
+ output:
+ tuple val(meta), path("*.fq_lint.txt"), emit: lint
+ path "versions.yml" , emit: versions
+
+ when:
+ task.ext.when == null || task.ext.when
+
+ script:
+ def args = task.ext.args ?: ''
+ def prefix = task.ext.prefix ?: "${meta.id}"
+ """
+ fq lint \\
+ $args \\
+ $fastq > ${prefix}.fq_lint.txt
+
+ cat <<-END_VERSIONS > versions.yml
+ "${task.process}":
+ fq: \$(echo \$(fq lint --version | sed 's/fq-lint //g'))
+ END_VERSIONS
+ """
+
+ stub:
+ def prefix = task.ext.prefix ?: "${meta.id}"
+ """
+ touch ${prefix}.fq_lint.txt
+
+ cat <<-END_VERSIONS > versions.yml
+ "${task.process}":
+ fq: \$(echo \$(fq lint --version | sed 's/fq-lint //g'))
+ END_VERSIONS
+ """
+}
diff --git a/modules/nf-core/fq/lint/meta.yml b/modules/nf-core/fq/lint/meta.yml
new file mode 100644
index 000000000..7240fb579
--- /dev/null
+++ b/modules/nf-core/fq/lint/meta.yml
@@ -0,0 +1,43 @@
+name: "fq_lint"
+description: fq lint is a FASTQ file pair validator.
+keywords:
+ - lint
+ - fastq
+ - validate
+tools:
+ - "fq":
+ description: "fq is a library to generate and validate FASTQ file pairs."
+ homepage: "https://github.com/stjude-rust-labs/fq"
+ documentation: "https://github.com/stjude-rust-labs/fq"
+ tool_dev_url: "https://github.com/stjude-rust-labs/fq"
+ licence: ["MIT"]
+ identifier: ""
+input:
+ - - meta:
+ type: map
+ description: |
+ Groovy Map containing sample information
+ e.g. [ id:'test', single_end:false ]
+ - fastq:
+ type: file
+ description: FASTQ file list
+ pattern: "*.fastq{,.gz}"
+output:
+ - lint:
+ - meta:
+ type: file
+ description: Lint output
+ pattern: "*.fq_lint.txt"
+ - "*.fq_lint.txt":
+ type: file
+ description: Lint output
+ pattern: "*.fq_lint.txt"
+ - versions:
+ - versions.yml:
+ type: file
+ description: File containing software versions
+ pattern: "versions.yml"
+authors:
+ - "@adamrtalbot"
+maintainers:
+ - "@adamrtalbot"
diff --git a/modules/nf-core/fq/lint/tests/main.nf.test b/modules/nf-core/fq/lint/tests/main.nf.test
new file mode 100644
index 000000000..f96a7c21a
--- /dev/null
+++ b/modules/nf-core/fq/lint/tests/main.nf.test
@@ -0,0 +1,58 @@
+nextflow_process {
+
+ name "Test Process FQ_LINT"
+ script "../main.nf"
+ process "FQ_LINT"
+
+ test("test_fq_lint_success") {
+ when {
+ params {
+ outdir = "$outputDir"
+ }
+ process {
+ """
+ input[0] = [ [ id:'test', single_end:false ], // meta map
+ [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true),
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) ]
+ ]
+ """
+ }
+ }
+
+ then {
+ assertAll (
+ { assert process.success },
+ { assert process.out.lint.get(0).get(1) ==~ ".*/test.fq_lint.txt" },
+ { assert path(process.out.lint.get(0).get(1)).getText().contains("fq-lint start") },
+ { assert path(process.out.lint.get(0).get(1)).getText().contains("read 100 records") },
+ { assert path(process.out.lint.get(0).get(1)).getText().contains("fq-lint end") },
+ )
+ }
+
+ }
+
+ test("test_fq_lint_fail") {
+ when {
+ params {
+ outdir = "$outputDir"
+ }
+ process {
+ """
+ input[0] = [ [ id:'test', single_end:false ], // meta map
+ [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true),
+ file(params.modules_testdata_base_path + 'genomics/prokaryotes/candidatus_portiera_aleyrodidarum/illumina/fastq/test_2.fastq.gz', checkIfExists: true) ]
+ ]
+ """
+ }
+ }
+
+ then {
+ assertAll (
+ { assert !process.success },
+ { assert snapshot(process.out).match() },
+ )
+ }
+
+ }
+
+}
diff --git a/modules/nf-core/fq/lint/tests/main.nf.test.snap b/modules/nf-core/fq/lint/tests/main.nf.test.snap
new file mode 100644
index 000000000..fec8e5243
--- /dev/null
+++ b/modules/nf-core/fq/lint/tests/main.nf.test.snap
@@ -0,0 +1,25 @@
+{
+ "test_fq_lint_fail": {
+ "content": [
+ {
+ "0": [
+
+ ],
+ "1": [
+
+ ],
+ "lint": [
+
+ ],
+ "versions": [
+
+ ]
+ }
+ ],
+ "meta": {
+ "nf-test": "0.9.0",
+ "nextflow": "24.04.4"
+ },
+ "timestamp": "2024-10-19T16:37:02.133847389"
+ }
+}
\ No newline at end of file
diff --git a/modules/nf-core/umicollapse/environment.yml b/modules/nf-core/umicollapse/environment.yml
new file mode 100644
index 000000000..066f55eef
--- /dev/null
+++ b/modules/nf-core/umicollapse/environment.yml
@@ -0,0 +1,5 @@
+channels:
+ - conda-forge
+ - bioconda
+dependencies:
+ - bioconda::umicollapse=1.1.0
diff --git a/modules/nf-core/umicollapse/main.nf b/modules/nf-core/umicollapse/main.nf
new file mode 100644
index 000000000..aec10e851
--- /dev/null
+++ b/modules/nf-core/umicollapse/main.nf
@@ -0,0 +1,73 @@
+process UMICOLLAPSE {
+ tag "$meta.id"
+ label "process_high"
+ label "process_high_memory"
+
+ conda "${moduleDir}/environment.yml"
+ container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
+ 'https://depot.galaxyproject.org/singularity/umicollapse:1.1.0--hdfd78af_0' :
+ 'biocontainers/umicollapse:1.1.0--hdfd78af_0' }"
+
+ input:
+ tuple val(meta), path(input), path(bai)
+ val(mode)
+
+ output:
+ tuple val(meta), path("*.bam"), emit: bam, optional: true
+ tuple val(meta), path("*dedup*fastq.gz"), emit: fastq, optional: true
+ tuple val(meta), path("*_UMICollapse.log"), emit: log
+ path "versions.yml" , emit: versions
+
+ when:
+ task.ext.when == null || task.ext.when
+
+ script:
+ def args = task.ext.args ?: ''
+ def prefix = task.ext.prefix ?: "${meta.id}"
+ def VERSION = '1.1.0-0' // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions.
+ // Memory allocation: We need to make sure that both heap and stack size is sufficiently large for
+ // umicollapse. We set the stack size to 5% of the available memory, the heap size to 90%
+ // which leaves 5% for stuff happening outside of java without the scheduler killing the process.
+ def max_heap_size_mega = (task.memory.toMega() * 0.9).intValue()
+ def max_stack_size_mega = 999 //most java jdks will not allow Xss > 1GB, so fixing this to the allowed max
+ if ( mode !in [ 'fastq', 'bam' ] ) {
+ error "Mode must be one of 'fastq' or 'bam'."
+ }
+ extension = mode.contains("fastq") ? "fastq.gz" : "bam"
+ """
+ # Getting the umicollapse jar file like this because `umicollapse` is a Python wrapper script generated
+ # by conda that allows to set the heap size (Xmx), but not the stack size (Xss).
+ # `which` allows us to get the directory that contains `umicollapse`, independent of whether we
+ # are in a container or conda environment.
+ UMICOLLAPSE_JAR=\$(dirname \$(which umicollapse))/../share/umicollapse-${VERSION}/umicollapse.jar
+ java \\
+ -Xmx${max_heap_size_mega}M \\
+ -Xss${max_stack_size_mega}M \\
+ -jar \$UMICOLLAPSE_JAR \\
+ $mode \\
+ -i ${input} \\
+ -o ${prefix}.${extension} \\
+ $args | tee ${prefix}_UMICollapse.log
+
+ cat <<-END_VERSIONS > versions.yml
+ "${task.process}":
+ umicollapse: $VERSION
+ END_VERSIONS
+ """
+
+ stub:
+ def prefix = task.ext.prefix ?: "${meta.id}"
+ def VERSION = '1.0.0-1'
+ if ( mode !in [ 'fastq', 'bam' ] ) {
+ error "Mode must be one of 'fastq' or 'bam'."
+ }
+ extension = mode.contains("fastq") ? "fastq.gz" : "bam"
+ """
+ touch ${prefix}.dedup.${extension}
+ touch ${prefix}_UMICollapse.log
+ cat <<-END_VERSIONS > versions.yml
+ "${task.process}":
+ umicollapse: $VERSION
+ END_VERSIONS
+ """
+}
diff --git a/modules/nf-core/umicollapse/meta.yml b/modules/nf-core/umicollapse/meta.yml
new file mode 100644
index 000000000..7c4ebc5ec
--- /dev/null
+++ b/modules/nf-core/umicollapse/meta.yml
@@ -0,0 +1,82 @@
+name: "umicollapse"
+description: Deduplicate reads based on the mapping co-ordinate and the UMI attached
+ to the read.
+keywords:
+ - umicollapse
+ - deduplication
+ - genomics
+tools:
+ - "umicollapse":
+ description: "UMICollapse contains tools for dealing with Unique Molecular Identifiers
+ (UMIs)/Random Molecular Tags (RMTs)."
+ homepage: "https://github.com/Daniel-Liu-c0deb0t/UMICollapse"
+ documentation: "https://github.com/Daniel-Liu-c0deb0t/UMICollapse"
+ tool_dev_url: "https://github.com/siddharthab/UMICollapse"
+ doi: "10.7717/peerj.8275"
+ licence: ["MIT"]
+ identifier: ""
+input:
+ - - meta:
+ type: map
+ description: |
+ Groovy Map containing sample information
+ e.g. [ id:'test', single_end:false ]
+ - input:
+ type: file
+ description: Input bam file
+ pattern: "*.bam"
+ - bai:
+ type: file
+ description: |
+ BAM index files corresponding to the input BAM file. Optionally can be skipped using [] when using FastQ input.
+ pattern: "*.{bai}"
+ - - mode:
+ type: string
+ description: |
+ Selects the mode of Umicollapse - either fastq or bam need to be provided.
+ pattern: "{fastq,bam}"
+output:
+ - bam:
+ - meta:
+ type: map
+ description: |
+ Groovy Map containing sample information
+ e.g. [ id:'test', single_end:false ]
+ - "*.bam":
+ type: file
+ description: BAM file with deduplicated UMIs.
+ pattern: "*.{bam}"
+ - fastq:
+ - meta:
+ type: map
+ description: |
+ Groovy Map containing sample information
+ e.g. [ id:'test', single_end:false ]
+ - "*dedup*fastq.gz":
+ type: file
+ description: FASTQ file with deduplicated UMIs.
+ pattern: "*dedup*fastq.gz"
+ - log:
+ - meta:
+ type: map
+ description: |
+ Groovy Map containing sample information
+ e.g. [ id:'test', single_end:false ]
+ - "*_UMICollapse.log":
+ type: file
+ description: A log file with the deduplication statistics.
+ pattern: "*_{UMICollapse.log}"
+ - versions:
+ - versions.yml:
+ type: file
+ description: File containing software versions
+ pattern: "versions.yml"
+authors:
+ - "@CharlotteAnne"
+ - "@chris-cheshire"
+maintainers:
+ - "@CharlotteAnne"
+ - "@chris-cheshire"
+ - "@apeltzer"
+ - "@siddharthab"
+ - "@MatthiasZepper"
diff --git a/modules/nf-core/umicollapse/tests/main.nf.test b/modules/nf-core/umicollapse/tests/main.nf.test
new file mode 100644
index 000000000..db578775e
--- /dev/null
+++ b/modules/nf-core/umicollapse/tests/main.nf.test
@@ -0,0 +1,177 @@
+nextflow_process {
+
+ name "Test Process UMICOLLAPSE"
+ script "../main.nf"
+ process "UMICOLLAPSE"
+
+ tag "modules"
+ tag "modules_nfcore"
+ tag "umicollapse"
+
+ test("umicollapse single end test") {
+
+ when {
+ config "./nextflow.config"
+ process {
+ """
+ input[0] = Channel.of([
+ [ id:'test', single_end:true ], // meta map
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.single_end.umi.sorted.bam', checkIfExists: true),
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.single_end.umi.sorted.bam.bai', checkIfExists: true)
+ ])
+ input[1] = 'bam'
+ """
+ }
+ }
+
+ then {
+ assertAll(
+ { assert process.success },
+ { assert snapshot(
+ bam(process.out.bam[0][1]).getSamLinesMD5(),
+ process.out.versions).match() }
+ )
+ }
+
+ }
+
+ test("umicollapse paired tests") {
+
+ when {
+ config "./nextflow.config"
+ process {
+ """
+ input[0] = Channel.of([
+ [ id:'test'], // meta map
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.umi.sorted.bam', checkIfExists: true),
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.umi.sorted.bam.bai', checkIfExists: true)
+ ])
+ input[1] = 'bam'
+ """
+ }
+ }
+
+ then {
+ assertAll(
+ { assert process.success },
+ { assert snapshot(
+ bam(process.out.bam[0][1]).getSamLinesMD5(),
+ process.out.versions).match() }
+ )
+ }
+
+ }
+
+ test("umicollapse fastq test (single-end)") {
+
+ when {
+ config "./nextflow.config"
+ process {
+ """
+ input[0] = [
+ [ id:'test', single_end:true ], // meta map
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test.umi_extract_single.fastq.gz', checkIfExists: true),
+ []
+ ]
+ input[1] = 'fastq'
+ """
+ }
+ }
+
+ then {
+ assertAll(
+ { assert process.success },
+ { assert snapshot(
+ process.out.fastq,
+ process.out.versions).match() }
+ )
+ }
+ }
+
+ test("umicollapse fastq test (paired-end)") {
+
+ when {
+ config "./nextflow.config"
+ process {
+ """
+ input[0] = [
+ [ id:'test' ], // meta map
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test.umi_extract_1.fastq.gz', checkIfExists: true),
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test.umi_extract_2.fastq.gz', checkIfExists: true)
+ ]
+ input[1] = 'fastq'
+ """
+ }
+ }
+
+ then {
+ assertAll(
+ { assert process.success },
+ { assert snapshot(
+ process.out.fastq,
+ process.out.versions).match() }
+ )
+ }
+ }
+
+ // Stub tests
+
+ test("umicollapse single end test - stub") {
+
+ options "-stub"
+
+ when {
+ config "./nextflow.config"
+ process {
+ """
+ input[0] = Channel.of([
+ [ id:'test', single_end:true ], // meta map
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.single_end.umi.sorted.bam', checkIfExists: true),
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.single_end.umi.sorted.bam.bai', checkIfExists: true)
+ ])
+ input[1] = 'bam'
+ """
+ }
+ }
+
+ then {
+ assertAll(
+ { assert process.success },
+ { assert snapshot(
+ process.out.bam,
+ process.out.versions).match() }
+ )
+ }
+
+ }
+
+ test("umicollapse paired tests - stub") {
+
+ options "-stub"
+
+ when {
+ config "./nextflow.config"
+ process {
+ """
+ input[0] = Channel.of([
+ [ id:'test'], // meta map
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.umi.sorted.bam', checkIfExists: true),
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.umi.sorted.bam.bai', checkIfExists: true)
+ ])
+ input[1] = 'bam'
+ """
+ }
+ }
+
+ then {
+ assertAll(
+ { assert process.success },
+ { assert snapshot(
+ process.out.bam,
+ process.out.versions).match() }
+ )
+ }
+
+ }
+
+}
\ No newline at end of file
diff --git a/modules/nf-core/umicollapse/tests/main.nf.test.snap b/modules/nf-core/umicollapse/tests/main.nf.test.snap
new file mode 100644
index 000000000..e903c0ce0
--- /dev/null
+++ b/modules/nf-core/umicollapse/tests/main.nf.test.snap
@@ -0,0 +1,110 @@
+{
+ "umicollapse single end test": {
+ "content": [
+ "9158ea6e7a0e54819e25cbac5fbc5cc0",
+ [
+ "versions.yml:md5,03fdbcb1ba9bd40325ca42859d39deb1"
+ ]
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.10.1"
+ },
+ "timestamp": "2024-11-25T17:31:45.024306"
+ },
+ "umicollapse paired tests": {
+ "content": [
+ "b7be15ac7aae194b04bdbb56f3534495",
+ [
+ "versions.yml:md5,03fdbcb1ba9bd40325ca42859d39deb1"
+ ]
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.10.1"
+ },
+ "timestamp": "2024-11-25T17:31:52.072799"
+ },
+ "umicollapse fastq test (paired-end)": {
+ "content": [
+ [
+ [
+ {
+ "id": "test"
+ },
+ "test.dedup.fastq.gz:md5,721a84a2accac988d636e837c60e47bc"
+ ]
+ ],
+ [
+ "versions.yml:md5,03fdbcb1ba9bd40325ca42859d39deb1"
+ ]
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.10.1"
+ },
+ "timestamp": "2024-11-24T13:57:36.968147"
+ },
+ "umicollapse fastq test (single-end)": {
+ "content": [
+ [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.dedup.fastq.gz:md5,2e602ed23eb87f434e4f0a9e491c0310"
+ ]
+ ],
+ [
+ "versions.yml:md5,03fdbcb1ba9bd40325ca42859d39deb1"
+ ]
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.10.1"
+ },
+ "timestamp": "2024-11-24T13:57:28.328682"
+ },
+ "umicollapse single end test - stub": {
+ "content": [
+ [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.dedup.dedup.bam:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ [
+ "versions.yml:md5,c1e0275d81b1c97a9344d216f9154996"
+ ]
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.10.1"
+ },
+ "timestamp": "2024-11-24T14:09:40.277318"
+ },
+ "umicollapse paired tests - stub": {
+ "content": [
+ [
+ [
+ {
+ "id": "test"
+ },
+ "test.dedup.dedup.bam:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ [
+ "versions.yml:md5,c1e0275d81b1c97a9344d216f9154996"
+ ]
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.10.1"
+ },
+ "timestamp": "2024-11-24T14:09:44.224965"
+ }
+}
\ No newline at end of file
diff --git a/modules/nf-core/umicollapse/tests/nextflow.config b/modules/nf-core/umicollapse/tests/nextflow.config
new file mode 100644
index 000000000..105d8e132
--- /dev/null
+++ b/modules/nf-core/umicollapse/tests/nextflow.config
@@ -0,0 +1,5 @@
+process {
+ withName: UMICOLLAPSE {
+ ext.prefix = { "${meta.id}.dedup" }
+ }
+}
diff --git a/modules/nf-core/umicollapse/tests/tags.yml b/modules/nf-core/umicollapse/tests/tags.yml
new file mode 100644
index 000000000..912879c4d
--- /dev/null
+++ b/modules/nf-core/umicollapse/tests/tags.yml
@@ -0,0 +1,2 @@
+umicollapse:
+ - "modules/nf-core/umicollapse/**"
diff --git a/modules/nf-core/umitools/dedup/tests/main.nf.test b/modules/nf-core/umitools/dedup/tests/main.nf.test
index 883e2d9d7..f00a8cbed 100644
--- a/modules/nf-core/umitools/dedup/tests/main.nf.test
+++ b/modules/nf-core/umitools/dedup/tests/main.nf.test
@@ -4,6 +4,11 @@ nextflow_process {
script "../main.nf"
process "UMITOOLS_DEDUP"
+ tag "modules"
+ tag "modules_nfcore"
+ tag "umitools"
+ tag "umitools/dedup"
+
test("se - no stats") {
config "./nextflow.config"
@@ -14,8 +19,8 @@ nextflow_process {
input[0] = [
[ id:'test', single_end:true ], // meta map
- file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.single_end.sorted.bam", checkIfExists: true),
- file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.single_end.sorted.bam.bai", checkIfExists: true)
+ file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.single_end.umi.sorted.bam", checkIfExists: true),
+ file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.single_end.umi.sorted.bam.bai", checkIfExists: true)
]
input[1] = get_output_stats
"""
@@ -43,8 +48,8 @@ nextflow_process {
input[0] = [
[ id:'test', single_end:false ], // meta map
- file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam", checkIfExists: true),
- file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai", checkIfExists: true)
+ file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.umi.sorted.bam", checkIfExists: true),
+ file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.umi.sorted.bam.bai", checkIfExists: true)
]
input[1] = get_output_stats
"""
@@ -56,7 +61,7 @@ nextflow_process {
{ assert process.success },
{ assert path("${process.out.log[0][1]}").exists() },
{ assert snapshot(
- process.out.bam,
+ bam(process.out.bam[0][1]).getSamLinesMD5(),
process.out.versions).match() }
)
}
@@ -72,8 +77,8 @@ nextflow_process {
input[0] = [
[ id:'test', single_end:false ], // meta map
- file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam", checkIfExists: true),
- file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai", checkIfExists: true)
+ file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.umi.sorted.bam", checkIfExists: true),
+ file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.umi.sorted.bam.bai", checkIfExists: true)
]
input[1] = get_output_stats
"""
@@ -85,7 +90,7 @@ nextflow_process {
{ assert process.success },
{ assert path("${process.out.log[0][1]}").exists() },
{ assert snapshot(
- process.out.bam,
+ bam(process.out.bam[0][1]).getSamLinesMD5(),
process.out.tsv_edit_distance,
process.out.tsv_per_umi,
process.out.tsv_umi_per_position,
@@ -107,8 +112,8 @@ nextflow_process {
input[0] = [
[ id:'test', single_end:true ], // meta map
- file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.single_end.sorted.bam", checkIfExists: true),
- file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.single_end.sorted.bam.bai", checkIfExists: true)
+ file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.single_end.umi.sorted.bam", checkIfExists: true),
+ file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.single_end.umi.sorted.bam.bai", checkIfExists: true)
]
input[1] = get_output_stats
"""
@@ -136,8 +141,8 @@ nextflow_process {
input[0] = [
[ id:'test', single_end:false ], // meta map
- file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam", checkIfExists: true),
- file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai", checkIfExists: true)
+ file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.umi.sorted.bam", checkIfExists: true),
+ file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.umi.sorted.bam.bai", checkIfExists: true)
]
input[1] = get_output_stats
"""
@@ -165,8 +170,8 @@ nextflow_process {
input[0] = [
[ id:'test', single_end:false ], // meta map
- file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam", checkIfExists: true),
- file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai", checkIfExists: true)
+ file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.umi.sorted.bam", checkIfExists: true),
+ file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/bam/test.paired_end.umi.sorted.bam.bai", checkIfExists: true)
]
input[1] = get_output_stats
"""
diff --git a/modules/nf-core/umitools/dedup/tests/main.nf.test.snap b/modules/nf-core/umitools/dedup/tests/main.nf.test.snap
index f7f4e94f1..04b81692a 100644
--- a/modules/nf-core/umitools/dedup/tests/main.nf.test.snap
+++ b/modules/nf-core/umitools/dedup/tests/main.nf.test.snap
@@ -37,13 +37,14 @@
},
"pe - with stats": {
"content": [
+ "b7be15ac7aae194b04bdbb56f3534495",
[
[
{
"id": "test",
"single_end": false
},
- "test.dedup.bam:md5,350e942a0d45e8356fa24bc8c47dc1ed"
+ "test.dedup_edit_distance.tsv:md5,c247a49b58768e6e2e86a6c08483e612"
]
],
[
@@ -52,7 +53,7 @@
"id": "test",
"single_end": false
},
- "test.dedup_edit_distance.tsv:md5,65186b0964e2f8d970cc04d736d8b119"
+ "test.dedup_per_umi.tsv:md5,ced75f7bdbf38bf78f3137d5325a8773"
]
],
[
@@ -61,16 +62,7 @@
"id": "test",
"single_end": false
},
- "test.dedup_per_umi.tsv:md5,8e6783a4a79437b095f095f2aefe7c01"
- ]
- ],
- [
- [
- {
- "id": "test",
- "single_end": false
- },
- "test.dedup_per_umi_per_position.tsv:md5,9386db4a104b8e4e32f3ca4a84efa4ac"
+ "test.dedup_per_umi_per_position.tsv:md5,2e1a12e6f720510880068deddeefe063"
]
],
[
@@ -79,9 +71,9 @@
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "24.04.2"
+ "nextflow": "24.10.1"
},
- "timestamp": "2024-07-03T11:27:24.231325"
+ "timestamp": "2024-11-25T17:25:28.939957"
},
"se - no stats - stub": {
"content": [
@@ -103,36 +95,28 @@
},
"se - no stats": {
"content": [
- "a114abd9fccce6fe2869852b5cd18964",
+ "9158ea6e7a0e54819e25cbac5fbc5cc0",
[
"versions.yml:md5,e2f5146464c09bf7ae98c85ea5410e50"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "24.04.2"
+ "nextflow": "24.10.1"
},
- "timestamp": "2024-07-03T13:45:48.553561"
+ "timestamp": "2024-11-23T09:06:54.373171"
},
"pe - no stats": {
"content": [
- [
- [
- {
- "id": "test",
- "single_end": false
- },
- "test.dedup.bam:md5,350e942a0d45e8356fa24bc8c47dc1ed"
- ]
- ],
+ "b7be15ac7aae194b04bdbb56f3534495",
[
"versions.yml:md5,e2f5146464c09bf7ae98c85ea5410e50"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "24.04.2"
+ "nextflow": "24.10.1"
},
- "timestamp": "2024-07-03T11:27:06.957467"
+ "timestamp": "2024-11-25T17:24:51.423637"
}
}
\ No newline at end of file
diff --git a/modules/nf-core/umitools/dedup/tests/tags.yml b/modules/nf-core/umitools/dedup/tests/tags.yml
new file mode 100644
index 000000000..5934c5cb7
--- /dev/null
+++ b/modules/nf-core/umitools/dedup/tests/tags.yml
@@ -0,0 +1,2 @@
+umitools/dedup:
+ - "modules/nf-core/umitools/dedup/**"
diff --git a/nextflow.config b/nextflow.config
index 468792d0f..bc528efed 100644
--- a/nextflow.config
+++ b/nextflow.config
@@ -30,6 +30,7 @@ params {
with_umi = false
skip_umi_extract = false
umitools_extract_method = 'string'
+ umi_dedup_tool = 'umitools'
umitools_grouping_method = 'directional'
umitools_dedup_stats = false
umitools_bc_pattern = null
@@ -38,6 +39,10 @@ params {
umi_discard_read = null
save_umi_intermeds = false
+ // Linting
+ skip_linting = false
+ extra_fqlint_args = '--disable-validator P001'
+
// Trimming
trimmer = 'trimgalore'
min_trimmed_reads = 10000
@@ -328,7 +333,7 @@ manifest {
description = """RNA sequencing analysis pipeline for gene/isoform quantification and extensive quality control."""
mainScript = 'main.nf'
nextflowVersion = '!>=24.04.2'
- version = '3.17.0'
+ version = '3.18.0dev'
doi = 'https://doi.org/10.5281/zenodo.1400710'
}
diff --git a/nextflow_schema.json b/nextflow_schema.json
index 802209b42..5bd25ca0d 100644
--- a/nextflow_schema.json
+++ b/nextflow_schema.json
@@ -305,6 +305,13 @@
"fa_icon": "fas fa-barcode",
"description": "Enable UMI-based read deduplication."
},
+ "umi_dedup_tool": {
+ "type": "string",
+ "default": "umitools",
+ "description": "Specifies the tool to use for UMI deduplication - available options are 'umitools' and 'umicollapse'.",
+ "fa_icon": "fas fa-barcode",
+ "enum": ["umitools", "umicollapse"]
+ },
"umitools_extract_method": {
"type": "string",
"default": "string",
@@ -411,7 +418,7 @@
},
"min_mapped_reads": {
"type": "number",
- "default": 5.0,
+ "default": 5,
"fa_icon": "fas fa-percentage",
"description": "Minimum percentage of uniquely mapped reads below which samples are removed from further processing.",
"help_text": "Some downstream steps in the pipeline will fail if this threshold is too low."
@@ -456,14 +463,14 @@
"stranded_threshold": {
"type": "number",
"minimum": 0.5,
- "maximum": 1.0,
+ "maximum": 1,
"default": 0.8,
"description": "The fraction of stranded reads that must be assigned to a strandedness for confident assignment. Must be at least 0.5."
},
"unstranded_threshold": {
"type": "number",
- "minimum": 0.0,
- "maximum": 1.0,
+ "minimum": 0,
+ "maximum": 1,
"default": 0.1,
"description": "The difference in fraction of stranded reads assigned to 'forward' and 'reverse' below which a sample is classified as 'unstranded'. By default the forward and reverse fractions must differ by less than 0.1 for the sample to be called as unstranded."
}
@@ -539,6 +546,12 @@
"description": "Additional quality control options.",
"default": "",
"properties": {
+ "extra_fqlint_args": {
+ "type": "string",
+ "default": "--disable-validator P001",
+ "description": "Extra arguments to pass to the fq lint command.",
+ "fa_icon": "far fa-check-square"
+ },
"deseq2_vst": {
"type": "boolean",
"description": "Use vst transformation instead of rlog with DESeq2.",
@@ -602,6 +615,11 @@
"fa_icon": "fas fa-compress-alt",
"description": "Skip the UMI extraction from the read in case the UMIs have been moved to the headers in advance of the pipeline run."
},
+ "skip_linting": {
+ "type": "boolean",
+ "fa_icon": "fas fa-fast-forward",
+ "description": "Skip linting checks during FASTQ preprocessing and filtering."
+ },
"skip_trimming": {
"type": "boolean",
"description": "Skip the adapter trimming step.",
diff --git a/subworkflows/local/utils_nfcore_rnaseq_pipeline/main.nf b/subworkflows/local/utils_nfcore_rnaseq_pipeline/main.nf
index aa0dd4ed7..5e8820ddc 100644
--- a/subworkflows/local/utils_nfcore_rnaseq_pipeline/main.nf
+++ b/subworkflows/local/utils_nfcore_rnaseq_pipeline/main.nf
@@ -116,6 +116,8 @@ workflow PIPELINE_COMPLETION {
id, status -> pass_strand_check[id] = status
}
+ def multiqc_report_list = multiqc_report.toList()
+
//
// Completion email and summary
//
@@ -128,7 +130,7 @@ workflow PIPELINE_COMPLETION {
plaintext_email,
outdir,
monochrome_logs,
- multiqc_report.toList()
+ multiqc_report_list.getVal()
)
}
@@ -216,6 +218,10 @@ def validateInputParameters() {
}
}
+ if (params.with_umi && params.umi_dedup_tool == "umicollapse" && params.umitools_grouping_method !in ['directional', 'adjacency', 'cluster']) {
+ error("UMI grouping method '${params.umitools_grouping_method}' unsupported for umicollapse, supported methods are 'cluster', 'adjacency' and 'directional'")
+ }
+
if (params.skip_alignment) {
skipAlignmentWarn()
}
diff --git a/subworkflows/nf-core/bam_dedup_stats_samtools_umicollapse/main.nf b/subworkflows/nf-core/bam_dedup_stats_samtools_umicollapse/main.nf
new file mode 100644
index 000000000..54c42b986
--- /dev/null
+++ b/subworkflows/nf-core/bam_dedup_stats_samtools_umicollapse/main.nf
@@ -0,0 +1,55 @@
+//
+// umicollapse, index BAM file and run samtools stats, flagstat and idxstats
+//
+
+include { UMICOLLAPSE } from '../../../modules/nf-core/umicollapse/main'
+include { SAMTOOLS_INDEX } from '../../../modules/nf-core/samtools/index/main'
+include { BAM_STATS_SAMTOOLS } from '../bam_stats_samtools/main'
+
+workflow BAM_DEDUP_STATS_SAMTOOLS_UMICOLLAPSE {
+ take:
+ ch_bam_bai // channel: [ val(meta), path(bam), path(bai/csi) ]
+
+ main:
+
+ ch_versions = Channel.empty()
+
+ //
+ // umicollapse in bam mode (thus hardcode mode input channel to 'bam')
+ //
+ UMICOLLAPSE ( ch_bam_bai, channel.value( 'bam' ))
+ ch_versions = ch_versions.mix(UMICOLLAPSE.out.versions.first())
+
+ //
+ // Index BAM file and run samtools stats, flagstat and idxstats
+ //
+ SAMTOOLS_INDEX ( UMICOLLAPSE.out.bam )
+ ch_versions = ch_versions.mix(SAMTOOLS_INDEX.out.versions.first())
+
+ ch_bam_bai_dedup = UMICOLLAPSE.out.bam
+ .join(SAMTOOLS_INDEX.out.bai, by: [0], remainder: true)
+ .join(SAMTOOLS_INDEX.out.csi, by: [0], remainder: true)
+ .map {
+ meta, bam, bai, csi ->
+ if (bai) {
+ [ meta, bam, bai ]
+ } else {
+ [ meta, bam, csi ]
+ }
+ }
+
+ BAM_STATS_SAMTOOLS ( ch_bam_bai_dedup, [ [:], [] ] )
+ ch_versions = ch_versions.mix(BAM_STATS_SAMTOOLS.out.versions)
+
+ emit:
+ bam = UMICOLLAPSE.out.bam // channel: [ val(meta), path(bam) ]
+
+ bai = SAMTOOLS_INDEX.out.bai // channel: [ val(meta), path(bai) ]
+ csi = SAMTOOLS_INDEX.out.csi // channel: [ val(meta), path(csi) ]
+ dedup_stats = UMICOLLAPSE.out.log // channel: [ val(meta), path(stats) ]
+ stats = BAM_STATS_SAMTOOLS.out.stats // channel: [ val(meta), path(stats) ]
+ flagstat = BAM_STATS_SAMTOOLS.out.flagstat // channel: [ val(meta), path(flagstat) ]
+ idxstats = BAM_STATS_SAMTOOLS.out.idxstats // channel: [ val(meta), path(idxstats) ]
+
+ versions = ch_versions // channel: [ path(versions.yml) ]
+}
diff --git a/subworkflows/nf-core/bam_dedup_stats_samtools_umicollapse/meta.yml b/subworkflows/nf-core/bam_dedup_stats_samtools_umicollapse/meta.yml
new file mode 100644
index 000000000..a24e0448d
--- /dev/null
+++ b/subworkflows/nf-core/bam_dedup_stats_samtools_umicollapse/meta.yml
@@ -0,0 +1,59 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/subworkflows/yaml-schema.json
+name: "bam_dedup_stats_samtools_umicollapse"
+description: umicollapse, index BAM file and run samtools stats, flagstat and idxstats
+keywords:
+ - umi
+ - dedup
+ - index
+ - bam
+ - sam
+ - cram
+components:
+ - umicollapse
+ - samtools/index
+ - samtools/stats
+ - samtools/idxstats
+ - samtools/flagstat
+ - bam_stats_samtools
+input:
+ - ch_bam_bai:
+ description: |
+ input BAM file
+ Structure: [ val(meta), path(bam), path(bai) ]
+output:
+ - bam:
+ description: |
+ Umi deduplicated BAM/SAM file
+ Structure: [ val(meta), path(bam) ]
+ - bai:
+ description: |
+ Umi deduplicated BAM/SAM samtools index
+ Structure: [ val(meta), path(bai) ]
+ - csi:
+ description: |
+ CSI samtools index
+ Structure: [ val(meta), path(csi) ]
+ - dedupstats:
+ description: |
+ File containing umicollapse deduplication stats
+ Structure: [ val(meta), path(stats) ]
+ - stats:
+ description: |
+ File containing samtools stats output
+ Structure: [ val(meta), path(stats) ]
+ - flagstat:
+ description: |
+ File containing samtools flagstat output
+ Structure: [ val(meta), path(flagstat) ]
+ - idxstats:
+ description: |
+ File containing samtools idxstats output
+ Structure: [ val(meta), path(idxstats) ]
+ - versions:
+ description: |
+ Files containing software versions
+ Structure: [ path(versions.yml) ]
+authors:
+ - "@MatthiasZepper"
+maintainers:
+ - "@MatthiasZepper"
diff --git a/subworkflows/nf-core/bam_dedup_stats_samtools_umicollapse/tests/main.nf.test b/subworkflows/nf-core/bam_dedup_stats_samtools_umicollapse/tests/main.nf.test
new file mode 100644
index 000000000..f4f14c71b
--- /dev/null
+++ b/subworkflows/nf-core/bam_dedup_stats_samtools_umicollapse/tests/main.nf.test
@@ -0,0 +1,57 @@
+// nf-core subworkflows test bam_dedup_stats_samtools_umicollapse
+nextflow_workflow {
+
+ name "Test Subworkflow BAM_DEDUP_STATS_SAMTOOLS_UMICOLLAPSE"
+ script "../main.nf"
+ workflow "BAM_DEDUP_STATS_SAMTOOLS_UMICOLLAPSE"
+
+ tag "subworkflows"
+ tag "subworkflows_nfcore"
+ tag "subworkflows/bam_dedup_stats_samtools_umicollapse"
+ tag "subworkflows/bam_stats_samtools"
+ tag "bam_stats_samtools"
+ tag "bwa/index"
+ tag "bwa/mem"
+ tag "samtools"
+ tag "samtools/index"
+ tag "samtools/stats"
+ tag "samtools/idxstats"
+ tag "samtools/flagstat"
+ tag "umicollapse"
+ tag "umitools/extract"
+
+ test("sarscov2_bam_bai") {
+
+ when {
+ config "./paired-end-umis.config"
+ params {
+ outdir = "$outputDir"
+ }
+ workflow {
+ """
+ input[0] = Channel.of([
+ [ id:'test'], // meta map
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.umi.sorted.bam', checkIfExists: true),
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.umi.sorted.bam.bai', checkIfExists: true)
+ ])
+ """
+ }
+ }
+
+ then {
+ assertAll(
+ { assert workflow.success},
+ { assert snapshot(bam(workflow.out.bam[0][1]).getSamLinesMD5()).match("test_bam_dedup_stats_samtools_umicollapse_bam")}, // separate, because of linting error otherwise
+ { assert snapshot(workflow.out.versions).match("test_bam_dedup_stats_samtools_umicollapse_versions") },
+ { assert workflow.out.bam.get(0).get(1) ==~ ".*.bam"},
+ { assert workflow.out.bai.get(0).get(1) ==~ ".*.bai"},
+ { assert workflow.out.dedup_stats.get(0).get(1) ==~ ".*_UMICollapse.log"},
+ { assert snapshot(workflow.out.stats).match("test_bam_dedup_stats_samtools_umicollapse_stats") },
+ { assert snapshot(workflow.out.flagstat).match("test_bam_dedup_stats_samtools_umicollapse_flagstats") },
+ { assert snapshot(workflow.out.idxstats).match("test_bam_dedup_stats_samtools_umicollapse_idxstats") }
+ )
+ }
+
+}
+}
+
diff --git a/subworkflows/nf-core/bam_dedup_stats_samtools_umicollapse/tests/main.nf.test.snap b/subworkflows/nf-core/bam_dedup_stats_samtools_umicollapse/tests/main.nf.test.snap
new file mode 100644
index 000000000..9694c6d5f
--- /dev/null
+++ b/subworkflows/nf-core/bam_dedup_stats_samtools_umicollapse/tests/main.nf.test.snap
@@ -0,0 +1,79 @@
+{
+ "test_bam_dedup_stats_samtools_umicollapse_stats": {
+ "content": [
+ [
+ [
+ {
+ "id": "test"
+ },
+ "test.stats:md5,498621f92e86d55e4f7ae93170e6e733"
+ ]
+ ]
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.10.1"
+ },
+ "timestamp": "2024-11-24T13:57:02.323104"
+ },
+ "test_bam_dedup_stats_samtools_umicollapse_versions": {
+ "content": [
+ [
+ "versions.yml:md5,20605eb79c410c0ed179ba660d82f75b",
+ "versions.yml:md5,23617661d2c899996bee2b05db027e25",
+ "versions.yml:md5,657bce03545b4c57f9c5fc4314bf85f7",
+ "versions.yml:md5,e02a62a393a833778e16542eeed0d148",
+ "versions.yml:md5,ef00762e264b99ac45713dc0dedf4060"
+ ]
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.10.1"
+ },
+ "timestamp": "2024-11-25T18:39:15.637444"
+ },
+ "test_bam_dedup_stats_samtools_umicollapse_flagstats": {
+ "content": [
+ [
+ [
+ {
+ "id": "test"
+ },
+ "test.flagstat:md5,18d602435a02a4d721b78d1812622159"
+ ]
+ ]
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.10.1"
+ },
+ "timestamp": "2024-11-24T13:57:02.366866"
+ },
+ "test_bam_dedup_stats_samtools_umicollapse_idxstats": {
+ "content": [
+ [
+ [
+ {
+ "id": "test"
+ },
+ "test.idxstats:md5,85d20a901eef23ca50c323638a2eb602"
+ ]
+ ]
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.10.1"
+ },
+ "timestamp": "2024-11-24T13:57:02.410712"
+ },
+ "test_bam_dedup_stats_samtools_umicollapse_bam": {
+ "content": [
+ "b7be15ac7aae194b04bdbb56f3534495"
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.10.1"
+ },
+ "timestamp": "2024-11-25T18:39:15.613319"
+ }
+}
\ No newline at end of file
diff --git a/subworkflows/nf-core/bam_dedup_stats_samtools_umicollapse/tests/paired-end-umis.config b/subworkflows/nf-core/bam_dedup_stats_samtools_umicollapse/tests/paired-end-umis.config
new file mode 100644
index 000000000..8d58a861f
--- /dev/null
+++ b/subworkflows/nf-core/bam_dedup_stats_samtools_umicollapse/tests/paired-end-umis.config
@@ -0,0 +1,6 @@
+process {
+
+ withName: UMICOLLAPSE {
+ ext.prefix = { "${meta.id}.dedup" }
+ }
+}
diff --git a/subworkflows/nf-core/bam_dedup_stats_samtools_umicollapse/tests/tags.yml b/subworkflows/nf-core/bam_dedup_stats_samtools_umicollapse/tests/tags.yml
new file mode 100644
index 000000000..a3ba5b726
--- /dev/null
+++ b/subworkflows/nf-core/bam_dedup_stats_samtools_umicollapse/tests/tags.yml
@@ -0,0 +1,2 @@
+subworkflows/bam_dedup_stats_samtools_umicollapse:
+ - subworkflows/nf-core/bam_dedup_stats_samtools_umicollapse/**
diff --git a/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/tests/main.nf.test b/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/tests/main.nf.test
index ab541cb88..93e624857 100644
--- a/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/tests/main.nf.test
+++ b/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/tests/main.nf.test
@@ -3,6 +3,19 @@ nextflow_workflow {
name "Test Workflow BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS"
script "../main.nf"
workflow "BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS"
+ tag "subworkflows"
+ tag "subworkflows_nfcore"
+ tag "subworkflows/bam_dedup_stats_samtools_umitools"
+ tag "subworkflows/bam_stats_samtools"
+ tag "bam_dedup_stats_samtools_umitools"
+ tag "bam_stats_samtools"
+ tag "samtools"
+ tag "samtools/index"
+ tag "samtools/stats"
+ tag "samtools/idxstats"
+ tag "samtools/flagstat"
+ tag "umitools"
+ tag "umitools/dedup"
test("sarscov2_bam_bai") {
@@ -13,8 +26,8 @@ nextflow_workflow {
input[0] = Channel.of([
[ id:'test'], // meta map
- file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true),
- file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true)
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.umi.sorted.bam', checkIfExists: true),
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.umi.sorted.bam.bai', checkIfExists: true)
])
input[1] = val_get_dedup_stats
"""
@@ -28,6 +41,7 @@ nextflow_workflow {
{ assert workflow.out.bam.get(0).get(1) ==~ ".*.bam"},
{ assert workflow.out.bai.get(0).get(1) ==~ ".*.bai"},
{ assert snapshot(
+ bam(workflow.out.bam[0][1]).getSamLinesMD5(),
workflow.out.stats,
workflow.out.flagstat,
workflow.out.idxstats,
@@ -48,8 +62,8 @@ nextflow_workflow {
input[0] = Channel.of([
[ id:'test'], // meta map
- file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true),
- file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true)
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.umi.sorted.bam', checkIfExists: true),
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.umi.sorted.bam.bai', checkIfExists: true)
])
input[1] = val_get_dedup_stats
"""
diff --git a/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/tests/main.nf.test.snap b/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/tests/main.nf.test.snap
index d39f9129b..3b3613572 100644
--- a/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/tests/main.nf.test.snap
+++ b/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/tests/main.nf.test.snap
@@ -1,12 +1,13 @@
{
"sarscov2_bam_bai": {
"content": [
+ "b7be15ac7aae194b04bdbb56f3534495",
[
[
{
"id": "test"
},
- "test.stats:md5,84891a894010aeb882c4092db9248d2c"
+ "test.stats:md5,41ba57a9b90b54587e7d154e5405ea5e"
]
],
[
@@ -14,7 +15,7 @@
{
"id": "test"
},
- "test.flagstat:md5,0bb716e40fae381b97484b58e0b16efe"
+ "test.flagstat:md5,18d602435a02a4d721b78d1812622159"
]
],
[
@@ -22,7 +23,7 @@
{
"id": "test"
},
- "test.idxstats:md5,1adb27b52d4d64b826f48b59d61dcd4d"
+ "test.idxstats:md5,85d20a901eef23ca50c323638a2eb602"
]
],
[
@@ -34,10 +35,10 @@
]
],
"meta": {
- "nf-test": "0.9.0",
- "nextflow": "24.04.4"
+ "nf-test": "0.8.4",
+ "nextflow": "24.10.1"
},
- "timestamp": "2024-09-16T08:04:23.444693448"
+ "timestamp": "2024-11-25T17:23:13.841219"
},
"sarscov2_bam_bai - stub": {
"content": [
diff --git a/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/tests/tags.yml b/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/tests/tags.yml
new file mode 100644
index 000000000..bfd5e023e
--- /dev/null
+++ b/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/tests/tags.yml
@@ -0,0 +1,2 @@
+subworkflows/bam_dedup_stats_samtools_umitools:
+ - subworkflows/nf-core/bam_dedup_stats_samtools_umitools/**
diff --git a/subworkflows/nf-core/bam_dedup_umi/main.nf b/subworkflows/nf-core/bam_dedup_umi/main.nf
new file mode 100644
index 000000000..d091a5824
--- /dev/null
+++ b/subworkflows/nf-core/bam_dedup_umi/main.nf
@@ -0,0 +1,132 @@
+//
+// BAM deduplication with UMI processing
+//
+
+include { BAM_DEDUP_STATS_SAMTOOLS_UMICOLLAPSE as BAM_DEDUP_STATS_SAMTOOLS_UMICOLLAPSE_TRANSCRIPTOME } from '../bam_dedup_stats_samtools_umicollapse'
+include { BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS as BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS_TRANSCRIPTOME } from '../bam_dedup_stats_samtools_umitools'
+include { BAM_DEDUP_STATS_SAMTOOLS_UMICOLLAPSE as BAM_DEDUP_STATS_SAMTOOLS_UMICOLLAPSE_GENOME } from '../bam_dedup_stats_samtools_umicollapse'
+include { BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS as BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS_GENOME } from '../bam_dedup_stats_samtools_umitools'
+include { BAM_SORT_STATS_SAMTOOLS } from '../bam_sort_stats_samtools'
+
+include { UMITOOLS_PREPAREFORRSEM } from '../../../modules/nf-core/umitools/prepareforrsem'
+include { SAMTOOLS_SORT } from '../../../modules/nf-core/samtools/sort/main'
+
+workflow BAM_DEDUP_UMI {
+ take:
+ ch_genome_bam // channel: [ val(meta), path(bam), path(bai) ]
+ ch_fasta // channel: [ val(meta), path(fasta) ]
+ umi_dedup_tool // string: 'umicollapse' or 'umitools'
+ umitools_dedup_stats // boolean: whether to generate UMI-tools dedup stats
+ bam_csi_index // boolean: whether to generate CSI index
+ ch_transcriptome_bam // channel: [ val(meta), path(bam) ]
+ ch_transcript_fasta // channel: [ val(meta), path(fasta) ]
+
+ main:
+ ch_versions = Channel.empty()
+
+ if (umi_dedup_tool != "umicollapse" && umi_dedup_tool != "umitools"){
+ error("Unknown umi_dedup_tool '${umi_dedup_tool}'")
+ }
+
+ // Genome BAM deduplication
+ if (umi_dedup_tool == "umicollapse") {
+ BAM_DEDUP_STATS_SAMTOOLS_UMICOLLAPSE_GENOME (
+ ch_genome_bam
+ )
+ UMI_DEDUP_GENOME = BAM_DEDUP_STATS_SAMTOOLS_UMICOLLAPSE_GENOME
+ ch_dedup_log = UMI_DEDUP_GENOME.out.dedup_stats
+
+ } else if (umi_dedup_tool == "umitools") {
+ BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS_GENOME (
+ ch_genome_bam,
+ umitools_dedup_stats
+ )
+ UMI_DEDUP_GENOME = BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS_GENOME
+ ch_dedup_log = UMI_DEDUP_GENOME.out.deduplog
+ }
+
+ // Co-ordinate sort, index and run stats on transcriptome BAM. This takes
+ // some preparation- we have to coordinate sort the BAM, run the
+ // deduplication, then restore name sorting and run a script from umitools
+ // to prepare for rsem or salmon
+
+ // 1. Coordinate sort
+
+ BAM_SORT_STATS_SAMTOOLS (
+ ch_transcriptome_bam,
+ ch_transcript_fasta
+ )
+ ch_sorted_transcriptome_bam = BAM_SORT_STATS_SAMTOOLS.out.bam
+ .join(BAM_SORT_STATS_SAMTOOLS.out.bai)
+
+ // 2. Transcriptome BAM deduplication
+ if (umi_dedup_tool == "umicollapse") {
+ BAM_DEDUP_STATS_SAMTOOLS_UMICOLLAPSE_TRANSCRIPTOME (
+ ch_sorted_transcriptome_bam
+ )
+ UMI_DEDUP_TRANSCRIPTOME = BAM_DEDUP_STATS_SAMTOOLS_UMICOLLAPSE_TRANSCRIPTOME
+ ch_dedup_log = ch_dedup_log.mix(UMI_DEDUP_GENOME.out.dedup_stats)
+
+ } else if (umi_dedup_tool == "umitools") {
+ BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS_TRANSCRIPTOME (
+ ch_sorted_transcriptome_bam,
+ umitools_dedup_stats
+ )
+ UMI_DEDUP_TRANSCRIPTOME = BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS_TRANSCRIPTOME
+ ch_dedup_log = ch_dedup_log.mix(UMI_DEDUP_GENOME.out.deduplog)
+ }
+
+ // 3. Restore name sorting
+ SAMTOOLS_SORT (
+ UMI_DEDUP_TRANSCRIPTOME.out.bam,
+ ch_fasta
+ )
+
+ // 4. Run prepare_for_rsem.py on paired-end BAM files
+ // This fixes paired-end reads in name sorted BAM files
+ // See: https://github.com/nf-core/rnaseq/issues/828
+ ended_transcriptome_dedup_bam = SAMTOOLS_SORT.out.bam
+ .branch {
+ meta, bam ->
+ single_end: meta.single_end
+ return [ meta, bam ]
+ paired_end: !meta.single_end
+ return [ meta, bam ]
+ }
+
+ UMITOOLS_PREPAREFORRSEM (
+ ended_transcriptome_dedup_bam.paired_end
+ .map { meta, bam -> [ meta, bam, [] ] }
+ )
+
+ ch_dedup_transcriptome_bam = ended_transcriptome_dedup_bam.single_end
+ .mix(UMITOOLS_PREPAREFORRSEM.out.bam)
+
+ // Collect files useful for MultiQC into one helpful emission. Don't
+ // automatically add transcriptome stats- difficult to separate in multiqc
+ // without a bit more work
+
+ ch_multiqc_files = ch_dedup_log
+ .mix(UMI_DEDUP_GENOME.out.stats)
+ .mix(UMI_DEDUP_GENOME.out.flagstat)
+ .mix(UMI_DEDUP_GENOME.out.idxstats)
+ .transpose()
+ .map{it[1]}
+
+ // Record versions
+
+ ch_versions = UMI_DEDUP_GENOME.out.versions
+ .mix(BAM_SORT_STATS_SAMTOOLS.out.versions)
+ .mix(UMITOOLS_PREPAREFORRSEM.out.versions)
+
+ emit:
+ bam = UMI_DEDUP_GENOME.out.bam // channel: [ val(meta), path(bam) ]
+ bai = bam_csi_index ? UMI_DEDUP_GENOME.out.csi : UMI_DEDUP_GENOME.out.bai // channel: [ val(meta), path(bai) ]
+ dedup_log = ch_dedup_log // channel: [ val(meta), path(log) ]
+ stats = UMI_DEDUP_GENOME.out.stats.mix(UMI_DEDUP_TRANSCRIPTOME.out.stats) // channel: [ val(meta), path(stats)]
+ flagstat = UMI_DEDUP_GENOME.out.flagstat.mix(UMI_DEDUP_TRANSCRIPTOME.out.flagstat) // channel: [ val(meta), path(flagstat)]
+ idxstats = UMI_DEDUP_GENOME.out.idxstats.mix(UMI_DEDUP_TRANSCRIPTOME.out.idxstats) // channel: [ val(meta), path(idxstats)]
+ multiqc_files = ch_multiqc_files // channel: file
+ transcriptome_bam = ch_dedup_transcriptome_bam // channel: [ val(meta), path(bam) ]
+ versions = ch_versions // channel: [ path(versions.yml) ]
+}
diff --git a/subworkflows/nf-core/bam_dedup_umi/meta.yml b/subworkflows/nf-core/bam_dedup_umi/meta.yml
new file mode 100644
index 000000000..f88fa2f1c
--- /dev/null
+++ b/subworkflows/nf-core/bam_dedup_umi/meta.yml
@@ -0,0 +1,181 @@
+name: "bam_dedup_umi"
+description: BAM deduplication with UMI processing for both genome and transcriptome alignments
+keywords:
+ - deduplication
+ - UMI
+ - BAM
+ - genome
+ - transcriptome
+ - umicollapse
+ - umitools
+
+components:
+ - umitools/prepareforrsem
+ - samtools/sort
+ - bam_dedup_stats_samtools_umicollapse
+ - bam_dedup_stats_samtools_umitools
+ - bam_sort_stats_samtools
+
+input:
+ - ch_genome_bam:
+ description: Channel with genome BAM files
+ structure:
+ - meta:
+ type: map
+ description: Metadata map
+ - bam:
+ type: file
+ description: BAM file
+ pattern: "*.bam"
+ - bai:
+ type: file
+ description: BAM index file
+ pattern: "*.bai"
+ - ch_fasta:
+ description: Channel with genome FASTA file
+ structure:
+ - meta:
+ type: map
+ description: Metadata map
+ - fasta:
+ type: file
+ description: Genome FASTA file
+ pattern: "*.{fa,fasta}"
+ - umi_dedup_tool:
+ description: UMI deduplication tool to use
+ structure:
+ - value:
+ type: string
+ description: Either 'umicollapse' or 'umitools'
+ - umitools_dedup_stats:
+ description: Whether to generate UMI-tools deduplication stats
+ structure:
+ - value:
+ type: boolean
+ description: True or False
+ - bam_csi_index:
+ description: Whether to generate CSI index
+ structure:
+ - value:
+ type: boolean
+ description: True or False
+ - ch_transcriptome_bam:
+ description: Channel with transcriptome BAM files
+ structure:
+ - meta:
+ type: map
+ description: Metadata map
+ - bam:
+ type: file
+ description: BAM file
+ pattern: "*.bam"
+ - ch_transcript_fasta:
+ description: Channel with transcript FASTA file
+ structure:
+ - meta:
+ type: map
+ description: Metadata map
+ - fasta:
+ type: file
+ description: Transcript FASTA file
+ pattern: "*.{fa,fasta}"
+
+output:
+ - bam:
+ description: Channel containing deduplicated genome BAM files
+ structure:
+ - meta:
+ type: map
+ description: Metadata map
+ - bam:
+ type: file
+ description: Deduplicated BAM file
+ pattern: "*.bam"
+ - bai:
+ description: Channel containing indexed BAM (BAI) files
+ structure:
+ - meta:
+ type: map
+ description: Metadata map
+ - bai:
+ type: file
+ description: BAM index file
+ pattern: "*.bai"
+ - csi:
+ description: Channel containing CSI files (if bam_csi_index is true)
+ structure:
+ - meta:
+ type: map
+ description: Metadata map
+ - csi:
+ type: file
+ description: CSI index file
+ pattern: "*.csi"
+ - dedup_log:
+ description: Channel containing deduplication log files
+ structure:
+ - meta:
+ type: map
+ description: Metadata map
+ - log:
+ type: file
+ description: Deduplication log file
+ pattern: "*.log"
+ - stats:
+ description: Channel containing BAM statistics files
+ structure:
+ - meta:
+ type: map
+ description: Metadata map
+ - stats:
+ type: file
+ description: BAM statistics file
+ pattern: "*.stats"
+ - flagstat:
+ description: Channel containing flagstat files
+ structure:
+ - meta:
+ type: map
+ description: Metadata map
+ - flagstat:
+ type: file
+ description: Flagstat file
+ pattern: "*.flagstat"
+ - idxstats:
+ description: Channel containing idxstats files
+ structure:
+ - meta:
+ type: map
+ description: Metadata map
+ - idxstats:
+ type: file
+ description: Idxstats file
+ pattern: "*.idxstats"
+ - multiqc_files:
+ description: Channel containing files for MultiQC
+ structure:
+ - file:
+ type: file
+ description: File for MultiQC
+ - transcriptome_bam:
+ description: Channel containing deduplicated transcriptome BAM files
+ structure:
+ - meta:
+ type: map
+ description: Metadata map
+ - bam:
+ type: file
+ description: Deduplicated transcriptome BAM file
+ pattern: "*.bam"
+ - versions:
+ description: Channel containing software versions file
+ structure:
+ - versions:
+ type: file
+ description: File containing versions of the software used
+ pattern: "versions.yml"
+
+authors:
+ - "@pinin4fjords"
+maintainers:
+ - "@pinin4fjords"
diff --git a/subworkflows/nf-core/bam_dedup_umi/tests/main.nf.test b/subworkflows/nf-core/bam_dedup_umi/tests/main.nf.test
new file mode 100644
index 000000000..b8e9da9ab
--- /dev/null
+++ b/subworkflows/nf-core/bam_dedup_umi/tests/main.nf.test
@@ -0,0 +1,99 @@
+nextflow_workflow {
+
+ name "Test Workflow BAM_DEDUP_UMI"
+ script "../main.nf"
+ workflow "BAM_DEDUP_UMI"
+ config "./nextflow.config"
+
+ tag "subworkflows"
+ tag "subworkflows_nfcore"
+ tag "subworkflows/bam_dedup_umi"
+ tag "bam_dedup_stats_samtools_umicollapse"
+ tag "bam_dedup_stats_samtools_umitools"
+ tag "bam_sort_stats_samtools"
+ tag "umitools/prepareforrsem"
+ tag "samtools/sort"
+
+ test("sarscov2_bam_bai - umitools - with transcriptome bams") {
+
+ when {
+ workflow {
+ """
+ input[0] = [
+ [ id:'test'], // meta map
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.umi.sorted.bam', checkIfExists: true),
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.umi.sorted.bam.bai', checkIfExists: true)
+ ]
+ input[1] = [
+ [id:'genome'],
+ file(params.modules_testdata_base_path + '/genomics/sarscov2/genome/genome.fasta', checkIfExists: true)
+ ]
+ input[2] = 'umitools'
+ input[3] = false
+ input[4] = false
+ input[5] = [
+ [ id:'test'], // meta map
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.umi.sorted.bam', checkIfExists: true) ]
+ input[6] = [
+ [id:'genome'],
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/transcriptome.fasta', checkIfExists: true)
+ ]
+ """
+ }
+ }
+
+ then {
+ assertAll(
+ { assert workflow.success },
+ { assert snapshot(
+ bam(workflow.out.bam[0][1]).getReadsMD5(),
+ bam(workflow.out.transcriptome_bam[0][1]).getReadsMD5(),
+ workflow.out.stats,
+ workflow.out.flagstat,
+ workflow.out.idxstats,
+ workflow.out.versions
+ ).match() },
+ { assert path(workflow.out.bai.get(0).get(1)).exists() }
+ )
+ }
+
+ }
+
+ test("sarscov2_bam_bai - umicollapse - no transcriptome bams") {
+
+ when {
+ workflow {
+ """
+ input[0] = [
+ [ id:'test'], // meta map
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.umi.sorted.bam', checkIfExists: true),
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.umi.sorted.bam.bai', checkIfExists: true)
+ ]
+ input[1] = [
+ [id:'genome'],
+ file(params.modules_testdata_base_path + '/genomics/sarscov2/genome/genome.fasta', checkIfExists: true)
+ ]
+ input[2] = 'umicollapse'
+ input[3] = false
+ input[4] = false
+ input[5] = Channel.empty()
+ input[6] = Channel.empty()
+ """
+ }
+ }
+
+ then {
+ assertAll(
+ { assert workflow.success },
+ { assert snapshot(
+ bam(workflow.out.bam[0][1]).getReadsMD5(),
+ workflow.out.stats,
+ workflow.out.flagstat,
+ workflow.out.idxstats,
+ workflow.out.versions
+ ).match() },
+ { assert path(workflow.out.bai.get(0).get(1)).exists() }
+ )
+ }
+ }
+}
\ No newline at end of file
diff --git a/subworkflows/nf-core/bam_dedup_umi/tests/main.nf.test.snap b/subworkflows/nf-core/bam_dedup_umi/tests/main.nf.test.snap
new file mode 100644
index 000000000..94151f04b
--- /dev/null
+++ b/subworkflows/nf-core/bam_dedup_umi/tests/main.nf.test.snap
@@ -0,0 +1,109 @@
+{
+ "sarscov2_bam_bai - umicollapse - no transcriptome bams": {
+ "content": [
+ "c1917631c47d16320d002b867e226a2e",
+ [
+ [
+ {
+ "id": "test"
+ },
+ "test.umi_dedup.genome.sorted.bam.stats:md5,a03e635b85a846a2650c7b747926c7ed"
+ ]
+ ],
+ [
+ [
+ {
+ "id": "test"
+ },
+ "test.umi_dedup.genome.sorted.bam.flagstat:md5,18d602435a02a4d721b78d1812622159"
+ ]
+ ],
+ [
+ [
+ {
+ "id": "test"
+ },
+ "test.umi_dedup.genome.sorted.bam.idxstats:md5,85d20a901eef23ca50c323638a2eb602"
+ ]
+ ],
+ [
+ "versions.yml:md5,3fe6727d1a90130a932400464233ab5d",
+ "versions.yml:md5,5d91176bd409dc54816e7e3a7773b5ef",
+ "versions.yml:md5,7eaf0c81f627dde8e2710a57e19b4d87",
+ "versions.yml:md5,d6bba04463b79564f053e7e5033025dd",
+ "versions.yml:md5,f90574f645fd8876ba52b89b2272afc1"
+ ]
+ ],
+ "meta": {
+ "nf-test": "0.9.2",
+ "nextflow": "24.10.2"
+ },
+ "timestamp": "2024-12-12T13:04:25.48875"
+ },
+ "sarscov2_bam_bai - umitools - with transcriptome bams": {
+ "content": [
+ "c1917631c47d16320d002b867e226a2e",
+ "fe38ce657d4208a850702bdbfaa062ca",
+ [
+ [
+ {
+ "id": "test"
+ },
+ "test.umi_dedup.genome.sorted.bam.stats:md5,a03e635b85a846a2650c7b747926c7ed"
+ ],
+ [
+ {
+ "id": "test"
+ },
+ "test.umi_dedup.transcriptome.sorted.bam.stats:md5,720f03daf649606a50c2cccbf135edc5"
+ ]
+ ],
+ [
+ [
+ {
+ "id": "test"
+ },
+ "test.umi_dedup.genome.sorted.bam.flagstat:md5,18d602435a02a4d721b78d1812622159"
+ ],
+ [
+ {
+ "id": "test"
+ },
+ "test.umi_dedup.transcriptome.sorted.bam.flagstat:md5,18d602435a02a4d721b78d1812622159"
+ ]
+ ],
+ [
+ [
+ {
+ "id": "test"
+ },
+ "test.umi_dedup.genome.sorted.bam.idxstats:md5,85d20a901eef23ca50c323638a2eb602"
+ ],
+ [
+ {
+ "id": "test"
+ },
+ "test.umi_dedup.transcriptome.sorted.bam.idxstats:md5,85d20a901eef23ca50c323638a2eb602"
+ ]
+ ],
+ [
+ "versions.yml:md5,017dce06e6fadba312ce46808e2b19ff",
+ "versions.yml:md5,0ca2bd583dd1951c792b526f768db343",
+ "versions.yml:md5,1e761d924c3e0f35284799aa566e7c1a",
+ "versions.yml:md5,43e34c4518b8d546b632b372bc282ac4",
+ "versions.yml:md5,9d7724974d6dc288b485b5509c89297b",
+ "versions.yml:md5,a4562f4cc5d04041a79ba57761e231d9",
+ "versions.yml:md5,acfef82b716e50563fb22f47f33de00a",
+ "versions.yml:md5,afd68b9511aecba9cc5d6f7dd4c34bbd",
+ "versions.yml:md5,c2fda58ea2b120a510502b9db24d8a16",
+ "versions.yml:md5,d531cd7e744b2f95659bdb544f2cd8a5",
+ "versions.yml:md5,e22174a7d3003395e8e8c34ebfba1719"
+ ]
+ ],
+ "meta": {
+ "nf-test": "0.9.2",
+ "nextflow": "24.10.2"
+ },
+ "timestamp": "2024-12-12T13:04:12.182087"
+ }
+}
\ No newline at end of file
diff --git a/subworkflows/nf-core/bam_dedup_umi/tests/nextflow.config b/subworkflows/nf-core/bam_dedup_umi/tests/nextflow.config
new file mode 100644
index 000000000..cd10b5c78
--- /dev/null
+++ b/subworkflows/nf-core/bam_dedup_umi/tests/nextflow.config
@@ -0,0 +1,38 @@
+process {
+ withName: '.*:BAM_DEDUP_STATS_SAMTOOLS_UMI(COLLAPSE|TOOLS)_GENOME:UMI(COLLAPSE|TOOLS_DEDUP)' {
+ ext.prefix = { "${meta.id}_umi_dedup.genome" }
+ }
+
+ withName: '.*:BAM_DEDUP_STATS_SAMTOOLS_UMI(COLLAPSE|TOOLS)_TRANSCRIPTOME:UMI(COLLAPSE|TOOLS_DEDUP)' {
+ ext.prefix = { "${meta.id}.umi_dedup.transcriptome.sorted" }
+ }
+
+ withName: '.*:BAM_DEDUP_STATS_SAMTOOLS_UMI(COLLAPSE|TOOLS)_GENOME:UMI(COLLAPSE|TOOLS_DEDUP)' {
+ ext.prefix = { "${meta.id}.umi_dedup.genome.sorted" }
+ }
+
+ withName: 'UMITOOLS_PREPAREFORRSEM' {
+ ext.prefix = { "${meta.id}_preparedforrsem" }
+ }
+
+ withName: 'BAM_DEDUP_UMI:SAMTOOLS_SORT' {
+ ext.args = '-n'
+ ext.prefix = { "${meta.id}.umi_dedup.transcriptome" }
+ }
+
+ withName: 'BAM_DEDUP_UMI:BAM_SORT_STATS_SAMTOOLS:SAMTOOLS_SORT' {
+ ext.prefix = { "${meta.id}.transcriptome.sorted" }
+ }
+
+ withName: 'BAM_DEDUP_UMI:BAM_SORT_STATS_SAMTOOLS:BAM_STATS_SAMTOOLS:.*' {
+ ext.prefix = { "${meta.id}.transcriptome.sorted.bam" }
+ }
+
+ withName: 'BAM_DEDUP_UMI:BAM_DEDUP_STATS_SAMTOOLS_UMI(COLLAPSE|TOOLS)_TRANSCRIPTOME:BAM_STATS_SAMTOOLS:.*' {
+ ext.prefix = { "${meta.id}.umi_dedup.transcriptome.sorted.bam" }
+ }
+
+ withName: 'BAM_DEDUP_UMI:BAM_DEDUP_STATS_SAMTOOLS_UMI(COLLAPSE|TOOLS)_GENOME:BAM_STATS_SAMTOOLS:.*' {
+ ext.prefix = { "${meta.id}.umi_dedup.genome.sorted.bam" }
+ }
+}
diff --git a/subworkflows/nf-core/fastq_qc_trim_filter_setstrandedness/main.nf b/subworkflows/nf-core/fastq_qc_trim_filter_setstrandedness/main.nf
index c655af415..7a4041c25 100644
--- a/subworkflows/nf-core/fastq_qc_trim_filter_setstrandedness/main.nf
+++ b/subworkflows/nf-core/fastq_qc_trim_filter_setstrandedness/main.nf
@@ -1,13 +1,17 @@
import groovy.json.JsonSlurper
-include { BBMAP_BBSPLIT } from '../../../modules/nf-core/bbmap/bbsplit'
-include { CAT_FASTQ } from '../../../modules/nf-core/cat/fastq/main'
-include { SORTMERNA } from '../../../modules/nf-core/sortmerna/main'
-include { SORTMERNA as SORTMERNA_INDEX } from '../../../modules/nf-core/sortmerna/main'
-
-include { FASTQ_SUBSAMPLE_FQ_SALMON } from '../fastq_subsample_fq_salmon'
-include { FASTQ_FASTQC_UMITOOLS_TRIMGALORE } from '../fastq_fastqc_umitools_trimgalore'
-include { FASTQ_FASTQC_UMITOOLS_FASTP } from '../fastq_fastqc_umitools_fastp'
+include { BBMAP_BBSPLIT } from '../../../modules/nf-core/bbmap/bbsplit'
+include { CAT_FASTQ } from '../../../modules/nf-core/cat/fastq/main'
+include { SORTMERNA } from '../../../modules/nf-core/sortmerna/main'
+include { SORTMERNA as SORTMERNA_INDEX } from '../../../modules/nf-core/sortmerna/main'
+include { FQ_LINT } from '../../../modules/nf-core/fq/lint/main'
+include { FQ_LINT as FQ_LINT_AFTER_TRIMMING } from '../../../modules/nf-core/fq/lint/main'
+include { FQ_LINT as FQ_LINT_AFTER_BBSPLIT } from '../../../modules/nf-core/fq/lint/main'
+include { FQ_LINT as FQ_LINT_AFTER_SORTMERNA } from '../../../modules/nf-core/fq/lint/main'
+
+include { FASTQ_SUBSAMPLE_FQ_SALMON } from '../fastq_subsample_fq_salmon'
+include { FASTQ_FASTQC_UMITOOLS_TRIMGALORE } from '../fastq_fastqc_umitools_trimgalore'
+include { FASTQ_FASTQC_UMITOOLS_FASTP } from '../fastq_fastqc_umitools_fastp'
def pass_trimmed_reads = [:]
@@ -106,6 +110,7 @@ workflow FASTQ_QC_TRIM_FILTER_SETSTRANDEDNESS {
umi_discard_read // integer: 0, 1 or 2
stranded_threshold // float: The fraction of stranded reads that must be assigned to a strandedness for confident assignment. Must be at least 0.5
unstranded_threshold // float: The difference in fraction of stranded reads assigned to 'forward' and 'reverse' below which a sample is classified as 'unstranded'
+ skip_linting // boolean: true/false
main:
@@ -113,6 +118,7 @@ workflow FASTQ_QC_TRIM_FILTER_SETSTRANDEDNESS {
ch_filtered_reads = Channel.empty()
ch_trim_read_count = Channel.empty()
ch_multiqc_files = Channel.empty()
+ ch_lint_log = Channel.empty()
ch_reads
.branch {
@@ -136,6 +142,19 @@ workflow FASTQ_QC_TRIM_FILTER_SETSTRANDEDNESS {
ch_versions = ch_versions.mix(CAT_FASTQ.out.versions.first())
+ //
+ // MODULE: Lint FastQ files
+ //
+
+ if(!skip_linting) {
+ FQ_LINT (
+ ch_filtered_reads
+ )
+ ch_versions = ch_versions.mix(FQ_LINT.out.versions.first())
+ ch_lint_log = ch_lint_log.mix(FQ_LINT.out.lint)
+ ch_reads = ch_reads.join(FQ_LINT.out.lint.map{it[0]})
+ }
+
//
// SUBWORKFLOW: Read QC, extract UMI and trim adapters with TrimGalore!
//
@@ -212,6 +231,14 @@ workflow FASTQ_QC_TRIM_FILTER_SETSTRANDEDNESS {
.map { [[:], it] }
)
+ if((!skip_linting) && (!skip_trimming)) {
+ FQ_LINT_AFTER_TRIMMING (
+ ch_filtered_reads
+ )
+ ch_lint_log = ch_lint_log.mix(FQ_LINT_AFTER_TRIMMING.out.lint)
+ ch_filtered_reads = ch_filtered_reads.join(FQ_LINT_AFTER_TRIMMING.out.lint.map{it[0]})
+ }
+
//
// MODULE: Remove genome contaminant reads
//
@@ -228,6 +255,14 @@ workflow FASTQ_QC_TRIM_FILTER_SETSTRANDEDNESS {
.set { ch_filtered_reads }
ch_versions = ch_versions.mix(BBMAP_BBSPLIT.out.versions.first())
+
+ if(!skip_linting) {
+ FQ_LINT_AFTER_BBSPLIT (
+ ch_filtered_reads
+ )
+ ch_lint_log = ch_lint_log.mix(FQ_LINT_AFTER_BBSPLIT.out.lint)
+ ch_filtered_reads = ch_filtered_reads.join(FQ_LINT_AFTER_BBSPLIT.out.lint.map{it[0]})
+ }
}
//
@@ -260,6 +295,14 @@ workflow FASTQ_QC_TRIM_FILTER_SETSTRANDEDNESS {
.mix(SORTMERNA.out.log)
ch_versions = ch_versions.mix(SORTMERNA.out.versions.first())
+
+ if(!skip_linting) {
+ FQ_LINT_AFTER_SORTMERNA (
+ ch_filtered_reads
+ )
+ ch_lint_log = ch_lint_log.mix(FQ_LINT_AFTER_SORTMERNA.out.lint)
+ ch_filtered_reads = ch_filtered_reads.join(FQ_LINT_AFTER_SORTMERNA.out.lint.map{it[0]})
+ }
}
// Branch FastQ channels if 'auto' specified to infer strandedness
@@ -312,6 +355,7 @@ workflow FASTQ_QC_TRIM_FILTER_SETSTRANDEDNESS {
emit:
+ lint_log = ch_lint_log
reads = ch_strand_inferred_fastq
trim_read_count = ch_trim_read_count
diff --git a/subworkflows/nf-core/fastq_qc_trim_filter_setstrandedness/meta.yml b/subworkflows/nf-core/fastq_qc_trim_filter_setstrandedness/meta.yml
index 6f92f56a0..433837d70 100644
--- a/subworkflows/nf-core/fastq_qc_trim_filter_setstrandedness/meta.yml
+++ b/subworkflows/nf-core/fastq_qc_trim_filter_setstrandedness/meta.yml
@@ -1,6 +1,5 @@
-# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/subworkflows/yaml-schema.json
name: "fastq_qc_trim_filter_setstrandedness"
-description: Basic FASTQ preprocessing for RNA-seq
+description: Performs linting, quality control, trimming, filtering, and strandedness determination on RNA-seq FASTQ files, preparing them for downstream analysis.
keywords:
- fastq
- rnaseq
@@ -19,39 +18,84 @@ components:
- fastq_fastqc_umitools_trimgalore
- fastq_fastqc_umitools_fastp
input:
- - meta:
- type: map
- description: |
- Groovy Map containing sample information
- e.g. [ id:'test' ]
- ch_reads:
- type: file
- description: |
- Channel with input FastQ files of size 1 and 2 for single-end and
- paired-end data, respectively.
+ description: Channel with input FastQ files
+ structure:
+ - meta:
+ type: map
+ description: Groovy Map containing sample information e.g. [ id:'test' ]
+ - reads:
+ type: file
+ description: FastQ files
+ pattern: "*.{fq,fastq},{,.gz}"
- ch_fasta:
- type: file
description: Channel with genome sequence in fasta format
+ structure:
+ - meta:
+ type: map
+ description: Metadata for the fasta file
+ - fasta:
+ type: file
+ description: Genome fasta file
+ pattern: "*.{fa,fasta}"
- ch_transcript_fasta:
- type: file
description: Channel with transcriptome sequence in fasta format
+ structure:
+ - meta:
+ type: map
+ description: Metadata for the transcript fasta file
+ - fasta:
+ type: file
+ description: Transcript fasta file
+ pattern: "*.{fa,fasta}"
- ch_gtf:
- type: file
description: Channel with features in GTF format
+ structure:
+ - meta:
+ type: map
+ description: Metadata for the GTF file
+ - gtf:
+ type: file
+ description: GTF file
+ pattern: "*.gtf"
- ch_salmon_index:
- type: file
description: Directory containing Salmon index
+ structure:
+ - meta:
+ type: map
+ description: Metadata for the Salmon index
+ - index:
+ type: directory
+ description: Salmon index directory
- ch_sortmerna_index:
- type: file
description: Directory containing sortmerna index
+ structure:
+ - meta:
+ type: map
+ description: Metadata for the SortMeRNA index
+ - index:
+ type: directory
+ description: SortMeRNA index directory
- ch_bbsplit_index:
- type: file
description: Path to directory or tar.gz archive for pre-built BBSplit index
+ structure:
+ - meta:
+ type: map
+ description: Metadata for the BBSplit index
+ - index:
+ type: file
+ description: BBSplit index directory or tar.gz archive
+ pattern: "{*,*.tar.gz}"
- ch_rrna_fastas:
- type: file
- description: |
- Channel containing one or more FASTA files containing rRNA sequences
- for use with SortMeRNA
+ description: Channel containing one or more FASTA files containing rRNA sequences for use with SortMeRNA
+ structure:
+ - meta:
+ type: map
+ description: Metadata for the rRNA fasta files
+ - fasta:
+ type: file
+ description: rRNA fasta files
+ pattern: "*.{fa,fasta}"
- skip_bbsplit:
type: boolean
description: Whether to skip BBSplit for removal of non-reference genome reads
@@ -63,9 +107,7 @@ input:
description: Whether to skip trimming
- skip_umi_extract:
type: boolean
- description: |
- Skip the UMI extraction from the read in case the UMIs have been moved
- to the headers in advance of the pipeline run
+ description: Skip the UMI extraction from the read in case the UMIs have been moved to the headers in advance of the pipeline run
- make_salmon_index:
type: boolean
description: Whether to create salmon index before running salmon quant
@@ -74,14 +116,10 @@ input:
description: Whether to create sortmerna index before running sortmerna
- trimmer:
type: string
- description: |
- Specifies the trimming tool to use - available options are 'trimgalore'
- and 'fastp'
+ description: Specifies the trimming tool to use - available options are 'trimgalore' and 'fastp'
- min_trimmed_reads:
type: integer
- description: |
- Minimum number of trimmed reads below which samples are removed from
- further processing
+ description: Minimum number of trimmed reads below which samples are removed from further processing
- save_trimmed:
type: boolean
description: Save the trimmed FastQ files in the results directory?
@@ -93,39 +131,66 @@ input:
description: Enable UMI-based read deduplication
- umi_discard_read:
type: integer
- description: |
- After UMI barcode extraction discard either R1 or R2 by setting this
- parameter to 1 or 2, respectively
+ description: After UMI barcode extraction discard either R1 or R2 by setting this parameter to 1 or 2, respectively
- stranded_threshold:
type: float
min: 0.5
- description: |
- The fraction of stranded reads that must be assigned to a strandedness
- for confident assignment. Must be at least 0.5.
+ description: The fraction of stranded reads that must be assigned to a strandedness for confident assignment. Must be at least 0.5.
- unstranded_threshold:
type: float
- description: |
- The difference in fraction of stranded reads assigned to 'forward' and
- 'reverse' below which a sample is classified as 'unstranded'.
+ description: The difference in fraction of stranded reads assigned to 'forward' and 'reverse' below which a sample is classified as 'unstranded'.
+ - skip_linting:
+ type: boolean
+ description: Whether to skip linting of FastQ files
output:
- reads:
- type: file
description: Preprocessed fastq reads
- pattern: "*.{fq,fastq}{,.gz}"
+ structure:
+ - meta:
+ type: map
+ description: Metadata for the preprocessed reads
+ - reads:
+ type: file
+ description: Preprocessed FastQ files
+ pattern: "*.{fq,fastq},{,.gz}"
- multiqc_files:
- type: file
- description: MultiQC-compatible output files from tools used in prepreocessing
- pattern: "*"
+ description: MultiQC-compatible output files from tools used in preprocessing
+ structure:
+ - meta:
+ type: map
+ description: Metadata for the MultiQC files
+ - mqc:
+ type: file
+ description: MultiQC-compatible files
+ pattern: "*"
- trim_read_count:
- type: integer
description: Number of reads remaining after trimming for all input samples
+ structure:
+ - meta:
+ type: map
+ description: Metadata for the trim read count
+ - count:
+ type: integer
+ description: Number of reads after trimming
- versions:
- type: file
- description: |
- File containing software versions
- Structure: [ path(versions.yml) ]
- pattern: "versions.yml"
+ description: File containing software versions
+ structure:
+ - versions:
+ type: file
+ description: File containing software versions
+ pattern: "versions.yml"
+ - lint_log:
+ description: Log files from FastQ linting
+ structure:
+ - meta:
+ type: map
+ description: Metadata for the lint log
+ - log:
+ type: file
+ description: FastQ lint log file
+ pattern: "*.log"
+
authors:
- "@pinin4fjords"
maintainers:
diff --git a/subworkflows/nf-core/fastq_qc_trim_filter_setstrandedness/nextflow.config b/subworkflows/nf-core/fastq_qc_trim_filter_setstrandedness/nextflow.config
new file mode 100644
index 000000000..05d9e8f94
--- /dev/null
+++ b/subworkflows/nf-core/fastq_qc_trim_filter_setstrandedness/nextflow.config
@@ -0,0 +1,36 @@
+process {
+
+ withName: 'FQ_LINT' {
+ ext.args = { params.extra_fqlint_args ?: '' }
+ publishDir = [
+ path: { "${params.outdir}/fq_lint/raw" },
+ mode: params.publish_dir_mode,
+ saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
+ ]
+ }
+
+ withName: 'FQ_LINT_AFTER_TRIMMING' {
+ publishDir = [
+ path: { "${params.outdir}/fq_lint/trimmed" },
+ mode: params.publish_dir_mode,
+ saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
+ ]
+ }
+
+ withName: 'FQ_LINT_AFTER_BBSPLIT' {
+ publishDir = [
+ path: { "${params.outdir}/fq_lint/sortmerna" },
+ mode: params.publish_dir_mode,
+ saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
+ ]
+ }
+
+ withName: 'FQ_LINT_AFTER_SORTMERNA' {
+ publishDir = [
+ path: { "${params.outdir}/fq_lint/trimmed" },
+ mode: params.publish_dir_mode,
+ saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
+ ]
+ }
+
+}
diff --git a/subworkflows/nf-core/fastq_qc_trim_filter_setstrandedness/tests/main.nf.test b/subworkflows/nf-core/fastq_qc_trim_filter_setstrandedness/tests/main.nf.test
index c752e176c..99c4d931a 100644
--- a/subworkflows/nf-core/fastq_qc_trim_filter_setstrandedness/tests/main.nf.test
+++ b/subworkflows/nf-core/fastq_qc_trim_filter_setstrandedness/tests/main.nf.test
@@ -5,6 +5,21 @@ nextflow_workflow {
workflow "FASTQ_QC_TRIM_FILTER_SETSTRANDEDNESS"
config "./nextflow.config"
+ tag "subworkflows"
+ tag "subworkflows_nfcore"
+ tag "subworkflows/fastq_qc_trim_filter_setstrandedness"
+
+ tag "bbmap/bbsplit"
+ tag "cat"
+ tag "cat/fastq"
+ tag "fastqc"
+ tag "sortmerna"
+ tag "subworkflows/fastq_fastqc_umitools_trimgalore"
+ tag "subworkflows/fastq_fastqc_umitools_fastp"
+ tag "subworkflows/fastq_subsample_fq_salmon"
+
+
+
test("homo_sapiens paired-end [fastq] fastp") {
when {
@@ -25,7 +40,7 @@ nextflow_workflow {
input[4] = [] // ch_salmon_index
input[5] = [] // ch_sortmerna_index
input[6] = [] // ch_bbsplit_index
- input[7] = Channel.of(file('https://raw.githubusercontent.com/biocore/sortmerna/v4.3.4/data/rRNA_databases/rfam-5.8s-database-id98.fasta', checkIfExists: true)) // ch_rrna_fastas
+ input[7] = Channel.of(file('https://raw.githubusercontent.com/biocore/sortmerna/v4.3.4/data/rRNA_databases/rfam-5.8s-database-id98.fasta', checkIfExists: true)) // ch_rrna_fastas
input[8] = true // skip_bbsplit
input[9] = false // skip_fastqc
input[10] = false // skip_trimming
@@ -40,6 +55,7 @@ nextflow_workflow {
input[19] = 0 // umi_discard_read
input[20] = 0.8 // stranded_threshold
input[21] = 0.1 // unstranded_threshold
+ input[22] = false // skip_linting
"""
}
}
@@ -47,13 +63,22 @@ nextflow_workflow {
then {
def pelines1 = path(workflow.out.reads[0][1][0]).linesGzip
def pelines2 = path(workflow.out.reads[0][1][1]).linesGzip
+
+ // First part of each fq lint report line is a timestamp, remove it before snapshotting
+ def processed_sortmerna_lint_report = path(workflow.out.lint_log.find { entry -> entry[1].contains('sortmerna')}?.getAt(1))
+ .getText()
+ .readLines()
+ .collect { line -> line.split(' ', 2)[1] } // Split by the first space and take everything after it
+ .join('\n') // Join the processed lines back into a single text block
+
assertAll(
{ assert workflow.success},
{ assert snapshot(pelines1).md5().match("fastp_test_pe_reads_1_lines") },
{ assert snapshot(pelines1.size()).match("fastp_test_pe_reads_1_size") },
{ assert snapshot(pelines2).md5().match("fastp_test_pe_reads_2_lines") },
{ assert snapshot(pelines2.size()).match("fastp_test_pe_reads_2_size") },
- { assert snapshot(workflow.out.trim_read_count).match("fastp_read_count") }
+ { assert snapshot(workflow.out.trim_read_count).match("fastp_read_count") },
+ { assert snapshot(processed_sortmerna_lint_report).md5().match("fastp_lint") }
// This doesn't work- 'cat' changes between Conda and Docker -
// leaving it here until we find a way to address that
// { assert snapshot(workflow.out.versions).match("fastp_versions") }
@@ -80,7 +105,7 @@ nextflow_workflow {
input[4] = [] // ch_salmon_index
input[5] = [] // ch_sortmerna_index
input[6] = [] // ch_bbsplit_index
- input[7] = Channel.of(file('https://raw.githubusercontent.com/biocore/sortmerna/v4.3.4/data/rRNA_databases/rfam-5.8s-database-id98.fasta', checkIfExists: true)) // ch_rrna_fastas
+ input[7] = Channel.of(file('https://raw.githubusercontent.com/biocore/sortmerna/v4.3.4/data/rRNA_databases/rfam-5.8s-database-id98.fasta', checkIfExists: true)) // ch_rrna_fastas
input[8] = true // skip_bbsplit
input[9] = false // skip_fastqc
input[10] = false // skip_trimming
@@ -95,6 +120,7 @@ nextflow_workflow {
input[19] = 0 // umi_discard_read
input[20] = 0.8 // stranded_threshold
input[21] = 0.1 // unstranded_threshold
+ input[22] = false // skip_linting
"""
}
}
@@ -102,19 +128,28 @@ nextflow_workflow {
then {
def pelines1 = path(workflow.out.reads[0][1][0]).linesGzip
def pelines2 = path(workflow.out.reads[0][1][1]).linesGzip
+
+ // First part of each fq lint report line is a timestamp, remove it before snapshotting
+ def processed_sortmerna_lint_report = path(workflow.out.lint_log.find { entry -> entry[1].contains('sortmerna')}?.getAt(1))
+ .getText()
+ .readLines()
+ .collect { line -> line.split(' ', 2)[1] } // Split by the first space and take everything after it
+ .join('\n') // Join the processed lines back into a single text block
+
assertAll(
{ assert workflow.success},
{ assert snapshot(pelines1).md5().match("trimgalore_test_pe_reads_1_lines") },
{ assert snapshot(pelines1.size()).match("trimgalore_test_pe_reads_1_size") },
{ assert snapshot(pelines2).md5().match("trimgalore_test_pe_reads_2_lines") },
{ assert snapshot(pelines2.size()).match("trimgalore_test_pe_reads_2_size") },
- { assert snapshot(workflow.out.trim_read_count).match("trimgalore_read_count") }
+ { assert snapshot(workflow.out.trim_read_count).match("trimgalore_read_count") },
+ { assert snapshot(processed_sortmerna_lint_report).md5().match("trimgalore_lint") }
// This doesn't work- 'cat' changes between Conda and Docker -
// leaving it here until we find a way to address that
//{ assert snapshot(workflow.out.versions).match("trimgalore_versions") }
)
}
}
-
+
}
diff --git a/subworkflows/nf-core/fastq_qc_trim_filter_setstrandedness/tests/main.nf.test.snap b/subworkflows/nf-core/fastq_qc_trim_filter_setstrandedness/tests/main.nf.test.snap
index 985349317..b02450659 100644
--- a/subworkflows/nf-core/fastq_qc_trim_filter_setstrandedness/tests/main.nf.test.snap
+++ b/subworkflows/nf-core/fastq_qc_trim_filter_setstrandedness/tests/main.nf.test.snap
@@ -13,82 +13,98 @@
]
],
"meta": {
- "nf-test": "0.8.4",
- "nextflow": "24.04.3"
+ "nf-test": "0.9.2",
+ "nextflow": "24.10.2"
},
- "timestamp": "2024-07-17T10:24:00.044553245"
+ "timestamp": "2024-12-02T12:56:09.941793"
},
"trimgalore_test_pe_reads_2_lines": {
"content": "eccf3e9e74589ff01c77fce7f4548e41",
"meta": {
- "nf-test": "0.8.4",
- "nextflow": "24.04.3"
+ "nf-test": "0.9.2",
+ "nextflow": "24.10.2"
},
- "timestamp": "2024-07-17T10:24:26.838793051"
+ "timestamp": "2024-12-02T12:56:34.948679"
},
"fastp_test_pe_reads_1_size": {
"content": [
4508
],
"meta": {
- "nf-test": "0.8.4",
- "nextflow": "24.04.3"
+ "nf-test": "0.9.2",
+ "nextflow": "24.10.2"
},
- "timestamp": "2024-07-17T10:23:59.889337984"
+ "timestamp": "2024-12-02T12:56:09.889501"
},
"trimgalore_test_pe_reads_1_size": {
"content": [
4508
],
"meta": {
- "nf-test": "0.8.4",
- "nextflow": "24.04.3"
+ "nf-test": "0.9.2",
+ "nextflow": "24.10.2"
},
- "timestamp": "2024-07-17T10:24:26.778599725"
+ "timestamp": "2024-12-02T12:56:34.91497"
+ },
+ "trimgalore_lint": {
+ "content": "daec499818124330ef90e5af47383f00",
+ "meta": {
+ "nf-test": "0.9.2",
+ "nextflow": "24.10.2"
+ },
+ "timestamp": "2024-12-02T12:56:34.952929"
},
"trimgalore_test_pe_reads_1_lines": {
"content": "3868fc1caf09367141d2bbf47e158823",
"meta": {
- "nf-test": "0.8.4",
- "nextflow": "24.04.3"
+ "nf-test": "0.9.2",
+ "nextflow": "24.10.2"
+ },
+ "timestamp": "2024-12-02T12:56:34.913312"
+ },
+ "fastp_lint": {
+ "content": "daec499818124330ef90e5af47383f00",
+ "meta": {
+ "nf-test": "0.9.2",
+ "nextflow": "24.10.2"
},
- "timestamp": "2024-07-17T10:24:26.774975135"
+ "timestamp": "2024-12-02T12:56:09.943788"
},
"fastp_test_pe_reads_2_lines": {
"content": "eccf3e9e74589ff01c77fce7f4548e41",
"meta": {
- "nf-test": "0.8.4",
- "nextflow": "24.04.3"
+ "nf-test": "0.9.2",
+ "nextflow": "24.10.2"
},
- "timestamp": "2024-07-17T10:23:59.997625278"
+ "timestamp": "2024-12-02T12:56:09.93962"
},
"fastp_test_pe_reads_2_size": {
"content": [
4508
],
"meta": {
- "nf-test": "0.8.4",
- "nextflow": "24.04.3"
+ "nf-test": "0.9.2",
+ "nextflow": "24.10.2"
},
- "timestamp": "2024-07-17T10:24:00.042449965"
+ "timestamp": "2024-12-02T12:56:09.940673"
},
"trimgalore_test_pe_reads_2_size": {
"content": [
4508
],
"meta": {
- "nf-test": "0.8.4",
- "nextflow": "24.04.3"
+ "nf-test": "0.9.2",
+ "nextflow": "24.10.2"
},
- "timestamp": "2024-07-17T10:24:26.841434261"
+ "timestamp": "2024-12-02T12:56:34.949981"
},
"fastp_test_pe_reads_1_lines": {
"content": "3868fc1caf09367141d2bbf47e158823",
"meta": {
- "nf-test": "0.8.4",
- "nextflow": "24.04.3"
+ "nf-test": "0.9.2",
+ "nextflow": "24.10.2"
},
- "timestamp": "2024-07-17T10:23:59.882844295"
+ "timestamp": "2024-12-02T12:56:09.887546"
},
"trimgalore_read_count": {
"content": [
@@ -104,9 +120,9 @@
]
],
"meta": {
- "nf-test": "0.8.4",
- "nextflow": "24.04.3"
+ "nf-test": "0.9.2",
+ "nextflow": "24.10.2"
},
- "timestamp": "2024-07-17T10:24:26.84402498"
+ "timestamp": "2024-12-02T12:56:34.951137"
}
}
\ No newline at end of file
diff --git a/subworkflows/nf-core/fastq_qc_trim_filter_setstrandedness/tests/nextflow.config b/subworkflows/nf-core/fastq_qc_trim_filter_setstrandedness/tests/nextflow.config
index 9e33e4b33..71f2d0d25 100644
--- a/subworkflows/nf-core/fastq_qc_trim_filter_setstrandedness/tests/nextflow.config
+++ b/subworkflows/nf-core/fastq_qc_trim_filter_setstrandedness/tests/nextflow.config
@@ -3,6 +3,19 @@
//
process {
+
+ withName: 'FQ_LINT_AFTER_TRIMMING' {
+ ext.prefix = { "${meta.id}.trimmed" }
+ }
+
+ withName: 'FQ_LINT_AFTER_BBMAP' {
+ ext.prefix = { "${meta.id}.bbmap" }
+ }
+
+ withName: 'FQ_LINT_AFTER_SORTMERNA' {
+ ext.prefix = { "${meta.id}.sortmerna" }
+ }
+
withName: 'FQ_SUBSAMPLE' {
ext.args = '--record-count 1000000 --seed 1'
ext.prefix = { "${meta.id}.subsampled" }
diff --git a/tests/.nftignore b/tests/.nftignore
index 6d2f0b8a8..7f3fad699 100644
--- a/tests/.nftignore
+++ b/tests/.nftignore
@@ -1,3 +1,4 @@
+fq_lint/*/*.fq_lint.txt
bbsplit/*.stats.txt
fastqc/*/*.{html,zip}
hisat2/log/*.hisat2.summary.log
@@ -12,6 +13,7 @@ star_rsem/*.{genes,isoforms}.results
star_rsem/log/*.log
star_salmon/log/*.Log.{final.out,out,progress.out}
trimgalore/*fastq.gz_trimming_report.txt
+umitools/*.umi_extract.log
{hisat2,star_rsem,star_salmon}/*.{bam,bam.bai}
{hisat2,star_rsem,star_salmon}/bigwig/*.{forward,reverse}.bigWig
{hisat2,star_rsem,star_salmon}/dupradar/box_plot/*_duprateExpBoxplot.pdf
@@ -30,6 +32,7 @@ trimgalore/*fastq.gz_trimming_report.txt
{hisat2,star_rsem,star_salmon}/stringtie/*.ballgown/t_data.ctab
{hisat2,star_rsem,star_salmon}/stringtie/*.gene.abundance.txt
{hisat2,star_rsem,star_salmon}/stringtie/*.{coverage,transcripts}.gtf
+{hisat2,star_rsem,star_salmon}/umitools/genomic_dedup_log/*_UMICollapse.log
{multiqc,multiqc/**}/multiqc_report.html
{multiqc,multiqc/**}/multiqc_report_data/fastqc_{raw,trimmed}_top_overrepresented_sequences_table.txt
{multiqc,multiqc/**}/multiqc_report_data/hisat2_pe_plot.txt
@@ -80,6 +83,8 @@ trimgalore/*fastq.gz_trimming_report.txt
{salmon,star_rsem,star_salmon}/deseq2_qc/deseq2.sample.dists.txt
{salmon,star_rsem,star_salmon}/deseq2_qc/size_factors/*.txt
{salmon,star_rsem,star_salmon}/deseq2_qc/size_factors/deseq2.size_factors.RData
+{salmon,star_rsem,star_salmon}/umitools/{genomic,transcriptomic}_dedup_log/*
+{salmon,star_rsem,star_salmon}/umitools/prepare_for_salmon_log/*
{salmon,star_salmon}/*/aux_info/fld.gz
{salmon,star_salmon}/*/aux_info/meta_info.json
{salmon,star_salmon}/*/libParams/flenDist.txt
diff --git a/tests/default.nf.test.snap b/tests/default.nf.test.snap
index 4165436ac..0fde0cc42 100644
--- a/tests/default.nf.test.snap
+++ b/tests/default.nf.test.snap
@@ -1,7 +1,7 @@
{
"Params: default - stub": {
"content": [
- 22,
+ 27,
{
"BBMAP_BBSPLIT": {
"bbmap": 39.1
@@ -18,6 +18,9 @@
"FASTQC": {
"fastqc": "0.12.1"
},
+ "FQ_LINT": {
+ "fq": "0.12.0 (2024-07-08)"
+ },
"GTF2BED": {
"perl": "5.26.2"
},
@@ -43,7 +46,7 @@
"untar": 1.34
},
"Workflow": {
- "nf-core/rnaseq": "v3.17.0"
+ "nf-core/rnaseq": "v3.18.0dev"
}
},
[
@@ -64,6 +67,13 @@
"fastqc/raw/WT_REP2_raw.html",
"fastqc/raw/WT_REP2_raw.zip",
"fastqc/trim",
+ "fq_lint",
+ "fq_lint/raw",
+ "fq_lint/raw/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/raw/WT_REP1.fq_lint.txt",
+ "fq_lint/raw/WT_REP2.fq_lint.txt",
"multiqc",
"multiqc/star_salmon",
"multiqc/star_salmon/multiqc_data",
@@ -88,13 +98,13 @@
],
"meta": {
"nf-test": "0.9.0",
- "nextflow": "24.04.4"
+ "nextflow": "24.10.2"
},
- "timestamp": "2024-10-23T10:43:40.33664602"
+ "timestamp": "2024-12-03T12:26:32.825018567"
},
"Params: default": {
"content": [
- 198,
+ 213,
{
"BBMAP_BBSPLIT": {
"bbmap": 39.1
@@ -128,6 +138,9 @@
"FASTQC": {
"fastqc": "0.12.1"
},
+ "FQ_LINT": {
+ "fq": "0.12.0 (2024-07-08)"
+ },
"FQ_SUBSAMPLE": {
"fq": "0.12.0 (2024-07-08)"
},
@@ -227,7 +240,7 @@
"untar": 1.34
},
"Workflow": {
- "nf-core/rnaseq": "v3.17.0"
+ "nf-core/rnaseq": "v3.18.0dev"
}
},
[
@@ -276,6 +289,25 @@
"fastqc/trim/WT_REP2_trimmed_1_val_1_fastqc.zip",
"fastqc/trim/WT_REP2_trimmed_2_val_2_fastqc.html",
"fastqc/trim/WT_REP2_trimmed_2_val_2_fastqc.zip",
+ "fq_lint",
+ "fq_lint/raw",
+ "fq_lint/raw/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/raw/WT_REP1.fq_lint.txt",
+ "fq_lint/raw/WT_REP2.fq_lint.txt",
+ "fq_lint/sortmerna",
+ "fq_lint/sortmerna/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/sortmerna/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/sortmerna/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/sortmerna/WT_REP1.fq_lint.txt",
+ "fq_lint/sortmerna/WT_REP2.fq_lint.txt",
+ "fq_lint/trimmed",
+ "fq_lint/trimmed/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/trimmed/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/trimmed/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/trimmed/WT_REP1.fq_lint.txt",
+ "fq_lint/trimmed/WT_REP2.fq_lint.txt",
"multiqc",
"multiqc/star_salmon",
"multiqc/star_salmon/multiqc_report.html",
@@ -1457,8 +1489,8 @@
],
"meta": {
"nf-test": "0.9.0",
- "nextflow": "24.04.4"
+ "nextflow": "24.10.2"
},
- "timestamp": "2024-10-23T10:42:45.202573855"
+ "timestamp": "2024-12-03T12:39:04.406597796"
}
}
\ No newline at end of file
diff --git a/tests/featurecounts_group_type.nf.test.snap b/tests/featurecounts_group_type.nf.test.snap
index dfd3f3d2c..c1d285eb5 100644
--- a/tests/featurecounts_group_type.nf.test.snap
+++ b/tests/featurecounts_group_type.nf.test.snap
@@ -1,7 +1,7 @@
{
"Params: --featurecounts_group_type false - stub": {
"content": [
- 22,
+ 27,
{
"BBMAP_BBSPLIT": {
"bbmap": 39.1
@@ -18,6 +18,9 @@
"FASTQC": {
"fastqc": "0.12.1"
},
+ "FQ_LINT": {
+ "fq": "0.12.0 (2024-07-08)"
+ },
"GTF2BED": {
"perl": "5.26.2"
},
@@ -43,7 +46,7 @@
"untar": 1.34
},
"Workflow": {
- "nf-core/rnaseq": "v3.17.0"
+ "nf-core/rnaseq": "v3.18.0dev"
}
},
[
@@ -64,6 +67,13 @@
"fastqc/raw/WT_REP2_raw.html",
"fastqc/raw/WT_REP2_raw.zip",
"fastqc/trim",
+ "fq_lint",
+ "fq_lint/raw",
+ "fq_lint/raw/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/raw/WT_REP1.fq_lint.txt",
+ "fq_lint/raw/WT_REP2.fq_lint.txt",
"multiqc",
"multiqc/star_salmon",
"multiqc/star_salmon/multiqc_data",
@@ -88,13 +98,13 @@
],
"meta": {
"nf-test": "0.9.0",
- "nextflow": "24.04.4"
+ "nextflow": "24.10.2"
},
- "timestamp": "2024-10-23T10:54:29.62339584"
+ "timestamp": "2024-12-03T17:26:42.742119846"
},
"Params: --featurecounts_group_type false": {
"content": [
- 188,
+ 203,
{
"BBMAP_BBSPLIT": {
"bbmap": 39.1
@@ -128,6 +138,9 @@
"FASTQC": {
"fastqc": "0.12.1"
},
+ "FQ_LINT": {
+ "fq": "0.12.0 (2024-07-08)"
+ },
"FQ_SUBSAMPLE": {
"fq": "0.12.0 (2024-07-08)"
},
@@ -221,7 +234,7 @@
"untar": 1.34
},
"Workflow": {
- "nf-core/rnaseq": "v3.17.0"
+ "nf-core/rnaseq": "v3.18.0dev"
}
},
[
@@ -270,6 +283,25 @@
"fastqc/trim/WT_REP2_trimmed_1_val_1_fastqc.zip",
"fastqc/trim/WT_REP2_trimmed_2_val_2_fastqc.html",
"fastqc/trim/WT_REP2_trimmed_2_val_2_fastqc.zip",
+ "fq_lint",
+ "fq_lint/raw",
+ "fq_lint/raw/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/raw/WT_REP1.fq_lint.txt",
+ "fq_lint/raw/WT_REP2.fq_lint.txt",
+ "fq_lint/sortmerna",
+ "fq_lint/sortmerna/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/sortmerna/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/sortmerna/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/sortmerna/WT_REP1.fq_lint.txt",
+ "fq_lint/sortmerna/WT_REP2.fq_lint.txt",
+ "fq_lint/trimmed",
+ "fq_lint/trimmed/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/trimmed/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/trimmed/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/trimmed/WT_REP1.fq_lint.txt",
+ "fq_lint/trimmed/WT_REP2.fq_lint.txt",
"multiqc",
"multiqc/star_salmon",
"multiqc/star_salmon/multiqc_report.html",
@@ -1407,8 +1439,8 @@
],
"meta": {
"nf-test": "0.9.0",
- "nextflow": "24.04.4"
+ "nextflow": "24.10.2"
},
- "timestamp": "2024-10-23T10:53:28.969150716"
+ "timestamp": "2024-12-03T17:25:47.179044158"
}
}
\ No newline at end of file
diff --git a/tests/hisat2.nf.test.snap b/tests/hisat2.nf.test.snap
index 4b39b7703..3c943fb61 100644
--- a/tests/hisat2.nf.test.snap
+++ b/tests/hisat2.nf.test.snap
@@ -1,7 +1,7 @@
{
"Params: --aligner hisat2 - stub": {
"content": [
- 23,
+ 28,
{
"BBMAP_BBSPLIT": {
"bbmap": 39.1
@@ -18,6 +18,9 @@
"FASTQC": {
"fastqc": "0.12.1"
},
+ "FQ_LINT": {
+ "fq": "0.12.0 (2024-07-08)"
+ },
"GTF2BED": {
"perl": "5.26.2"
},
@@ -44,7 +47,7 @@
"untar": 1.34
},
"Workflow": {
- "nf-core/rnaseq": "v3.17.0"
+ "nf-core/rnaseq": "v3.18.0dev"
}
},
[
@@ -65,6 +68,13 @@
"fastqc/raw/WT_REP2_raw.html",
"fastqc/raw/WT_REP2_raw.zip",
"fastqc/trim",
+ "fq_lint",
+ "fq_lint/raw",
+ "fq_lint/raw/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/raw/WT_REP1.fq_lint.txt",
+ "fq_lint/raw/WT_REP2.fq_lint.txt",
"multiqc",
"multiqc/hisat2",
"multiqc/hisat2/multiqc_data",
@@ -89,13 +99,13 @@
],
"meta": {
"nf-test": "0.9.0",
- "nextflow": "24.04.4"
+ "nextflow": "24.10.2"
},
- "timestamp": "2024-10-23T11:01:31.33505759"
+ "timestamp": "2024-12-03T17:39:53.585492305"
},
"Params: --aligner hisat2": {
"content": [
- 187,
+ 202,
{
"BBMAP_BBSPLIT": {
"bbmap": 39.1
@@ -125,6 +135,9 @@
"FASTQC": {
"fastqc": "0.12.1"
},
+ "FQ_LINT": {
+ "fq": "0.12.0 (2024-07-08)"
+ },
"FQ_SUBSAMPLE": {
"fq": "0.12.0 (2024-07-08)"
},
@@ -224,7 +237,7 @@
"untar": 1.34
},
"Workflow": {
- "nf-core/rnaseq": "v3.17.0"
+ "nf-core/rnaseq": "v3.18.0dev"
}
},
[
@@ -273,6 +286,25 @@
"fastqc/trim/WT_REP2_trimmed_1_val_1_fastqc.zip",
"fastqc/trim/WT_REP2_trimmed_2_val_2_fastqc.html",
"fastqc/trim/WT_REP2_trimmed_2_val_2_fastqc.zip",
+ "fq_lint",
+ "fq_lint/raw",
+ "fq_lint/raw/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/raw/WT_REP1.fq_lint.txt",
+ "fq_lint/raw/WT_REP2.fq_lint.txt",
+ "fq_lint/sortmerna",
+ "fq_lint/sortmerna/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/sortmerna/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/sortmerna/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/sortmerna/WT_REP1.fq_lint.txt",
+ "fq_lint/sortmerna/WT_REP2.fq_lint.txt",
+ "fq_lint/trimmed",
+ "fq_lint/trimmed/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/trimmed/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/trimmed/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/trimmed/WT_REP1.fq_lint.txt",
+ "fq_lint/trimmed/WT_REP2.fq_lint.txt",
"hisat2",
"hisat2/RAP1_IAA_30M_REP1.markdup.sorted.bam",
"hisat2/RAP1_IAA_30M_REP1.markdup.sorted.bam.bai",
@@ -1307,8 +1339,8 @@
],
"meta": {
"nf-test": "0.9.0",
- "nextflow": "24.04.4"
+ "nextflow": "24.10.2"
},
- "timestamp": "2024-10-23T11:00:43.422573373"
+ "timestamp": "2024-12-03T17:38:50.917761241"
}
}
\ No newline at end of file
diff --git a/tests/kallisto.nf.test.snap b/tests/kallisto.nf.test.snap
index 8bd57f925..d3a458f5d 100644
--- a/tests/kallisto.nf.test.snap
+++ b/tests/kallisto.nf.test.snap
@@ -1,7 +1,7 @@
{
"Params: --pseudo_aligner kallisto --skip_qc --skip_alignment": {
"content": [
- 35,
+ 50,
{
"BBMAP_BBSPLIT": {
"bbmap": 39.1
@@ -18,6 +18,9 @@
"CUSTOM_TX2GENE": {
"python": "3.10.4"
},
+ "FQ_LINT": {
+ "fq": "0.12.0 (2024-07-08)"
+ },
"FQ_SUBSAMPLE": {
"fq": "0.12.0 (2024-07-08)"
},
@@ -56,7 +59,7 @@
"untar": 1.34
},
"Workflow": {
- "nf-core/rnaseq": "v3.17.0"
+ "nf-core/rnaseq": "v3.18.0dev"
}
},
[
@@ -88,6 +91,25 @@
"fastqc/trim/WT_REP2_trimmed_1_val_1_fastqc.zip",
"fastqc/trim/WT_REP2_trimmed_2_val_2_fastqc.html",
"fastqc/trim/WT_REP2_trimmed_2_val_2_fastqc.zip",
+ "fq_lint",
+ "fq_lint/raw",
+ "fq_lint/raw/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/raw/WT_REP1.fq_lint.txt",
+ "fq_lint/raw/WT_REP2.fq_lint.txt",
+ "fq_lint/sortmerna",
+ "fq_lint/sortmerna/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/sortmerna/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/sortmerna/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/sortmerna/WT_REP1.fq_lint.txt",
+ "fq_lint/sortmerna/WT_REP2.fq_lint.txt",
+ "fq_lint/trimmed",
+ "fq_lint/trimmed/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/trimmed/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/trimmed/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/trimmed/WT_REP1.fq_lint.txt",
+ "fq_lint/trimmed/WT_REP2.fq_lint.txt",
"kallisto",
"kallisto/RAP1_IAA_30M_REP1",
"kallisto/RAP1_IAA_30M_REP1/abundance.h5",
@@ -251,13 +273,13 @@
],
"meta": {
"nf-test": "0.9.0",
- "nextflow": "24.04.4"
+ "nextflow": "24.10.2"
},
- "timestamp": "2024-10-23T11:04:57.579312846"
+ "timestamp": "2024-12-03T17:48:16.536464395"
},
"Params: --pseudo_aligner kallisto --skip_qc --skip_alignment - stub": {
"content": [
- 17,
+ 22,
{
"BBMAP_BBSPLIT": {
"bbmap": 39.1
@@ -271,6 +293,9 @@
"CUSTOM_GETCHROMSIZES": {
"getchromsizes": 1.21
},
+ "FQ_LINT": {
+ "fq": "0.12.0 (2024-07-08)"
+ },
"GTF2BED": {
"perl": "5.26.2"
},
@@ -294,7 +319,7 @@
"untar": 1.34
},
"Workflow": {
- "nf-core/rnaseq": "v3.17.0"
+ "nf-core/rnaseq": "v3.18.0dev"
}
},
[
@@ -304,6 +329,13 @@
"custom/out/genome_transcriptome.gtf",
"fastqc",
"fastqc/trim",
+ "fq_lint",
+ "fq_lint/raw",
+ "fq_lint/raw/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/raw/WT_REP1.fq_lint.txt",
+ "fq_lint/raw/WT_REP2.fq_lint.txt",
"multiqc",
"multiqc/multiqc_data",
"multiqc/multiqc_plots",
@@ -327,8 +359,8 @@
],
"meta": {
"nf-test": "0.9.0",
- "nextflow": "24.04.4"
+ "nextflow": "24.10.2"
},
- "timestamp": "2024-10-23T11:05:54.052864085"
+ "timestamp": "2024-12-03T17:49:02.306667165"
}
}
\ No newline at end of file
diff --git a/tests/min_mapped_reads.nf.test.snap b/tests/min_mapped_reads.nf.test.snap
index bc6454c98..e9a85eb85 100644
--- a/tests/min_mapped_reads.nf.test.snap
+++ b/tests/min_mapped_reads.nf.test.snap
@@ -1,7 +1,7 @@
{
"Params: --min_mapped_reads 90": {
"content": [
- 152,
+ 167,
{
"BBMAP_BBSPLIT": {
"bbmap": 39.1
@@ -35,6 +35,9 @@
"FASTQC": {
"fastqc": "0.12.1"
},
+ "FQ_LINT": {
+ "fq": "0.12.0 (2024-07-08)"
+ },
"FQ_SUBSAMPLE": {
"fq": "0.12.0 (2024-07-08)"
},
@@ -134,7 +137,7 @@
"untar": 1.34
},
"Workflow": {
- "nf-core/rnaseq": "v3.17.0"
+ "nf-core/rnaseq": "v3.18.0dev"
}
},
[
@@ -183,6 +186,25 @@
"fastqc/trim/WT_REP2_trimmed_1_val_1_fastqc.zip",
"fastqc/trim/WT_REP2_trimmed_2_val_2_fastqc.html",
"fastqc/trim/WT_REP2_trimmed_2_val_2_fastqc.zip",
+ "fq_lint",
+ "fq_lint/raw",
+ "fq_lint/raw/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/raw/WT_REP1.fq_lint.txt",
+ "fq_lint/raw/WT_REP2.fq_lint.txt",
+ "fq_lint/sortmerna",
+ "fq_lint/sortmerna/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/sortmerna/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/sortmerna/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/sortmerna/WT_REP1.fq_lint.txt",
+ "fq_lint/sortmerna/WT_REP2.fq_lint.txt",
+ "fq_lint/trimmed",
+ "fq_lint/trimmed/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/trimmed/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/trimmed/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/trimmed/WT_REP1.fq_lint.txt",
+ "fq_lint/trimmed/WT_REP2.fq_lint.txt",
"multiqc",
"multiqc/star_salmon",
"multiqc/star_salmon/multiqc_report.html",
@@ -1173,13 +1195,13 @@
],
"meta": {
"nf-test": "0.9.0",
- "nextflow": "24.04.4"
+ "nextflow": "24.10.2"
},
- "timestamp": "2024-10-23T11:18:04.553985917"
+ "timestamp": "2024-12-03T17:57:05.836924025"
},
"Params: --min_mapped_reads 90 - stub": {
"content": [
- 22,
+ 27,
{
"BBMAP_BBSPLIT": {
"bbmap": 39.1
@@ -1196,6 +1218,9 @@
"FASTQC": {
"fastqc": "0.12.1"
},
+ "FQ_LINT": {
+ "fq": "0.12.0 (2024-07-08)"
+ },
"GTF2BED": {
"perl": "5.26.2"
},
@@ -1221,7 +1246,7 @@
"untar": 1.34
},
"Workflow": {
- "nf-core/rnaseq": "v3.17.0"
+ "nf-core/rnaseq": "v3.18.0dev"
}
},
[
@@ -1242,6 +1267,13 @@
"fastqc/raw/WT_REP2_raw.html",
"fastqc/raw/WT_REP2_raw.zip",
"fastqc/trim",
+ "fq_lint",
+ "fq_lint/raw",
+ "fq_lint/raw/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/raw/WT_REP1.fq_lint.txt",
+ "fq_lint/raw/WT_REP2.fq_lint.txt",
"multiqc",
"multiqc/star_salmon",
"multiqc/star_salmon/multiqc_data",
@@ -1266,8 +1298,8 @@
],
"meta": {
"nf-test": "0.9.0",
- "nextflow": "24.04.4"
+ "nextflow": "24.10.2"
},
- "timestamp": "2024-10-23T11:19:22.443482528"
+ "timestamp": "2024-12-03T17:57:59.273391037"
}
}
\ No newline at end of file
diff --git a/tests/nextflow.config b/tests/nextflow.config
index 86b7ac5b4..942f65737 100644
--- a/tests/nextflow.config
+++ b/tests/nextflow.config
@@ -25,6 +25,10 @@ process {
memory = 3.GB
time = 2.h
}
+
+ withName: 'FASTQ_QC_TRIM_FILTER_SETSTRANDEDNESS:FQ_LINT_AFTER_SORTMERNA' {
+ ext.args = null
+ }
}
// Impose same minimum Nextflow version as the pipeline for testing
diff --git a/tests/remove_ribo_rna.nf.test.snap b/tests/remove_ribo_rna.nf.test.snap
index 0a379aea9..86a609166 100644
--- a/tests/remove_ribo_rna.nf.test.snap
+++ b/tests/remove_ribo_rna.nf.test.snap
@@ -1,7 +1,7 @@
{
"Params: --remove_ribo_rna": {
"content": [
- 205,
+ 225,
{
"BBMAP_BBSPLIT": {
"bbmap": 39.1
@@ -35,6 +35,9 @@
"FASTQC": {
"fastqc": "0.12.1"
},
+ "FQ_LINT": {
+ "fq": "0.12.0 (2024-07-08)"
+ },
"FQ_SUBSAMPLE": {
"fq": "0.12.0 (2024-07-08)"
},
@@ -140,7 +143,7 @@
"untar": 1.34
},
"Workflow": {
- "nf-core/rnaseq": "v3.17.0"
+ "nf-core/rnaseq": "v3.18.0dev"
}
},
[
@@ -189,6 +192,25 @@
"fastqc/trim/WT_REP2_trimmed_1_val_1_fastqc.zip",
"fastqc/trim/WT_REP2_trimmed_2_val_2_fastqc.html",
"fastqc/trim/WT_REP2_trimmed_2_val_2_fastqc.zip",
+ "fq_lint",
+ "fq_lint/raw",
+ "fq_lint/raw/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/raw/WT_REP1.fq_lint.txt",
+ "fq_lint/raw/WT_REP2.fq_lint.txt",
+ "fq_lint/sortmerna",
+ "fq_lint/sortmerna/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/sortmerna/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/sortmerna/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/sortmerna/WT_REP1.fq_lint.txt",
+ "fq_lint/sortmerna/WT_REP2.fq_lint.txt",
+ "fq_lint/trimmed",
+ "fq_lint/trimmed/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/trimmed/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/trimmed/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/trimmed/WT_REP1.fq_lint.txt",
+ "fq_lint/trimmed/WT_REP2.fq_lint.txt",
"multiqc",
"multiqc/star_salmon",
"multiqc/star_salmon/multiqc_report.html",
@@ -1384,13 +1406,13 @@
],
"meta": {
"nf-test": "0.9.0",
- "nextflow": "24.04.4"
+ "nextflow": "24.10.2"
},
- "timestamp": "2024-10-23T11:36:09.902195192"
+ "timestamp": "2024-12-03T18:13:03.469655405"
},
"Params: --remove_ribo_rna - stub": {
"content": [
- 24,
+ 29,
{
"BBMAP_BBSPLIT": {
"bbmap": 39.1
@@ -1407,6 +1429,9 @@
"FASTQC": {
"fastqc": "0.12.1"
},
+ "FQ_LINT": {
+ "fq": "0.12.0 (2024-07-08)"
+ },
"GTF2BED": {
"perl": "5.26.2"
},
@@ -1435,7 +1460,7 @@
"untar": 1.34
},
"Workflow": {
- "nf-core/rnaseq": "v3.17.0"
+ "nf-core/rnaseq": "v3.18.0dev"
}
},
[
@@ -1456,6 +1481,13 @@
"fastqc/raw/WT_REP2_raw.html",
"fastqc/raw/WT_REP2_raw.zip",
"fastqc/trim",
+ "fq_lint",
+ "fq_lint/raw",
+ "fq_lint/raw/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/raw/WT_REP1.fq_lint.txt",
+ "fq_lint/raw/WT_REP2.fq_lint.txt",
"multiqc",
"multiqc/star_salmon",
"multiqc/star_salmon/multiqc_data",
@@ -1480,8 +1512,8 @@
],
"meta": {
"nf-test": "0.9.0",
- "nextflow": "24.04.4"
+ "nextflow": "24.10.2"
},
- "timestamp": "2024-10-23T11:37:11.90905171"
+ "timestamp": "2024-12-03T18:13:56.979730403"
}
}
\ No newline at end of file
diff --git a/tests/salmon.nf.test.snap b/tests/salmon.nf.test.snap
index 1e6827546..fd9043460 100644
--- a/tests/salmon.nf.test.snap
+++ b/tests/salmon.nf.test.snap
@@ -1,7 +1,7 @@
{
"Params: --pseudo_aligner salmon --skip_qc --skip_alignment": {
"content": [
- 34,
+ 49,
{
"BBMAP_BBSPLIT": {
"bbmap": 39.1
@@ -18,6 +18,9 @@
"CUSTOM_TX2GENE": {
"python": "3.10.4"
},
+ "FQ_LINT": {
+ "fq": "0.12.0 (2024-07-08)"
+ },
"FQ_SUBSAMPLE": {
"fq": "0.12.0 (2024-07-08)"
},
@@ -50,7 +53,7 @@
"untar": 1.34
},
"Workflow": {
- "nf-core/rnaseq": "v3.17.0"
+ "nf-core/rnaseq": "v3.18.0dev"
}
},
[
@@ -82,6 +85,25 @@
"fastqc/trim/WT_REP2_trimmed_1_val_1_fastqc.zip",
"fastqc/trim/WT_REP2_trimmed_2_val_2_fastqc.html",
"fastqc/trim/WT_REP2_trimmed_2_val_2_fastqc.zip",
+ "fq_lint",
+ "fq_lint/raw",
+ "fq_lint/raw/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/raw/WT_REP1.fq_lint.txt",
+ "fq_lint/raw/WT_REP2.fq_lint.txt",
+ "fq_lint/sortmerna",
+ "fq_lint/sortmerna/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/sortmerna/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/sortmerna/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/sortmerna/WT_REP1.fq_lint.txt",
+ "fq_lint/sortmerna/WT_REP2.fq_lint.txt",
+ "fq_lint/trimmed",
+ "fq_lint/trimmed/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/trimmed/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/trimmed/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/trimmed/WT_REP1.fq_lint.txt",
+ "fq_lint/trimmed/WT_REP2.fq_lint.txt",
"multiqc",
"multiqc/multiqc_report.html",
"multiqc/multiqc_report_data",
@@ -327,13 +349,13 @@
],
"meta": {
"nf-test": "0.9.0",
- "nextflow": "24.04.4"
+ "nextflow": "24.10.2"
},
- "timestamp": "2024-10-23T11:41:47.859384178"
+ "timestamp": "2024-12-03T19:45:33.529844191"
},
"Params: --pseudo_aligner salmon --skip_qc --skip_alignment - stub": {
"content": [
- 16,
+ 21,
{
"BBMAP_BBSPLIT": {
"bbmap": 39.1
@@ -347,6 +369,9 @@
"CUSTOM_GETCHROMSIZES": {
"getchromsizes": 1.21
},
+ "FQ_LINT": {
+ "fq": "0.12.0 (2024-07-08)"
+ },
"GTF2BED": {
"perl": "5.26.2"
},
@@ -367,7 +392,7 @@
"untar": 1.34
},
"Workflow": {
- "nf-core/rnaseq": "v3.17.0"
+ "nf-core/rnaseq": "v3.18.0dev"
}
},
[
@@ -377,6 +402,13 @@
"custom/out/genome_transcriptome.gtf",
"fastqc",
"fastqc/trim",
+ "fq_lint",
+ "fq_lint/raw",
+ "fq_lint/raw/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/raw/WT_REP1.fq_lint.txt",
+ "fq_lint/raw/WT_REP2.fq_lint.txt",
"multiqc",
"multiqc/multiqc_data",
"multiqc/multiqc_plots",
@@ -400,8 +432,8 @@
],
"meta": {
"nf-test": "0.9.0",
- "nextflow": "24.04.4"
+ "nextflow": "24.10.2"
},
- "timestamp": "2024-10-23T11:42:36.34114827"
+ "timestamp": "2024-12-03T19:46:22.63337267"
}
}
\ No newline at end of file
diff --git a/tests/skip_qc.nf.test.snap b/tests/skip_qc.nf.test.snap
index a07a6dd43..ca881d057 100644
--- a/tests/skip_qc.nf.test.snap
+++ b/tests/skip_qc.nf.test.snap
@@ -1,7 +1,7 @@
{
"Params: --skip_qc - stub": {
"content": [
- 17,
+ 22,
{
"BBMAP_BBSPLIT": {
"bbmap": 39.1
@@ -15,6 +15,9 @@
"CUSTOM_GETCHROMSIZES": {
"getchromsizes": 1.21
},
+ "FQ_LINT": {
+ "fq": "0.12.0 (2024-07-08)"
+ },
"GTF2BED": {
"perl": "5.26.2"
},
@@ -40,7 +43,7 @@
"untar": 1.34
},
"Workflow": {
- "nf-core/rnaseq": "v3.17.0"
+ "nf-core/rnaseq": "v3.18.0dev"
}
},
[
@@ -50,6 +53,13 @@
"custom/out/genome_transcriptome.gtf",
"fastqc",
"fastqc/trim",
+ "fq_lint",
+ "fq_lint/raw",
+ "fq_lint/raw/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/raw/WT_REP1.fq_lint.txt",
+ "fq_lint/raw/WT_REP2.fq_lint.txt",
"multiqc",
"multiqc/star_salmon",
"multiqc/star_salmon/multiqc_data",
@@ -74,13 +84,13 @@
],
"meta": {
"nf-test": "0.9.0",
- "nextflow": "24.04.4"
+ "nextflow": "24.10.2"
},
- "timestamp": "2024-10-23T11:50:42.323505833"
+ "timestamp": "2024-12-03T18:20:52.010478721"
},
"Params: --skip_qc": {
"content": [
- 136,
+ 151,
{
"BBMAP_BBSPLIT": {
"bbmap": 39.1
@@ -100,6 +110,9 @@
"CUSTOM_TX2GENE": {
"python": "3.10.4"
},
+ "FQ_LINT": {
+ "fq": "0.12.0 (2024-07-08)"
+ },
"FQ_SUBSAMPLE": {
"fq": "0.12.0 (2024-07-08)"
},
@@ -169,7 +182,7 @@
"untar": 1.34
},
"Workflow": {
- "nf-core/rnaseq": "v3.17.0"
+ "nf-core/rnaseq": "v3.18.0dev"
}
},
[
@@ -201,6 +214,25 @@
"fastqc/trim/WT_REP2_trimmed_1_val_1_fastqc.zip",
"fastqc/trim/WT_REP2_trimmed_2_val_2_fastqc.html",
"fastqc/trim/WT_REP2_trimmed_2_val_2_fastqc.zip",
+ "fq_lint",
+ "fq_lint/raw",
+ "fq_lint/raw/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/raw/WT_REP1.fq_lint.txt",
+ "fq_lint/raw/WT_REP2.fq_lint.txt",
+ "fq_lint/sortmerna",
+ "fq_lint/sortmerna/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/sortmerna/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/sortmerna/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/sortmerna/WT_REP1.fq_lint.txt",
+ "fq_lint/sortmerna/WT_REP2.fq_lint.txt",
+ "fq_lint/trimmed",
+ "fq_lint/trimmed/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/trimmed/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/trimmed/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/trimmed/WT_REP1.fq_lint.txt",
+ "fq_lint/trimmed/WT_REP2.fq_lint.txt",
"multiqc",
"multiqc/star_salmon",
"multiqc/star_salmon/multiqc_report.html",
@@ -785,8 +817,8 @@
],
"meta": {
"nf-test": "0.9.0",
- "nextflow": "24.04.4"
+ "nextflow": "24.10.2"
},
- "timestamp": "2024-10-23T11:49:49.131172185"
+ "timestamp": "2024-12-03T18:20:07.800214285"
}
}
\ No newline at end of file
diff --git a/tests/skip_trimming.nf.test.snap b/tests/skip_trimming.nf.test.snap
index a0bfa97e4..35c14b87d 100644
--- a/tests/skip_trimming.nf.test.snap
+++ b/tests/skip_trimming.nf.test.snap
@@ -1,7 +1,7 @@
{
"Params: --skip_trimming": {
"content": [
- 193,
+ 203,
{
"BBMAP_BBSPLIT": {
"bbmap": 39.1
@@ -35,6 +35,9 @@
"FASTQC": {
"fastqc": "0.12.1"
},
+ "FQ_LINT": {
+ "fq": "0.12.0 (2024-07-08)"
+ },
"FQ_SUBSAMPLE": {
"fq": "0.12.0 (2024-07-08)"
},
@@ -130,7 +133,7 @@
"untar": 1.34
},
"Workflow": {
- "nf-core/rnaseq": "v3.17.0"
+ "nf-core/rnaseq": "v3.18.0dev"
}
},
[
@@ -162,6 +165,19 @@
"fastqc/raw/WT_REP2_raw_1_fastqc.zip",
"fastqc/raw/WT_REP2_raw_2_fastqc.html",
"fastqc/raw/WT_REP2_raw_2_fastqc.zip",
+ "fq_lint",
+ "fq_lint/raw",
+ "fq_lint/raw/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/raw/WT_REP1.fq_lint.txt",
+ "fq_lint/raw/WT_REP2.fq_lint.txt",
+ "fq_lint/sortmerna",
+ "fq_lint/sortmerna/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/sortmerna/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/sortmerna/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/sortmerna/WT_REP1.fq_lint.txt",
+ "fq_lint/sortmerna/WT_REP2.fq_lint.txt",
"multiqc",
"multiqc/star_salmon",
"multiqc/star_salmon/multiqc_report.html",
@@ -1255,8 +1271,8 @@
],
"meta": {
"nf-test": "0.9.0",
- "nextflow": "24.04.4"
+ "nextflow": "24.10.2"
},
- "timestamp": "2024-10-21T20:23:07.88998048"
+ "timestamp": "2024-12-03T18:28:59.906095781"
}
}
\ No newline at end of file
diff --git a/tests/star_rsem.nf.test.snap b/tests/star_rsem.nf.test.snap
index 31e9150d8..2b1b7eca7 100644
--- a/tests/star_rsem.nf.test.snap
+++ b/tests/star_rsem.nf.test.snap
@@ -1,7 +1,7 @@
{
"Params: --aligner star_rsem": {
"content": [
- 188,
+ 203,
{
"BBMAP_BBSPLIT": {
"bbmap": 39.1
@@ -35,6 +35,9 @@
"FASTQC": {
"fastqc": "0.12.1"
},
+ "FQ_LINT": {
+ "fq": "0.12.0 (2024-07-08)"
+ },
"FQ_SUBSAMPLE": {
"fq": "0.12.0 (2024-07-08)"
},
@@ -134,7 +137,7 @@
"untar": 1.34
},
"Workflow": {
- "nf-core/rnaseq": "v3.17.0"
+ "nf-core/rnaseq": "v3.18.0dev"
}
},
[
@@ -183,6 +186,25 @@
"fastqc/trim/WT_REP2_trimmed_1_val_1_fastqc.zip",
"fastqc/trim/WT_REP2_trimmed_2_val_2_fastqc.html",
"fastqc/trim/WT_REP2_trimmed_2_val_2_fastqc.zip",
+ "fq_lint",
+ "fq_lint/raw",
+ "fq_lint/raw/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/raw/WT_REP1.fq_lint.txt",
+ "fq_lint/raw/WT_REP2.fq_lint.txt",
+ "fq_lint/sortmerna",
+ "fq_lint/sortmerna/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/sortmerna/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/sortmerna/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/sortmerna/WT_REP1.fq_lint.txt",
+ "fq_lint/sortmerna/WT_REP2.fq_lint.txt",
+ "fq_lint/trimmed",
+ "fq_lint/trimmed/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/trimmed/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/trimmed/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/trimmed/WT_REP1.fq_lint.txt",
+ "fq_lint/trimmed/WT_REP2.fq_lint.txt",
"multiqc",
"multiqc/star_rsem",
"multiqc/star_rsem/multiqc_report.html",
@@ -1268,13 +1290,13 @@
],
"meta": {
"nf-test": "0.9.0",
- "nextflow": "24.04.4"
+ "nextflow": "24.10.2"
},
- "timestamp": "2024-10-23T12:16:02.205058346"
+ "timestamp": "2024-12-03T18:37:23.242230621"
},
"Params: --aligner star_rsem - stub": {
"content": [
- 22,
+ 27,
{
"BBMAP_BBSPLIT": {
"bbmap": 39.1
@@ -1291,6 +1313,9 @@
"FASTQC": {
"fastqc": "0.12.1"
},
+ "FQ_LINT": {
+ "fq": "0.12.0 (2024-07-08)"
+ },
"GTF2BED": {
"perl": "5.26.2"
},
@@ -1314,7 +1339,7 @@
"untar": 1.34
},
"Workflow": {
- "nf-core/rnaseq": "v3.17.0"
+ "nf-core/rnaseq": "v3.18.0dev"
}
},
[
@@ -1335,6 +1360,13 @@
"fastqc/raw/WT_REP2_raw.html",
"fastqc/raw/WT_REP2_raw.zip",
"fastqc/trim",
+ "fq_lint",
+ "fq_lint/raw",
+ "fq_lint/raw/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/raw/WT_REP1.fq_lint.txt",
+ "fq_lint/raw/WT_REP2.fq_lint.txt",
"multiqc",
"multiqc/star_rsem",
"multiqc/star_rsem/multiqc_data",
@@ -1359,8 +1391,8 @@
],
"meta": {
"nf-test": "0.9.0",
- "nextflow": "24.04.4"
+ "nextflow": "24.10.2"
},
- "timestamp": "2024-10-23T12:17:33.292700445"
+ "timestamp": "2024-12-03T18:38:21.04782292"
}
}
\ No newline at end of file
diff --git a/tests/umi.nf.test b/tests/umi.nf.test
new file mode 100644
index 000000000..dba4c07fe
--- /dev/null
+++ b/tests/umi.nf.test
@@ -0,0 +1,110 @@
+nextflow_pipeline {
+
+ name "Test pipeline with dummy UMI settings"
+ script "../main.nf"
+
+ test("Params: --aligner hisat2 --umi_dedup_tool 'umicollapse'") {
+
+ when {
+ params {
+ with_umi = true
+ umitools_extract_method = "regex"
+ umitools_bc_pattern = "^(?PCGA.{8}){s<=2}.*"
+ umitools_dedup_stats = true
+ skip_bbsplit = true
+ umi_dedup_tool = 'umicollapse'
+ aligner = 'hisat2'
+ outdir = "$outputDir"
+ }
+ }
+
+ then {
+ // stable_name: All files + folders in ${params.outdir}/ with a stable name
+ def stable_name = getAllFilesFromDir(params.outdir, relative: true, includeDir: true, ignore: ['pipeline_info/*.{html,json,txt}'])
+ // stable_path: All files in ${params.outdir}/ with stable content
+ def stable_path = getAllFilesFromDir(params.outdir, ignoreFile: 'tests/.nftignore')
+ assertAll(
+ { assert workflow.success},
+ { assert snapshot(
+ // Number of successful tasks
+ workflow.trace.succeeded().size(),
+ // pipeline versions.yml file for multiqc from which Nextflow version is removed because we tests pipelines on multiple Nextflow versions
+ removeNextflowVersion("$outputDir/pipeline_info/nf_core_rnaseq_software_mqc_versions.yml"),
+ // All stable path name, with a relative path
+ stable_name,
+ // All files with stable contents
+ stable_path
+ ).match() }
+ )
+ }
+ }
+
+ test("--umi_dedup_tool 'umitools'") {
+
+ when {
+ params {
+ with_umi = true
+ umitools_extract_method = "regex"
+ umitools_bc_pattern = "^(?PCGA.{8}){s<=2}.*"
+ umitools_dedup_stats = true
+ skip_bbsplit = true
+ outdir = "$outputDir"
+ }
+ }
+
+ then {
+ // stable_name: All files + folders in ${params.outdir}/ with a stable name
+ def stable_name = getAllFilesFromDir(params.outdir, relative: true, includeDir: true, ignore: ['pipeline_info/*.{html,json,txt}'])
+ // stable_path: All files in ${params.outdir}/ with stable content
+ def stable_path = getAllFilesFromDir(params.outdir, ignoreFile: 'tests/.nftignore')
+ assertAll(
+ { assert workflow.success},
+ { assert snapshot(
+ // Number of successful tasks
+ workflow.trace.succeeded().size(),
+ // pipeline versions.yml file for multiqc from which Nextflow version is removed because we tests pipelines on multiple Nextflow versions
+ removeNextflowVersion("$outputDir/pipeline_info/nf_core_rnaseq_software_mqc_versions.yml"),
+ // All stable path name, with a relative path
+ stable_name,
+ // All files with stable contents
+ stable_path
+ ).match() }
+ )
+ }
+ }
+
+ test("--umi_dedup_tool 'umitools - stub") {
+
+ options "-stub"
+
+ when {
+ params {
+ with_umi = true
+ umitools_extract_method = "regex"
+ umitools_bc_pattern = "^(?PCGA.{8}){s<=2}.*"
+ umitools_dedup_stats = true
+ outdir = "$outputDir"
+ }
+ }
+
+ then {
+ // stable_name: All files + folders in ${params.outdir}/ with a stable name
+ def stable_name = getAllFilesFromDir(params.outdir, relative: true, includeDir: true, ignore: ['pipeline_info/*.{html,json,txt}'])
+ // stable_path: All files in ${params.outdir}/ with stable content
+ def stable_path = getAllFilesFromDir(params.outdir, ignoreFile: 'tests/.nftignore')
+ assertAll(
+ { assert workflow.success},
+ { assert snapshot(
+ // Number of successful tasks
+ workflow.trace.succeeded().size(),
+ // pipeline versions.yml file for multiqc from which Nextflow version is removed because we tests pipelines on multiple Nextflow versions
+ removeNextflowVersion("$outputDir/pipeline_info/nf_core_rnaseq_software_mqc_versions.yml"),
+ // All stable path name, with a relative path
+ stable_name,
+ // All files with stable contents
+ stable_path
+ ).match() }
+ )
+ }
+ }
+}
diff --git a/tests/umi.nf.test.snap b/tests/umi.nf.test.snap
new file mode 100644
index 000000000..fd8700918
--- /dev/null
+++ b/tests/umi.nf.test.snap
@@ -0,0 +1,2812 @@
+{
+ "--umi_dedup_tool 'umitools'": {
+ "content": [
+ 265,
+ {
+ "BEDTOOLS_GENOMECOV_FW": {
+ "bedtools": "2.31.1"
+ },
+ "CAT_FASTQ": {
+ "cat": 9.5
+ },
+ "CUSTOM_CATADDITIONALFASTA": {
+ "python": "3.12.2"
+ },
+ "CUSTOM_GETCHROMSIZES": {
+ "getchromsizes": 1.21
+ },
+ "CUSTOM_TX2GENE": {
+ "python": "3.10.4"
+ },
+ "DESEQ2_QC_PSEUDO": {
+ "r-base": "4.0.3",
+ "bioconductor-deseq2": "1.28.0"
+ },
+ "DESEQ2_QC_STAR_SALMON": {
+ "r-base": "4.0.3",
+ "bioconductor-deseq2": "1.28.0"
+ },
+ "DUPRADAR": {
+ "bioconductor-dupradar": "1.32.0"
+ },
+ "FASTQC": {
+ "fastqc": "0.12.1"
+ },
+ "FQ_LINT": {
+ "fq": "0.12.0 (2024-07-08)"
+ },
+ "FQ_SUBSAMPLE": {
+ "fq": "0.12.0 (2024-07-08)"
+ },
+ "GTF2BED": {
+ "perl": "5.26.2"
+ },
+ "GTF_FILTER": {
+ "python": "3.9.5"
+ },
+ "GUNZIP_ADDITIONAL_FASTA": {
+ "gunzip": 1.1
+ },
+ "GUNZIP_GTF": {
+ "gunzip": 1.1
+ },
+ "MULTIQC_CUSTOM_BIOTYPE": {
+ "python": "3.9.5"
+ },
+ "QUALIMAP_RNASEQ": {
+ "qualimap": 2.3
+ },
+ "RSEQC_BAMSTAT": {
+ "rseqc": "5.0.2"
+ },
+ "RSEQC_INFEREXPERIMENT": {
+ "rseqc": "5.0.2"
+ },
+ "RSEQC_INNERDISTANCE": {
+ "rseqc": "5.0.2"
+ },
+ "RSEQC_JUNCTIONANNOTATION": {
+ "rseqc": "5.0.2"
+ },
+ "RSEQC_JUNCTIONSATURATION": {
+ "rseqc": "5.0.2"
+ },
+ "RSEQC_READDISTRIBUTION": {
+ "rseqc": "5.0.2"
+ },
+ "RSEQC_READDUPLICATION": {
+ "rseqc": "5.0.2"
+ },
+ "SALMON_QUANT": {
+ "salmon": "1.10.3"
+ },
+ "SAMTOOLS_FLAGSTAT": {
+ "samtools": 1.21
+ },
+ "SAMTOOLS_IDXSTATS": {
+ "samtools": 1.21
+ },
+ "SAMTOOLS_INDEX": {
+ "samtools": 1.21
+ },
+ "SAMTOOLS_SORT": {
+ "samtools": 1.21
+ },
+ "SAMTOOLS_STATS": {
+ "samtools": 1.21
+ },
+ "SE_GENE": {
+ "bioconductor-summarizedexperiment": "1.32.0"
+ },
+ "STAR_ALIGN": {
+ "star": "2.7.11b",
+ "samtools": 1.2,
+ "gawk": "5.1.0"
+ },
+ "STAR_GENOMEGENERATE": {
+ "star": "2.7.11b",
+ "samtools": 1.2,
+ "gawk": "5.1.0"
+ },
+ "STRINGTIE_STRINGTIE": {
+ "stringtie": "2.2.3"
+ },
+ "SUBREAD_FEATURECOUNTS": {
+ "subread": "2.0.6"
+ },
+ "TRIMGALORE": {
+ "trimgalore": "0.6.10",
+ "cutadapt": 4.9
+ },
+ "TXIMETA_TXIMPORT": {
+ "bioconductor-tximeta": "1.20.1"
+ },
+ "UCSC_BEDCLIP": {
+ "ucsc": 377
+ },
+ "UCSC_BEDGRAPHTOBIGWIG": {
+ "ucsc": 469
+ },
+ "UMITOOLS_DEDUP": {
+ "umitools": "1.1.5"
+ },
+ "UMITOOLS_EXTRACT": {
+ "umitools": "1.1.5"
+ },
+ "UMITOOLS_PREPAREFORRSEM": {
+ "umitools": "1.1.5"
+ },
+ "UNTAR_SALMON_INDEX": {
+ "untar": 1.34
+ },
+ "Workflow": {
+ "nf-core/rnaseq": "v3.18.0dev"
+ }
+ },
+ [
+ "custom",
+ "custom/out",
+ "custom/out/genome_gfp.fasta",
+ "custom/out/genome_gfp.gtf",
+ "fastqc",
+ "fastqc/raw",
+ "fastqc/raw/RAP1_IAA_30M_REP1_raw_1_fastqc.html",
+ "fastqc/raw/RAP1_IAA_30M_REP1_raw_1_fastqc.zip",
+ "fastqc/raw/RAP1_IAA_30M_REP1_raw_2_fastqc.html",
+ "fastqc/raw/RAP1_IAA_30M_REP1_raw_2_fastqc.zip",
+ "fastqc/raw/RAP1_UNINDUCED_REP1_raw_fastqc.html",
+ "fastqc/raw/RAP1_UNINDUCED_REP1_raw_fastqc.zip",
+ "fastqc/raw/RAP1_UNINDUCED_REP2_raw_fastqc.html",
+ "fastqc/raw/RAP1_UNINDUCED_REP2_raw_fastqc.zip",
+ "fastqc/raw/WT_REP1_raw_1_fastqc.html",
+ "fastqc/raw/WT_REP1_raw_1_fastqc.zip",
+ "fastqc/raw/WT_REP1_raw_2_fastqc.html",
+ "fastqc/raw/WT_REP1_raw_2_fastqc.zip",
+ "fastqc/raw/WT_REP2_raw_1_fastqc.html",
+ "fastqc/raw/WT_REP2_raw_1_fastqc.zip",
+ "fastqc/raw/WT_REP2_raw_2_fastqc.html",
+ "fastqc/raw/WT_REP2_raw_2_fastqc.zip",
+ "fastqc/trim",
+ "fastqc/trim/RAP1_IAA_30M_REP1_trimmed_1_val_1_fastqc.html",
+ "fastqc/trim/RAP1_IAA_30M_REP1_trimmed_1_val_1_fastqc.zip",
+ "fastqc/trim/RAP1_IAA_30M_REP1_trimmed_2_val_2_fastqc.html",
+ "fastqc/trim/RAP1_IAA_30M_REP1_trimmed_2_val_2_fastqc.zip",
+ "fastqc/trim/RAP1_UNINDUCED_REP1_trimmed_trimmed_fastqc.html",
+ "fastqc/trim/RAP1_UNINDUCED_REP1_trimmed_trimmed_fastqc.zip",
+ "fastqc/trim/RAP1_UNINDUCED_REP2_trimmed_trimmed_fastqc.html",
+ "fastqc/trim/RAP1_UNINDUCED_REP2_trimmed_trimmed_fastqc.zip",
+ "fastqc/trim/WT_REP1_trimmed_1_val_1_fastqc.html",
+ "fastqc/trim/WT_REP1_trimmed_1_val_1_fastqc.zip",
+ "fastqc/trim/WT_REP1_trimmed_2_val_2_fastqc.html",
+ "fastqc/trim/WT_REP1_trimmed_2_val_2_fastqc.zip",
+ "fastqc/trim/WT_REP2_trimmed_1_val_1_fastqc.html",
+ "fastqc/trim/WT_REP2_trimmed_1_val_1_fastqc.zip",
+ "fastqc/trim/WT_REP2_trimmed_2_val_2_fastqc.html",
+ "fastqc/trim/WT_REP2_trimmed_2_val_2_fastqc.zip",
+ "fq_lint",
+ "fq_lint/raw",
+ "fq_lint/raw/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/raw/WT_REP1.fq_lint.txt",
+ "fq_lint/raw/WT_REP2.fq_lint.txt",
+ "fq_lint/trimmed",
+ "fq_lint/trimmed/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/trimmed/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/trimmed/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/trimmed/WT_REP1.fq_lint.txt",
+ "fq_lint/trimmed/WT_REP2.fq_lint.txt",
+ "multiqc",
+ "multiqc/star_salmon",
+ "multiqc/star_salmon/multiqc_report.html",
+ "multiqc/star_salmon/multiqc_report_data",
+ "multiqc/star_salmon/multiqc_report_data/cutadapt_filtered_reads_plot.txt",
+ "multiqc/star_salmon/multiqc_report_data/cutadapt_trimmed_sequences_plot_3_Counts.txt",
+ "multiqc/star_salmon/multiqc_report_data/cutadapt_trimmed_sequences_plot_3_Obs_Exp.txt",
+ "multiqc/star_salmon/multiqc_report_data/fastqc_raw-status-check-heatmap.txt",
+ "multiqc/star_salmon/multiqc_report_data/fastqc_raw_adapter_content_plot.txt",
+ "multiqc/star_salmon/multiqc_report_data/fastqc_raw_overrepresented_sequences_plot.txt",
+ "multiqc/star_salmon/multiqc_report_data/fastqc_raw_per_base_n_content_plot.txt",
+ "multiqc/star_salmon/multiqc_report_data/fastqc_raw_per_base_sequence_quality_plot.txt",
+ "multiqc/star_salmon/multiqc_report_data/fastqc_raw_per_sequence_gc_content_plot_Counts.txt",
+ "multiqc/star_salmon/multiqc_report_data/fastqc_raw_per_sequence_gc_content_plot_Percentages.txt",
+ "multiqc/star_salmon/multiqc_report_data/fastqc_raw_per_sequence_quality_scores_plot.txt",
+ "multiqc/star_salmon/multiqc_report_data/fastqc_raw_sequence_counts_plot.txt",
+ "multiqc/star_salmon/multiqc_report_data/fastqc_raw_sequence_duplication_levels_plot.txt",
+ "multiqc/star_salmon/multiqc_report_data/fastqc_raw_top_overrepresented_sequences_table.txt",
+ "multiqc/star_salmon/multiqc_report_data/fastqc_sequence_length_distribution_plot.txt",
+ "multiqc/star_salmon/multiqc_report_data/fastqc_trimmed-status-check-heatmap.txt",
+ "multiqc/star_salmon/multiqc_report_data/fastqc_trimmed_overrepresented_sequences_plot.txt",
+ "multiqc/star_salmon/multiqc_report_data/fastqc_trimmed_per_base_n_content_plot.txt",
+ "multiqc/star_salmon/multiqc_report_data/fastqc_trimmed_per_base_sequence_quality_plot.txt",
+ "multiqc/star_salmon/multiqc_report_data/fastqc_trimmed_per_sequence_gc_content_plot_Counts.txt",
+ "multiqc/star_salmon/multiqc_report_data/fastqc_trimmed_per_sequence_gc_content_plot_Percentages.txt",
+ "multiqc/star_salmon/multiqc_report_data/fastqc_trimmed_per_sequence_quality_scores_plot.txt",
+ "multiqc/star_salmon/multiqc_report_data/fastqc_trimmed_sequence_counts_plot.txt",
+ "multiqc/star_salmon/multiqc_report_data/fastqc_trimmed_sequence_duplication_levels_plot.txt",
+ "multiqc/star_salmon/multiqc_report_data/fastqc_trimmed_top_overrepresented_sequences_table.txt",
+ "multiqc/star_salmon/multiqc_report_data/junction_saturation_known.txt",
+ "multiqc/star_salmon/multiqc_report_data/junction_saturation_novel.txt",
+ "multiqc/star_salmon/multiqc_report_data/multiqc.log",
+ "multiqc/star_salmon/multiqc_report_data/multiqc_citations.txt",
+ "multiqc/star_salmon/multiqc_report_data/multiqc_cutadapt.txt",
+ "multiqc/star_salmon/multiqc_report_data/multiqc_data.json",
+ "multiqc/star_salmon/multiqc_report_data/multiqc_dupradar.txt",
+ "multiqc/star_salmon/multiqc_report_data/multiqc_fail_strand_check_table.txt",
+ "multiqc/star_salmon/multiqc_report_data/multiqc_fastqc_fastqc_raw.txt",
+ "multiqc/star_salmon/multiqc_report_data/multiqc_fastqc_fastqc_trimmed.txt",
+ "multiqc/star_salmon/multiqc_report_data/multiqc_featurecounts_biotype_plot.txt",
+ "multiqc/star_salmon/multiqc_report_data/multiqc_general_stats.txt",
+ "multiqc/star_salmon/multiqc_report_data/multiqc_rseqc_bam_stat.txt",
+ "multiqc/star_salmon/multiqc_report_data/multiqc_rseqc_infer_experiment.txt",
+ "multiqc/star_salmon/multiqc_report_data/multiqc_rseqc_junction_annotation.txt",
+ "multiqc/star_salmon/multiqc_report_data/multiqc_rseqc_read_distribution.txt",
+ "multiqc/star_salmon/multiqc_report_data/multiqc_salmon.txt",
+ "multiqc/star_salmon/multiqc_report_data/multiqc_sample-relationships.txt",
+ "multiqc/star_salmon/multiqc_report_data/multiqc_sample-relationships_1.txt",
+ "multiqc/star_salmon/multiqc_report_data/multiqc_sample-relationships_2.txt",
+ "multiqc/star_salmon/multiqc_report_data/multiqc_sample-relationships_3.txt",
+ "multiqc/star_salmon/multiqc_report_data/multiqc_samtools_flagstat.txt",
+ "multiqc/star_salmon/multiqc_report_data/multiqc_samtools_idxstats.txt",
+ "multiqc/star_salmon/multiqc_report_data/multiqc_samtools_stats.txt",
+ "multiqc/star_salmon/multiqc_report_data/multiqc_software_versions.txt",
+ "multiqc/star_salmon/multiqc_report_data/multiqc_sources.txt",
+ "multiqc/star_salmon/multiqc_report_data/multiqc_star.txt",
+ "multiqc/star_salmon/multiqc_report_data/multiqc_umitools_dedup.txt",
+ "multiqc/star_salmon/multiqc_report_data/multiqc_umitools_extract.txt",
+ "multiqc/star_salmon/multiqc_report_data/qualimap_gene_coverage_profile_Counts.txt",
+ "multiqc/star_salmon/multiqc_report_data/qualimap_gene_coverage_profile_Normalised.txt",
+ "multiqc/star_salmon/multiqc_report_data/qualimap_genomic_origin.txt",
+ "multiqc/star_salmon/multiqc_report_data/qualimap_rnaseq_cov_hist.txt",
+ "multiqc/star_salmon/multiqc_report_data/qualimap_rnaseq_genome_results.txt",
+ "multiqc/star_salmon/multiqc_report_data/rseqc_bam_stat.txt",
+ "multiqc/star_salmon/multiqc_report_data/rseqc_infer_experiment_plot.txt",
+ "multiqc/star_salmon/multiqc_report_data/rseqc_inner_distance.txt",
+ "multiqc/star_salmon/multiqc_report_data/rseqc_inner_distance_plot_Counts.txt",
+ "multiqc/star_salmon/multiqc_report_data/rseqc_inner_distance_plot_Percentages.txt",
+ "multiqc/star_salmon/multiqc_report_data/rseqc_junction_annotation_junctions_plot_Events.txt",
+ "multiqc/star_salmon/multiqc_report_data/rseqc_junction_annotation_junctions_plot_Junctions.txt",
+ "multiqc/star_salmon/multiqc_report_data/rseqc_junction_saturation_all.txt",
+ "multiqc/star_salmon/multiqc_report_data/rseqc_junction_saturation_plot_All_Junctions.txt",
+ "multiqc/star_salmon/multiqc_report_data/rseqc_junction_saturation_plot_Known_Junctions.txt",
+ "multiqc/star_salmon/multiqc_report_data/rseqc_junction_saturation_plot_Novel_Junctions.txt",
+ "multiqc/star_salmon/multiqc_report_data/rseqc_read_distribution_plot.txt",
+ "multiqc/star_salmon/multiqc_report_data/rseqc_read_dups.txt",
+ "multiqc/star_salmon/multiqc_report_data/rseqc_read_dups_plot.txt",
+ "multiqc/star_salmon/multiqc_report_data/salmon_plot.txt",
+ "multiqc/star_salmon/multiqc_report_data/samtools-flagstat-dp_Percentage_of_total.txt",
+ "multiqc/star_salmon/multiqc_report_data/samtools-flagstat-dp_Read_counts.txt",
+ "multiqc/star_salmon/multiqc_report_data/samtools-idxstats-mapped-reads-plot_Normalised_Counts.txt",
+ "multiqc/star_salmon/multiqc_report_data/samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts.txt",
+ "multiqc/star_salmon/multiqc_report_data/samtools-idxstats-mapped-reads-plot_Raw_Counts.txt",
+ "multiqc/star_salmon/multiqc_report_data/samtools-stats-dp.txt",
+ "multiqc/star_salmon/multiqc_report_data/samtools_alignment_plot.txt",
+ "multiqc/star_salmon/multiqc_report_data/star_alignment_plot.txt",
+ "multiqc/star_salmon/multiqc_report_data/star_summary_table.txt",
+ "multiqc/star_salmon/multiqc_report_data/umitools_deduplication_barplot.txt",
+ "multiqc/star_salmon/multiqc_report_data/umitools_stats_violin.txt",
+ "multiqc/star_salmon/multiqc_report_plots",
+ "multiqc/star_salmon/multiqc_report_plots/pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/cutadapt_filtered_reads_plot-cnt.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/cutadapt_filtered_reads_plot-pct.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/cutadapt_trimmed_sequences_plot_3_Counts.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/cutadapt_trimmed_sequences_plot_3_Obs_Exp.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/dupradar.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/fail_strand_check_table.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/fastqc_raw-status-check-heatmap.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/fastqc_raw_adapter_content_plot.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/fastqc_raw_overrepresented_sequences_plot.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/fastqc_raw_per_base_n_content_plot.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/fastqc_raw_per_base_sequence_quality_plot.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/fastqc_raw_per_sequence_gc_content_plot_Counts.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/fastqc_raw_per_sequence_gc_content_plot_Percentages.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/fastqc_raw_per_sequence_quality_scores_plot.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/fastqc_raw_sequence_counts_plot-cnt.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/fastqc_raw_sequence_counts_plot-pct.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/fastqc_raw_sequence_duplication_levels_plot.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/fastqc_raw_top_overrepresented_sequences_table.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/fastqc_sequence_length_distribution_plot.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/fastqc_trimmed-status-check-heatmap.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/fastqc_trimmed_overrepresented_sequences_plot.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/fastqc_trimmed_per_base_n_content_plot.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/fastqc_trimmed_per_base_sequence_quality_plot.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/fastqc_trimmed_per_sequence_gc_content_plot_Counts.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/fastqc_trimmed_per_sequence_gc_content_plot_Percentages.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/fastqc_trimmed_per_sequence_quality_scores_plot.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/fastqc_trimmed_sequence_counts_plot-cnt.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/fastqc_trimmed_sequence_counts_plot-pct.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/fastqc_trimmed_sequence_duplication_levels_plot.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/fastqc_trimmed_top_overrepresented_sequences_table.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/featurecounts_biotype_plot-cnt.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/featurecounts_biotype_plot-pct.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/general_stats_table.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/qualimap_gene_coverage_profile_Counts.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/qualimap_gene_coverage_profile_Normalised.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/qualimap_genomic_origin-cnt.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/qualimap_genomic_origin-pct.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/rseqc_bam_stat.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/rseqc_infer_experiment_plot.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/rseqc_inner_distance_plot_Counts.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/rseqc_inner_distance_plot_Percentages.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/rseqc_junction_annotation_junctions_plot_Events-cnt.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/rseqc_junction_annotation_junctions_plot_Events-pct.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/rseqc_junction_annotation_junctions_plot_Junctions-cnt.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/rseqc_junction_annotation_junctions_plot_Junctions-pct.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/rseqc_junction_saturation_plot_All_Junctions.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/rseqc_junction_saturation_plot_Known_Junctions.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/rseqc_junction_saturation_plot_Novel_Junctions.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/rseqc_read_distribution_plot-cnt.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/rseqc_read_distribution_plot-pct.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/rseqc_read_dups_plot.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/salmon_plot.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/sample-relationships.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/samtools-flagstat-dp_Percentage_of_total.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/samtools-flagstat-dp_Read_counts.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/samtools-idxstats-mapped-reads-plot_Normalised_Counts-cnt.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/samtools-idxstats-mapped-reads-plot_Normalised_Counts-log.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts-cnt.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts-log.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/samtools-idxstats-mapped-reads-plot_Raw_Counts-cnt.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/samtools-idxstats-mapped-reads-plot_Raw_Counts-log.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/samtools-stats-dp.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/samtools_alignment_plot-cnt.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/samtools_alignment_plot-pct.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/star_alignment_plot-cnt.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/star_alignment_plot-pct.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/star_summary_table.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/umitools_deduplication_barplot-cnt.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/umitools_deduplication_barplot-pct.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/pdf/umitools_stats_violin.pdf",
+ "multiqc/star_salmon/multiqc_report_plots/png",
+ "multiqc/star_salmon/multiqc_report_plots/png/cutadapt_filtered_reads_plot-cnt.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/cutadapt_filtered_reads_plot-pct.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/cutadapt_trimmed_sequences_plot_3_Counts.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/cutadapt_trimmed_sequences_plot_3_Obs_Exp.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/dupradar.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/fail_strand_check_table.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/fastqc_raw-status-check-heatmap.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/fastqc_raw_adapter_content_plot.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/fastqc_raw_overrepresented_sequences_plot.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/fastqc_raw_per_base_n_content_plot.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/fastqc_raw_per_base_sequence_quality_plot.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/fastqc_raw_per_sequence_gc_content_plot_Counts.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/fastqc_raw_per_sequence_gc_content_plot_Percentages.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/fastqc_raw_per_sequence_quality_scores_plot.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/fastqc_raw_sequence_counts_plot-cnt.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/fastqc_raw_sequence_counts_plot-pct.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/fastqc_raw_sequence_duplication_levels_plot.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/fastqc_raw_top_overrepresented_sequences_table.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/fastqc_sequence_length_distribution_plot.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/fastqc_trimmed-status-check-heatmap.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/fastqc_trimmed_overrepresented_sequences_plot.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/fastqc_trimmed_per_base_n_content_plot.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/fastqc_trimmed_per_base_sequence_quality_plot.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/fastqc_trimmed_per_sequence_gc_content_plot_Counts.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/fastqc_trimmed_per_sequence_gc_content_plot_Percentages.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/fastqc_trimmed_per_sequence_quality_scores_plot.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/fastqc_trimmed_sequence_counts_plot-cnt.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/fastqc_trimmed_sequence_counts_plot-pct.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/fastqc_trimmed_sequence_duplication_levels_plot.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/fastqc_trimmed_top_overrepresented_sequences_table.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/featurecounts_biotype_plot-cnt.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/featurecounts_biotype_plot-pct.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/general_stats_table.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/qualimap_gene_coverage_profile_Counts.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/qualimap_gene_coverage_profile_Normalised.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/qualimap_genomic_origin-cnt.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/qualimap_genomic_origin-pct.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/rseqc_bam_stat.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/rseqc_infer_experiment_plot.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/rseqc_inner_distance_plot_Counts.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/rseqc_inner_distance_plot_Percentages.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/rseqc_junction_annotation_junctions_plot_Events-cnt.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/rseqc_junction_annotation_junctions_plot_Events-pct.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/rseqc_junction_annotation_junctions_plot_Junctions-cnt.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/rseqc_junction_annotation_junctions_plot_Junctions-pct.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/rseqc_junction_saturation_plot_All_Junctions.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/rseqc_junction_saturation_plot_Known_Junctions.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/rseqc_junction_saturation_plot_Novel_Junctions.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/rseqc_read_distribution_plot-cnt.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/rseqc_read_distribution_plot-pct.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/rseqc_read_dups_plot.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/salmon_plot.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/sample-relationships.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/samtools-flagstat-dp_Percentage_of_total.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/samtools-flagstat-dp_Read_counts.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/samtools-idxstats-mapped-reads-plot_Normalised_Counts-cnt.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/samtools-idxstats-mapped-reads-plot_Normalised_Counts-log.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts-cnt.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts-log.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/samtools-idxstats-mapped-reads-plot_Raw_Counts-cnt.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/samtools-idxstats-mapped-reads-plot_Raw_Counts-log.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/samtools-stats-dp.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/samtools_alignment_plot-cnt.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/samtools_alignment_plot-pct.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/star_alignment_plot-cnt.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/star_alignment_plot-pct.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/star_summary_table.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/umitools_deduplication_barplot-cnt.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/umitools_deduplication_barplot-pct.png",
+ "multiqc/star_salmon/multiqc_report_plots/png/umitools_stats_violin.png",
+ "multiqc/star_salmon/multiqc_report_plots/svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/cutadapt_filtered_reads_plot-cnt.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/cutadapt_filtered_reads_plot-pct.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/cutadapt_trimmed_sequences_plot_3_Counts.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/cutadapt_trimmed_sequences_plot_3_Obs_Exp.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/dupradar.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/fail_strand_check_table.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/fastqc_raw-status-check-heatmap.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/fastqc_raw_adapter_content_plot.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/fastqc_raw_overrepresented_sequences_plot.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/fastqc_raw_per_base_n_content_plot.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/fastqc_raw_per_base_sequence_quality_plot.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/fastqc_raw_per_sequence_gc_content_plot_Counts.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/fastqc_raw_per_sequence_gc_content_plot_Percentages.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/fastqc_raw_per_sequence_quality_scores_plot.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/fastqc_raw_sequence_counts_plot-cnt.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/fastqc_raw_sequence_counts_plot-pct.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/fastqc_raw_sequence_duplication_levels_plot.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/fastqc_raw_top_overrepresented_sequences_table.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/fastqc_sequence_length_distribution_plot.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/fastqc_trimmed-status-check-heatmap.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/fastqc_trimmed_overrepresented_sequences_plot.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/fastqc_trimmed_per_base_n_content_plot.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/fastqc_trimmed_per_base_sequence_quality_plot.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/fastqc_trimmed_per_sequence_gc_content_plot_Counts.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/fastqc_trimmed_per_sequence_gc_content_plot_Percentages.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/fastqc_trimmed_per_sequence_quality_scores_plot.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/fastqc_trimmed_sequence_counts_plot-cnt.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/fastqc_trimmed_sequence_counts_plot-pct.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/fastqc_trimmed_sequence_duplication_levels_plot.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/fastqc_trimmed_top_overrepresented_sequences_table.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/featurecounts_biotype_plot-cnt.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/featurecounts_biotype_plot-pct.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/general_stats_table.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/qualimap_gene_coverage_profile_Counts.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/qualimap_gene_coverage_profile_Normalised.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/qualimap_genomic_origin-cnt.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/qualimap_genomic_origin-pct.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/rseqc_bam_stat.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/rseqc_infer_experiment_plot.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/rseqc_inner_distance_plot_Counts.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/rseqc_inner_distance_plot_Percentages.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/rseqc_junction_annotation_junctions_plot_Events-cnt.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/rseqc_junction_annotation_junctions_plot_Events-pct.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/rseqc_junction_annotation_junctions_plot_Junctions-cnt.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/rseqc_junction_annotation_junctions_plot_Junctions-pct.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/rseqc_junction_saturation_plot_All_Junctions.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/rseqc_junction_saturation_plot_Known_Junctions.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/rseqc_junction_saturation_plot_Novel_Junctions.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/rseqc_read_distribution_plot-cnt.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/rseqc_read_distribution_plot-pct.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/rseqc_read_dups_plot.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/salmon_plot.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/sample-relationships.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/samtools-flagstat-dp_Percentage_of_total.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/samtools-flagstat-dp_Read_counts.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/samtools-idxstats-mapped-reads-plot_Normalised_Counts-cnt.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/samtools-idxstats-mapped-reads-plot_Normalised_Counts-log.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts-cnt.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts-log.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/samtools-idxstats-mapped-reads-plot_Raw_Counts-cnt.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/samtools-idxstats-mapped-reads-plot_Raw_Counts-log.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/samtools-stats-dp.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/samtools_alignment_plot-cnt.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/samtools_alignment_plot-pct.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/star_alignment_plot-cnt.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/star_alignment_plot-pct.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/star_summary_table.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/umitools_deduplication_barplot-cnt.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/umitools_deduplication_barplot-pct.svg",
+ "multiqc/star_salmon/multiqc_report_plots/svg/umitools_stats_violin.svg",
+ "pipeline_info",
+ "pipeline_info/nf_core_rnaseq_software_mqc_versions.yml",
+ "salmon",
+ "salmon/RAP1_IAA_30M_REP1",
+ "salmon/RAP1_IAA_30M_REP1/aux_info",
+ "salmon/RAP1_IAA_30M_REP1/aux_info/ambig_info.tsv",
+ "salmon/RAP1_IAA_30M_REP1/aux_info/expected_bias.gz",
+ "salmon/RAP1_IAA_30M_REP1/aux_info/fld.gz",
+ "salmon/RAP1_IAA_30M_REP1/aux_info/meta_info.json",
+ "salmon/RAP1_IAA_30M_REP1/aux_info/observed_bias.gz",
+ "salmon/RAP1_IAA_30M_REP1/aux_info/observed_bias_3p.gz",
+ "salmon/RAP1_IAA_30M_REP1/cmd_info.json",
+ "salmon/RAP1_IAA_30M_REP1/libParams",
+ "salmon/RAP1_IAA_30M_REP1/libParams/flenDist.txt",
+ "salmon/RAP1_IAA_30M_REP1/lib_format_counts.json",
+ "salmon/RAP1_IAA_30M_REP1/logs",
+ "salmon/RAP1_IAA_30M_REP1/logs/salmon_quant.log",
+ "salmon/RAP1_IAA_30M_REP1/quant.genes.sf",
+ "salmon/RAP1_IAA_30M_REP1/quant.sf",
+ "salmon/RAP1_UNINDUCED_REP1",
+ "salmon/RAP1_UNINDUCED_REP1/aux_info",
+ "salmon/RAP1_UNINDUCED_REP1/aux_info/ambig_info.tsv",
+ "salmon/RAP1_UNINDUCED_REP1/aux_info/expected_bias.gz",
+ "salmon/RAP1_UNINDUCED_REP1/aux_info/fld.gz",
+ "salmon/RAP1_UNINDUCED_REP1/aux_info/meta_info.json",
+ "salmon/RAP1_UNINDUCED_REP1/aux_info/observed_bias.gz",
+ "salmon/RAP1_UNINDUCED_REP1/aux_info/observed_bias_3p.gz",
+ "salmon/RAP1_UNINDUCED_REP1/cmd_info.json",
+ "salmon/RAP1_UNINDUCED_REP1/libParams",
+ "salmon/RAP1_UNINDUCED_REP1/libParams/flenDist.txt",
+ "salmon/RAP1_UNINDUCED_REP1/lib_format_counts.json",
+ "salmon/RAP1_UNINDUCED_REP1/logs",
+ "salmon/RAP1_UNINDUCED_REP1/logs/salmon_quant.log",
+ "salmon/RAP1_UNINDUCED_REP1/quant.genes.sf",
+ "salmon/RAP1_UNINDUCED_REP1/quant.sf",
+ "salmon/RAP1_UNINDUCED_REP2",
+ "salmon/RAP1_UNINDUCED_REP2/aux_info",
+ "salmon/RAP1_UNINDUCED_REP2/aux_info/ambig_info.tsv",
+ "salmon/RAP1_UNINDUCED_REP2/aux_info/expected_bias.gz",
+ "salmon/RAP1_UNINDUCED_REP2/aux_info/fld.gz",
+ "salmon/RAP1_UNINDUCED_REP2/aux_info/meta_info.json",
+ "salmon/RAP1_UNINDUCED_REP2/aux_info/observed_bias.gz",
+ "salmon/RAP1_UNINDUCED_REP2/aux_info/observed_bias_3p.gz",
+ "salmon/RAP1_UNINDUCED_REP2/cmd_info.json",
+ "salmon/RAP1_UNINDUCED_REP2/libParams",
+ "salmon/RAP1_UNINDUCED_REP2/libParams/flenDist.txt",
+ "salmon/RAP1_UNINDUCED_REP2/lib_format_counts.json",
+ "salmon/RAP1_UNINDUCED_REP2/logs",
+ "salmon/RAP1_UNINDUCED_REP2/logs/salmon_quant.log",
+ "salmon/RAP1_UNINDUCED_REP2/quant.genes.sf",
+ "salmon/RAP1_UNINDUCED_REP2/quant.sf",
+ "salmon/WT_REP1",
+ "salmon/WT_REP1/aux_info",
+ "salmon/WT_REP1/aux_info/ambig_info.tsv",
+ "salmon/WT_REP1/aux_info/expected_bias.gz",
+ "salmon/WT_REP1/aux_info/fld.gz",
+ "salmon/WT_REP1/aux_info/meta_info.json",
+ "salmon/WT_REP1/aux_info/observed_bias.gz",
+ "salmon/WT_REP1/aux_info/observed_bias_3p.gz",
+ "salmon/WT_REP1/cmd_info.json",
+ "salmon/WT_REP1/libParams",
+ "salmon/WT_REP1/libParams/flenDist.txt",
+ "salmon/WT_REP1/lib_format_counts.json",
+ "salmon/WT_REP1/logs",
+ "salmon/WT_REP1/logs/salmon_quant.log",
+ "salmon/WT_REP1/quant.genes.sf",
+ "salmon/WT_REP1/quant.sf",
+ "salmon/WT_REP2",
+ "salmon/WT_REP2/aux_info",
+ "salmon/WT_REP2/aux_info/ambig_info.tsv",
+ "salmon/WT_REP2/aux_info/expected_bias.gz",
+ "salmon/WT_REP2/aux_info/fld.gz",
+ "salmon/WT_REP2/aux_info/meta_info.json",
+ "salmon/WT_REP2/aux_info/observed_bias.gz",
+ "salmon/WT_REP2/aux_info/observed_bias_3p.gz",
+ "salmon/WT_REP2/cmd_info.json",
+ "salmon/WT_REP2/libParams",
+ "salmon/WT_REP2/libParams/flenDist.txt",
+ "salmon/WT_REP2/lib_format_counts.json",
+ "salmon/WT_REP2/logs",
+ "salmon/WT_REP2/logs/salmon_quant.log",
+ "salmon/WT_REP2/quant.genes.sf",
+ "salmon/WT_REP2/quant.sf",
+ "salmon/deseq2_qc",
+ "salmon/deseq2_qc/R_sessionInfo.log",
+ "salmon/deseq2_qc/deseq2.dds.RData",
+ "salmon/deseq2_qc/deseq2.pca.vals.txt",
+ "salmon/deseq2_qc/deseq2.plots.pdf",
+ "salmon/deseq2_qc/deseq2.sample.dists.txt",
+ "salmon/deseq2_qc/size_factors",
+ "salmon/deseq2_qc/size_factors/RAP1_IAA_30M_REP1.txt",
+ "salmon/deseq2_qc/size_factors/RAP1_UNINDUCED_REP1.txt",
+ "salmon/deseq2_qc/size_factors/RAP1_UNINDUCED_REP2.txt",
+ "salmon/deseq2_qc/size_factors/WT_REP1.txt",
+ "salmon/deseq2_qc/size_factors/WT_REP2.txt",
+ "salmon/deseq2_qc/size_factors/deseq2.size_factors.RData",
+ "salmon/salmon.merged.gene_counts.SummarizedExperiment.rds",
+ "salmon/salmon.merged.gene_counts.tsv",
+ "salmon/salmon.merged.gene_counts_length_scaled.SummarizedExperiment.rds",
+ "salmon/salmon.merged.gene_counts_length_scaled.tsv",
+ "salmon/salmon.merged.gene_counts_scaled.SummarizedExperiment.rds",
+ "salmon/salmon.merged.gene_counts_scaled.tsv",
+ "salmon/salmon.merged.gene_lengths.tsv",
+ "salmon/salmon.merged.gene_tpm.tsv",
+ "salmon/salmon.merged.transcript_counts.SummarizedExperiment.rds",
+ "salmon/salmon.merged.transcript_counts.tsv",
+ "salmon/salmon.merged.transcript_lengths.tsv",
+ "salmon/salmon.merged.transcript_tpm.tsv",
+ "salmon/tx2gene.tsv",
+ "star_salmon",
+ "star_salmon/RAP1_IAA_30M_REP1",
+ "star_salmon/RAP1_IAA_30M_REP1.umi_dedup.sorted.bam",
+ "star_salmon/RAP1_IAA_30M_REP1.umi_dedup.sorted.bam.bai",
+ "star_salmon/RAP1_IAA_30M_REP1/aux_info",
+ "star_salmon/RAP1_IAA_30M_REP1/aux_info/ambig_info.tsv",
+ "star_salmon/RAP1_IAA_30M_REP1/aux_info/expected_bias.gz",
+ "star_salmon/RAP1_IAA_30M_REP1/aux_info/fld.gz",
+ "star_salmon/RAP1_IAA_30M_REP1/aux_info/meta_info.json",
+ "star_salmon/RAP1_IAA_30M_REP1/aux_info/observed_bias.gz",
+ "star_salmon/RAP1_IAA_30M_REP1/aux_info/observed_bias_3p.gz",
+ "star_salmon/RAP1_IAA_30M_REP1/cmd_info.json",
+ "star_salmon/RAP1_IAA_30M_REP1/libParams",
+ "star_salmon/RAP1_IAA_30M_REP1/libParams/flenDist.txt",
+ "star_salmon/RAP1_IAA_30M_REP1/logs",
+ "star_salmon/RAP1_IAA_30M_REP1/logs/salmon_quant.log",
+ "star_salmon/RAP1_IAA_30M_REP1/quant.genes.sf",
+ "star_salmon/RAP1_IAA_30M_REP1/quant.sf",
+ "star_salmon/RAP1_UNINDUCED_REP1",
+ "star_salmon/RAP1_UNINDUCED_REP1.umi_dedup.sorted.bam",
+ "star_salmon/RAP1_UNINDUCED_REP1.umi_dedup.sorted.bam.bai",
+ "star_salmon/RAP1_UNINDUCED_REP1/aux_info",
+ "star_salmon/RAP1_UNINDUCED_REP1/aux_info/ambig_info.tsv",
+ "star_salmon/RAP1_UNINDUCED_REP1/aux_info/expected_bias.gz",
+ "star_salmon/RAP1_UNINDUCED_REP1/aux_info/fld.gz",
+ "star_salmon/RAP1_UNINDUCED_REP1/aux_info/meta_info.json",
+ "star_salmon/RAP1_UNINDUCED_REP1/aux_info/observed_bias.gz",
+ "star_salmon/RAP1_UNINDUCED_REP1/aux_info/observed_bias_3p.gz",
+ "star_salmon/RAP1_UNINDUCED_REP1/cmd_info.json",
+ "star_salmon/RAP1_UNINDUCED_REP1/libParams",
+ "star_salmon/RAP1_UNINDUCED_REP1/libParams/flenDist.txt",
+ "star_salmon/RAP1_UNINDUCED_REP1/logs",
+ "star_salmon/RAP1_UNINDUCED_REP1/logs/salmon_quant.log",
+ "star_salmon/RAP1_UNINDUCED_REP1/quant.genes.sf",
+ "star_salmon/RAP1_UNINDUCED_REP1/quant.sf",
+ "star_salmon/RAP1_UNINDUCED_REP2",
+ "star_salmon/RAP1_UNINDUCED_REP2.umi_dedup.sorted.bam",
+ "star_salmon/RAP1_UNINDUCED_REP2.umi_dedup.sorted.bam.bai",
+ "star_salmon/RAP1_UNINDUCED_REP2/aux_info",
+ "star_salmon/RAP1_UNINDUCED_REP2/aux_info/ambig_info.tsv",
+ "star_salmon/RAP1_UNINDUCED_REP2/aux_info/expected_bias.gz",
+ "star_salmon/RAP1_UNINDUCED_REP2/aux_info/fld.gz",
+ "star_salmon/RAP1_UNINDUCED_REP2/aux_info/meta_info.json",
+ "star_salmon/RAP1_UNINDUCED_REP2/aux_info/observed_bias.gz",
+ "star_salmon/RAP1_UNINDUCED_REP2/aux_info/observed_bias_3p.gz",
+ "star_salmon/RAP1_UNINDUCED_REP2/cmd_info.json",
+ "star_salmon/RAP1_UNINDUCED_REP2/libParams",
+ "star_salmon/RAP1_UNINDUCED_REP2/libParams/flenDist.txt",
+ "star_salmon/RAP1_UNINDUCED_REP2/logs",
+ "star_salmon/RAP1_UNINDUCED_REP2/logs/salmon_quant.log",
+ "star_salmon/RAP1_UNINDUCED_REP2/quant.genes.sf",
+ "star_salmon/RAP1_UNINDUCED_REP2/quant.sf",
+ "star_salmon/WT_REP1",
+ "star_salmon/WT_REP1.umi_dedup.sorted.bam",
+ "star_salmon/WT_REP1.umi_dedup.sorted.bam.bai",
+ "star_salmon/WT_REP1/aux_info",
+ "star_salmon/WT_REP1/aux_info/ambig_info.tsv",
+ "star_salmon/WT_REP1/aux_info/expected_bias.gz",
+ "star_salmon/WT_REP1/aux_info/fld.gz",
+ "star_salmon/WT_REP1/aux_info/meta_info.json",
+ "star_salmon/WT_REP1/aux_info/observed_bias.gz",
+ "star_salmon/WT_REP1/aux_info/observed_bias_3p.gz",
+ "star_salmon/WT_REP1/cmd_info.json",
+ "star_salmon/WT_REP1/libParams",
+ "star_salmon/WT_REP1/libParams/flenDist.txt",
+ "star_salmon/WT_REP1/logs",
+ "star_salmon/WT_REP1/logs/salmon_quant.log",
+ "star_salmon/WT_REP1/quant.genes.sf",
+ "star_salmon/WT_REP1/quant.sf",
+ "star_salmon/WT_REP2",
+ "star_salmon/WT_REP2.umi_dedup.sorted.bam",
+ "star_salmon/WT_REP2.umi_dedup.sorted.bam.bai",
+ "star_salmon/WT_REP2/aux_info",
+ "star_salmon/WT_REP2/aux_info/ambig_info.tsv",
+ "star_salmon/WT_REP2/aux_info/expected_bias.gz",
+ "star_salmon/WT_REP2/aux_info/fld.gz",
+ "star_salmon/WT_REP2/aux_info/meta_info.json",
+ "star_salmon/WT_REP2/aux_info/observed_bias.gz",
+ "star_salmon/WT_REP2/aux_info/observed_bias_3p.gz",
+ "star_salmon/WT_REP2/cmd_info.json",
+ "star_salmon/WT_REP2/libParams",
+ "star_salmon/WT_REP2/libParams/flenDist.txt",
+ "star_salmon/WT_REP2/logs",
+ "star_salmon/WT_REP2/logs/salmon_quant.log",
+ "star_salmon/WT_REP2/quant.genes.sf",
+ "star_salmon/WT_REP2/quant.sf",
+ "star_salmon/bigwig",
+ "star_salmon/bigwig/RAP1_IAA_30M_REP1.forward.bigWig",
+ "star_salmon/bigwig/RAP1_IAA_30M_REP1.reverse.bigWig",
+ "star_salmon/bigwig/RAP1_UNINDUCED_REP1.forward.bigWig",
+ "star_salmon/bigwig/RAP1_UNINDUCED_REP1.reverse.bigWig",
+ "star_salmon/bigwig/RAP1_UNINDUCED_REP2.forward.bigWig",
+ "star_salmon/bigwig/RAP1_UNINDUCED_REP2.reverse.bigWig",
+ "star_salmon/bigwig/WT_REP1.forward.bigWig",
+ "star_salmon/bigwig/WT_REP1.reverse.bigWig",
+ "star_salmon/bigwig/WT_REP2.forward.bigWig",
+ "star_salmon/bigwig/WT_REP2.reverse.bigWig",
+ "star_salmon/deseq2_qc",
+ "star_salmon/deseq2_qc/R_sessionInfo.log",
+ "star_salmon/deseq2_qc/deseq2.dds.RData",
+ "star_salmon/deseq2_qc/deseq2.pca.vals.txt",
+ "star_salmon/deseq2_qc/deseq2.plots.pdf",
+ "star_salmon/deseq2_qc/deseq2.sample.dists.txt",
+ "star_salmon/deseq2_qc/size_factors",
+ "star_salmon/deseq2_qc/size_factors/RAP1_IAA_30M_REP1.txt",
+ "star_salmon/deseq2_qc/size_factors/RAP1_UNINDUCED_REP1.txt",
+ "star_salmon/deseq2_qc/size_factors/RAP1_UNINDUCED_REP2.txt",
+ "star_salmon/deseq2_qc/size_factors/WT_REP1.txt",
+ "star_salmon/deseq2_qc/size_factors/WT_REP2.txt",
+ "star_salmon/deseq2_qc/size_factors/deseq2.size_factors.RData",
+ "star_salmon/dupradar",
+ "star_salmon/dupradar/box_plot",
+ "star_salmon/dupradar/box_plot/RAP1_IAA_30M_REP1_duprateExpBoxplot.pdf",
+ "star_salmon/dupradar/box_plot/RAP1_UNINDUCED_REP1_duprateExpBoxplot.pdf",
+ "star_salmon/dupradar/box_plot/RAP1_UNINDUCED_REP2_duprateExpBoxplot.pdf",
+ "star_salmon/dupradar/box_plot/WT_REP1_duprateExpBoxplot.pdf",
+ "star_salmon/dupradar/box_plot/WT_REP2_duprateExpBoxplot.pdf",
+ "star_salmon/dupradar/gene_data",
+ "star_salmon/dupradar/gene_data/RAP1_IAA_30M_REP1_dupMatrix.txt",
+ "star_salmon/dupradar/gene_data/RAP1_UNINDUCED_REP1_dupMatrix.txt",
+ "star_salmon/dupradar/gene_data/RAP1_UNINDUCED_REP2_dupMatrix.txt",
+ "star_salmon/dupradar/gene_data/WT_REP1_dupMatrix.txt",
+ "star_salmon/dupradar/gene_data/WT_REP2_dupMatrix.txt",
+ "star_salmon/dupradar/histogram",
+ "star_salmon/dupradar/histogram/RAP1_IAA_30M_REP1_expressionHist.pdf",
+ "star_salmon/dupradar/histogram/RAP1_UNINDUCED_REP1_expressionHist.pdf",
+ "star_salmon/dupradar/histogram/RAP1_UNINDUCED_REP2_expressionHist.pdf",
+ "star_salmon/dupradar/histogram/WT_REP1_expressionHist.pdf",
+ "star_salmon/dupradar/histogram/WT_REP2_expressionHist.pdf",
+ "star_salmon/dupradar/intercepts_slope",
+ "star_salmon/dupradar/intercepts_slope/RAP1_IAA_30M_REP1_intercept_slope.txt",
+ "star_salmon/dupradar/intercepts_slope/RAP1_UNINDUCED_REP1_intercept_slope.txt",
+ "star_salmon/dupradar/intercepts_slope/RAP1_UNINDUCED_REP2_intercept_slope.txt",
+ "star_salmon/dupradar/intercepts_slope/WT_REP1_intercept_slope.txt",
+ "star_salmon/dupradar/intercepts_slope/WT_REP2_intercept_slope.txt",
+ "star_salmon/dupradar/scatter_plot",
+ "star_salmon/dupradar/scatter_plot/RAP1_IAA_30M_REP1_duprateExpDens.pdf",
+ "star_salmon/dupradar/scatter_plot/RAP1_UNINDUCED_REP1_duprateExpDens.pdf",
+ "star_salmon/dupradar/scatter_plot/RAP1_UNINDUCED_REP2_duprateExpDens.pdf",
+ "star_salmon/dupradar/scatter_plot/WT_REP1_duprateExpDens.pdf",
+ "star_salmon/dupradar/scatter_plot/WT_REP2_duprateExpDens.pdf",
+ "star_salmon/featurecounts",
+ "star_salmon/featurecounts/RAP1_IAA_30M_REP1.biotype_counts_mqc.tsv",
+ "star_salmon/featurecounts/RAP1_IAA_30M_REP1.biotype_counts_rrna_mqc.tsv",
+ "star_salmon/featurecounts/RAP1_IAA_30M_REP1.featureCounts.txt",
+ "star_salmon/featurecounts/RAP1_IAA_30M_REP1.featureCounts.txt.summary",
+ "star_salmon/featurecounts/RAP1_UNINDUCED_REP1.biotype_counts_mqc.tsv",
+ "star_salmon/featurecounts/RAP1_UNINDUCED_REP1.biotype_counts_rrna_mqc.tsv",
+ "star_salmon/featurecounts/RAP1_UNINDUCED_REP1.featureCounts.txt",
+ "star_salmon/featurecounts/RAP1_UNINDUCED_REP1.featureCounts.txt.summary",
+ "star_salmon/featurecounts/RAP1_UNINDUCED_REP2.biotype_counts_mqc.tsv",
+ "star_salmon/featurecounts/RAP1_UNINDUCED_REP2.biotype_counts_rrna_mqc.tsv",
+ "star_salmon/featurecounts/RAP1_UNINDUCED_REP2.featureCounts.txt",
+ "star_salmon/featurecounts/RAP1_UNINDUCED_REP2.featureCounts.txt.summary",
+ "star_salmon/featurecounts/WT_REP1.biotype_counts_mqc.tsv",
+ "star_salmon/featurecounts/WT_REP1.biotype_counts_rrna_mqc.tsv",
+ "star_salmon/featurecounts/WT_REP1.featureCounts.txt",
+ "star_salmon/featurecounts/WT_REP1.featureCounts.txt.summary",
+ "star_salmon/featurecounts/WT_REP2.biotype_counts_mqc.tsv",
+ "star_salmon/featurecounts/WT_REP2.biotype_counts_rrna_mqc.tsv",
+ "star_salmon/featurecounts/WT_REP2.featureCounts.txt",
+ "star_salmon/featurecounts/WT_REP2.featureCounts.txt.summary",
+ "star_salmon/log",
+ "star_salmon/log/RAP1_IAA_30M_REP1.Log.final.out",
+ "star_salmon/log/RAP1_IAA_30M_REP1.Log.out",
+ "star_salmon/log/RAP1_IAA_30M_REP1.Log.progress.out",
+ "star_salmon/log/RAP1_IAA_30M_REP1.SJ.out.tab",
+ "star_salmon/log/RAP1_UNINDUCED_REP1.Log.final.out",
+ "star_salmon/log/RAP1_UNINDUCED_REP1.Log.out",
+ "star_salmon/log/RAP1_UNINDUCED_REP1.Log.progress.out",
+ "star_salmon/log/RAP1_UNINDUCED_REP1.SJ.out.tab",
+ "star_salmon/log/RAP1_UNINDUCED_REP2.Log.final.out",
+ "star_salmon/log/RAP1_UNINDUCED_REP2.Log.out",
+ "star_salmon/log/RAP1_UNINDUCED_REP2.Log.progress.out",
+ "star_salmon/log/RAP1_UNINDUCED_REP2.SJ.out.tab",
+ "star_salmon/log/WT_REP1.Log.final.out",
+ "star_salmon/log/WT_REP1.Log.out",
+ "star_salmon/log/WT_REP1.Log.progress.out",
+ "star_salmon/log/WT_REP1.SJ.out.tab",
+ "star_salmon/log/WT_REP2.Log.final.out",
+ "star_salmon/log/WT_REP2.Log.out",
+ "star_salmon/log/WT_REP2.Log.progress.out",
+ "star_salmon/log/WT_REP2.SJ.out.tab",
+ "star_salmon/qualimap",
+ "star_salmon/qualimap/RAP1_IAA_30M_REP1",
+ "star_salmon/qualimap/RAP1_IAA_30M_REP1/css",
+ "star_salmon/qualimap/RAP1_IAA_30M_REP1/css/agogo.css",
+ "star_salmon/qualimap/RAP1_IAA_30M_REP1/css/ajax-loader.gif",
+ "star_salmon/qualimap/RAP1_IAA_30M_REP1/css/basic.css",
+ "star_salmon/qualimap/RAP1_IAA_30M_REP1/css/bgfooter.png",
+ "star_salmon/qualimap/RAP1_IAA_30M_REP1/css/bgtop.png",
+ "star_salmon/qualimap/RAP1_IAA_30M_REP1/css/comment-bright.png",
+ "star_salmon/qualimap/RAP1_IAA_30M_REP1/css/comment-close.png",
+ "star_salmon/qualimap/RAP1_IAA_30M_REP1/css/comment.png",
+ "star_salmon/qualimap/RAP1_IAA_30M_REP1/css/doctools.js",
+ "star_salmon/qualimap/RAP1_IAA_30M_REP1/css/down-pressed.png",
+ "star_salmon/qualimap/RAP1_IAA_30M_REP1/css/down.png",
+ "star_salmon/qualimap/RAP1_IAA_30M_REP1/css/file.png",
+ "star_salmon/qualimap/RAP1_IAA_30M_REP1/css/jquery.js",
+ "star_salmon/qualimap/RAP1_IAA_30M_REP1/css/minus.png",
+ "star_salmon/qualimap/RAP1_IAA_30M_REP1/css/plus.png",
+ "star_salmon/qualimap/RAP1_IAA_30M_REP1/css/pygments.css",
+ "star_salmon/qualimap/RAP1_IAA_30M_REP1/css/qualimap_logo_small.png",
+ "star_salmon/qualimap/RAP1_IAA_30M_REP1/css/report.css",
+ "star_salmon/qualimap/RAP1_IAA_30M_REP1/css/searchtools.js",
+ "star_salmon/qualimap/RAP1_IAA_30M_REP1/css/underscore.js",
+ "star_salmon/qualimap/RAP1_IAA_30M_REP1/css/up-pressed.png",
+ "star_salmon/qualimap/RAP1_IAA_30M_REP1/css/up.png",
+ "star_salmon/qualimap/RAP1_IAA_30M_REP1/css/websupport.js",
+ "star_salmon/qualimap/RAP1_IAA_30M_REP1/images_qualimapReport",
+ "star_salmon/qualimap/RAP1_IAA_30M_REP1/images_qualimapReport/Coverage Profile Along Genes (High).png",
+ "star_salmon/qualimap/RAP1_IAA_30M_REP1/images_qualimapReport/Coverage Profile Along Genes (Low).png",
+ "star_salmon/qualimap/RAP1_IAA_30M_REP1/images_qualimapReport/Coverage Profile Along Genes (Total).png",
+ "star_salmon/qualimap/RAP1_IAA_30M_REP1/images_qualimapReport/Junction Analysis.png",
+ "star_salmon/qualimap/RAP1_IAA_30M_REP1/images_qualimapReport/Reads Genomic Origin.png",
+ "star_salmon/qualimap/RAP1_IAA_30M_REP1/images_qualimapReport/Transcript coverage histogram.png",
+ "star_salmon/qualimap/RAP1_IAA_30M_REP1/qualimapReport.html",
+ "star_salmon/qualimap/RAP1_IAA_30M_REP1/raw_data_qualimapReport",
+ "star_salmon/qualimap/RAP1_IAA_30M_REP1/raw_data_qualimapReport/coverage_profile_along_genes_(high).txt",
+ "star_salmon/qualimap/RAP1_IAA_30M_REP1/raw_data_qualimapReport/coverage_profile_along_genes_(low).txt",
+ "star_salmon/qualimap/RAP1_IAA_30M_REP1/raw_data_qualimapReport/coverage_profile_along_genes_(total).txt",
+ "star_salmon/qualimap/RAP1_IAA_30M_REP1/rnaseq_qc_results.txt",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP1",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP1/css",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP1/css/agogo.css",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP1/css/ajax-loader.gif",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP1/css/basic.css",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP1/css/bgfooter.png",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP1/css/bgtop.png",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP1/css/comment-bright.png",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP1/css/comment-close.png",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP1/css/comment.png",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP1/css/doctools.js",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP1/css/down-pressed.png",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP1/css/down.png",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP1/css/file.png",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP1/css/jquery.js",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP1/css/minus.png",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP1/css/plus.png",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP1/css/pygments.css",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP1/css/qualimap_logo_small.png",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP1/css/report.css",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP1/css/searchtools.js",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP1/css/underscore.js",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP1/css/up-pressed.png",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP1/css/up.png",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP1/css/websupport.js",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP1/images_qualimapReport",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP1/images_qualimapReport/Coverage Profile Along Genes (High).png",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP1/images_qualimapReport/Coverage Profile Along Genes (Low).png",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP1/images_qualimapReport/Coverage Profile Along Genes (Total).png",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP1/images_qualimapReport/Junction Analysis.png",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP1/images_qualimapReport/Reads Genomic Origin.png",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP1/images_qualimapReport/Transcript coverage histogram.png",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP1/qualimapReport.html",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP1/raw_data_qualimapReport",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP1/raw_data_qualimapReport/coverage_profile_along_genes_(high).txt",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP1/raw_data_qualimapReport/coverage_profile_along_genes_(low).txt",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP1/raw_data_qualimapReport/coverage_profile_along_genes_(total).txt",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP1/rnaseq_qc_results.txt",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP2",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP2/css",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP2/css/agogo.css",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP2/css/ajax-loader.gif",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP2/css/basic.css",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP2/css/bgfooter.png",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP2/css/bgtop.png",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP2/css/comment-bright.png",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP2/css/comment-close.png",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP2/css/comment.png",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP2/css/doctools.js",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP2/css/down-pressed.png",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP2/css/down.png",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP2/css/file.png",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP2/css/jquery.js",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP2/css/minus.png",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP2/css/plus.png",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP2/css/pygments.css",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP2/css/qualimap_logo_small.png",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP2/css/report.css",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP2/css/searchtools.js",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP2/css/underscore.js",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP2/css/up-pressed.png",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP2/css/up.png",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP2/css/websupport.js",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP2/images_qualimapReport",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP2/images_qualimapReport/Coverage Profile Along Genes (High).png",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP2/images_qualimapReport/Coverage Profile Along Genes (Low).png",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP2/images_qualimapReport/Coverage Profile Along Genes (Total).png",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP2/images_qualimapReport/Junction Analysis.png",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP2/images_qualimapReport/Reads Genomic Origin.png",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP2/images_qualimapReport/Transcript coverage histogram.png",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP2/qualimapReport.html",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP2/raw_data_qualimapReport",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP2/raw_data_qualimapReport/coverage_profile_along_genes_(high).txt",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP2/raw_data_qualimapReport/coverage_profile_along_genes_(low).txt",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP2/raw_data_qualimapReport/coverage_profile_along_genes_(total).txt",
+ "star_salmon/qualimap/RAP1_UNINDUCED_REP2/rnaseq_qc_results.txt",
+ "star_salmon/qualimap/WT_REP1",
+ "star_salmon/qualimap/WT_REP1/css",
+ "star_salmon/qualimap/WT_REP1/css/agogo.css",
+ "star_salmon/qualimap/WT_REP1/css/ajax-loader.gif",
+ "star_salmon/qualimap/WT_REP1/css/basic.css",
+ "star_salmon/qualimap/WT_REP1/css/bgfooter.png",
+ "star_salmon/qualimap/WT_REP1/css/bgtop.png",
+ "star_salmon/qualimap/WT_REP1/css/comment-bright.png",
+ "star_salmon/qualimap/WT_REP1/css/comment-close.png",
+ "star_salmon/qualimap/WT_REP1/css/comment.png",
+ "star_salmon/qualimap/WT_REP1/css/doctools.js",
+ "star_salmon/qualimap/WT_REP1/css/down-pressed.png",
+ "star_salmon/qualimap/WT_REP1/css/down.png",
+ "star_salmon/qualimap/WT_REP1/css/file.png",
+ "star_salmon/qualimap/WT_REP1/css/jquery.js",
+ "star_salmon/qualimap/WT_REP1/css/minus.png",
+ "star_salmon/qualimap/WT_REP1/css/plus.png",
+ "star_salmon/qualimap/WT_REP1/css/pygments.css",
+ "star_salmon/qualimap/WT_REP1/css/qualimap_logo_small.png",
+ "star_salmon/qualimap/WT_REP1/css/report.css",
+ "star_salmon/qualimap/WT_REP1/css/searchtools.js",
+ "star_salmon/qualimap/WT_REP1/css/underscore.js",
+ "star_salmon/qualimap/WT_REP1/css/up-pressed.png",
+ "star_salmon/qualimap/WT_REP1/css/up.png",
+ "star_salmon/qualimap/WT_REP1/css/websupport.js",
+ "star_salmon/qualimap/WT_REP1/images_qualimapReport",
+ "star_salmon/qualimap/WT_REP1/images_qualimapReport/Coverage Profile Along Genes (High).png",
+ "star_salmon/qualimap/WT_REP1/images_qualimapReport/Coverage Profile Along Genes (Low).png",
+ "star_salmon/qualimap/WT_REP1/images_qualimapReport/Coverage Profile Along Genes (Total).png",
+ "star_salmon/qualimap/WT_REP1/images_qualimapReport/Junction Analysis.png",
+ "star_salmon/qualimap/WT_REP1/images_qualimapReport/Reads Genomic Origin.png",
+ "star_salmon/qualimap/WT_REP1/images_qualimapReport/Transcript coverage histogram.png",
+ "star_salmon/qualimap/WT_REP1/qualimapReport.html",
+ "star_salmon/qualimap/WT_REP1/raw_data_qualimapReport",
+ "star_salmon/qualimap/WT_REP1/raw_data_qualimapReport/coverage_profile_along_genes_(high).txt",
+ "star_salmon/qualimap/WT_REP1/raw_data_qualimapReport/coverage_profile_along_genes_(low).txt",
+ "star_salmon/qualimap/WT_REP1/raw_data_qualimapReport/coverage_profile_along_genes_(total).txt",
+ "star_salmon/qualimap/WT_REP1/rnaseq_qc_results.txt",
+ "star_salmon/qualimap/WT_REP2",
+ "star_salmon/qualimap/WT_REP2/css",
+ "star_salmon/qualimap/WT_REP2/css/agogo.css",
+ "star_salmon/qualimap/WT_REP2/css/ajax-loader.gif",
+ "star_salmon/qualimap/WT_REP2/css/basic.css",
+ "star_salmon/qualimap/WT_REP2/css/bgfooter.png",
+ "star_salmon/qualimap/WT_REP2/css/bgtop.png",
+ "star_salmon/qualimap/WT_REP2/css/comment-bright.png",
+ "star_salmon/qualimap/WT_REP2/css/comment-close.png",
+ "star_salmon/qualimap/WT_REP2/css/comment.png",
+ "star_salmon/qualimap/WT_REP2/css/doctools.js",
+ "star_salmon/qualimap/WT_REP2/css/down-pressed.png",
+ "star_salmon/qualimap/WT_REP2/css/down.png",
+ "star_salmon/qualimap/WT_REP2/css/file.png",
+ "star_salmon/qualimap/WT_REP2/css/jquery.js",
+ "star_salmon/qualimap/WT_REP2/css/minus.png",
+ "star_salmon/qualimap/WT_REP2/css/plus.png",
+ "star_salmon/qualimap/WT_REP2/css/pygments.css",
+ "star_salmon/qualimap/WT_REP2/css/qualimap_logo_small.png",
+ "star_salmon/qualimap/WT_REP2/css/report.css",
+ "star_salmon/qualimap/WT_REP2/css/searchtools.js",
+ "star_salmon/qualimap/WT_REP2/css/underscore.js",
+ "star_salmon/qualimap/WT_REP2/css/up-pressed.png",
+ "star_salmon/qualimap/WT_REP2/css/up.png",
+ "star_salmon/qualimap/WT_REP2/css/websupport.js",
+ "star_salmon/qualimap/WT_REP2/images_qualimapReport",
+ "star_salmon/qualimap/WT_REP2/images_qualimapReport/Coverage Profile Along Genes (High).png",
+ "star_salmon/qualimap/WT_REP2/images_qualimapReport/Coverage Profile Along Genes (Low).png",
+ "star_salmon/qualimap/WT_REP2/images_qualimapReport/Coverage Profile Along Genes (Total).png",
+ "star_salmon/qualimap/WT_REP2/images_qualimapReport/Junction Analysis.png",
+ "star_salmon/qualimap/WT_REP2/images_qualimapReport/Reads Genomic Origin.png",
+ "star_salmon/qualimap/WT_REP2/images_qualimapReport/Transcript coverage histogram.png",
+ "star_salmon/qualimap/WT_REP2/qualimapReport.html",
+ "star_salmon/qualimap/WT_REP2/raw_data_qualimapReport",
+ "star_salmon/qualimap/WT_REP2/raw_data_qualimapReport/coverage_profile_along_genes_(high).txt",
+ "star_salmon/qualimap/WT_REP2/raw_data_qualimapReport/coverage_profile_along_genes_(low).txt",
+ "star_salmon/qualimap/WT_REP2/raw_data_qualimapReport/coverage_profile_along_genes_(total).txt",
+ "star_salmon/qualimap/WT_REP2/rnaseq_qc_results.txt",
+ "star_salmon/rseqc",
+ "star_salmon/rseqc/bam_stat",
+ "star_salmon/rseqc/bam_stat/RAP1_IAA_30M_REP1.bam_stat.txt",
+ "star_salmon/rseqc/bam_stat/RAP1_UNINDUCED_REP1.bam_stat.txt",
+ "star_salmon/rseqc/bam_stat/RAP1_UNINDUCED_REP2.bam_stat.txt",
+ "star_salmon/rseqc/bam_stat/WT_REP1.bam_stat.txt",
+ "star_salmon/rseqc/bam_stat/WT_REP2.bam_stat.txt",
+ "star_salmon/rseqc/infer_experiment",
+ "star_salmon/rseqc/infer_experiment/RAP1_IAA_30M_REP1.infer_experiment.txt",
+ "star_salmon/rseqc/infer_experiment/RAP1_UNINDUCED_REP1.infer_experiment.txt",
+ "star_salmon/rseqc/infer_experiment/RAP1_UNINDUCED_REP2.infer_experiment.txt",
+ "star_salmon/rseqc/infer_experiment/WT_REP1.infer_experiment.txt",
+ "star_salmon/rseqc/infer_experiment/WT_REP2.infer_experiment.txt",
+ "star_salmon/rseqc/inner_distance",
+ "star_salmon/rseqc/inner_distance/pdf",
+ "star_salmon/rseqc/inner_distance/pdf/RAP1_IAA_30M_REP1.inner_distance_plot.pdf",
+ "star_salmon/rseqc/inner_distance/pdf/WT_REP1.inner_distance_plot.pdf",
+ "star_salmon/rseqc/inner_distance/pdf/WT_REP2.inner_distance_plot.pdf",
+ "star_salmon/rseqc/inner_distance/rscript",
+ "star_salmon/rseqc/inner_distance/rscript/RAP1_IAA_30M_REP1.inner_distance_plot.r",
+ "star_salmon/rseqc/inner_distance/rscript/WT_REP1.inner_distance_plot.r",
+ "star_salmon/rseqc/inner_distance/rscript/WT_REP2.inner_distance_plot.r",
+ "star_salmon/rseqc/inner_distance/txt",
+ "star_salmon/rseqc/inner_distance/txt/RAP1_IAA_30M_REP1.inner_distance.txt",
+ "star_salmon/rseqc/inner_distance/txt/RAP1_IAA_30M_REP1.inner_distance_freq.txt",
+ "star_salmon/rseqc/inner_distance/txt/RAP1_IAA_30M_REP1.inner_distance_mean.txt",
+ "star_salmon/rseqc/inner_distance/txt/WT_REP1.inner_distance.txt",
+ "star_salmon/rseqc/inner_distance/txt/WT_REP1.inner_distance_freq.txt",
+ "star_salmon/rseqc/inner_distance/txt/WT_REP1.inner_distance_mean.txt",
+ "star_salmon/rseqc/inner_distance/txt/WT_REP2.inner_distance.txt",
+ "star_salmon/rseqc/inner_distance/txt/WT_REP2.inner_distance_freq.txt",
+ "star_salmon/rseqc/inner_distance/txt/WT_REP2.inner_distance_mean.txt",
+ "star_salmon/rseqc/junction_annotation",
+ "star_salmon/rseqc/junction_annotation/bed",
+ "star_salmon/rseqc/junction_annotation/bed/RAP1_IAA_30M_REP1.junction.Interact.bed",
+ "star_salmon/rseqc/junction_annotation/bed/RAP1_IAA_30M_REP1.junction.bed",
+ "star_salmon/rseqc/junction_annotation/bed/RAP1_UNINDUCED_REP1.junction.Interact.bed",
+ "star_salmon/rseqc/junction_annotation/bed/RAP1_UNINDUCED_REP1.junction.bed",
+ "star_salmon/rseqc/junction_annotation/bed/RAP1_UNINDUCED_REP2.junction.Interact.bed",
+ "star_salmon/rseqc/junction_annotation/bed/RAP1_UNINDUCED_REP2.junction.bed",
+ "star_salmon/rseqc/junction_annotation/bed/WT_REP1.junction.Interact.bed",
+ "star_salmon/rseqc/junction_annotation/bed/WT_REP1.junction.bed",
+ "star_salmon/rseqc/junction_annotation/bed/WT_REP2.junction.Interact.bed",
+ "star_salmon/rseqc/junction_annotation/bed/WT_REP2.junction.bed",
+ "star_salmon/rseqc/junction_annotation/log",
+ "star_salmon/rseqc/junction_annotation/log/RAP1_IAA_30M_REP1.junction_annotation.log",
+ "star_salmon/rseqc/junction_annotation/log/RAP1_UNINDUCED_REP1.junction_annotation.log",
+ "star_salmon/rseqc/junction_annotation/log/RAP1_UNINDUCED_REP2.junction_annotation.log",
+ "star_salmon/rseqc/junction_annotation/log/WT_REP1.junction_annotation.log",
+ "star_salmon/rseqc/junction_annotation/log/WT_REP2.junction_annotation.log",
+ "star_salmon/rseqc/junction_annotation/pdf",
+ "star_salmon/rseqc/junction_annotation/pdf/RAP1_IAA_30M_REP1.splice_events.pdf",
+ "star_salmon/rseqc/junction_annotation/pdf/RAP1_IAA_30M_REP1.splice_junction.pdf",
+ "star_salmon/rseqc/junction_annotation/pdf/RAP1_UNINDUCED_REP1.splice_events.pdf",
+ "star_salmon/rseqc/junction_annotation/pdf/RAP1_UNINDUCED_REP1.splice_junction.pdf",
+ "star_salmon/rseqc/junction_annotation/pdf/RAP1_UNINDUCED_REP2.splice_events.pdf",
+ "star_salmon/rseqc/junction_annotation/pdf/RAP1_UNINDUCED_REP2.splice_junction.pdf",
+ "star_salmon/rseqc/junction_annotation/pdf/WT_REP1.splice_events.pdf",
+ "star_salmon/rseqc/junction_annotation/pdf/WT_REP1.splice_junction.pdf",
+ "star_salmon/rseqc/junction_annotation/pdf/WT_REP2.splice_events.pdf",
+ "star_salmon/rseqc/junction_annotation/pdf/WT_REP2.splice_junction.pdf",
+ "star_salmon/rseqc/junction_annotation/rscript",
+ "star_salmon/rseqc/junction_annotation/rscript/RAP1_IAA_30M_REP1.junction_plot.r",
+ "star_salmon/rseqc/junction_annotation/rscript/RAP1_UNINDUCED_REP1.junction_plot.r",
+ "star_salmon/rseqc/junction_annotation/rscript/RAP1_UNINDUCED_REP2.junction_plot.r",
+ "star_salmon/rseqc/junction_annotation/rscript/WT_REP1.junction_plot.r",
+ "star_salmon/rseqc/junction_annotation/rscript/WT_REP2.junction_plot.r",
+ "star_salmon/rseqc/junction_annotation/xls",
+ "star_salmon/rseqc/junction_annotation/xls/RAP1_IAA_30M_REP1.junction.xls",
+ "star_salmon/rseqc/junction_annotation/xls/RAP1_UNINDUCED_REP1.junction.xls",
+ "star_salmon/rseqc/junction_annotation/xls/RAP1_UNINDUCED_REP2.junction.xls",
+ "star_salmon/rseqc/junction_annotation/xls/WT_REP1.junction.xls",
+ "star_salmon/rseqc/junction_annotation/xls/WT_REP2.junction.xls",
+ "star_salmon/rseqc/junction_saturation",
+ "star_salmon/rseqc/junction_saturation/pdf",
+ "star_salmon/rseqc/junction_saturation/pdf/RAP1_IAA_30M_REP1.junctionSaturation_plot.pdf",
+ "star_salmon/rseqc/junction_saturation/pdf/RAP1_UNINDUCED_REP1.junctionSaturation_plot.pdf",
+ "star_salmon/rseqc/junction_saturation/pdf/RAP1_UNINDUCED_REP2.junctionSaturation_plot.pdf",
+ "star_salmon/rseqc/junction_saturation/pdf/WT_REP1.junctionSaturation_plot.pdf",
+ "star_salmon/rseqc/junction_saturation/pdf/WT_REP2.junctionSaturation_plot.pdf",
+ "star_salmon/rseqc/junction_saturation/rscript",
+ "star_salmon/rseqc/junction_saturation/rscript/RAP1_IAA_30M_REP1.junctionSaturation_plot.r",
+ "star_salmon/rseqc/junction_saturation/rscript/RAP1_UNINDUCED_REP1.junctionSaturation_plot.r",
+ "star_salmon/rseqc/junction_saturation/rscript/RAP1_UNINDUCED_REP2.junctionSaturation_plot.r",
+ "star_salmon/rseqc/junction_saturation/rscript/WT_REP1.junctionSaturation_plot.r",
+ "star_salmon/rseqc/junction_saturation/rscript/WT_REP2.junctionSaturation_plot.r",
+ "star_salmon/rseqc/read_distribution",
+ "star_salmon/rseqc/read_distribution/RAP1_IAA_30M_REP1.read_distribution.txt",
+ "star_salmon/rseqc/read_distribution/RAP1_UNINDUCED_REP1.read_distribution.txt",
+ "star_salmon/rseqc/read_distribution/RAP1_UNINDUCED_REP2.read_distribution.txt",
+ "star_salmon/rseqc/read_distribution/WT_REP1.read_distribution.txt",
+ "star_salmon/rseqc/read_distribution/WT_REP2.read_distribution.txt",
+ "star_salmon/rseqc/read_duplication",
+ "star_salmon/rseqc/read_duplication/pdf",
+ "star_salmon/rseqc/read_duplication/pdf/RAP1_IAA_30M_REP1.DupRate_plot.pdf",
+ "star_salmon/rseqc/read_duplication/pdf/RAP1_UNINDUCED_REP1.DupRate_plot.pdf",
+ "star_salmon/rseqc/read_duplication/pdf/RAP1_UNINDUCED_REP2.DupRate_plot.pdf",
+ "star_salmon/rseqc/read_duplication/pdf/WT_REP1.DupRate_plot.pdf",
+ "star_salmon/rseqc/read_duplication/pdf/WT_REP2.DupRate_plot.pdf",
+ "star_salmon/rseqc/read_duplication/rscript",
+ "star_salmon/rseqc/read_duplication/rscript/RAP1_IAA_30M_REP1.DupRate_plot.r",
+ "star_salmon/rseqc/read_duplication/rscript/RAP1_UNINDUCED_REP1.DupRate_plot.r",
+ "star_salmon/rseqc/read_duplication/rscript/RAP1_UNINDUCED_REP2.DupRate_plot.r",
+ "star_salmon/rseqc/read_duplication/rscript/WT_REP1.DupRate_plot.r",
+ "star_salmon/rseqc/read_duplication/rscript/WT_REP2.DupRate_plot.r",
+ "star_salmon/rseqc/read_duplication/xls",
+ "star_salmon/rseqc/read_duplication/xls/RAP1_IAA_30M_REP1.pos.DupRate.xls",
+ "star_salmon/rseqc/read_duplication/xls/RAP1_IAA_30M_REP1.seq.DupRate.xls",
+ "star_salmon/rseqc/read_duplication/xls/RAP1_UNINDUCED_REP1.pos.DupRate.xls",
+ "star_salmon/rseqc/read_duplication/xls/RAP1_UNINDUCED_REP1.seq.DupRate.xls",
+ "star_salmon/rseqc/read_duplication/xls/RAP1_UNINDUCED_REP2.pos.DupRate.xls",
+ "star_salmon/rseqc/read_duplication/xls/RAP1_UNINDUCED_REP2.seq.DupRate.xls",
+ "star_salmon/rseqc/read_duplication/xls/WT_REP1.pos.DupRate.xls",
+ "star_salmon/rseqc/read_duplication/xls/WT_REP1.seq.DupRate.xls",
+ "star_salmon/rseqc/read_duplication/xls/WT_REP2.pos.DupRate.xls",
+ "star_salmon/rseqc/read_duplication/xls/WT_REP2.seq.DupRate.xls",
+ "star_salmon/salmon.merged.gene_counts.SummarizedExperiment.rds",
+ "star_salmon/salmon.merged.gene_counts.tsv",
+ "star_salmon/salmon.merged.gene_counts_length_scaled.SummarizedExperiment.rds",
+ "star_salmon/salmon.merged.gene_counts_length_scaled.tsv",
+ "star_salmon/salmon.merged.gene_counts_scaled.SummarizedExperiment.rds",
+ "star_salmon/salmon.merged.gene_counts_scaled.tsv",
+ "star_salmon/salmon.merged.gene_lengths.tsv",
+ "star_salmon/salmon.merged.gene_tpm.tsv",
+ "star_salmon/salmon.merged.transcript_counts.SummarizedExperiment.rds",
+ "star_salmon/salmon.merged.transcript_counts.tsv",
+ "star_salmon/salmon.merged.transcript_lengths.tsv",
+ "star_salmon/salmon.merged.transcript_tpm.tsv",
+ "star_salmon/samtools_stats",
+ "star_salmon/samtools_stats/RAP1_IAA_30M_REP1.sorted.bam.flagstat",
+ "star_salmon/samtools_stats/RAP1_IAA_30M_REP1.sorted.bam.idxstats",
+ "star_salmon/samtools_stats/RAP1_IAA_30M_REP1.sorted.bam.stats",
+ "star_salmon/samtools_stats/RAP1_IAA_30M_REP1.umi_dedup.sorted.bam.flagstat",
+ "star_salmon/samtools_stats/RAP1_IAA_30M_REP1.umi_dedup.sorted.bam.idxstats",
+ "star_salmon/samtools_stats/RAP1_IAA_30M_REP1.umi_dedup.sorted.bam.stats",
+ "star_salmon/samtools_stats/RAP1_IAA_30M_REP1.umi_dedup.transcriptome.sorted.bam.flagstat",
+ "star_salmon/samtools_stats/RAP1_IAA_30M_REP1.umi_dedup.transcriptome.sorted.bam.idxstats",
+ "star_salmon/samtools_stats/RAP1_IAA_30M_REP1.umi_dedup.transcriptome.sorted.bam.stats",
+ "star_salmon/samtools_stats/RAP1_UNINDUCED_REP1.sorted.bam.flagstat",
+ "star_salmon/samtools_stats/RAP1_UNINDUCED_REP1.sorted.bam.idxstats",
+ "star_salmon/samtools_stats/RAP1_UNINDUCED_REP1.sorted.bam.stats",
+ "star_salmon/samtools_stats/RAP1_UNINDUCED_REP1.umi_dedup.sorted.bam.flagstat",
+ "star_salmon/samtools_stats/RAP1_UNINDUCED_REP1.umi_dedup.sorted.bam.idxstats",
+ "star_salmon/samtools_stats/RAP1_UNINDUCED_REP1.umi_dedup.sorted.bam.stats",
+ "star_salmon/samtools_stats/RAP1_UNINDUCED_REP1.umi_dedup.transcriptome.sorted.bam.flagstat",
+ "star_salmon/samtools_stats/RAP1_UNINDUCED_REP1.umi_dedup.transcriptome.sorted.bam.idxstats",
+ "star_salmon/samtools_stats/RAP1_UNINDUCED_REP1.umi_dedup.transcriptome.sorted.bam.stats",
+ "star_salmon/samtools_stats/RAP1_UNINDUCED_REP2.sorted.bam.flagstat",
+ "star_salmon/samtools_stats/RAP1_UNINDUCED_REP2.sorted.bam.idxstats",
+ "star_salmon/samtools_stats/RAP1_UNINDUCED_REP2.sorted.bam.stats",
+ "star_salmon/samtools_stats/RAP1_UNINDUCED_REP2.umi_dedup.sorted.bam.flagstat",
+ "star_salmon/samtools_stats/RAP1_UNINDUCED_REP2.umi_dedup.sorted.bam.idxstats",
+ "star_salmon/samtools_stats/RAP1_UNINDUCED_REP2.umi_dedup.sorted.bam.stats",
+ "star_salmon/samtools_stats/RAP1_UNINDUCED_REP2.umi_dedup.transcriptome.sorted.bam.flagstat",
+ "star_salmon/samtools_stats/RAP1_UNINDUCED_REP2.umi_dedup.transcriptome.sorted.bam.idxstats",
+ "star_salmon/samtools_stats/RAP1_UNINDUCED_REP2.umi_dedup.transcriptome.sorted.bam.stats",
+ "star_salmon/samtools_stats/WT_REP1.sorted.bam.flagstat",
+ "star_salmon/samtools_stats/WT_REP1.sorted.bam.idxstats",
+ "star_salmon/samtools_stats/WT_REP1.sorted.bam.stats",
+ "star_salmon/samtools_stats/WT_REP1.umi_dedup.sorted.bam.flagstat",
+ "star_salmon/samtools_stats/WT_REP1.umi_dedup.sorted.bam.idxstats",
+ "star_salmon/samtools_stats/WT_REP1.umi_dedup.sorted.bam.stats",
+ "star_salmon/samtools_stats/WT_REP1.umi_dedup.transcriptome.sorted.bam.flagstat",
+ "star_salmon/samtools_stats/WT_REP1.umi_dedup.transcriptome.sorted.bam.idxstats",
+ "star_salmon/samtools_stats/WT_REP1.umi_dedup.transcriptome.sorted.bam.stats",
+ "star_salmon/samtools_stats/WT_REP2.sorted.bam.flagstat",
+ "star_salmon/samtools_stats/WT_REP2.sorted.bam.idxstats",
+ "star_salmon/samtools_stats/WT_REP2.sorted.bam.stats",
+ "star_salmon/samtools_stats/WT_REP2.umi_dedup.sorted.bam.flagstat",
+ "star_salmon/samtools_stats/WT_REP2.umi_dedup.sorted.bam.idxstats",
+ "star_salmon/samtools_stats/WT_REP2.umi_dedup.sorted.bam.stats",
+ "star_salmon/samtools_stats/WT_REP2.umi_dedup.transcriptome.sorted.bam.flagstat",
+ "star_salmon/samtools_stats/WT_REP2.umi_dedup.transcriptome.sorted.bam.idxstats",
+ "star_salmon/samtools_stats/WT_REP2.umi_dedup.transcriptome.sorted.bam.stats",
+ "star_salmon/stringtie",
+ "star_salmon/stringtie/RAP1_IAA_30M_REP1.ballgown",
+ "star_salmon/stringtie/RAP1_IAA_30M_REP1.ballgown/e2t.ctab",
+ "star_salmon/stringtie/RAP1_IAA_30M_REP1.ballgown/e_data.ctab",
+ "star_salmon/stringtie/RAP1_IAA_30M_REP1.ballgown/i2t.ctab",
+ "star_salmon/stringtie/RAP1_IAA_30M_REP1.ballgown/i_data.ctab",
+ "star_salmon/stringtie/RAP1_IAA_30M_REP1.ballgown/t_data.ctab",
+ "star_salmon/stringtie/RAP1_IAA_30M_REP1.coverage.gtf",
+ "star_salmon/stringtie/RAP1_IAA_30M_REP1.gene.abundance.txt",
+ "star_salmon/stringtie/RAP1_IAA_30M_REP1.transcripts.gtf",
+ "star_salmon/stringtie/RAP1_UNINDUCED_REP1.ballgown",
+ "star_salmon/stringtie/RAP1_UNINDUCED_REP1.ballgown/e2t.ctab",
+ "star_salmon/stringtie/RAP1_UNINDUCED_REP1.ballgown/e_data.ctab",
+ "star_salmon/stringtie/RAP1_UNINDUCED_REP1.ballgown/i2t.ctab",
+ "star_salmon/stringtie/RAP1_UNINDUCED_REP1.ballgown/i_data.ctab",
+ "star_salmon/stringtie/RAP1_UNINDUCED_REP1.ballgown/t_data.ctab",
+ "star_salmon/stringtie/RAP1_UNINDUCED_REP1.coverage.gtf",
+ "star_salmon/stringtie/RAP1_UNINDUCED_REP1.gene.abundance.txt",
+ "star_salmon/stringtie/RAP1_UNINDUCED_REP1.transcripts.gtf",
+ "star_salmon/stringtie/RAP1_UNINDUCED_REP2.ballgown",
+ "star_salmon/stringtie/RAP1_UNINDUCED_REP2.ballgown/e2t.ctab",
+ "star_salmon/stringtie/RAP1_UNINDUCED_REP2.ballgown/e_data.ctab",
+ "star_salmon/stringtie/RAP1_UNINDUCED_REP2.ballgown/i2t.ctab",
+ "star_salmon/stringtie/RAP1_UNINDUCED_REP2.ballgown/i_data.ctab",
+ "star_salmon/stringtie/RAP1_UNINDUCED_REP2.ballgown/t_data.ctab",
+ "star_salmon/stringtie/RAP1_UNINDUCED_REP2.coverage.gtf",
+ "star_salmon/stringtie/RAP1_UNINDUCED_REP2.gene.abundance.txt",
+ "star_salmon/stringtie/RAP1_UNINDUCED_REP2.transcripts.gtf",
+ "star_salmon/stringtie/WT_REP1.ballgown",
+ "star_salmon/stringtie/WT_REP1.ballgown/e2t.ctab",
+ "star_salmon/stringtie/WT_REP1.ballgown/e_data.ctab",
+ "star_salmon/stringtie/WT_REP1.ballgown/i2t.ctab",
+ "star_salmon/stringtie/WT_REP1.ballgown/i_data.ctab",
+ "star_salmon/stringtie/WT_REP1.ballgown/t_data.ctab",
+ "star_salmon/stringtie/WT_REP1.coverage.gtf",
+ "star_salmon/stringtie/WT_REP1.gene.abundance.txt",
+ "star_salmon/stringtie/WT_REP1.transcripts.gtf",
+ "star_salmon/stringtie/WT_REP2.ballgown",
+ "star_salmon/stringtie/WT_REP2.ballgown/e2t.ctab",
+ "star_salmon/stringtie/WT_REP2.ballgown/e_data.ctab",
+ "star_salmon/stringtie/WT_REP2.ballgown/i2t.ctab",
+ "star_salmon/stringtie/WT_REP2.ballgown/i_data.ctab",
+ "star_salmon/stringtie/WT_REP2.ballgown/t_data.ctab",
+ "star_salmon/stringtie/WT_REP2.coverage.gtf",
+ "star_salmon/stringtie/WT_REP2.gene.abundance.txt",
+ "star_salmon/stringtie/WT_REP2.transcripts.gtf",
+ "star_salmon/tx2gene.tsv",
+ "star_salmon/umitools",
+ "star_salmon/umitools/RAP1_IAA_30M_REP1.umi_dedup.sorted_edit_distance.tsv",
+ "star_salmon/umitools/RAP1_IAA_30M_REP1.umi_dedup.sorted_per_umi.tsv",
+ "star_salmon/umitools/RAP1_IAA_30M_REP1.umi_dedup.sorted_per_umi_per_position.tsv",
+ "star_salmon/umitools/RAP1_IAA_30M_REP1.umi_dedup.transcriptome.sorted_edit_distance.tsv",
+ "star_salmon/umitools/RAP1_IAA_30M_REP1.umi_dedup.transcriptome.sorted_per_umi.tsv",
+ "star_salmon/umitools/RAP1_IAA_30M_REP1.umi_dedup.transcriptome.sorted_per_umi_per_position.tsv",
+ "star_salmon/umitools/RAP1_UNINDUCED_REP1.umi_dedup.sorted_edit_distance.tsv",
+ "star_salmon/umitools/RAP1_UNINDUCED_REP1.umi_dedup.sorted_per_umi.tsv",
+ "star_salmon/umitools/RAP1_UNINDUCED_REP1.umi_dedup.sorted_per_umi_per_position.tsv",
+ "star_salmon/umitools/RAP1_UNINDUCED_REP1.umi_dedup.transcriptome.sorted_edit_distance.tsv",
+ "star_salmon/umitools/RAP1_UNINDUCED_REP1.umi_dedup.transcriptome.sorted_per_umi.tsv",
+ "star_salmon/umitools/RAP1_UNINDUCED_REP1.umi_dedup.transcriptome.sorted_per_umi_per_position.tsv",
+ "star_salmon/umitools/RAP1_UNINDUCED_REP2.umi_dedup.sorted_edit_distance.tsv",
+ "star_salmon/umitools/RAP1_UNINDUCED_REP2.umi_dedup.sorted_per_umi.tsv",
+ "star_salmon/umitools/RAP1_UNINDUCED_REP2.umi_dedup.sorted_per_umi_per_position.tsv",
+ "star_salmon/umitools/RAP1_UNINDUCED_REP2.umi_dedup.transcriptome.sorted_edit_distance.tsv",
+ "star_salmon/umitools/RAP1_UNINDUCED_REP2.umi_dedup.transcriptome.sorted_per_umi.tsv",
+ "star_salmon/umitools/RAP1_UNINDUCED_REP2.umi_dedup.transcriptome.sorted_per_umi_per_position.tsv",
+ "star_salmon/umitools/WT_REP1.umi_dedup.sorted_edit_distance.tsv",
+ "star_salmon/umitools/WT_REP1.umi_dedup.sorted_per_umi.tsv",
+ "star_salmon/umitools/WT_REP1.umi_dedup.sorted_per_umi_per_position.tsv",
+ "star_salmon/umitools/WT_REP1.umi_dedup.transcriptome.sorted_edit_distance.tsv",
+ "star_salmon/umitools/WT_REP1.umi_dedup.transcriptome.sorted_per_umi.tsv",
+ "star_salmon/umitools/WT_REP1.umi_dedup.transcriptome.sorted_per_umi_per_position.tsv",
+ "star_salmon/umitools/WT_REP2.umi_dedup.sorted_edit_distance.tsv",
+ "star_salmon/umitools/WT_REP2.umi_dedup.sorted_per_umi.tsv",
+ "star_salmon/umitools/WT_REP2.umi_dedup.sorted_per_umi_per_position.tsv",
+ "star_salmon/umitools/WT_REP2.umi_dedup.transcriptome.sorted_edit_distance.tsv",
+ "star_salmon/umitools/WT_REP2.umi_dedup.transcriptome.sorted_per_umi.tsv",
+ "star_salmon/umitools/WT_REP2.umi_dedup.transcriptome.sorted_per_umi_per_position.tsv",
+ "star_salmon/umitools/genomic_dedup_log",
+ "star_salmon/umitools/genomic_dedup_log/RAP1_IAA_30M_REP1.umi_dedup.sorted.log",
+ "star_salmon/umitools/genomic_dedup_log/RAP1_UNINDUCED_REP1.umi_dedup.sorted.log",
+ "star_salmon/umitools/genomic_dedup_log/RAP1_UNINDUCED_REP2.umi_dedup.sorted.log",
+ "star_salmon/umitools/genomic_dedup_log/WT_REP1.umi_dedup.sorted.log",
+ "star_salmon/umitools/genomic_dedup_log/WT_REP2.umi_dedup.sorted.log",
+ "star_salmon/umitools/prepare_for_salmon_log",
+ "star_salmon/umitools/prepare_for_salmon_log/RAP1_IAA_30M_REP1.umi_dedup.transcriptome.filtered.prepare_for_rsem.log",
+ "star_salmon/umitools/prepare_for_salmon_log/WT_REP1.umi_dedup.transcriptome.filtered.prepare_for_rsem.log",
+ "star_salmon/umitools/prepare_for_salmon_log/WT_REP2.umi_dedup.transcriptome.filtered.prepare_for_rsem.log",
+ "star_salmon/umitools/transcriptomic_dedup_log",
+ "star_salmon/umitools/transcriptomic_dedup_log/RAP1_IAA_30M_REP1.umi_dedup.transcriptome.sorted.log",
+ "star_salmon/umitools/transcriptomic_dedup_log/RAP1_UNINDUCED_REP1.umi_dedup.transcriptome.sorted.log",
+ "star_salmon/umitools/transcriptomic_dedup_log/RAP1_UNINDUCED_REP2.umi_dedup.transcriptome.sorted.log",
+ "star_salmon/umitools/transcriptomic_dedup_log/WT_REP1.umi_dedup.transcriptome.sorted.log",
+ "star_salmon/umitools/transcriptomic_dedup_log/WT_REP2.umi_dedup.transcriptome.sorted.log",
+ "trimgalore",
+ "trimgalore/RAP1_IAA_30M_REP1_trimmed_1.fastq.gz_trimming_report.txt",
+ "trimgalore/RAP1_IAA_30M_REP1_trimmed_2.fastq.gz_trimming_report.txt",
+ "trimgalore/RAP1_UNINDUCED_REP1_trimmed.fastq.gz_trimming_report.txt",
+ "trimgalore/RAP1_UNINDUCED_REP2_trimmed.fastq.gz_trimming_report.txt",
+ "trimgalore/WT_REP1_trimmed_1.fastq.gz_trimming_report.txt",
+ "trimgalore/WT_REP1_trimmed_2.fastq.gz_trimming_report.txt",
+ "trimgalore/WT_REP2_trimmed_1.fastq.gz_trimming_report.txt",
+ "trimgalore/WT_REP2_trimmed_2.fastq.gz_trimming_report.txt",
+ "umitools",
+ "umitools/RAP1_IAA_30M_REP1.umi_extract.log",
+ "umitools/RAP1_UNINDUCED_REP1.umi_extract.log",
+ "umitools/RAP1_UNINDUCED_REP2.umi_extract.log",
+ "umitools/WT_REP1.umi_extract.log",
+ "umitools/WT_REP2.umi_extract.log"
+ ],
+ [
+ "genome_gfp.fasta:md5,e23e302af63736a199985a169fdac055",
+ "genome_gfp.gtf:md5,c98b12c302f15731bfc36bcf297cfe28",
+ "cutadapt_filtered_reads_plot.txt:md5,3f122969fa288888e5abef061b7963f2",
+ "cutadapt_trimmed_sequences_plot_3_Counts.txt:md5,5e8a821c9a4deb46c11bc65969b8864f",
+ "cutadapt_trimmed_sequences_plot_3_Obs_Exp.txt:md5,bf8abefa7c5f2f1e1140749983279d9d",
+ "fastqc_raw-status-check-heatmap.txt:md5,5a89b0d8d162f6b1dbdaf39457bbc03b",
+ "fastqc_raw_adapter_content_plot.txt:md5,da0389be84cfdd189b1d045212eb2974",
+ "fastqc_raw_overrepresented_sequences_plot.txt:md5,25d88ea8a72f55e8a374ae802bc7f0b1",
+ "fastqc_raw_per_base_n_content_plot.txt:md5,d368d7e36ca2f73dcde61f2b486d8213",
+ "fastqc_raw_per_base_sequence_quality_plot.txt:md5,5c3065b549129702b185ea1b817da420",
+ "fastqc_raw_per_sequence_gc_content_plot_Counts.txt:md5,9ddaa50167117d3c9188ccf015427704",
+ "fastqc_raw_per_sequence_gc_content_plot_Percentages.txt:md5,f10ee2881b61308af35f304aa3d810a3",
+ "fastqc_raw_per_sequence_quality_scores_plot.txt:md5,b5f9a02933e3065952237afd2ec9ce82",
+ "fastqc_raw_sequence_counts_plot.txt:md5,cbae4979d5db66d3b894abcf8d1c453c",
+ "fastqc_raw_sequence_duplication_levels_plot.txt:md5,8812cee16f6ca65e2c33635754de1772",
+ "fastqc_sequence_length_distribution_plot.txt:md5,7a2263743d5c452dc940eabffcb0ea82",
+ "fastqc_trimmed-status-check-heatmap.txt:md5,1913b4c077a341437475c758fb119559",
+ "fastqc_trimmed_overrepresented_sequences_plot.txt:md5,6a7c50868a36ca6052e9f4adba6b8567",
+ "fastqc_trimmed_per_base_n_content_plot.txt:md5,0cdd698fb9a2a4987572b9b4e8c8990e",
+ "fastqc_trimmed_per_base_sequence_quality_plot.txt:md5,82a9073151a413efbb0f11be8d0db1f2",
+ "fastqc_trimmed_per_sequence_gc_content_plot_Counts.txt:md5,08b43a02f34a3afa7eaddef602cdcafd",
+ "fastqc_trimmed_per_sequence_gc_content_plot_Percentages.txt:md5,0768af6bf06bbad52a3ac6ec0a444138",
+ "fastqc_trimmed_per_sequence_quality_scores_plot.txt:md5,ac167d250e9f88899da0ea81ef2b002e",
+ "fastqc_trimmed_sequence_counts_plot.txt:md5,370ddc5e58838dc5b55e53b6f8b8902a",
+ "fastqc_trimmed_sequence_duplication_levels_plot.txt:md5,b106d8ee7b83efe237afb862ebbe2f47",
+ "multiqc_citations.txt:md5,34e8b8c69015de25f9fce8c31d2ff864",
+ "multiqc_cutadapt.txt:md5,0937983d3ddfeccd4ccc5b0d74477558",
+ "multiqc_fastqc_fastqc_raw.txt:md5,81c3c1a2575a1891a7f2a9637a0f2cc0",
+ "multiqc_fastqc_fastqc_trimmed.txt:md5,a8a003b61b03295c416f3eb66c1cca65",
+ "multiqc_featurecounts_biotype_plot.txt:md5,5d1c33f3ff898b9bb95ed161e4235011",
+ "multiqc_samtools_idxstats.txt:md5,bdf185faa6d15d22efedb39d38c84943",
+ "multiqc_umitools_dedup.txt:md5,bad73f567baddb2272488b0e78e208cb",
+ "multiqc_umitools_extract.txt:md5,d41d8cd98f00b204e9800998ecf8427e",
+ "qualimap_gene_coverage_profile_Counts.txt:md5,48d6c0b4df0f6f535a4526fc74b0fd47",
+ "qualimap_gene_coverage_profile_Normalised.txt:md5,8974b37cbdbbc2a23ca103a3a4c10dd4",
+ "qualimap_rnaseq_cov_hist.txt:md5,55d1a7026062c28624be5901ac6781a4",
+ "rseqc_infer_experiment_plot.txt:md5,595bfcda9eddeed4f9ae4e162fe7120d",
+ "samtools-idxstats-mapped-reads-plot_Normalised_Counts.txt:md5,75acd04232d1804b5f960ee4c5db4722",
+ "samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts.txt:md5,53addd7b78d8ae224920ec9b97489d72",
+ "samtools-idxstats-mapped-reads-plot_Raw_Counts.txt:md5,2cae5122b2e6371f068722ed666678a1",
+ "umitools_deduplication_barplot.txt:md5,a2d6295db66f53d1044b261a05352782",
+ "umitools_stats_violin.txt:md5,136374122cf99fb0771667fcb9b48aee",
+ "ambig_info.tsv:md5,0b462f9b2d8eff1b4d76b7433434899c",
+ "expected_bias.gz:md5,3407f87245d0003e0ffbfdf6d8c04f20",
+ "observed_bias.gz:md5,92bcd0592d22a6a58d0360fc76103e56",
+ "observed_bias_3p.gz:md5,92bcd0592d22a6a58d0360fc76103e56",
+ "cmd_info.json:md5,910a60cb6ef954008c9e6d037342d773",
+ "lib_format_counts.json:md5,5846a0bb874171d30ef60059f6c10868",
+ "ambig_info.tsv:md5,2c45f73a5f73ae4d0053198ea98c87f3",
+ "expected_bias.gz:md5,3407f87245d0003e0ffbfdf6d8c04f20",
+ "observed_bias.gz:md5,92bcd0592d22a6a58d0360fc76103e56",
+ "observed_bias_3p.gz:md5,92bcd0592d22a6a58d0360fc76103e56",
+ "cmd_info.json:md5,e364ca1b150c3c0ae57f0397ff8ae471",
+ "lib_format_counts.json:md5,d662a174758011a56e6669f4810e0aaf",
+ "ambig_info.tsv:md5,644c4352884872a05fe36cbb2b119879",
+ "expected_bias.gz:md5,3407f87245d0003e0ffbfdf6d8c04f20",
+ "observed_bias.gz:md5,92bcd0592d22a6a58d0360fc76103e56",
+ "observed_bias_3p.gz:md5,92bcd0592d22a6a58d0360fc76103e56",
+ "cmd_info.json:md5,b472447f8ac9530be1ca2d9733af2686",
+ "lib_format_counts.json:md5,f01d7b98afc4b6bab773536a88e08e7e",
+ "ambig_info.tsv:md5,d6ca0827f17be19b6e08730a45063f9d",
+ "expected_bias.gz:md5,3407f87245d0003e0ffbfdf6d8c04f20",
+ "observed_bias.gz:md5,92bcd0592d22a6a58d0360fc76103e56",
+ "observed_bias_3p.gz:md5,92bcd0592d22a6a58d0360fc76103e56",
+ "cmd_info.json:md5,bdc36620d04525d343faea5297f0f0d7",
+ "lib_format_counts.json:md5,cf8bf8db790bede5136fca52968e7c43",
+ "ambig_info.tsv:md5,4aa8036707dc557004a80852394beebe",
+ "expected_bias.gz:md5,3407f87245d0003e0ffbfdf6d8c04f20",
+ "observed_bias.gz:md5,92bcd0592d22a6a58d0360fc76103e56",
+ "observed_bias_3p.gz:md5,92bcd0592d22a6a58d0360fc76103e56",
+ "cmd_info.json:md5,809380ddce725a8fab75dd7741b64bf6",
+ "lib_format_counts.json:md5,d231ba7624b67eb654989f69530e2925",
+ "R_sessionInfo.log:md5,fb0da0d7ad6994ed66a8e68348b19676",
+ "tx2gene.tsv:md5,0e2418a69d2eba45097ebffc2f700bfe",
+ "ambig_info.tsv:md5,0f0e3687e731243392685c550fb1d93f",
+ "expected_bias.gz:md5,3407f87245d0003e0ffbfdf6d8c04f20",
+ "observed_bias.gz:md5,92bcd0592d22a6a58d0360fc76103e56",
+ "observed_bias_3p.gz:md5,92bcd0592d22a6a58d0360fc76103e56",
+ "cmd_info.json:md5,58bb0c52d3b55f5ea7bdee0f61cc96c4",
+ "ambig_info.tsv:md5,4fd93ccf823486ea525e3d9353600adf",
+ "expected_bias.gz:md5,3407f87245d0003e0ffbfdf6d8c04f20",
+ "observed_bias.gz:md5,92bcd0592d22a6a58d0360fc76103e56",
+ "observed_bias_3p.gz:md5,92bcd0592d22a6a58d0360fc76103e56",
+ "cmd_info.json:md5,231adc3feccd0469b2371b0c6fc09237",
+ "ambig_info.tsv:md5,31891c8515b24aa6b40448deafbbc9ca",
+ "expected_bias.gz:md5,3407f87245d0003e0ffbfdf6d8c04f20",
+ "observed_bias.gz:md5,92bcd0592d22a6a58d0360fc76103e56",
+ "observed_bias_3p.gz:md5,92bcd0592d22a6a58d0360fc76103e56",
+ "cmd_info.json:md5,1b4720397a3819ee8307736442195cf0",
+ "ambig_info.tsv:md5,651337ad8cc12771ab78164630848a34",
+ "expected_bias.gz:md5,3407f87245d0003e0ffbfdf6d8c04f20",
+ "observed_bias.gz:md5,92bcd0592d22a6a58d0360fc76103e56",
+ "observed_bias_3p.gz:md5,92bcd0592d22a6a58d0360fc76103e56",
+ "cmd_info.json:md5,f54a81a543ea538b16f6b1a7209bf269",
+ "ambig_info.tsv:md5,1a1c979fca935062e6f2339bfbf09ea6",
+ "expected_bias.gz:md5,3407f87245d0003e0ffbfdf6d8c04f20",
+ "observed_bias.gz:md5,92bcd0592d22a6a58d0360fc76103e56",
+ "observed_bias_3p.gz:md5,92bcd0592d22a6a58d0360fc76103e56",
+ "cmd_info.json:md5,a3b1b764e21b500d9ffed5beb6da85ac",
+ "R_sessionInfo.log:md5,fb0da0d7ad6994ed66a8e68348b19676",
+ "RAP1_IAA_30M_REP1_dupMatrix.txt:md5,0b8c54ea7f2a78f7dd478a7bde53143e",
+ "RAP1_UNINDUCED_REP1_dupMatrix.txt:md5,ed386269dd82129149da4d33a9e0e0b6",
+ "RAP1_UNINDUCED_REP2_dupMatrix.txt:md5,ee34da4ee0f7b56c710f5df041f88f31",
+ "WT_REP1_dupMatrix.txt:md5,6416d48ec754942e0a5a0c1a81680fe5",
+ "WT_REP2_dupMatrix.txt:md5,60e583c84a0d8b31cb667703c56d6c33",
+ "RAP1_IAA_30M_REP1_intercept_slope.txt:md5,6c1e7c494f765ff6466ab023d52a1d70",
+ "RAP1_UNINDUCED_REP1_intercept_slope.txt:md5,93a525d3bc1ebfeddc8f04f3c2238237",
+ "RAP1_UNINDUCED_REP2_intercept_slope.txt:md5,74f6210123d50c2001f20dad6283e856",
+ "WT_REP1_intercept_slope.txt:md5,4d428c55745bf9e2832d7fdb76b72088",
+ "WT_REP2_intercept_slope.txt:md5,d6a47171cb52331c5e6e21671152fb98",
+ "RAP1_IAA_30M_REP1.biotype_counts_mqc.tsv:md5,d0e2b4a2e14fa97ad49c4baacfb1d5e3",
+ "RAP1_IAA_30M_REP1.biotype_counts_rrna_mqc.tsv:md5,dde2de0cb90e10d0195c726f768e9941",
+ "RAP1_IAA_30M_REP1.featureCounts.txt:md5,c90762d8ee1df9219dc643b68e464ca0",
+ "RAP1_UNINDUCED_REP1.biotype_counts_mqc.tsv:md5,619bb912961ef626647f713335935a5f",
+ "RAP1_UNINDUCED_REP1.biotype_counts_rrna_mqc.tsv:md5,845ff9059c72bc6722a8de69776e22bb",
+ "RAP1_UNINDUCED_REP1.featureCounts.txt:md5,4e0769c943c89adcaa3bab14b6d1cd88",
+ "RAP1_UNINDUCED_REP2.biotype_counts_mqc.tsv:md5,1b2f0f0a41e2c85592ccbfdb2a77f99e",
+ "RAP1_UNINDUCED_REP2.biotype_counts_rrna_mqc.tsv:md5,6d3fa4c88c7fe61f638e4624ad5e22f0",
+ "RAP1_UNINDUCED_REP2.featureCounts.txt:md5,42f5e8ab19f3791494e78a827d8d2c9f",
+ "WT_REP1.biotype_counts_mqc.tsv:md5,76e6acbdf45a12e2053c5bc80c16736a",
+ "WT_REP1.biotype_counts_rrna_mqc.tsv:md5,8ef76d717492ca23764938aee8ea33a9",
+ "WT_REP1.featureCounts.txt:md5,10b18e11692373de8ca48fe944ba45fb",
+ "WT_REP2.biotype_counts_mqc.tsv:md5,e859f48881b11b5e4e60f729391de069",
+ "WT_REP2.biotype_counts_rrna_mqc.tsv:md5,12294618fe44df1e7f39348372dcb481",
+ "WT_REP2.featureCounts.txt:md5,19befeb287117a2f2ccd9104736be554",
+ "RAP1_IAA_30M_REP1.SJ.out.tab:md5,d604a0a313ab69f8a4283270af18ae32",
+ "RAP1_UNINDUCED_REP1.SJ.out.tab:md5,b19277790e74ab9437f849953493f04b",
+ "RAP1_UNINDUCED_REP2.SJ.out.tab:md5,9329f50423971eaf6ae2a6a896a46660",
+ "WT_REP1.SJ.out.tab:md5,7727eaec321fb8b87524d755e6f7e9db",
+ "WT_REP2.SJ.out.tab:md5,1f04519116b722d992668ac4945769a1",
+ "coverage_profile_along_genes_(high).txt:md5,84f052e9fa2ce44f4a9eb0e341eeb3ad",
+ "coverage_profile_along_genes_(low).txt:md5,c6c6f7799776d3b46b7f9b1616ccb068",
+ "coverage_profile_along_genes_(total).txt:md5,c6c6f7799776d3b46b7f9b1616ccb068",
+ "coverage_profile_along_genes_(high).txt:md5,d9c43191445075edeb5b318d6be67ddd",
+ "coverage_profile_along_genes_(low).txt:md5,af1991d0ab4160ab03eb3ae4892c3bf6",
+ "coverage_profile_along_genes_(total).txt:md5,af1991d0ab4160ab03eb3ae4892c3bf6",
+ "coverage_profile_along_genes_(high).txt:md5,7d4a5678dc311a848f63a3e8c3e0f8c3",
+ "coverage_profile_along_genes_(low).txt:md5,b2a0e1a3c5dd2560345d10f6cba85120",
+ "coverage_profile_along_genes_(total).txt:md5,b2a0e1a3c5dd2560345d10f6cba85120",
+ "coverage_profile_along_genes_(high).txt:md5,f7d7520d1ac24746a0284a1dc320f4c7",
+ "coverage_profile_along_genes_(low).txt:md5,808ab48af81ff6a147f28cc0da849b81",
+ "coverage_profile_along_genes_(total).txt:md5,808ab48af81ff6a147f28cc0da849b81",
+ "coverage_profile_along_genes_(high).txt:md5,378217a9d9d22fd3ebb6b07f0e51c162",
+ "coverage_profile_along_genes_(low).txt:md5,99f9a15f2da90bdfde1b92ee596ea38c",
+ "coverage_profile_along_genes_(total).txt:md5,99f9a15f2da90bdfde1b92ee596ea38c",
+ "RAP1_IAA_30M_REP1.infer_experiment.txt:md5,ddaa65251a996b6def0fceb36f46b849",
+ "RAP1_UNINDUCED_REP1.infer_experiment.txt:md5,7a23eead24c9c4af5a1f4ce9222fa13a",
+ "RAP1_UNINDUCED_REP2.infer_experiment.txt:md5,5b7bc57d1349566303263ca3a518e6fd",
+ "WT_REP1.infer_experiment.txt:md5,63c888e13ef0fa915abd6e7c26ffde48",
+ "WT_REP2.infer_experiment.txt:md5,3e6940ec81e6a809f929362ba4ba4a56",
+ "e2t.ctab:md5,54dd6de2daa90e973f47524a738a3d69",
+ "e_data.ctab:md5,25598a444e1e9f1f15b4906b03a5874c",
+ "i2t.ctab:md5,dda3d3ccd7d4184d947c654ae73efb7b",
+ "i_data.ctab:md5,70fc90fa0a39d071c0e7edb1a705b6bc",
+ "e2t.ctab:md5,54dd6de2daa90e973f47524a738a3d69",
+ "e_data.ctab:md5,3c9b439b5a37a3cfdf4382d1bf6f7487",
+ "i2t.ctab:md5,dda3d3ccd7d4184d947c654ae73efb7b",
+ "i_data.ctab:md5,a4235dcab3d0b32432a3b26272b3e16d",
+ "e2t.ctab:md5,54dd6de2daa90e973f47524a738a3d69",
+ "e_data.ctab:md5,6356faf089792dfb24bda62bd0502d8e",
+ "i2t.ctab:md5,dda3d3ccd7d4184d947c654ae73efb7b",
+ "i_data.ctab:md5,1f7a09a1e1f86158196c4c4c805086c1",
+ "e2t.ctab:md5,54dd6de2daa90e973f47524a738a3d69",
+ "e_data.ctab:md5,8576a03875dc511f3e2374d9d0232ac9",
+ "i2t.ctab:md5,dda3d3ccd7d4184d947c654ae73efb7b",
+ "i_data.ctab:md5,3395edddbf247fa5229e0bae721d6c99",
+ "e2t.ctab:md5,54dd6de2daa90e973f47524a738a3d69",
+ "e_data.ctab:md5,01bfb332685d888c002fbda59ce28516",
+ "i2t.ctab:md5,dda3d3ccd7d4184d947c654ae73efb7b",
+ "i_data.ctab:md5,3d489da8244fc4d1fba0d0442220bf2d",
+ "tx2gene.tsv:md5,0e2418a69d2eba45097ebffc2f700bfe",
+ "RAP1_IAA_30M_REP1.umi_dedup.sorted_edit_distance.tsv:md5,620d5a5928e7739492de3bf66d149db2",
+ "RAP1_IAA_30M_REP1.umi_dedup.sorted_per_umi.tsv:md5,9c68e481bc942cfbf5cf51039238c269",
+ "RAP1_IAA_30M_REP1.umi_dedup.sorted_per_umi_per_position.tsv:md5,f37b7f5a783425506b434c9e5ff90f25",
+ "RAP1_IAA_30M_REP1.umi_dedup.transcriptome.sorted_edit_distance.tsv:md5,3ec96cdbe4e9eb45b18df4391b89df34",
+ "RAP1_IAA_30M_REP1.umi_dedup.transcriptome.sorted_per_umi.tsv:md5,a06aa2fd396dfa28eb3408a0f4e3bf48",
+ "RAP1_IAA_30M_REP1.umi_dedup.transcriptome.sorted_per_umi_per_position.tsv:md5,ce0c05c7994d600c75a34d5c9908f970",
+ "RAP1_UNINDUCED_REP1.umi_dedup.sorted_edit_distance.tsv:md5,58ea92107f0785532f31ba557e5d8aa9",
+ "RAP1_UNINDUCED_REP1.umi_dedup.sorted_per_umi.tsv:md5,41e6a7a416659b6208c731b1aa7e149f",
+ "RAP1_UNINDUCED_REP1.umi_dedup.sorted_per_umi_per_position.tsv:md5,1a4f7954086d4a76d93694443e074312",
+ "RAP1_UNINDUCED_REP1.umi_dedup.transcriptome.sorted_edit_distance.tsv:md5,176fbeac8e4f1cfa1def599cc5ad4847",
+ "RAP1_UNINDUCED_REP1.umi_dedup.transcriptome.sorted_per_umi.tsv:md5,fcded67bc5e50902c296d40d53e9079c",
+ "RAP1_UNINDUCED_REP1.umi_dedup.transcriptome.sorted_per_umi_per_position.tsv:md5,5a3d1e0ec5f3af2c279d8321bae2de34",
+ "RAP1_UNINDUCED_REP2.umi_dedup.sorted_edit_distance.tsv:md5,15120d542adb7ad45acf924d905e7fcf",
+ "RAP1_UNINDUCED_REP2.umi_dedup.sorted_per_umi.tsv:md5,d68aae0c4698c73c10c83df7f7cba06a",
+ "RAP1_UNINDUCED_REP2.umi_dedup.sorted_per_umi_per_position.tsv:md5,18f5c21477fc51e56c65ee0660649ffc",
+ "RAP1_UNINDUCED_REP2.umi_dedup.transcriptome.sorted_edit_distance.tsv:md5,13f3f84f11f6bb8e98f001b97902d559",
+ "RAP1_UNINDUCED_REP2.umi_dedup.transcriptome.sorted_per_umi.tsv:md5,eb7aedb12f64c703f76ade9b60d3ded0",
+ "RAP1_UNINDUCED_REP2.umi_dedup.transcriptome.sorted_per_umi_per_position.tsv:md5,dc636e57732d1548bd4e5454aef63788",
+ "WT_REP1.umi_dedup.sorted_edit_distance.tsv:md5,5d18333d2131dfb7083ece42f5538eb4",
+ "WT_REP1.umi_dedup.sorted_per_umi.tsv:md5,d81c983368a0b2218eb8954579c376e7",
+ "WT_REP1.umi_dedup.sorted_per_umi_per_position.tsv:md5,e2412d716ca85a90f8dbb100a9614991",
+ "WT_REP1.umi_dedup.transcriptome.sorted_edit_distance.tsv:md5,d698cb0a0d23dbb2d78deff0928b2a1f",
+ "WT_REP1.umi_dedup.transcriptome.sorted_per_umi.tsv:md5,ee2df66b8427ea94fff18430cc1937a4",
+ "WT_REP1.umi_dedup.transcriptome.sorted_per_umi_per_position.tsv:md5,485a03ff0fec979ee84d918158502bf1",
+ "WT_REP2.umi_dedup.sorted_edit_distance.tsv:md5,a935a046c0a8f269cdeaa7c1c935f0ec",
+ "WT_REP2.umi_dedup.sorted_per_umi.tsv:md5,0cb0f12e99861120a0437051a7aaa152",
+ "WT_REP2.umi_dedup.sorted_per_umi_per_position.tsv:md5,6f5656947a7f0076df446e6f40430027",
+ "WT_REP2.umi_dedup.transcriptome.sorted_edit_distance.tsv:md5,3e3c6a7e8996e566350742e9911366d3",
+ "WT_REP2.umi_dedup.transcriptome.sorted_per_umi.tsv:md5,0c986c4cb7a77f650a19e2c454b9b179",
+ "WT_REP2.umi_dedup.transcriptome.sorted_per_umi_per_position.tsv:md5,af9028dbdab81de3854a32cd1d19ac8b"
+ ]
+ ],
+ "meta": {
+ "nf-test": "0.9.0",
+ "nextflow": "24.10.2"
+ },
+ "timestamp": "2024-12-11T18:07:55.751564456"
+ },
+ "Params: --aligner hisat2 --umi_dedup_tool 'umicollapse'": {
+ "content": [
+ 196,
+ {
+ "BEDTOOLS_GENOMECOV_FW": {
+ "bedtools": "2.31.1"
+ },
+ "CAT_FASTQ": {
+ "cat": 9.5
+ },
+ "CUSTOM_CATADDITIONALFASTA": {
+ "python": "3.12.2"
+ },
+ "CUSTOM_GETCHROMSIZES": {
+ "getchromsizes": 1.21
+ },
+ "CUSTOM_TX2GENE": {
+ "python": "3.10.4"
+ },
+ "DESEQ2_QC_PSEUDO": {
+ "r-base": "4.0.3",
+ "bioconductor-deseq2": "1.28.0"
+ },
+ "DUPRADAR": {
+ "bioconductor-dupradar": "1.32.0"
+ },
+ "FASTQC": {
+ "fastqc": "0.12.1"
+ },
+ "FQ_LINT": {
+ "fq": "0.12.0 (2024-07-08)"
+ },
+ "FQ_SUBSAMPLE": {
+ "fq": "0.12.0 (2024-07-08)"
+ },
+ "GTF2BED": {
+ "perl": "5.26.2"
+ },
+ "GTF_FILTER": {
+ "python": "3.9.5"
+ },
+ "GUNZIP_ADDITIONAL_FASTA": {
+ "gunzip": 1.1
+ },
+ "GUNZIP_GTF": {
+ "gunzip": 1.1
+ },
+ "HISAT2_ALIGN": {
+ "hisat2": "2.2.1",
+ "samtools": "1.16.1"
+ },
+ "HISAT2_EXTRACTSPLICESITES": {
+ "hisat2": "2.2.1"
+ },
+ "MULTIQC_CUSTOM_BIOTYPE": {
+ "python": "3.9.5"
+ },
+ "QUALIMAP_RNASEQ": {
+ "qualimap": 2.3
+ },
+ "RSEQC_BAMSTAT": {
+ "rseqc": "5.0.2"
+ },
+ "RSEQC_INFEREXPERIMENT": {
+ "rseqc": "5.0.2"
+ },
+ "RSEQC_INNERDISTANCE": {
+ "rseqc": "5.0.2"
+ },
+ "RSEQC_JUNCTIONANNOTATION": {
+ "rseqc": "5.0.2"
+ },
+ "RSEQC_JUNCTIONSATURATION": {
+ "rseqc": "5.0.2"
+ },
+ "RSEQC_READDISTRIBUTION": {
+ "rseqc": "5.0.2"
+ },
+ "RSEQC_READDUPLICATION": {
+ "rseqc": "5.0.2"
+ },
+ "SALMON_QUANT": {
+ "salmon": "1.10.3"
+ },
+ "SAMTOOLS_FLAGSTAT": {
+ "samtools": 1.21
+ },
+ "SAMTOOLS_IDXSTATS": {
+ "samtools": 1.21
+ },
+ "SAMTOOLS_INDEX": {
+ "samtools": 1.21
+ },
+ "SAMTOOLS_SORT": {
+ "samtools": 1.21
+ },
+ "SAMTOOLS_STATS": {
+ "samtools": 1.21
+ },
+ "SE_GENE": {
+ "bioconductor-summarizedexperiment": "1.32.0"
+ },
+ "STRINGTIE_STRINGTIE": {
+ "stringtie": "2.2.3"
+ },
+ "SUBREAD_FEATURECOUNTS": {
+ "subread": "2.0.6"
+ },
+ "TRIMGALORE": {
+ "trimgalore": "0.6.10",
+ "cutadapt": 4.9
+ },
+ "TXIMETA_TXIMPORT": {
+ "bioconductor-tximeta": "1.20.1"
+ },
+ "UCSC_BEDCLIP": {
+ "ucsc": 377
+ },
+ "UCSC_BEDGRAPHTOBIGWIG": {
+ "ucsc": 469
+ },
+ "UMICOLLAPSE": {
+ "umicollapse": "1.1.0-0"
+ },
+ "UMITOOLS_EXTRACT": {
+ "umitools": "1.1.5"
+ },
+ "UNTAR_HISAT2_INDEX": {
+ "untar": 1.34
+ },
+ "UNTAR_SALMON_INDEX": {
+ "untar": 1.34
+ },
+ "Workflow": {
+ "nf-core/rnaseq": "v3.18.0dev"
+ }
+ },
+ [
+ "custom",
+ "custom/out",
+ "custom/out/genome_gfp.fasta",
+ "custom/out/genome_gfp.gtf",
+ "fastqc",
+ "fastqc/raw",
+ "fastqc/raw/RAP1_IAA_30M_REP1_raw_1_fastqc.html",
+ "fastqc/raw/RAP1_IAA_30M_REP1_raw_1_fastqc.zip",
+ "fastqc/raw/RAP1_IAA_30M_REP1_raw_2_fastqc.html",
+ "fastqc/raw/RAP1_IAA_30M_REP1_raw_2_fastqc.zip",
+ "fastqc/raw/RAP1_UNINDUCED_REP1_raw_fastqc.html",
+ "fastqc/raw/RAP1_UNINDUCED_REP1_raw_fastqc.zip",
+ "fastqc/raw/RAP1_UNINDUCED_REP2_raw_fastqc.html",
+ "fastqc/raw/RAP1_UNINDUCED_REP2_raw_fastqc.zip",
+ "fastqc/raw/WT_REP1_raw_1_fastqc.html",
+ "fastqc/raw/WT_REP1_raw_1_fastqc.zip",
+ "fastqc/raw/WT_REP1_raw_2_fastqc.html",
+ "fastqc/raw/WT_REP1_raw_2_fastqc.zip",
+ "fastqc/raw/WT_REP2_raw_1_fastqc.html",
+ "fastqc/raw/WT_REP2_raw_1_fastqc.zip",
+ "fastqc/raw/WT_REP2_raw_2_fastqc.html",
+ "fastqc/raw/WT_REP2_raw_2_fastqc.zip",
+ "fastqc/trim",
+ "fastqc/trim/RAP1_IAA_30M_REP1_trimmed_1_val_1_fastqc.html",
+ "fastqc/trim/RAP1_IAA_30M_REP1_trimmed_1_val_1_fastqc.zip",
+ "fastqc/trim/RAP1_IAA_30M_REP1_trimmed_2_val_2_fastqc.html",
+ "fastqc/trim/RAP1_IAA_30M_REP1_trimmed_2_val_2_fastqc.zip",
+ "fastqc/trim/RAP1_UNINDUCED_REP1_trimmed_trimmed_fastqc.html",
+ "fastqc/trim/RAP1_UNINDUCED_REP1_trimmed_trimmed_fastqc.zip",
+ "fastqc/trim/RAP1_UNINDUCED_REP2_trimmed_trimmed_fastqc.html",
+ "fastqc/trim/RAP1_UNINDUCED_REP2_trimmed_trimmed_fastqc.zip",
+ "fastqc/trim/WT_REP1_trimmed_1_val_1_fastqc.html",
+ "fastqc/trim/WT_REP1_trimmed_1_val_1_fastqc.zip",
+ "fastqc/trim/WT_REP1_trimmed_2_val_2_fastqc.html",
+ "fastqc/trim/WT_REP1_trimmed_2_val_2_fastqc.zip",
+ "fastqc/trim/WT_REP2_trimmed_1_val_1_fastqc.html",
+ "fastqc/trim/WT_REP2_trimmed_1_val_1_fastqc.zip",
+ "fastqc/trim/WT_REP2_trimmed_2_val_2_fastqc.html",
+ "fastqc/trim/WT_REP2_trimmed_2_val_2_fastqc.zip",
+ "fq_lint",
+ "fq_lint/raw",
+ "fq_lint/raw/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/raw/WT_REP1.fq_lint.txt",
+ "fq_lint/raw/WT_REP2.fq_lint.txt",
+ "fq_lint/trimmed",
+ "fq_lint/trimmed/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/trimmed/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/trimmed/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/trimmed/WT_REP1.fq_lint.txt",
+ "fq_lint/trimmed/WT_REP2.fq_lint.txt",
+ "hisat2",
+ "hisat2/RAP1_IAA_30M_REP1.umi_dedup.sorted.bam",
+ "hisat2/RAP1_IAA_30M_REP1.umi_dedup.sorted.bam.bai",
+ "hisat2/RAP1_UNINDUCED_REP1.umi_dedup.sorted.bam",
+ "hisat2/RAP1_UNINDUCED_REP1.umi_dedup.sorted.bam.bai",
+ "hisat2/RAP1_UNINDUCED_REP2.umi_dedup.sorted.bam",
+ "hisat2/RAP1_UNINDUCED_REP2.umi_dedup.sorted.bam.bai",
+ "hisat2/WT_REP1.umi_dedup.sorted.bam",
+ "hisat2/WT_REP1.umi_dedup.sorted.bam.bai",
+ "hisat2/WT_REP2.umi_dedup.sorted.bam",
+ "hisat2/WT_REP2.umi_dedup.sorted.bam.bai",
+ "hisat2/bigwig",
+ "hisat2/bigwig/RAP1_IAA_30M_REP1.forward.bigWig",
+ "hisat2/bigwig/RAP1_IAA_30M_REP1.reverse.bigWig",
+ "hisat2/bigwig/RAP1_UNINDUCED_REP1.forward.bigWig",
+ "hisat2/bigwig/RAP1_UNINDUCED_REP1.reverse.bigWig",
+ "hisat2/bigwig/RAP1_UNINDUCED_REP2.forward.bigWig",
+ "hisat2/bigwig/RAP1_UNINDUCED_REP2.reverse.bigWig",
+ "hisat2/bigwig/WT_REP1.forward.bigWig",
+ "hisat2/bigwig/WT_REP1.reverse.bigWig",
+ "hisat2/bigwig/WT_REP2.forward.bigWig",
+ "hisat2/bigwig/WT_REP2.reverse.bigWig",
+ "hisat2/dupradar",
+ "hisat2/dupradar/box_plot",
+ "hisat2/dupradar/box_plot/RAP1_IAA_30M_REP1_duprateExpBoxplot.pdf",
+ "hisat2/dupradar/box_plot/RAP1_UNINDUCED_REP1_duprateExpBoxplot.pdf",
+ "hisat2/dupradar/box_plot/RAP1_UNINDUCED_REP2_duprateExpBoxplot.pdf",
+ "hisat2/dupradar/box_plot/WT_REP1_duprateExpBoxplot.pdf",
+ "hisat2/dupradar/box_plot/WT_REP2_duprateExpBoxplot.pdf",
+ "hisat2/dupradar/gene_data",
+ "hisat2/dupradar/gene_data/RAP1_IAA_30M_REP1_dupMatrix.txt",
+ "hisat2/dupradar/gene_data/RAP1_UNINDUCED_REP1_dupMatrix.txt",
+ "hisat2/dupradar/gene_data/RAP1_UNINDUCED_REP2_dupMatrix.txt",
+ "hisat2/dupradar/gene_data/WT_REP1_dupMatrix.txt",
+ "hisat2/dupradar/gene_data/WT_REP2_dupMatrix.txt",
+ "hisat2/dupradar/histogram",
+ "hisat2/dupradar/histogram/RAP1_IAA_30M_REP1_expressionHist.pdf",
+ "hisat2/dupradar/histogram/RAP1_UNINDUCED_REP1_expressionHist.pdf",
+ "hisat2/dupradar/histogram/RAP1_UNINDUCED_REP2_expressionHist.pdf",
+ "hisat2/dupradar/histogram/WT_REP1_expressionHist.pdf",
+ "hisat2/dupradar/histogram/WT_REP2_expressionHist.pdf",
+ "hisat2/dupradar/intercepts_slope",
+ "hisat2/dupradar/intercepts_slope/RAP1_IAA_30M_REP1_intercept_slope.txt",
+ "hisat2/dupradar/intercepts_slope/RAP1_UNINDUCED_REP1_intercept_slope.txt",
+ "hisat2/dupradar/intercepts_slope/RAP1_UNINDUCED_REP2_intercept_slope.txt",
+ "hisat2/dupradar/intercepts_slope/WT_REP1_intercept_slope.txt",
+ "hisat2/dupradar/intercepts_slope/WT_REP2_intercept_slope.txt",
+ "hisat2/dupradar/scatter_plot",
+ "hisat2/dupradar/scatter_plot/RAP1_IAA_30M_REP1_duprateExpDens.pdf",
+ "hisat2/dupradar/scatter_plot/RAP1_UNINDUCED_REP1_duprateExpDens.pdf",
+ "hisat2/dupradar/scatter_plot/RAP1_UNINDUCED_REP2_duprateExpDens.pdf",
+ "hisat2/dupradar/scatter_plot/WT_REP1_duprateExpDens.pdf",
+ "hisat2/dupradar/scatter_plot/WT_REP2_duprateExpDens.pdf",
+ "hisat2/featurecounts",
+ "hisat2/featurecounts/RAP1_IAA_30M_REP1.biotype_counts_mqc.tsv",
+ "hisat2/featurecounts/RAP1_IAA_30M_REP1.biotype_counts_rrna_mqc.tsv",
+ "hisat2/featurecounts/RAP1_IAA_30M_REP1.featureCounts.txt",
+ "hisat2/featurecounts/RAP1_IAA_30M_REP1.featureCounts.txt.summary",
+ "hisat2/featurecounts/RAP1_UNINDUCED_REP1.biotype_counts_mqc.tsv",
+ "hisat2/featurecounts/RAP1_UNINDUCED_REP1.biotype_counts_rrna_mqc.tsv",
+ "hisat2/featurecounts/RAP1_UNINDUCED_REP1.featureCounts.txt",
+ "hisat2/featurecounts/RAP1_UNINDUCED_REP1.featureCounts.txt.summary",
+ "hisat2/featurecounts/RAP1_UNINDUCED_REP2.biotype_counts_mqc.tsv",
+ "hisat2/featurecounts/RAP1_UNINDUCED_REP2.biotype_counts_rrna_mqc.tsv",
+ "hisat2/featurecounts/RAP1_UNINDUCED_REP2.featureCounts.txt",
+ "hisat2/featurecounts/RAP1_UNINDUCED_REP2.featureCounts.txt.summary",
+ "hisat2/featurecounts/WT_REP1.biotype_counts_mqc.tsv",
+ "hisat2/featurecounts/WT_REP1.biotype_counts_rrna_mqc.tsv",
+ "hisat2/featurecounts/WT_REP1.featureCounts.txt",
+ "hisat2/featurecounts/WT_REP1.featureCounts.txt.summary",
+ "hisat2/featurecounts/WT_REP2.biotype_counts_mqc.tsv",
+ "hisat2/featurecounts/WT_REP2.biotype_counts_rrna_mqc.tsv",
+ "hisat2/featurecounts/WT_REP2.featureCounts.txt",
+ "hisat2/featurecounts/WT_REP2.featureCounts.txt.summary",
+ "hisat2/log",
+ "hisat2/log/RAP1_IAA_30M_REP1.hisat2.summary.log",
+ "hisat2/log/RAP1_UNINDUCED_REP1.hisat2.summary.log",
+ "hisat2/log/RAP1_UNINDUCED_REP2.hisat2.summary.log",
+ "hisat2/log/WT_REP1.hisat2.summary.log",
+ "hisat2/log/WT_REP2.hisat2.summary.log",
+ "hisat2/qualimap",
+ "hisat2/qualimap/RAP1_IAA_30M_REP1",
+ "hisat2/qualimap/RAP1_IAA_30M_REP1/css",
+ "hisat2/qualimap/RAP1_IAA_30M_REP1/css/agogo.css",
+ "hisat2/qualimap/RAP1_IAA_30M_REP1/css/ajax-loader.gif",
+ "hisat2/qualimap/RAP1_IAA_30M_REP1/css/basic.css",
+ "hisat2/qualimap/RAP1_IAA_30M_REP1/css/bgfooter.png",
+ "hisat2/qualimap/RAP1_IAA_30M_REP1/css/bgtop.png",
+ "hisat2/qualimap/RAP1_IAA_30M_REP1/css/comment-bright.png",
+ "hisat2/qualimap/RAP1_IAA_30M_REP1/css/comment-close.png",
+ "hisat2/qualimap/RAP1_IAA_30M_REP1/css/comment.png",
+ "hisat2/qualimap/RAP1_IAA_30M_REP1/css/doctools.js",
+ "hisat2/qualimap/RAP1_IAA_30M_REP1/css/down-pressed.png",
+ "hisat2/qualimap/RAP1_IAA_30M_REP1/css/down.png",
+ "hisat2/qualimap/RAP1_IAA_30M_REP1/css/file.png",
+ "hisat2/qualimap/RAP1_IAA_30M_REP1/css/jquery.js",
+ "hisat2/qualimap/RAP1_IAA_30M_REP1/css/minus.png",
+ "hisat2/qualimap/RAP1_IAA_30M_REP1/css/plus.png",
+ "hisat2/qualimap/RAP1_IAA_30M_REP1/css/pygments.css",
+ "hisat2/qualimap/RAP1_IAA_30M_REP1/css/qualimap_logo_small.png",
+ "hisat2/qualimap/RAP1_IAA_30M_REP1/css/report.css",
+ "hisat2/qualimap/RAP1_IAA_30M_REP1/css/searchtools.js",
+ "hisat2/qualimap/RAP1_IAA_30M_REP1/css/underscore.js",
+ "hisat2/qualimap/RAP1_IAA_30M_REP1/css/up-pressed.png",
+ "hisat2/qualimap/RAP1_IAA_30M_REP1/css/up.png",
+ "hisat2/qualimap/RAP1_IAA_30M_REP1/css/websupport.js",
+ "hisat2/qualimap/RAP1_IAA_30M_REP1/images_qualimapReport",
+ "hisat2/qualimap/RAP1_IAA_30M_REP1/images_qualimapReport/Coverage Profile Along Genes (High).png",
+ "hisat2/qualimap/RAP1_IAA_30M_REP1/images_qualimapReport/Coverage Profile Along Genes (Low).png",
+ "hisat2/qualimap/RAP1_IAA_30M_REP1/images_qualimapReport/Coverage Profile Along Genes (Total).png",
+ "hisat2/qualimap/RAP1_IAA_30M_REP1/images_qualimapReport/Junction Analysis.png",
+ "hisat2/qualimap/RAP1_IAA_30M_REP1/images_qualimapReport/Reads Genomic Origin.png",
+ "hisat2/qualimap/RAP1_IAA_30M_REP1/images_qualimapReport/Transcript coverage histogram.png",
+ "hisat2/qualimap/RAP1_IAA_30M_REP1/qualimapReport.html",
+ "hisat2/qualimap/RAP1_IAA_30M_REP1/raw_data_qualimapReport",
+ "hisat2/qualimap/RAP1_IAA_30M_REP1/raw_data_qualimapReport/coverage_profile_along_genes_(high).txt",
+ "hisat2/qualimap/RAP1_IAA_30M_REP1/raw_data_qualimapReport/coverage_profile_along_genes_(low).txt",
+ "hisat2/qualimap/RAP1_IAA_30M_REP1/raw_data_qualimapReport/coverage_profile_along_genes_(total).txt",
+ "hisat2/qualimap/RAP1_IAA_30M_REP1/rnaseq_qc_results.txt",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP1",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP1/css",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP1/css/agogo.css",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP1/css/ajax-loader.gif",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP1/css/basic.css",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP1/css/bgfooter.png",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP1/css/bgtop.png",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP1/css/comment-bright.png",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP1/css/comment-close.png",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP1/css/comment.png",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP1/css/doctools.js",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP1/css/down-pressed.png",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP1/css/down.png",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP1/css/file.png",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP1/css/jquery.js",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP1/css/minus.png",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP1/css/plus.png",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP1/css/pygments.css",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP1/css/qualimap_logo_small.png",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP1/css/report.css",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP1/css/searchtools.js",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP1/css/underscore.js",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP1/css/up-pressed.png",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP1/css/up.png",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP1/css/websupport.js",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP1/images_qualimapReport",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP1/images_qualimapReport/Coverage Profile Along Genes (High).png",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP1/images_qualimapReport/Coverage Profile Along Genes (Low).png",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP1/images_qualimapReport/Coverage Profile Along Genes (Total).png",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP1/images_qualimapReport/Junction Analysis.png",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP1/images_qualimapReport/Reads Genomic Origin.png",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP1/images_qualimapReport/Transcript coverage histogram.png",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP1/qualimapReport.html",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP1/raw_data_qualimapReport",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP1/raw_data_qualimapReport/coverage_profile_along_genes_(high).txt",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP1/raw_data_qualimapReport/coverage_profile_along_genes_(low).txt",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP1/raw_data_qualimapReport/coverage_profile_along_genes_(total).txt",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP1/rnaseq_qc_results.txt",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP2",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP2/css",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP2/css/agogo.css",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP2/css/ajax-loader.gif",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP2/css/basic.css",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP2/css/bgfooter.png",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP2/css/bgtop.png",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP2/css/comment-bright.png",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP2/css/comment-close.png",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP2/css/comment.png",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP2/css/doctools.js",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP2/css/down-pressed.png",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP2/css/down.png",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP2/css/file.png",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP2/css/jquery.js",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP2/css/minus.png",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP2/css/plus.png",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP2/css/pygments.css",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP2/css/qualimap_logo_small.png",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP2/css/report.css",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP2/css/searchtools.js",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP2/css/underscore.js",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP2/css/up-pressed.png",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP2/css/up.png",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP2/css/websupport.js",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP2/images_qualimapReport",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP2/images_qualimapReport/Coverage Profile Along Genes (High).png",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP2/images_qualimapReport/Coverage Profile Along Genes (Low).png",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP2/images_qualimapReport/Coverage Profile Along Genes (Total).png",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP2/images_qualimapReport/Junction Analysis.png",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP2/images_qualimapReport/Reads Genomic Origin.png",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP2/images_qualimapReport/Transcript coverage histogram.png",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP2/qualimapReport.html",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP2/raw_data_qualimapReport",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP2/raw_data_qualimapReport/coverage_profile_along_genes_(high).txt",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP2/raw_data_qualimapReport/coverage_profile_along_genes_(low).txt",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP2/raw_data_qualimapReport/coverage_profile_along_genes_(total).txt",
+ "hisat2/qualimap/RAP1_UNINDUCED_REP2/rnaseq_qc_results.txt",
+ "hisat2/qualimap/WT_REP1",
+ "hisat2/qualimap/WT_REP1/css",
+ "hisat2/qualimap/WT_REP1/css/agogo.css",
+ "hisat2/qualimap/WT_REP1/css/ajax-loader.gif",
+ "hisat2/qualimap/WT_REP1/css/basic.css",
+ "hisat2/qualimap/WT_REP1/css/bgfooter.png",
+ "hisat2/qualimap/WT_REP1/css/bgtop.png",
+ "hisat2/qualimap/WT_REP1/css/comment-bright.png",
+ "hisat2/qualimap/WT_REP1/css/comment-close.png",
+ "hisat2/qualimap/WT_REP1/css/comment.png",
+ "hisat2/qualimap/WT_REP1/css/doctools.js",
+ "hisat2/qualimap/WT_REP1/css/down-pressed.png",
+ "hisat2/qualimap/WT_REP1/css/down.png",
+ "hisat2/qualimap/WT_REP1/css/file.png",
+ "hisat2/qualimap/WT_REP1/css/jquery.js",
+ "hisat2/qualimap/WT_REP1/css/minus.png",
+ "hisat2/qualimap/WT_REP1/css/plus.png",
+ "hisat2/qualimap/WT_REP1/css/pygments.css",
+ "hisat2/qualimap/WT_REP1/css/qualimap_logo_small.png",
+ "hisat2/qualimap/WT_REP1/css/report.css",
+ "hisat2/qualimap/WT_REP1/css/searchtools.js",
+ "hisat2/qualimap/WT_REP1/css/underscore.js",
+ "hisat2/qualimap/WT_REP1/css/up-pressed.png",
+ "hisat2/qualimap/WT_REP1/css/up.png",
+ "hisat2/qualimap/WT_REP1/css/websupport.js",
+ "hisat2/qualimap/WT_REP1/images_qualimapReport",
+ "hisat2/qualimap/WT_REP1/images_qualimapReport/Coverage Profile Along Genes (High).png",
+ "hisat2/qualimap/WT_REP1/images_qualimapReport/Coverage Profile Along Genes (Low).png",
+ "hisat2/qualimap/WT_REP1/images_qualimapReport/Coverage Profile Along Genes (Total).png",
+ "hisat2/qualimap/WT_REP1/images_qualimapReport/Junction Analysis.png",
+ "hisat2/qualimap/WT_REP1/images_qualimapReport/Reads Genomic Origin.png",
+ "hisat2/qualimap/WT_REP1/images_qualimapReport/Transcript coverage histogram.png",
+ "hisat2/qualimap/WT_REP1/qualimapReport.html",
+ "hisat2/qualimap/WT_REP1/raw_data_qualimapReport",
+ "hisat2/qualimap/WT_REP1/raw_data_qualimapReport/coverage_profile_along_genes_(high).txt",
+ "hisat2/qualimap/WT_REP1/raw_data_qualimapReport/coverage_profile_along_genes_(low).txt",
+ "hisat2/qualimap/WT_REP1/raw_data_qualimapReport/coverage_profile_along_genes_(total).txt",
+ "hisat2/qualimap/WT_REP1/rnaseq_qc_results.txt",
+ "hisat2/qualimap/WT_REP2",
+ "hisat2/qualimap/WT_REP2/css",
+ "hisat2/qualimap/WT_REP2/css/agogo.css",
+ "hisat2/qualimap/WT_REP2/css/ajax-loader.gif",
+ "hisat2/qualimap/WT_REP2/css/basic.css",
+ "hisat2/qualimap/WT_REP2/css/bgfooter.png",
+ "hisat2/qualimap/WT_REP2/css/bgtop.png",
+ "hisat2/qualimap/WT_REP2/css/comment-bright.png",
+ "hisat2/qualimap/WT_REP2/css/comment-close.png",
+ "hisat2/qualimap/WT_REP2/css/comment.png",
+ "hisat2/qualimap/WT_REP2/css/doctools.js",
+ "hisat2/qualimap/WT_REP2/css/down-pressed.png",
+ "hisat2/qualimap/WT_REP2/css/down.png",
+ "hisat2/qualimap/WT_REP2/css/file.png",
+ "hisat2/qualimap/WT_REP2/css/jquery.js",
+ "hisat2/qualimap/WT_REP2/css/minus.png",
+ "hisat2/qualimap/WT_REP2/css/plus.png",
+ "hisat2/qualimap/WT_REP2/css/pygments.css",
+ "hisat2/qualimap/WT_REP2/css/qualimap_logo_small.png",
+ "hisat2/qualimap/WT_REP2/css/report.css",
+ "hisat2/qualimap/WT_REP2/css/searchtools.js",
+ "hisat2/qualimap/WT_REP2/css/underscore.js",
+ "hisat2/qualimap/WT_REP2/css/up-pressed.png",
+ "hisat2/qualimap/WT_REP2/css/up.png",
+ "hisat2/qualimap/WT_REP2/css/websupport.js",
+ "hisat2/qualimap/WT_REP2/images_qualimapReport",
+ "hisat2/qualimap/WT_REP2/images_qualimapReport/Coverage Profile Along Genes (High).png",
+ "hisat2/qualimap/WT_REP2/images_qualimapReport/Coverage Profile Along Genes (Low).png",
+ "hisat2/qualimap/WT_REP2/images_qualimapReport/Coverage Profile Along Genes (Total).png",
+ "hisat2/qualimap/WT_REP2/images_qualimapReport/Junction Analysis.png",
+ "hisat2/qualimap/WT_REP2/images_qualimapReport/Reads Genomic Origin.png",
+ "hisat2/qualimap/WT_REP2/images_qualimapReport/Transcript coverage histogram.png",
+ "hisat2/qualimap/WT_REP2/qualimapReport.html",
+ "hisat2/qualimap/WT_REP2/raw_data_qualimapReport",
+ "hisat2/qualimap/WT_REP2/raw_data_qualimapReport/coverage_profile_along_genes_(high).txt",
+ "hisat2/qualimap/WT_REP2/raw_data_qualimapReport/coverage_profile_along_genes_(low).txt",
+ "hisat2/qualimap/WT_REP2/raw_data_qualimapReport/coverage_profile_along_genes_(total).txt",
+ "hisat2/qualimap/WT_REP2/rnaseq_qc_results.txt",
+ "hisat2/rseqc",
+ "hisat2/rseqc/bam_stat",
+ "hisat2/rseqc/bam_stat/RAP1_IAA_30M_REP1.bam_stat.txt",
+ "hisat2/rseqc/bam_stat/RAP1_UNINDUCED_REP1.bam_stat.txt",
+ "hisat2/rseqc/bam_stat/RAP1_UNINDUCED_REP2.bam_stat.txt",
+ "hisat2/rseqc/bam_stat/WT_REP1.bam_stat.txt",
+ "hisat2/rseqc/bam_stat/WT_REP2.bam_stat.txt",
+ "hisat2/rseqc/infer_experiment",
+ "hisat2/rseqc/infer_experiment/RAP1_IAA_30M_REP1.infer_experiment.txt",
+ "hisat2/rseqc/infer_experiment/RAP1_UNINDUCED_REP1.infer_experiment.txt",
+ "hisat2/rseqc/infer_experiment/RAP1_UNINDUCED_REP2.infer_experiment.txt",
+ "hisat2/rseqc/infer_experiment/WT_REP1.infer_experiment.txt",
+ "hisat2/rseqc/infer_experiment/WT_REP2.infer_experiment.txt",
+ "hisat2/rseqc/inner_distance",
+ "hisat2/rseqc/inner_distance/pdf",
+ "hisat2/rseqc/inner_distance/pdf/RAP1_IAA_30M_REP1.inner_distance_plot.pdf",
+ "hisat2/rseqc/inner_distance/pdf/WT_REP1.inner_distance_plot.pdf",
+ "hisat2/rseqc/inner_distance/pdf/WT_REP2.inner_distance_plot.pdf",
+ "hisat2/rseqc/inner_distance/rscript",
+ "hisat2/rseqc/inner_distance/rscript/RAP1_IAA_30M_REP1.inner_distance_plot.r",
+ "hisat2/rseqc/inner_distance/rscript/WT_REP1.inner_distance_plot.r",
+ "hisat2/rseqc/inner_distance/rscript/WT_REP2.inner_distance_plot.r",
+ "hisat2/rseqc/inner_distance/txt",
+ "hisat2/rseqc/inner_distance/txt/RAP1_IAA_30M_REP1.inner_distance.txt",
+ "hisat2/rseqc/inner_distance/txt/RAP1_IAA_30M_REP1.inner_distance_freq.txt",
+ "hisat2/rseqc/inner_distance/txt/RAP1_IAA_30M_REP1.inner_distance_mean.txt",
+ "hisat2/rseqc/inner_distance/txt/WT_REP1.inner_distance.txt",
+ "hisat2/rseqc/inner_distance/txt/WT_REP1.inner_distance_freq.txt",
+ "hisat2/rseqc/inner_distance/txt/WT_REP1.inner_distance_mean.txt",
+ "hisat2/rseqc/inner_distance/txt/WT_REP2.inner_distance.txt",
+ "hisat2/rseqc/inner_distance/txt/WT_REP2.inner_distance_freq.txt",
+ "hisat2/rseqc/inner_distance/txt/WT_REP2.inner_distance_mean.txt",
+ "hisat2/rseqc/junction_annotation",
+ "hisat2/rseqc/junction_annotation/bed",
+ "hisat2/rseqc/junction_annotation/bed/RAP1_IAA_30M_REP1.junction.Interact.bed",
+ "hisat2/rseqc/junction_annotation/bed/RAP1_IAA_30M_REP1.junction.bed",
+ "hisat2/rseqc/junction_annotation/bed/RAP1_UNINDUCED_REP1.junction.Interact.bed",
+ "hisat2/rseqc/junction_annotation/bed/RAP1_UNINDUCED_REP1.junction.bed",
+ "hisat2/rseqc/junction_annotation/bed/RAP1_UNINDUCED_REP2.junction.Interact.bed",
+ "hisat2/rseqc/junction_annotation/bed/RAP1_UNINDUCED_REP2.junction.bed",
+ "hisat2/rseqc/junction_annotation/bed/WT_REP1.junction.Interact.bed",
+ "hisat2/rseqc/junction_annotation/bed/WT_REP1.junction.bed",
+ "hisat2/rseqc/junction_annotation/bed/WT_REP2.junction.Interact.bed",
+ "hisat2/rseqc/junction_annotation/bed/WT_REP2.junction.bed",
+ "hisat2/rseqc/junction_annotation/log",
+ "hisat2/rseqc/junction_annotation/log/RAP1_IAA_30M_REP1.junction_annotation.log",
+ "hisat2/rseqc/junction_annotation/log/RAP1_UNINDUCED_REP1.junction_annotation.log",
+ "hisat2/rseqc/junction_annotation/log/RAP1_UNINDUCED_REP2.junction_annotation.log",
+ "hisat2/rseqc/junction_annotation/log/WT_REP1.junction_annotation.log",
+ "hisat2/rseqc/junction_annotation/log/WT_REP2.junction_annotation.log",
+ "hisat2/rseqc/junction_annotation/pdf",
+ "hisat2/rseqc/junction_annotation/pdf/RAP1_IAA_30M_REP1.splice_events.pdf",
+ "hisat2/rseqc/junction_annotation/pdf/RAP1_IAA_30M_REP1.splice_junction.pdf",
+ "hisat2/rseqc/junction_annotation/pdf/RAP1_UNINDUCED_REP1.splice_events.pdf",
+ "hisat2/rseqc/junction_annotation/pdf/RAP1_UNINDUCED_REP1.splice_junction.pdf",
+ "hisat2/rseqc/junction_annotation/pdf/RAP1_UNINDUCED_REP2.splice_events.pdf",
+ "hisat2/rseqc/junction_annotation/pdf/RAP1_UNINDUCED_REP2.splice_junction.pdf",
+ "hisat2/rseqc/junction_annotation/pdf/WT_REP1.splice_events.pdf",
+ "hisat2/rseqc/junction_annotation/pdf/WT_REP1.splice_junction.pdf",
+ "hisat2/rseqc/junction_annotation/pdf/WT_REP2.splice_events.pdf",
+ "hisat2/rseqc/junction_annotation/pdf/WT_REP2.splice_junction.pdf",
+ "hisat2/rseqc/junction_annotation/rscript",
+ "hisat2/rseqc/junction_annotation/rscript/RAP1_IAA_30M_REP1.junction_plot.r",
+ "hisat2/rseqc/junction_annotation/rscript/RAP1_UNINDUCED_REP1.junction_plot.r",
+ "hisat2/rseqc/junction_annotation/rscript/RAP1_UNINDUCED_REP2.junction_plot.r",
+ "hisat2/rseqc/junction_annotation/rscript/WT_REP1.junction_plot.r",
+ "hisat2/rseqc/junction_annotation/rscript/WT_REP2.junction_plot.r",
+ "hisat2/rseqc/junction_annotation/xls",
+ "hisat2/rseqc/junction_annotation/xls/RAP1_IAA_30M_REP1.junction.xls",
+ "hisat2/rseqc/junction_annotation/xls/RAP1_UNINDUCED_REP1.junction.xls",
+ "hisat2/rseqc/junction_annotation/xls/RAP1_UNINDUCED_REP2.junction.xls",
+ "hisat2/rseqc/junction_annotation/xls/WT_REP1.junction.xls",
+ "hisat2/rseqc/junction_annotation/xls/WT_REP2.junction.xls",
+ "hisat2/rseqc/junction_saturation",
+ "hisat2/rseqc/junction_saturation/pdf",
+ "hisat2/rseqc/junction_saturation/pdf/RAP1_IAA_30M_REP1.junctionSaturation_plot.pdf",
+ "hisat2/rseqc/junction_saturation/pdf/RAP1_UNINDUCED_REP1.junctionSaturation_plot.pdf",
+ "hisat2/rseqc/junction_saturation/pdf/RAP1_UNINDUCED_REP2.junctionSaturation_plot.pdf",
+ "hisat2/rseqc/junction_saturation/pdf/WT_REP1.junctionSaturation_plot.pdf",
+ "hisat2/rseqc/junction_saturation/pdf/WT_REP2.junctionSaturation_plot.pdf",
+ "hisat2/rseqc/junction_saturation/rscript",
+ "hisat2/rseqc/junction_saturation/rscript/RAP1_IAA_30M_REP1.junctionSaturation_plot.r",
+ "hisat2/rseqc/junction_saturation/rscript/RAP1_UNINDUCED_REP1.junctionSaturation_plot.r",
+ "hisat2/rseqc/junction_saturation/rscript/RAP1_UNINDUCED_REP2.junctionSaturation_plot.r",
+ "hisat2/rseqc/junction_saturation/rscript/WT_REP1.junctionSaturation_plot.r",
+ "hisat2/rseqc/junction_saturation/rscript/WT_REP2.junctionSaturation_plot.r",
+ "hisat2/rseqc/read_distribution",
+ "hisat2/rseqc/read_distribution/RAP1_IAA_30M_REP1.read_distribution.txt",
+ "hisat2/rseqc/read_distribution/RAP1_UNINDUCED_REP1.read_distribution.txt",
+ "hisat2/rseqc/read_distribution/RAP1_UNINDUCED_REP2.read_distribution.txt",
+ "hisat2/rseqc/read_distribution/WT_REP1.read_distribution.txt",
+ "hisat2/rseqc/read_distribution/WT_REP2.read_distribution.txt",
+ "hisat2/rseqc/read_duplication",
+ "hisat2/rseqc/read_duplication/pdf",
+ "hisat2/rseqc/read_duplication/pdf/RAP1_IAA_30M_REP1.DupRate_plot.pdf",
+ "hisat2/rseqc/read_duplication/pdf/RAP1_UNINDUCED_REP1.DupRate_plot.pdf",
+ "hisat2/rseqc/read_duplication/pdf/RAP1_UNINDUCED_REP2.DupRate_plot.pdf",
+ "hisat2/rseqc/read_duplication/pdf/WT_REP1.DupRate_plot.pdf",
+ "hisat2/rseqc/read_duplication/pdf/WT_REP2.DupRate_plot.pdf",
+ "hisat2/rseqc/read_duplication/rscript",
+ "hisat2/rseqc/read_duplication/rscript/RAP1_IAA_30M_REP1.DupRate_plot.r",
+ "hisat2/rseqc/read_duplication/rscript/RAP1_UNINDUCED_REP1.DupRate_plot.r",
+ "hisat2/rseqc/read_duplication/rscript/RAP1_UNINDUCED_REP2.DupRate_plot.r",
+ "hisat2/rseqc/read_duplication/rscript/WT_REP1.DupRate_plot.r",
+ "hisat2/rseqc/read_duplication/rscript/WT_REP2.DupRate_plot.r",
+ "hisat2/rseqc/read_duplication/xls",
+ "hisat2/rseqc/read_duplication/xls/RAP1_IAA_30M_REP1.pos.DupRate.xls",
+ "hisat2/rseqc/read_duplication/xls/RAP1_IAA_30M_REP1.seq.DupRate.xls",
+ "hisat2/rseqc/read_duplication/xls/RAP1_UNINDUCED_REP1.pos.DupRate.xls",
+ "hisat2/rseqc/read_duplication/xls/RAP1_UNINDUCED_REP1.seq.DupRate.xls",
+ "hisat2/rseqc/read_duplication/xls/RAP1_UNINDUCED_REP2.pos.DupRate.xls",
+ "hisat2/rseqc/read_duplication/xls/RAP1_UNINDUCED_REP2.seq.DupRate.xls",
+ "hisat2/rseqc/read_duplication/xls/WT_REP1.pos.DupRate.xls",
+ "hisat2/rseqc/read_duplication/xls/WT_REP1.seq.DupRate.xls",
+ "hisat2/rseqc/read_duplication/xls/WT_REP2.pos.DupRate.xls",
+ "hisat2/rseqc/read_duplication/xls/WT_REP2.seq.DupRate.xls",
+ "hisat2/samtools_stats",
+ "hisat2/samtools_stats/RAP1_IAA_30M_REP1.sorted.bam.flagstat",
+ "hisat2/samtools_stats/RAP1_IAA_30M_REP1.sorted.bam.idxstats",
+ "hisat2/samtools_stats/RAP1_IAA_30M_REP1.sorted.bam.stats",
+ "hisat2/samtools_stats/RAP1_IAA_30M_REP1.umi_dedup.sorted.bam.flagstat",
+ "hisat2/samtools_stats/RAP1_IAA_30M_REP1.umi_dedup.sorted.bam.idxstats",
+ "hisat2/samtools_stats/RAP1_IAA_30M_REP1.umi_dedup.sorted.bam.stats",
+ "hisat2/samtools_stats/RAP1_UNINDUCED_REP1.sorted.bam.flagstat",
+ "hisat2/samtools_stats/RAP1_UNINDUCED_REP1.sorted.bam.idxstats",
+ "hisat2/samtools_stats/RAP1_UNINDUCED_REP1.sorted.bam.stats",
+ "hisat2/samtools_stats/RAP1_UNINDUCED_REP1.umi_dedup.sorted.bam.flagstat",
+ "hisat2/samtools_stats/RAP1_UNINDUCED_REP1.umi_dedup.sorted.bam.idxstats",
+ "hisat2/samtools_stats/RAP1_UNINDUCED_REP1.umi_dedup.sorted.bam.stats",
+ "hisat2/samtools_stats/RAP1_UNINDUCED_REP2.sorted.bam.flagstat",
+ "hisat2/samtools_stats/RAP1_UNINDUCED_REP2.sorted.bam.idxstats",
+ "hisat2/samtools_stats/RAP1_UNINDUCED_REP2.sorted.bam.stats",
+ "hisat2/samtools_stats/RAP1_UNINDUCED_REP2.umi_dedup.sorted.bam.flagstat",
+ "hisat2/samtools_stats/RAP1_UNINDUCED_REP2.umi_dedup.sorted.bam.idxstats",
+ "hisat2/samtools_stats/RAP1_UNINDUCED_REP2.umi_dedup.sorted.bam.stats",
+ "hisat2/samtools_stats/WT_REP1.sorted.bam.flagstat",
+ "hisat2/samtools_stats/WT_REP1.sorted.bam.idxstats",
+ "hisat2/samtools_stats/WT_REP1.sorted.bam.stats",
+ "hisat2/samtools_stats/WT_REP1.umi_dedup.sorted.bam.flagstat",
+ "hisat2/samtools_stats/WT_REP1.umi_dedup.sorted.bam.idxstats",
+ "hisat2/samtools_stats/WT_REP1.umi_dedup.sorted.bam.stats",
+ "hisat2/samtools_stats/WT_REP2.sorted.bam.flagstat",
+ "hisat2/samtools_stats/WT_REP2.sorted.bam.idxstats",
+ "hisat2/samtools_stats/WT_REP2.sorted.bam.stats",
+ "hisat2/samtools_stats/WT_REP2.umi_dedup.sorted.bam.flagstat",
+ "hisat2/samtools_stats/WT_REP2.umi_dedup.sorted.bam.idxstats",
+ "hisat2/samtools_stats/WT_REP2.umi_dedup.sorted.bam.stats",
+ "hisat2/stringtie",
+ "hisat2/stringtie/RAP1_IAA_30M_REP1.ballgown",
+ "hisat2/stringtie/RAP1_IAA_30M_REP1.ballgown/e2t.ctab",
+ "hisat2/stringtie/RAP1_IAA_30M_REP1.ballgown/e_data.ctab",
+ "hisat2/stringtie/RAP1_IAA_30M_REP1.ballgown/i2t.ctab",
+ "hisat2/stringtie/RAP1_IAA_30M_REP1.ballgown/i_data.ctab",
+ "hisat2/stringtie/RAP1_IAA_30M_REP1.ballgown/t_data.ctab",
+ "hisat2/stringtie/RAP1_IAA_30M_REP1.coverage.gtf",
+ "hisat2/stringtie/RAP1_IAA_30M_REP1.gene.abundance.txt",
+ "hisat2/stringtie/RAP1_IAA_30M_REP1.transcripts.gtf",
+ "hisat2/stringtie/RAP1_UNINDUCED_REP1.ballgown",
+ "hisat2/stringtie/RAP1_UNINDUCED_REP1.ballgown/e2t.ctab",
+ "hisat2/stringtie/RAP1_UNINDUCED_REP1.ballgown/e_data.ctab",
+ "hisat2/stringtie/RAP1_UNINDUCED_REP1.ballgown/i2t.ctab",
+ "hisat2/stringtie/RAP1_UNINDUCED_REP1.ballgown/i_data.ctab",
+ "hisat2/stringtie/RAP1_UNINDUCED_REP1.ballgown/t_data.ctab",
+ "hisat2/stringtie/RAP1_UNINDUCED_REP1.coverage.gtf",
+ "hisat2/stringtie/RAP1_UNINDUCED_REP1.gene.abundance.txt",
+ "hisat2/stringtie/RAP1_UNINDUCED_REP1.transcripts.gtf",
+ "hisat2/stringtie/RAP1_UNINDUCED_REP2.ballgown",
+ "hisat2/stringtie/RAP1_UNINDUCED_REP2.ballgown/e2t.ctab",
+ "hisat2/stringtie/RAP1_UNINDUCED_REP2.ballgown/e_data.ctab",
+ "hisat2/stringtie/RAP1_UNINDUCED_REP2.ballgown/i2t.ctab",
+ "hisat2/stringtie/RAP1_UNINDUCED_REP2.ballgown/i_data.ctab",
+ "hisat2/stringtie/RAP1_UNINDUCED_REP2.ballgown/t_data.ctab",
+ "hisat2/stringtie/RAP1_UNINDUCED_REP2.coverage.gtf",
+ "hisat2/stringtie/RAP1_UNINDUCED_REP2.gene.abundance.txt",
+ "hisat2/stringtie/RAP1_UNINDUCED_REP2.transcripts.gtf",
+ "hisat2/stringtie/WT_REP1.ballgown",
+ "hisat2/stringtie/WT_REP1.ballgown/e2t.ctab",
+ "hisat2/stringtie/WT_REP1.ballgown/e_data.ctab",
+ "hisat2/stringtie/WT_REP1.ballgown/i2t.ctab",
+ "hisat2/stringtie/WT_REP1.ballgown/i_data.ctab",
+ "hisat2/stringtie/WT_REP1.ballgown/t_data.ctab",
+ "hisat2/stringtie/WT_REP1.coverage.gtf",
+ "hisat2/stringtie/WT_REP1.gene.abundance.txt",
+ "hisat2/stringtie/WT_REP1.transcripts.gtf",
+ "hisat2/stringtie/WT_REP2.ballgown",
+ "hisat2/stringtie/WT_REP2.ballgown/e2t.ctab",
+ "hisat2/stringtie/WT_REP2.ballgown/e_data.ctab",
+ "hisat2/stringtie/WT_REP2.ballgown/i2t.ctab",
+ "hisat2/stringtie/WT_REP2.ballgown/i_data.ctab",
+ "hisat2/stringtie/WT_REP2.ballgown/t_data.ctab",
+ "hisat2/stringtie/WT_REP2.coverage.gtf",
+ "hisat2/stringtie/WT_REP2.gene.abundance.txt",
+ "hisat2/stringtie/WT_REP2.transcripts.gtf",
+ "hisat2/umitools",
+ "hisat2/umitools/genomic_dedup_log",
+ "hisat2/umitools/genomic_dedup_log/RAP1_IAA_30M_REP1.umi_dedup.sorted_UMICollapse.log",
+ "hisat2/umitools/genomic_dedup_log/RAP1_UNINDUCED_REP1.umi_dedup.sorted_UMICollapse.log",
+ "hisat2/umitools/genomic_dedup_log/RAP1_UNINDUCED_REP2.umi_dedup.sorted_UMICollapse.log",
+ "hisat2/umitools/genomic_dedup_log/WT_REP1.umi_dedup.sorted_UMICollapse.log",
+ "hisat2/umitools/genomic_dedup_log/WT_REP2.umi_dedup.sorted_UMICollapse.log",
+ "multiqc",
+ "multiqc/hisat2",
+ "multiqc/hisat2/multiqc_report.html",
+ "multiqc/hisat2/multiqc_report_data",
+ "multiqc/hisat2/multiqc_report_data/cutadapt_filtered_reads_plot.txt",
+ "multiqc/hisat2/multiqc_report_data/cutadapt_trimmed_sequences_plot_3_Counts.txt",
+ "multiqc/hisat2/multiqc_report_data/cutadapt_trimmed_sequences_plot_3_Obs_Exp.txt",
+ "multiqc/hisat2/multiqc_report_data/fastqc_raw-status-check-heatmap.txt",
+ "multiqc/hisat2/multiqc_report_data/fastqc_raw_adapter_content_plot.txt",
+ "multiqc/hisat2/multiqc_report_data/fastqc_raw_overrepresented_sequences_plot.txt",
+ "multiqc/hisat2/multiqc_report_data/fastqc_raw_per_base_n_content_plot.txt",
+ "multiqc/hisat2/multiqc_report_data/fastqc_raw_per_base_sequence_quality_plot.txt",
+ "multiqc/hisat2/multiqc_report_data/fastqc_raw_per_sequence_gc_content_plot_Counts.txt",
+ "multiqc/hisat2/multiqc_report_data/fastqc_raw_per_sequence_gc_content_plot_Percentages.txt",
+ "multiqc/hisat2/multiqc_report_data/fastqc_raw_per_sequence_quality_scores_plot.txt",
+ "multiqc/hisat2/multiqc_report_data/fastqc_raw_sequence_counts_plot.txt",
+ "multiqc/hisat2/multiqc_report_data/fastqc_raw_sequence_duplication_levels_plot.txt",
+ "multiqc/hisat2/multiqc_report_data/fastqc_raw_top_overrepresented_sequences_table.txt",
+ "multiqc/hisat2/multiqc_report_data/fastqc_sequence_length_distribution_plot.txt",
+ "multiqc/hisat2/multiqc_report_data/fastqc_trimmed-status-check-heatmap.txt",
+ "multiqc/hisat2/multiqc_report_data/fastqc_trimmed_overrepresented_sequences_plot.txt",
+ "multiqc/hisat2/multiqc_report_data/fastqc_trimmed_per_base_n_content_plot.txt",
+ "multiqc/hisat2/multiqc_report_data/fastqc_trimmed_per_base_sequence_quality_plot.txt",
+ "multiqc/hisat2/multiqc_report_data/fastqc_trimmed_per_sequence_gc_content_plot_Counts.txt",
+ "multiqc/hisat2/multiqc_report_data/fastqc_trimmed_per_sequence_gc_content_plot_Percentages.txt",
+ "multiqc/hisat2/multiqc_report_data/fastqc_trimmed_per_sequence_quality_scores_plot.txt",
+ "multiqc/hisat2/multiqc_report_data/fastqc_trimmed_sequence_counts_plot.txt",
+ "multiqc/hisat2/multiqc_report_data/fastqc_trimmed_sequence_duplication_levels_plot.txt",
+ "multiqc/hisat2/multiqc_report_data/fastqc_trimmed_top_overrepresented_sequences_table.txt",
+ "multiqc/hisat2/multiqc_report_data/hisat2_pe_plot.txt",
+ "multiqc/hisat2/multiqc_report_data/hisat2_se_plot.txt",
+ "multiqc/hisat2/multiqc_report_data/junction_saturation_known.txt",
+ "multiqc/hisat2/multiqc_report_data/junction_saturation_novel.txt",
+ "multiqc/hisat2/multiqc_report_data/multiqc.log",
+ "multiqc/hisat2/multiqc_report_data/multiqc_citations.txt",
+ "multiqc/hisat2/multiqc_report_data/multiqc_cutadapt.txt",
+ "multiqc/hisat2/multiqc_report_data/multiqc_data.json",
+ "multiqc/hisat2/multiqc_report_data/multiqc_dupradar.txt",
+ "multiqc/hisat2/multiqc_report_data/multiqc_fail_strand_check_table.txt",
+ "multiqc/hisat2/multiqc_report_data/multiqc_fastqc_fastqc_raw.txt",
+ "multiqc/hisat2/multiqc_report_data/multiqc_fastqc_fastqc_trimmed.txt",
+ "multiqc/hisat2/multiqc_report_data/multiqc_featurecounts_biotype_plot.txt",
+ "multiqc/hisat2/multiqc_report_data/multiqc_general_stats.txt",
+ "multiqc/hisat2/multiqc_report_data/multiqc_hisat2.txt",
+ "multiqc/hisat2/multiqc_report_data/multiqc_rseqc_bam_stat.txt",
+ "multiqc/hisat2/multiqc_report_data/multiqc_rseqc_infer_experiment.txt",
+ "multiqc/hisat2/multiqc_report_data/multiqc_rseqc_junction_annotation.txt",
+ "multiqc/hisat2/multiqc_report_data/multiqc_rseqc_read_distribution.txt",
+ "multiqc/hisat2/multiqc_report_data/multiqc_salmon.txt",
+ "multiqc/hisat2/multiqc_report_data/multiqc_sample-relationships.txt",
+ "multiqc/hisat2/multiqc_report_data/multiqc_sample-relationships_1.txt",
+ "multiqc/hisat2/multiqc_report_data/multiqc_samtools_flagstat.txt",
+ "multiqc/hisat2/multiqc_report_data/multiqc_samtools_idxstats.txt",
+ "multiqc/hisat2/multiqc_report_data/multiqc_samtools_stats.txt",
+ "multiqc/hisat2/multiqc_report_data/multiqc_software_versions.txt",
+ "multiqc/hisat2/multiqc_report_data/multiqc_sources.txt",
+ "multiqc/hisat2/multiqc_report_data/qualimap_gene_coverage_profile_Counts.txt",
+ "multiqc/hisat2/multiqc_report_data/qualimap_gene_coverage_profile_Normalised.txt",
+ "multiqc/hisat2/multiqc_report_data/qualimap_genomic_origin.txt",
+ "multiqc/hisat2/multiqc_report_data/qualimap_rnaseq_cov_hist.txt",
+ "multiqc/hisat2/multiqc_report_data/qualimap_rnaseq_genome_results.txt",
+ "multiqc/hisat2/multiqc_report_data/rseqc_bam_stat.txt",
+ "multiqc/hisat2/multiqc_report_data/rseqc_infer_experiment_plot.txt",
+ "multiqc/hisat2/multiqc_report_data/rseqc_inner_distance.txt",
+ "multiqc/hisat2/multiqc_report_data/rseqc_inner_distance_plot_Counts.txt",
+ "multiqc/hisat2/multiqc_report_data/rseqc_inner_distance_plot_Percentages.txt",
+ "multiqc/hisat2/multiqc_report_data/rseqc_junction_annotation_junctions_plot_Events.txt",
+ "multiqc/hisat2/multiqc_report_data/rseqc_junction_annotation_junctions_plot_Junctions.txt",
+ "multiqc/hisat2/multiqc_report_data/rseqc_junction_saturation_all.txt",
+ "multiqc/hisat2/multiqc_report_data/rseqc_junction_saturation_plot_All_Junctions.txt",
+ "multiqc/hisat2/multiqc_report_data/rseqc_junction_saturation_plot_Known_Junctions.txt",
+ "multiqc/hisat2/multiqc_report_data/rseqc_junction_saturation_plot_Novel_Junctions.txt",
+ "multiqc/hisat2/multiqc_report_data/rseqc_read_distribution_plot.txt",
+ "multiqc/hisat2/multiqc_report_data/rseqc_read_dups.txt",
+ "multiqc/hisat2/multiqc_report_data/rseqc_read_dups_plot.txt",
+ "multiqc/hisat2/multiqc_report_data/salmon_plot.txt",
+ "multiqc/hisat2/multiqc_report_data/samtools-flagstat-dp_Percentage_of_total.txt",
+ "multiqc/hisat2/multiqc_report_data/samtools-flagstat-dp_Read_counts.txt",
+ "multiqc/hisat2/multiqc_report_data/samtools-idxstats-mapped-reads-plot_Normalised_Counts.txt",
+ "multiqc/hisat2/multiqc_report_data/samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts.txt",
+ "multiqc/hisat2/multiqc_report_data/samtools-idxstats-mapped-reads-plot_Raw_Counts.txt",
+ "multiqc/hisat2/multiqc_report_data/samtools-stats-dp.txt",
+ "multiqc/hisat2/multiqc_report_data/samtools_alignment_plot.txt",
+ "multiqc/hisat2/multiqc_report_plots",
+ "multiqc/hisat2/multiqc_report_plots/pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/cutadapt_filtered_reads_plot-cnt.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/cutadapt_filtered_reads_plot-pct.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/cutadapt_trimmed_sequences_plot_3_Counts.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/cutadapt_trimmed_sequences_plot_3_Obs_Exp.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/dupradar.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/fail_strand_check_table.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/fastqc_raw-status-check-heatmap.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/fastqc_raw_adapter_content_plot.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/fastqc_raw_overrepresented_sequences_plot.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/fastqc_raw_per_base_n_content_plot.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/fastqc_raw_per_base_sequence_quality_plot.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/fastqc_raw_per_sequence_gc_content_plot_Counts.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/fastqc_raw_per_sequence_gc_content_plot_Percentages.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/fastqc_raw_per_sequence_quality_scores_plot.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/fastqc_raw_sequence_counts_plot-cnt.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/fastqc_raw_sequence_counts_plot-pct.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/fastqc_raw_sequence_duplication_levels_plot.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/fastqc_raw_top_overrepresented_sequences_table.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/fastqc_sequence_length_distribution_plot.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/fastqc_trimmed-status-check-heatmap.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/fastqc_trimmed_overrepresented_sequences_plot.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/fastqc_trimmed_per_base_n_content_plot.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/fastqc_trimmed_per_base_sequence_quality_plot.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/fastqc_trimmed_per_sequence_gc_content_plot_Counts.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/fastqc_trimmed_per_sequence_gc_content_plot_Percentages.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/fastqc_trimmed_per_sequence_quality_scores_plot.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/fastqc_trimmed_sequence_counts_plot-cnt.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/fastqc_trimmed_sequence_counts_plot-pct.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/fastqc_trimmed_sequence_duplication_levels_plot.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/fastqc_trimmed_top_overrepresented_sequences_table.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/featurecounts_biotype_plot-cnt.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/featurecounts_biotype_plot-pct.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/general_stats_table.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/hisat2_pe_plot-cnt.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/hisat2_pe_plot-pct.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/hisat2_se_plot-cnt.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/hisat2_se_plot-pct.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/qualimap_gene_coverage_profile_Counts.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/qualimap_gene_coverage_profile_Normalised.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/qualimap_genomic_origin-cnt.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/qualimap_genomic_origin-pct.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/rseqc_bam_stat.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/rseqc_infer_experiment_plot.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/rseqc_inner_distance_plot_Counts.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/rseqc_inner_distance_plot_Percentages.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/rseqc_junction_annotation_junctions_plot_Events-cnt.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/rseqc_junction_annotation_junctions_plot_Events-pct.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/rseqc_junction_annotation_junctions_plot_Junctions-cnt.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/rseqc_junction_annotation_junctions_plot_Junctions-pct.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/rseqc_junction_saturation_plot_All_Junctions.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/rseqc_junction_saturation_plot_Known_Junctions.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/rseqc_junction_saturation_plot_Novel_Junctions.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/rseqc_read_distribution_plot-cnt.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/rseqc_read_distribution_plot-pct.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/rseqc_read_dups_plot.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/salmon_plot.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/sample-relationships.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/samtools-flagstat-dp_Percentage_of_total.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/samtools-flagstat-dp_Read_counts.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/samtools-idxstats-mapped-reads-plot_Normalised_Counts-cnt.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/samtools-idxstats-mapped-reads-plot_Normalised_Counts-log.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts-cnt.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts-log.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/samtools-idxstats-mapped-reads-plot_Raw_Counts-cnt.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/samtools-idxstats-mapped-reads-plot_Raw_Counts-log.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/samtools-stats-dp.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/samtools_alignment_plot-cnt.pdf",
+ "multiqc/hisat2/multiqc_report_plots/pdf/samtools_alignment_plot-pct.pdf",
+ "multiqc/hisat2/multiqc_report_plots/png",
+ "multiqc/hisat2/multiqc_report_plots/png/cutadapt_filtered_reads_plot-cnt.png",
+ "multiqc/hisat2/multiqc_report_plots/png/cutadapt_filtered_reads_plot-pct.png",
+ "multiqc/hisat2/multiqc_report_plots/png/cutadapt_trimmed_sequences_plot_3_Counts.png",
+ "multiqc/hisat2/multiqc_report_plots/png/cutadapt_trimmed_sequences_plot_3_Obs_Exp.png",
+ "multiqc/hisat2/multiqc_report_plots/png/dupradar.png",
+ "multiqc/hisat2/multiqc_report_plots/png/fail_strand_check_table.png",
+ "multiqc/hisat2/multiqc_report_plots/png/fastqc_raw-status-check-heatmap.png",
+ "multiqc/hisat2/multiqc_report_plots/png/fastqc_raw_adapter_content_plot.png",
+ "multiqc/hisat2/multiqc_report_plots/png/fastqc_raw_overrepresented_sequences_plot.png",
+ "multiqc/hisat2/multiqc_report_plots/png/fastqc_raw_per_base_n_content_plot.png",
+ "multiqc/hisat2/multiqc_report_plots/png/fastqc_raw_per_base_sequence_quality_plot.png",
+ "multiqc/hisat2/multiqc_report_plots/png/fastqc_raw_per_sequence_gc_content_plot_Counts.png",
+ "multiqc/hisat2/multiqc_report_plots/png/fastqc_raw_per_sequence_gc_content_plot_Percentages.png",
+ "multiqc/hisat2/multiqc_report_plots/png/fastqc_raw_per_sequence_quality_scores_plot.png",
+ "multiqc/hisat2/multiqc_report_plots/png/fastqc_raw_sequence_counts_plot-cnt.png",
+ "multiqc/hisat2/multiqc_report_plots/png/fastqc_raw_sequence_counts_plot-pct.png",
+ "multiqc/hisat2/multiqc_report_plots/png/fastqc_raw_sequence_duplication_levels_plot.png",
+ "multiqc/hisat2/multiqc_report_plots/png/fastqc_raw_top_overrepresented_sequences_table.png",
+ "multiqc/hisat2/multiqc_report_plots/png/fastqc_sequence_length_distribution_plot.png",
+ "multiqc/hisat2/multiqc_report_plots/png/fastqc_trimmed-status-check-heatmap.png",
+ "multiqc/hisat2/multiqc_report_plots/png/fastqc_trimmed_overrepresented_sequences_plot.png",
+ "multiqc/hisat2/multiqc_report_plots/png/fastqc_trimmed_per_base_n_content_plot.png",
+ "multiqc/hisat2/multiqc_report_plots/png/fastqc_trimmed_per_base_sequence_quality_plot.png",
+ "multiqc/hisat2/multiqc_report_plots/png/fastqc_trimmed_per_sequence_gc_content_plot_Counts.png",
+ "multiqc/hisat2/multiqc_report_plots/png/fastqc_trimmed_per_sequence_gc_content_plot_Percentages.png",
+ "multiqc/hisat2/multiqc_report_plots/png/fastqc_trimmed_per_sequence_quality_scores_plot.png",
+ "multiqc/hisat2/multiqc_report_plots/png/fastqc_trimmed_sequence_counts_plot-cnt.png",
+ "multiqc/hisat2/multiqc_report_plots/png/fastqc_trimmed_sequence_counts_plot-pct.png",
+ "multiqc/hisat2/multiqc_report_plots/png/fastqc_trimmed_sequence_duplication_levels_plot.png",
+ "multiqc/hisat2/multiqc_report_plots/png/fastqc_trimmed_top_overrepresented_sequences_table.png",
+ "multiqc/hisat2/multiqc_report_plots/png/featurecounts_biotype_plot-cnt.png",
+ "multiqc/hisat2/multiqc_report_plots/png/featurecounts_biotype_plot-pct.png",
+ "multiqc/hisat2/multiqc_report_plots/png/general_stats_table.png",
+ "multiqc/hisat2/multiqc_report_plots/png/hisat2_pe_plot-cnt.png",
+ "multiqc/hisat2/multiqc_report_plots/png/hisat2_pe_plot-pct.png",
+ "multiqc/hisat2/multiqc_report_plots/png/hisat2_se_plot-cnt.png",
+ "multiqc/hisat2/multiqc_report_plots/png/hisat2_se_plot-pct.png",
+ "multiqc/hisat2/multiqc_report_plots/png/qualimap_gene_coverage_profile_Counts.png",
+ "multiqc/hisat2/multiqc_report_plots/png/qualimap_gene_coverage_profile_Normalised.png",
+ "multiqc/hisat2/multiqc_report_plots/png/qualimap_genomic_origin-cnt.png",
+ "multiqc/hisat2/multiqc_report_plots/png/qualimap_genomic_origin-pct.png",
+ "multiqc/hisat2/multiqc_report_plots/png/rseqc_bam_stat.png",
+ "multiqc/hisat2/multiqc_report_plots/png/rseqc_infer_experiment_plot.png",
+ "multiqc/hisat2/multiqc_report_plots/png/rseqc_inner_distance_plot_Counts.png",
+ "multiqc/hisat2/multiqc_report_plots/png/rseqc_inner_distance_plot_Percentages.png",
+ "multiqc/hisat2/multiqc_report_plots/png/rseqc_junction_annotation_junctions_plot_Events-cnt.png",
+ "multiqc/hisat2/multiqc_report_plots/png/rseqc_junction_annotation_junctions_plot_Events-pct.png",
+ "multiqc/hisat2/multiqc_report_plots/png/rseqc_junction_annotation_junctions_plot_Junctions-cnt.png",
+ "multiqc/hisat2/multiqc_report_plots/png/rseqc_junction_annotation_junctions_plot_Junctions-pct.png",
+ "multiqc/hisat2/multiqc_report_plots/png/rseqc_junction_saturation_plot_All_Junctions.png",
+ "multiqc/hisat2/multiqc_report_plots/png/rseqc_junction_saturation_plot_Known_Junctions.png",
+ "multiqc/hisat2/multiqc_report_plots/png/rseqc_junction_saturation_plot_Novel_Junctions.png",
+ "multiqc/hisat2/multiqc_report_plots/png/rseqc_read_distribution_plot-cnt.png",
+ "multiqc/hisat2/multiqc_report_plots/png/rseqc_read_distribution_plot-pct.png",
+ "multiqc/hisat2/multiqc_report_plots/png/rseqc_read_dups_plot.png",
+ "multiqc/hisat2/multiqc_report_plots/png/salmon_plot.png",
+ "multiqc/hisat2/multiqc_report_plots/png/sample-relationships.png",
+ "multiqc/hisat2/multiqc_report_plots/png/samtools-flagstat-dp_Percentage_of_total.png",
+ "multiqc/hisat2/multiqc_report_plots/png/samtools-flagstat-dp_Read_counts.png",
+ "multiqc/hisat2/multiqc_report_plots/png/samtools-idxstats-mapped-reads-plot_Normalised_Counts-cnt.png",
+ "multiqc/hisat2/multiqc_report_plots/png/samtools-idxstats-mapped-reads-plot_Normalised_Counts-log.png",
+ "multiqc/hisat2/multiqc_report_plots/png/samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts-cnt.png",
+ "multiqc/hisat2/multiqc_report_plots/png/samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts-log.png",
+ "multiqc/hisat2/multiqc_report_plots/png/samtools-idxstats-mapped-reads-plot_Raw_Counts-cnt.png",
+ "multiqc/hisat2/multiqc_report_plots/png/samtools-idxstats-mapped-reads-plot_Raw_Counts-log.png",
+ "multiqc/hisat2/multiqc_report_plots/png/samtools-stats-dp.png",
+ "multiqc/hisat2/multiqc_report_plots/png/samtools_alignment_plot-cnt.png",
+ "multiqc/hisat2/multiqc_report_plots/png/samtools_alignment_plot-pct.png",
+ "multiqc/hisat2/multiqc_report_plots/svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/cutadapt_filtered_reads_plot-cnt.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/cutadapt_filtered_reads_plot-pct.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/cutadapt_trimmed_sequences_plot_3_Counts.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/cutadapt_trimmed_sequences_plot_3_Obs_Exp.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/dupradar.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/fail_strand_check_table.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/fastqc_raw-status-check-heatmap.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/fastqc_raw_adapter_content_plot.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/fastqc_raw_overrepresented_sequences_plot.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/fastqc_raw_per_base_n_content_plot.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/fastqc_raw_per_base_sequence_quality_plot.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/fastqc_raw_per_sequence_gc_content_plot_Counts.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/fastqc_raw_per_sequence_gc_content_plot_Percentages.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/fastqc_raw_per_sequence_quality_scores_plot.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/fastqc_raw_sequence_counts_plot-cnt.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/fastqc_raw_sequence_counts_plot-pct.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/fastqc_raw_sequence_duplication_levels_plot.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/fastqc_raw_top_overrepresented_sequences_table.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/fastqc_sequence_length_distribution_plot.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/fastqc_trimmed-status-check-heatmap.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/fastqc_trimmed_overrepresented_sequences_plot.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/fastqc_trimmed_per_base_n_content_plot.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/fastqc_trimmed_per_base_sequence_quality_plot.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/fastqc_trimmed_per_sequence_gc_content_plot_Counts.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/fastqc_trimmed_per_sequence_gc_content_plot_Percentages.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/fastqc_trimmed_per_sequence_quality_scores_plot.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/fastqc_trimmed_sequence_counts_plot-cnt.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/fastqc_trimmed_sequence_counts_plot-pct.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/fastqc_trimmed_sequence_duplication_levels_plot.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/fastqc_trimmed_top_overrepresented_sequences_table.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/featurecounts_biotype_plot-cnt.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/featurecounts_biotype_plot-pct.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/general_stats_table.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/hisat2_pe_plot-cnt.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/hisat2_pe_plot-pct.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/hisat2_se_plot-cnt.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/hisat2_se_plot-pct.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/qualimap_gene_coverage_profile_Counts.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/qualimap_gene_coverage_profile_Normalised.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/qualimap_genomic_origin-cnt.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/qualimap_genomic_origin-pct.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/rseqc_bam_stat.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/rseqc_infer_experiment_plot.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/rseqc_inner_distance_plot_Counts.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/rseqc_inner_distance_plot_Percentages.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/rseqc_junction_annotation_junctions_plot_Events-cnt.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/rseqc_junction_annotation_junctions_plot_Events-pct.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/rseqc_junction_annotation_junctions_plot_Junctions-cnt.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/rseqc_junction_annotation_junctions_plot_Junctions-pct.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/rseqc_junction_saturation_plot_All_Junctions.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/rseqc_junction_saturation_plot_Known_Junctions.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/rseqc_junction_saturation_plot_Novel_Junctions.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/rseqc_read_distribution_plot-cnt.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/rseqc_read_distribution_plot-pct.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/rseqc_read_dups_plot.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/salmon_plot.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/sample-relationships.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/samtools-flagstat-dp_Percentage_of_total.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/samtools-flagstat-dp_Read_counts.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/samtools-idxstats-mapped-reads-plot_Normalised_Counts-cnt.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/samtools-idxstats-mapped-reads-plot_Normalised_Counts-log.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts-cnt.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts-log.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/samtools-idxstats-mapped-reads-plot_Raw_Counts-cnt.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/samtools-idxstats-mapped-reads-plot_Raw_Counts-log.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/samtools-stats-dp.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/samtools_alignment_plot-cnt.svg",
+ "multiqc/hisat2/multiqc_report_plots/svg/samtools_alignment_plot-pct.svg",
+ "pipeline_info",
+ "pipeline_info/nf_core_rnaseq_software_mqc_versions.yml",
+ "salmon",
+ "salmon/RAP1_IAA_30M_REP1",
+ "salmon/RAP1_IAA_30M_REP1/aux_info",
+ "salmon/RAP1_IAA_30M_REP1/aux_info/ambig_info.tsv",
+ "salmon/RAP1_IAA_30M_REP1/aux_info/expected_bias.gz",
+ "salmon/RAP1_IAA_30M_REP1/aux_info/fld.gz",
+ "salmon/RAP1_IAA_30M_REP1/aux_info/meta_info.json",
+ "salmon/RAP1_IAA_30M_REP1/aux_info/observed_bias.gz",
+ "salmon/RAP1_IAA_30M_REP1/aux_info/observed_bias_3p.gz",
+ "salmon/RAP1_IAA_30M_REP1/cmd_info.json",
+ "salmon/RAP1_IAA_30M_REP1/libParams",
+ "salmon/RAP1_IAA_30M_REP1/libParams/flenDist.txt",
+ "salmon/RAP1_IAA_30M_REP1/lib_format_counts.json",
+ "salmon/RAP1_IAA_30M_REP1/logs",
+ "salmon/RAP1_IAA_30M_REP1/logs/salmon_quant.log",
+ "salmon/RAP1_IAA_30M_REP1/quant.genes.sf",
+ "salmon/RAP1_IAA_30M_REP1/quant.sf",
+ "salmon/RAP1_UNINDUCED_REP1",
+ "salmon/RAP1_UNINDUCED_REP1/aux_info",
+ "salmon/RAP1_UNINDUCED_REP1/aux_info/ambig_info.tsv",
+ "salmon/RAP1_UNINDUCED_REP1/aux_info/expected_bias.gz",
+ "salmon/RAP1_UNINDUCED_REP1/aux_info/fld.gz",
+ "salmon/RAP1_UNINDUCED_REP1/aux_info/meta_info.json",
+ "salmon/RAP1_UNINDUCED_REP1/aux_info/observed_bias.gz",
+ "salmon/RAP1_UNINDUCED_REP1/aux_info/observed_bias_3p.gz",
+ "salmon/RAP1_UNINDUCED_REP1/cmd_info.json",
+ "salmon/RAP1_UNINDUCED_REP1/libParams",
+ "salmon/RAP1_UNINDUCED_REP1/libParams/flenDist.txt",
+ "salmon/RAP1_UNINDUCED_REP1/lib_format_counts.json",
+ "salmon/RAP1_UNINDUCED_REP1/logs",
+ "salmon/RAP1_UNINDUCED_REP1/logs/salmon_quant.log",
+ "salmon/RAP1_UNINDUCED_REP1/quant.genes.sf",
+ "salmon/RAP1_UNINDUCED_REP1/quant.sf",
+ "salmon/RAP1_UNINDUCED_REP2",
+ "salmon/RAP1_UNINDUCED_REP2/aux_info",
+ "salmon/RAP1_UNINDUCED_REP2/aux_info/ambig_info.tsv",
+ "salmon/RAP1_UNINDUCED_REP2/aux_info/expected_bias.gz",
+ "salmon/RAP1_UNINDUCED_REP2/aux_info/fld.gz",
+ "salmon/RAP1_UNINDUCED_REP2/aux_info/meta_info.json",
+ "salmon/RAP1_UNINDUCED_REP2/aux_info/observed_bias.gz",
+ "salmon/RAP1_UNINDUCED_REP2/aux_info/observed_bias_3p.gz",
+ "salmon/RAP1_UNINDUCED_REP2/cmd_info.json",
+ "salmon/RAP1_UNINDUCED_REP2/libParams",
+ "salmon/RAP1_UNINDUCED_REP2/libParams/flenDist.txt",
+ "salmon/RAP1_UNINDUCED_REP2/lib_format_counts.json",
+ "salmon/RAP1_UNINDUCED_REP2/logs",
+ "salmon/RAP1_UNINDUCED_REP2/logs/salmon_quant.log",
+ "salmon/RAP1_UNINDUCED_REP2/quant.genes.sf",
+ "salmon/RAP1_UNINDUCED_REP2/quant.sf",
+ "salmon/WT_REP1",
+ "salmon/WT_REP1/aux_info",
+ "salmon/WT_REP1/aux_info/ambig_info.tsv",
+ "salmon/WT_REP1/aux_info/expected_bias.gz",
+ "salmon/WT_REP1/aux_info/fld.gz",
+ "salmon/WT_REP1/aux_info/meta_info.json",
+ "salmon/WT_REP1/aux_info/observed_bias.gz",
+ "salmon/WT_REP1/aux_info/observed_bias_3p.gz",
+ "salmon/WT_REP1/cmd_info.json",
+ "salmon/WT_REP1/libParams",
+ "salmon/WT_REP1/libParams/flenDist.txt",
+ "salmon/WT_REP1/lib_format_counts.json",
+ "salmon/WT_REP1/logs",
+ "salmon/WT_REP1/logs/salmon_quant.log",
+ "salmon/WT_REP1/quant.genes.sf",
+ "salmon/WT_REP1/quant.sf",
+ "salmon/WT_REP2",
+ "salmon/WT_REP2/aux_info",
+ "salmon/WT_REP2/aux_info/ambig_info.tsv",
+ "salmon/WT_REP2/aux_info/expected_bias.gz",
+ "salmon/WT_REP2/aux_info/fld.gz",
+ "salmon/WT_REP2/aux_info/meta_info.json",
+ "salmon/WT_REP2/aux_info/observed_bias.gz",
+ "salmon/WT_REP2/aux_info/observed_bias_3p.gz",
+ "salmon/WT_REP2/cmd_info.json",
+ "salmon/WT_REP2/libParams",
+ "salmon/WT_REP2/libParams/flenDist.txt",
+ "salmon/WT_REP2/lib_format_counts.json",
+ "salmon/WT_REP2/logs",
+ "salmon/WT_REP2/logs/salmon_quant.log",
+ "salmon/WT_REP2/quant.genes.sf",
+ "salmon/WT_REP2/quant.sf",
+ "salmon/deseq2_qc",
+ "salmon/deseq2_qc/R_sessionInfo.log",
+ "salmon/deseq2_qc/deseq2.dds.RData",
+ "salmon/deseq2_qc/deseq2.pca.vals.txt",
+ "salmon/deseq2_qc/deseq2.plots.pdf",
+ "salmon/deseq2_qc/deseq2.sample.dists.txt",
+ "salmon/deseq2_qc/size_factors",
+ "salmon/deseq2_qc/size_factors/RAP1_IAA_30M_REP1.txt",
+ "salmon/deseq2_qc/size_factors/RAP1_UNINDUCED_REP1.txt",
+ "salmon/deseq2_qc/size_factors/RAP1_UNINDUCED_REP2.txt",
+ "salmon/deseq2_qc/size_factors/WT_REP1.txt",
+ "salmon/deseq2_qc/size_factors/WT_REP2.txt",
+ "salmon/deseq2_qc/size_factors/deseq2.size_factors.RData",
+ "salmon/salmon.merged.gene_counts.SummarizedExperiment.rds",
+ "salmon/salmon.merged.gene_counts.tsv",
+ "salmon/salmon.merged.gene_counts_length_scaled.SummarizedExperiment.rds",
+ "salmon/salmon.merged.gene_counts_length_scaled.tsv",
+ "salmon/salmon.merged.gene_counts_scaled.SummarizedExperiment.rds",
+ "salmon/salmon.merged.gene_counts_scaled.tsv",
+ "salmon/salmon.merged.gene_lengths.tsv",
+ "salmon/salmon.merged.gene_tpm.tsv",
+ "salmon/salmon.merged.transcript_counts.SummarizedExperiment.rds",
+ "salmon/salmon.merged.transcript_counts.tsv",
+ "salmon/salmon.merged.transcript_lengths.tsv",
+ "salmon/salmon.merged.transcript_tpm.tsv",
+ "salmon/tx2gene.tsv",
+ "trimgalore",
+ "trimgalore/RAP1_IAA_30M_REP1_trimmed_1.fastq.gz_trimming_report.txt",
+ "trimgalore/RAP1_IAA_30M_REP1_trimmed_2.fastq.gz_trimming_report.txt",
+ "trimgalore/RAP1_UNINDUCED_REP1_trimmed.fastq.gz_trimming_report.txt",
+ "trimgalore/RAP1_UNINDUCED_REP2_trimmed.fastq.gz_trimming_report.txt",
+ "trimgalore/WT_REP1_trimmed_1.fastq.gz_trimming_report.txt",
+ "trimgalore/WT_REP1_trimmed_2.fastq.gz_trimming_report.txt",
+ "trimgalore/WT_REP2_trimmed_1.fastq.gz_trimming_report.txt",
+ "trimgalore/WT_REP2_trimmed_2.fastq.gz_trimming_report.txt",
+ "umitools",
+ "umitools/RAP1_IAA_30M_REP1.umi_extract.log",
+ "umitools/RAP1_UNINDUCED_REP1.umi_extract.log",
+ "umitools/RAP1_UNINDUCED_REP2.umi_extract.log",
+ "umitools/WT_REP1.umi_extract.log",
+ "umitools/WT_REP2.umi_extract.log"
+ ],
+ [
+ "genome_gfp.fasta:md5,e23e302af63736a199985a169fdac055",
+ "genome_gfp.gtf:md5,c98b12c302f15731bfc36bcf297cfe28",
+ "RAP1_IAA_30M_REP1_dupMatrix.txt:md5,a32f996ee7119c10cdfc3c706fed8560",
+ "RAP1_UNINDUCED_REP1_dupMatrix.txt:md5,0f0858724747050c17a9009fe7f7827d",
+ "RAP1_UNINDUCED_REP2_dupMatrix.txt:md5,6726b1c5e63db1f6efd2882de701adc1",
+ "WT_REP1_dupMatrix.txt:md5,1d57d6942d0720bddd25ff260dce08fa",
+ "WT_REP2_dupMatrix.txt:md5,b944b0f71ef8a98b5a4d53f4542c8e6f",
+ "RAP1_IAA_30M_REP1_intercept_slope.txt:md5,a07fbfcbd487003cdd2123cb89209d14",
+ "RAP1_UNINDUCED_REP1_intercept_slope.txt:md5,38cea811141edcfd28d1e7770628f6c9",
+ "RAP1_UNINDUCED_REP2_intercept_slope.txt:md5,b897caec80a37ace72c156ed091acbcd",
+ "WT_REP1_intercept_slope.txt:md5,9895ef03e6f9282b11c4a32fe16a25b0",
+ "WT_REP2_intercept_slope.txt:md5,6c22669508aecfdfe5583c38496db314",
+ "RAP1_IAA_30M_REP1.biotype_counts_mqc.tsv:md5,8433a395e65315feb0f8bfca4a1d1aba",
+ "RAP1_IAA_30M_REP1.biotype_counts_rrna_mqc.tsv:md5,dde2de0cb90e10d0195c726f768e9941",
+ "RAP1_IAA_30M_REP1.featureCounts.txt:md5,1ecf699b693201b29cadd187bb0f2971",
+ "RAP1_UNINDUCED_REP1.biotype_counts_mqc.tsv:md5,036ab790c1e5fb2625c543ddccbf492d",
+ "RAP1_UNINDUCED_REP1.biotype_counts_rrna_mqc.tsv:md5,845ff9059c72bc6722a8de69776e22bb",
+ "RAP1_UNINDUCED_REP1.featureCounts.txt:md5,5776b0c29cfbf0551a1e9020c1d799c0",
+ "RAP1_UNINDUCED_REP2.biotype_counts_mqc.tsv:md5,5784c14524d6d06a927a745f1398d90e",
+ "RAP1_UNINDUCED_REP2.biotype_counts_rrna_mqc.tsv:md5,6d3fa4c88c7fe61f638e4624ad5e22f0",
+ "RAP1_UNINDUCED_REP2.featureCounts.txt:md5,9a53ceb0d1357e8015dedbd77cf620cc",
+ "WT_REP1.biotype_counts_mqc.tsv:md5,e9b102b8576a141a6cc0ce4876b1b5ea",
+ "WT_REP1.biotype_counts_rrna_mqc.tsv:md5,8ef76d717492ca23764938aee8ea33a9",
+ "WT_REP1.featureCounts.txt:md5,fcda1cfb8b3664e95962c65cbbd45b9e",
+ "WT_REP2.biotype_counts_mqc.tsv:md5,6760be59877c02cb7ca5128e5be05f8e",
+ "WT_REP2.biotype_counts_rrna_mqc.tsv:md5,12294618fe44df1e7f39348372dcb481",
+ "WT_REP2.featureCounts.txt:md5,a2b116e5a1ddbf47659eba4c02ca9c84",
+ "coverage_profile_along_genes_(high).txt:md5,b10337c576a87e918a30c0e1f497752d",
+ "coverage_profile_along_genes_(low).txt:md5,0d7a6b63a10241843b5380f1ab16a160",
+ "coverage_profile_along_genes_(total).txt:md5,0d7a6b63a10241843b5380f1ab16a160",
+ "coverage_profile_along_genes_(high).txt:md5,1ca7ae6a9528442bcf32baabd72d369f",
+ "coverage_profile_along_genes_(low).txt:md5,cfabb16286c8ca57dedd66097d21e0b1",
+ "coverage_profile_along_genes_(total).txt:md5,cfabb16286c8ca57dedd66097d21e0b1",
+ "coverage_profile_along_genes_(high).txt:md5,609bfc84014c5b175a1b577a7491ba2b",
+ "coverage_profile_along_genes_(low).txt:md5,a0230508803a0f61ff3bd807a5596934",
+ "coverage_profile_along_genes_(total).txt:md5,a0230508803a0f61ff3bd807a5596934",
+ "coverage_profile_along_genes_(high).txt:md5,28950a8298e08c0609cae6873f631dab",
+ "coverage_profile_along_genes_(low).txt:md5,ea1a6cccb02d528d52025acbc4006d8a",
+ "coverage_profile_along_genes_(total).txt:md5,ea1a6cccb02d528d52025acbc4006d8a",
+ "coverage_profile_along_genes_(high).txt:md5,90b40674d78d1ea532d131f8080672c2",
+ "coverage_profile_along_genes_(low).txt:md5,74625695f7e325b51d076fcaa96e0368",
+ "coverage_profile_along_genes_(total).txt:md5,74625695f7e325b51d076fcaa96e0368",
+ "RAP1_IAA_30M_REP1.infer_experiment.txt:md5,b0cf79d3b9d1d3742ca4698cada70ea6",
+ "RAP1_UNINDUCED_REP1.infer_experiment.txt:md5,69f95beb80658b40ef4964b0cec41cb6",
+ "RAP1_UNINDUCED_REP2.infer_experiment.txt:md5,d48a674bd9e64adadd66b89b5c096056",
+ "WT_REP1.infer_experiment.txt:md5,8559d69b9f350897869ca61097643449",
+ "WT_REP2.infer_experiment.txt:md5,2ac93ef54e0aaa62482ceb45c91c64bb",
+ "e2t.ctab:md5,54dd6de2daa90e973f47524a738a3d69",
+ "e_data.ctab:md5,b3f8769326278237c14c0820a3c627c3",
+ "i2t.ctab:md5,dda3d3ccd7d4184d947c654ae73efb7b",
+ "i_data.ctab:md5,a8047633f3ba499a0c68af993429b1af",
+ "e2t.ctab:md5,54dd6de2daa90e973f47524a738a3d69",
+ "e_data.ctab:md5,dd7844bd42536ccba73b5b41b11a4c89",
+ "i2t.ctab:md5,dda3d3ccd7d4184d947c654ae73efb7b",
+ "i_data.ctab:md5,a715eca5dcbed38cbb21e6aeae27d4c6",
+ "e2t.ctab:md5,54dd6de2daa90e973f47524a738a3d69",
+ "e_data.ctab:md5,97d59d95d8298cde4082ff4bfcf06fd6",
+ "i2t.ctab:md5,dda3d3ccd7d4184d947c654ae73efb7b",
+ "i_data.ctab:md5,349abadc17965a12f1fd2a24b111203e",
+ "e2t.ctab:md5,54dd6de2daa90e973f47524a738a3d69",
+ "e_data.ctab:md5,cd81e0cbece094019ca814d34f4f3033",
+ "i2t.ctab:md5,dda3d3ccd7d4184d947c654ae73efb7b",
+ "i_data.ctab:md5,7f21bf2c570993f5a444c2e67c7d2983",
+ "e2t.ctab:md5,54dd6de2daa90e973f47524a738a3d69",
+ "e_data.ctab:md5,593daf0b84f008c0c64319990ef2fd42",
+ "i2t.ctab:md5,dda3d3ccd7d4184d947c654ae73efb7b",
+ "i_data.ctab:md5,01c675638f918a70ea689f618a2610bc",
+ "cutadapt_filtered_reads_plot.txt:md5,3f122969fa288888e5abef061b7963f2",
+ "cutadapt_trimmed_sequences_plot_3_Counts.txt:md5,5e8a821c9a4deb46c11bc65969b8864f",
+ "cutadapt_trimmed_sequences_plot_3_Obs_Exp.txt:md5,bf8abefa7c5f2f1e1140749983279d9d",
+ "fastqc_raw-status-check-heatmap.txt:md5,5a89b0d8d162f6b1dbdaf39457bbc03b",
+ "fastqc_raw_adapter_content_plot.txt:md5,da0389be84cfdd189b1d045212eb2974",
+ "fastqc_raw_overrepresented_sequences_plot.txt:md5,25d88ea8a72f55e8a374ae802bc7f0b1",
+ "fastqc_raw_per_base_n_content_plot.txt:md5,d368d7e36ca2f73dcde61f2b486d8213",
+ "fastqc_raw_per_base_sequence_quality_plot.txt:md5,5c3065b549129702b185ea1b817da420",
+ "fastqc_raw_per_sequence_gc_content_plot_Counts.txt:md5,9ddaa50167117d3c9188ccf015427704",
+ "fastqc_raw_per_sequence_gc_content_plot_Percentages.txt:md5,f10ee2881b61308af35f304aa3d810a3",
+ "fastqc_raw_per_sequence_quality_scores_plot.txt:md5,b5f9a02933e3065952237afd2ec9ce82",
+ "fastqc_raw_sequence_counts_plot.txt:md5,cbae4979d5db66d3b894abcf8d1c453c",
+ "fastqc_raw_sequence_duplication_levels_plot.txt:md5,8812cee16f6ca65e2c33635754de1772",
+ "fastqc_sequence_length_distribution_plot.txt:md5,7a2263743d5c452dc940eabffcb0ea82",
+ "fastqc_trimmed-status-check-heatmap.txt:md5,1913b4c077a341437475c758fb119559",
+ "fastqc_trimmed_overrepresented_sequences_plot.txt:md5,6a7c50868a36ca6052e9f4adba6b8567",
+ "fastqc_trimmed_per_base_n_content_plot.txt:md5,0cdd698fb9a2a4987572b9b4e8c8990e",
+ "fastqc_trimmed_per_base_sequence_quality_plot.txt:md5,82a9073151a413efbb0f11be8d0db1f2",
+ "fastqc_trimmed_per_sequence_gc_content_plot_Counts.txt:md5,08b43a02f34a3afa7eaddef602cdcafd",
+ "fastqc_trimmed_per_sequence_gc_content_plot_Percentages.txt:md5,0768af6bf06bbad52a3ac6ec0a444138",
+ "fastqc_trimmed_per_sequence_quality_scores_plot.txt:md5,ac167d250e9f88899da0ea81ef2b002e",
+ "fastqc_trimmed_sequence_counts_plot.txt:md5,370ddc5e58838dc5b55e53b6f8b8902a",
+ "fastqc_trimmed_sequence_duplication_levels_plot.txt:md5,b106d8ee7b83efe237afb862ebbe2f47",
+ "multiqc_citations.txt:md5,da5043f8ab9b5bd51d91ccf3111c655e",
+ "multiqc_cutadapt.txt:md5,0937983d3ddfeccd4ccc5b0d74477558",
+ "multiqc_fastqc_fastqc_raw.txt:md5,81c3c1a2575a1891a7f2a9637a0f2cc0",
+ "multiqc_fastqc_fastqc_trimmed.txt:md5,a8a003b61b03295c416f3eb66c1cca65",
+ "multiqc_featurecounts_biotype_plot.txt:md5,078841c35fb163ad1e7c99393015ecac",
+ "multiqc_samtools_idxstats.txt:md5,35fe3b73df5ab19b53c117d3269e7e72",
+ "qualimap_gene_coverage_profile_Counts.txt:md5,54613117acef91c2271327e31203242c",
+ "qualimap_gene_coverage_profile_Normalised.txt:md5,f2884314cb4296877eb6ffd03a12a5b8",
+ "qualimap_rnaseq_cov_hist.txt:md5,c5abd5f3ddd835052c7bcac0f92ff0a4",
+ "rseqc_infer_experiment_plot.txt:md5,8e71c47cf89a0283de00ba1e4325a25f",
+ "samtools-idxstats-mapped-reads-plot_Normalised_Counts.txt:md5,75acd04232d1804b5f960ee4c5db4722",
+ "samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts.txt:md5,f9f9e9472fcd03f74e0186d29ee922dd",
+ "samtools-idxstats-mapped-reads-plot_Raw_Counts.txt:md5,e71efae3d46b66490b096b12b4ae27c5",
+ "ambig_info.tsv:md5,0b462f9b2d8eff1b4d76b7433434899c",
+ "expected_bias.gz:md5,3407f87245d0003e0ffbfdf6d8c04f20",
+ "observed_bias.gz:md5,92bcd0592d22a6a58d0360fc76103e56",
+ "observed_bias_3p.gz:md5,92bcd0592d22a6a58d0360fc76103e56",
+ "cmd_info.json:md5,910a60cb6ef954008c9e6d037342d773",
+ "lib_format_counts.json:md5,5846a0bb874171d30ef60059f6c10868",
+ "ambig_info.tsv:md5,2c45f73a5f73ae4d0053198ea98c87f3",
+ "expected_bias.gz:md5,3407f87245d0003e0ffbfdf6d8c04f20",
+ "observed_bias.gz:md5,92bcd0592d22a6a58d0360fc76103e56",
+ "observed_bias_3p.gz:md5,92bcd0592d22a6a58d0360fc76103e56",
+ "cmd_info.json:md5,e364ca1b150c3c0ae57f0397ff8ae471",
+ "lib_format_counts.json:md5,d662a174758011a56e6669f4810e0aaf",
+ "ambig_info.tsv:md5,644c4352884872a05fe36cbb2b119879",
+ "expected_bias.gz:md5,3407f87245d0003e0ffbfdf6d8c04f20",
+ "observed_bias.gz:md5,92bcd0592d22a6a58d0360fc76103e56",
+ "observed_bias_3p.gz:md5,92bcd0592d22a6a58d0360fc76103e56",
+ "cmd_info.json:md5,b472447f8ac9530be1ca2d9733af2686",
+ "lib_format_counts.json:md5,f01d7b98afc4b6bab773536a88e08e7e",
+ "ambig_info.tsv:md5,d6ca0827f17be19b6e08730a45063f9d",
+ "expected_bias.gz:md5,3407f87245d0003e0ffbfdf6d8c04f20",
+ "observed_bias.gz:md5,92bcd0592d22a6a58d0360fc76103e56",
+ "observed_bias_3p.gz:md5,92bcd0592d22a6a58d0360fc76103e56",
+ "cmd_info.json:md5,bdc36620d04525d343faea5297f0f0d7",
+ "lib_format_counts.json:md5,cf8bf8db790bede5136fca52968e7c43",
+ "ambig_info.tsv:md5,4aa8036707dc557004a80852394beebe",
+ "expected_bias.gz:md5,3407f87245d0003e0ffbfdf6d8c04f20",
+ "observed_bias.gz:md5,92bcd0592d22a6a58d0360fc76103e56",
+ "observed_bias_3p.gz:md5,92bcd0592d22a6a58d0360fc76103e56",
+ "cmd_info.json:md5,809380ddce725a8fab75dd7741b64bf6",
+ "lib_format_counts.json:md5,d231ba7624b67eb654989f69530e2925",
+ "R_sessionInfo.log:md5,fb0da0d7ad6994ed66a8e68348b19676",
+ "tx2gene.tsv:md5,0e2418a69d2eba45097ebffc2f700bfe"
+ ]
+ ],
+ "meta": {
+ "nf-test": "0.9.0",
+ "nextflow": "24.10.2"
+ },
+ "timestamp": "2024-12-11T18:01:45.228731692"
+ },
+ "--umi_dedup_tool 'umitools - stub": {
+ "content": [
+ 32,
+ {
+ "BBMAP_BBSPLIT": {
+ "bbmap": 39.1
+ },
+ "CAT_FASTQ": {
+ "cat": 9.5
+ },
+ "CUSTOM_CATADDITIONALFASTA": {
+ "python": null
+ },
+ "CUSTOM_GETCHROMSIZES": {
+ "getchromsizes": 1.21
+ },
+ "FASTQC": {
+ "fastqc": "0.12.1"
+ },
+ "FQ_LINT": {
+ "fq": "0.12.0 (2024-07-08)"
+ },
+ "GTF2BED": {
+ "perl": "5.26.2"
+ },
+ "GTF_FILTER": {
+ "python": "3.9.5"
+ },
+ "GUNZIP_ADDITIONAL_FASTA": {
+ "gunzip": 1.1
+ },
+ "GUNZIP_GTF": {
+ "gunzip": 1.1
+ },
+ "STAR_GENOMEGENERATE": {
+ "star": "2.7.11b",
+ "samtools": 1.2,
+ "gawk": "5.1.0"
+ },
+ "TRIMGALORE": {
+ "trimgalore": "0.6.10",
+ "cutadapt": 4.9
+ },
+ "UMITOOLS_EXTRACT": {
+ "umitools": "1.1.5"
+ },
+ "UNTAR_SALMON_INDEX": {
+ "untar": 1.34
+ },
+ "Workflow": {
+ "nf-core/rnaseq": "v3.18.0dev"
+ }
+ },
+ [
+ "custom",
+ "custom/out",
+ "custom/out/genome_transcriptome.fasta",
+ "custom/out/genome_transcriptome.gtf",
+ "fastqc",
+ "fastqc/raw",
+ "fastqc/raw/RAP1_IAA_30M_REP1_raw.html",
+ "fastqc/raw/RAP1_IAA_30M_REP1_raw.zip",
+ "fastqc/raw/RAP1_UNINDUCED_REP1_raw.html",
+ "fastqc/raw/RAP1_UNINDUCED_REP1_raw.zip",
+ "fastqc/raw/RAP1_UNINDUCED_REP2_raw.html",
+ "fastqc/raw/RAP1_UNINDUCED_REP2_raw.zip",
+ "fastqc/raw/WT_REP1_raw.html",
+ "fastqc/raw/WT_REP1_raw.zip",
+ "fastqc/raw/WT_REP2_raw.html",
+ "fastqc/raw/WT_REP2_raw.zip",
+ "fastqc/trim",
+ "fq_lint",
+ "fq_lint/raw",
+ "fq_lint/raw/RAP1_IAA_30M_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP1.fq_lint.txt",
+ "fq_lint/raw/RAP1_UNINDUCED_REP2.fq_lint.txt",
+ "fq_lint/raw/WT_REP1.fq_lint.txt",
+ "fq_lint/raw/WT_REP2.fq_lint.txt",
+ "multiqc",
+ "multiqc/star_salmon",
+ "multiqc/star_salmon/multiqc_data",
+ "multiqc/star_salmon/multiqc_plots",
+ "multiqc/star_salmon/multiqc_report.html",
+ "pipeline_info",
+ "pipeline_info/nf_core_rnaseq_software_mqc_versions.yml",
+ "trimgalore",
+ "trimgalore/RAP1_IAA_30M_REP1_trimmed_1.fastq.gz_trimming_report.txt",
+ "trimgalore/RAP1_IAA_30M_REP1_trimmed_2.fastq.gz_trimming_report.txt",
+ "trimgalore/RAP1_UNINDUCED_REP1_trimmed.fastq.gz_trimming_report.txt",
+ "trimgalore/RAP1_UNINDUCED_REP2_trimmed.fastq.gz_trimming_report.txt",
+ "trimgalore/WT_REP1_trimmed_1.fastq.gz_trimming_report.txt",
+ "trimgalore/WT_REP1_trimmed_2.fastq.gz_trimming_report.txt",
+ "trimgalore/WT_REP2_trimmed_1.fastq.gz_trimming_report.txt",
+ "trimgalore/WT_REP2_trimmed_2.fastq.gz_trimming_report.txt",
+ "umitools",
+ "umitools/RAP1_IAA_30M_REP1.umi_extract.log",
+ "umitools/RAP1_UNINDUCED_REP1.umi_extract.log",
+ "umitools/RAP1_UNINDUCED_REP2.umi_extract.log",
+ "umitools/WT_REP1.umi_extract.log",
+ "umitools/WT_REP2.umi_extract.log"
+ ],
+ [
+ "genome_transcriptome.fasta:md5,d41d8cd98f00b204e9800998ecf8427e",
+ "genome_transcriptome.gtf:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "meta": {
+ "nf-test": "0.9.0",
+ "nextflow": "24.10.2"
+ },
+ "timestamp": "2024-12-11T18:08:48.404716766"
+ }
+}
diff --git a/workflows/rnaseq/assets/multiqc/multiqc_config.yml b/workflows/rnaseq/assets/multiqc/multiqc_config.yml
index 08360f58c..9b8ee731a 100644
--- a/workflows/rnaseq/assets/multiqc/multiqc_config.yml
+++ b/workflows/rnaseq/assets/multiqc/multiqc_config.yml
@@ -1,5 +1,5 @@
report_comment: >
- This report has been generated by the nf-core/rnaseq analysis pipeline. For information about how to interpret these results, please see the documentation.
+ This report has been generated by the nf-core/rnaseq analysis pipeline. For information about how to interpret these results, please see the documentation.
report_section_order:
# Important checks and failures
sample-status:
diff --git a/workflows/rnaseq/main.nf b/workflows/rnaseq/main.nf
index 84bedaeb6..508aeb5fb 100755
--- a/workflows/rnaseq/main.nf
+++ b/workflows/rnaseq/main.nf
@@ -15,8 +15,11 @@ include { MULTIQC_CUSTOM_BIOTYPE } from '../../modules/local/multiqc
//
// SUBWORKFLOW: Consisting of a mix of local and nf-core/modules
//
-include { ALIGN_STAR } from '../../subworkflows/local/align_star'
-include { QUANTIFY_RSEM } from '../../subworkflows/local/quantify_rsem'
+include { ALIGN_STAR } from '../../subworkflows/local/align_star'
+include { QUANTIFY_RSEM } from '../../subworkflows/local/quantify_rsem'
+include { BAM_DEDUP_UMI as BAM_DEDUP_UMI_STAR } from '../../subworkflows/nf-core/bam_dedup_umi'
+include { BAM_DEDUP_UMI as BAM_DEDUP_UMI_HISAT2 } from '../../subworkflows/nf-core/bam_dedup_umi'
+
include { checkSamplesAfterGrouping } from '../../subworkflows/local/utils_nfcore_rnaseq_pipeline'
include { multiqcTsvFromList } from '../../subworkflows/nf-core/fastq_qc_trim_filter_setstrandedness'
include { getStarPercentMapped } from '../../subworkflows/local/utils_nfcore_rnaseq_pipeline'
@@ -34,7 +37,6 @@ include { methodsDescriptionText } from '../../subworkflows/local/utils_
// MODULE: Installed directly from nf-core/modules
//
include { DUPRADAR } from '../../modules/nf-core/dupradar'
-include { SAMTOOLS_SORT } from '../../modules/nf-core/samtools/sort'
include { PRESEQ_LCEXTRAP } from '../../modules/nf-core/preseq/lcextrap'
include { QUALIMAP_RNASEQ } from '../../modules/nf-core/qualimap/rnaseq'
include { STRINGTIE_STRINGTIE } from '../../modules/nf-core/stringtie/stringtie'
@@ -42,7 +44,6 @@ include { SUBREAD_FEATURECOUNTS } from '../../modules/nf-core/subread/featu
include { KRAKEN2_KRAKEN2 as KRAKEN2 } from '../../modules/nf-core/kraken2/kraken2/main'
include { BRACKEN_BRACKEN as BRACKEN } from '../../modules/nf-core/bracken/bracken/main'
include { MULTIQC } from '../../modules/nf-core/multiqc'
-include { UMITOOLS_PREPAREFORRSEM as UMITOOLS_PREPAREFORSALMON } from '../../modules/nf-core/umitools/prepareforrsem'
include { BEDTOOLS_GENOMECOV as BEDTOOLS_GENOMECOV_FW } from '../../modules/nf-core/bedtools/genomecov'
include { BEDTOOLS_GENOMECOV as BEDTOOLS_GENOMECOV_REV } from '../../modules/nf-core/bedtools/genomecov'
@@ -54,11 +55,8 @@ include { samplesheetToList } from 'plugin/nf-schema'
include { paramsSummaryMultiqc } from '../../subworkflows/nf-core/utils_nfcore_pipeline'
include { softwareVersionsToYAML } from '../../subworkflows/nf-core/utils_nfcore_pipeline'
include { FASTQ_ALIGN_HISAT2 } from '../../subworkflows/nf-core/fastq_align_hisat2'
-include { BAM_SORT_STATS_SAMTOOLS } from '../../subworkflows/nf-core/bam_sort_stats_samtools'
include { BAM_MARKDUPLICATES_PICARD } from '../../subworkflows/nf-core/bam_markduplicates_picard'
include { BAM_RSEQC } from '../../subworkflows/nf-core/bam_rseqc'
-include { BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS as BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS_GENOME } from '../../subworkflows/nf-core/bam_dedup_stats_samtools_umitools'
-include { BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS as BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS_TRANSCRIPTOME } from '../../subworkflows/nf-core/bam_dedup_stats_samtools_umitools'
include { BEDGRAPH_BEDCLIP_BEDGRAPHTOBIGWIG as BEDGRAPH_BEDCLIP_BEDGRAPHTOBIGWIG_FORWARD } from '../../subworkflows/nf-core/bedgraph_bedclip_bedgraphtobigwig'
include { BEDGRAPH_BEDCLIP_BEDGRAPHTOBIGWIG as BEDGRAPH_BEDCLIP_BEDGRAPHTOBIGWIG_REVERSE } from '../../subworkflows/nf-core/bedgraph_bedclip_bedgraphtobigwig'
include { QUANTIFY_PSEUDO_ALIGNMENT as QUANTIFY_STAR_SALMON } from '../../subworkflows/nf-core/quantify_pseudo_alignment'
@@ -156,7 +154,8 @@ workflow RNASEQ {
params.with_umi,
params.umi_discard_read,
params.stranded_threshold,
- params.unstranded_threshold
+ params.unstranded_threshold,
+ params.skip_linting
)
ch_multiqc_files = ch_multiqc_files.mix(FASTQ_QC_TRIM_FILTER_SETSTRANDEDNESS.out.multiqc_files)
@@ -177,6 +176,8 @@ workflow RNASEQ {
ch_genome_bam_index = Channel.empty()
ch_star_log = Channel.empty()
ch_unaligned_sequences = Channel.empty()
+ ch_transcriptome_bam = Channel.empty()
+
if (!params.skip_alignment && params.aligner == 'star_salmon') {
// Check if an AWS iGenome has been provided to use the appropriate version of STAR
def is_aws_igenome = false
@@ -201,9 +202,6 @@ workflow RNASEQ {
ch_transcriptome_bam = ALIGN_STAR.out.bam_transcript
ch_star_log = ALIGN_STAR.out.log_final
ch_unaligned_sequences = ALIGN_STAR.out.fastq
- ch_multiqc_files = ch_multiqc_files.mix(ALIGN_STAR.out.stats.collect{it[1]})
- ch_multiqc_files = ch_multiqc_files.mix(ALIGN_STAR.out.flagstat.collect{it[1]})
- ch_multiqc_files = ch_multiqc_files.mix(ALIGN_STAR.out.idxstats.collect{it[1]})
ch_multiqc_files = ch_multiqc_files.mix(ch_star_log.collect{it[1]})
if (params.bam_csi_index) {
@@ -215,67 +213,33 @@ workflow RNASEQ {
// SUBWORKFLOW: Remove duplicate reads from BAM file based on UMIs
//
if (params.with_umi) {
- // Deduplicate genome BAM file before downstream analysis
- BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS_GENOME (
- ch_genome_bam.join(ch_genome_bam_index, by: [0]),
- params.umitools_dedup_stats
- )
- ch_genome_bam = BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS_GENOME.out.bam
- ch_genome_bam_index = BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS_GENOME.out.bai
- ch_multiqc_files = ch_multiqc_files.mix(BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS_GENOME.out.deduplog.collect{it[1]})
- ch_multiqc_files = ch_multiqc_files.mix(BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS_GENOME.out.stats.collect{it[1]})
- ch_multiqc_files = ch_multiqc_files.mix(BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS_GENOME.out.flagstat.collect{it[1]})
- ch_multiqc_files = ch_multiqc_files.mix(BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS_GENOME.out.idxstats.collect{it[1]})
-
- if (params.bam_csi_index) {
- ch_genome_bam_index = BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS_GENOME.out.csi
- }
- ch_versions = ch_versions.mix(BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS_GENOME.out.versions)
- // Co-ordinate sort, index and run stats on transcriptome BAM
- BAM_SORT_STATS_SAMTOOLS (
+ BAM_DEDUP_UMI_STAR(
+ ch_genome_bam.join(ch_genome_bam_index, by: [0]),
+ ch_fasta.map { [ [:], it ] },
+ params.umi_dedup_tool,
+ params.umitools_dedup_stats,
+ params.bam_csi_index,
ch_transcriptome_bam,
ch_transcript_fasta.map { [ [:], it ] }
)
- ch_transcriptome_sorted_bam = BAM_SORT_STATS_SAMTOOLS.out.bam
- ch_transcriptome_sorted_bai = BAM_SORT_STATS_SAMTOOLS.out.bai
- // Deduplicate transcriptome BAM file before read counting with Salmon
- BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS_TRANSCRIPTOME (
- ch_transcriptome_sorted_bam.join(ch_transcriptome_sorted_bai, by: [0]),
- params.umitools_dedup_stats
- )
+ ch_genome_bam = BAM_DEDUP_UMI_STAR.out.bam
+ ch_transcriptome_bam = BAM_DEDUP_UMI_STAR.out.transcriptome_bam
+ ch_genome_bam_index = BAM_DEDUP_UMI_STAR.out.bai
+ ch_versions = ch_versions.mix(BAM_DEDUP_UMI_STAR.out.versions)
- // Name sort BAM before passing to Salmon
- SAMTOOLS_SORT (
- BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS_TRANSCRIPTOME.out.bam,
- ch_fasta.map { [ [:], it ] }
- )
+ ch_multiqc_files = ch_multiqc_files
+ .mix(BAM_DEDUP_UMI_STAR.out.multiqc_files)
- // Only run prepare_for_rsem.py on paired-end BAM files
- SAMTOOLS_SORT
- .out
- .bam
- .branch {
- meta, bam ->
- single_end: meta.single_end
- return [ meta, bam ]
- paired_end: !meta.single_end
- return [ meta, bam ]
- }
- .set { ch_umitools_dedup_bam }
-
- // Fix paired-end reads in name sorted BAM file
- // See: https://github.com/nf-core/rnaseq/issues/828
- UMITOOLS_PREPAREFORSALMON (
- ch_umitools_dedup_bam.paired_end.map { meta, bam -> [ meta, bam, [] ] }
- )
- ch_versions = ch_versions.mix(UMITOOLS_PREPAREFORSALMON.out.versions.first())
+ } else {
+ // The deduplicated stats should take priority for MultiQC, but use
+ // them straight out of the aligner otherwise
- ch_umitools_dedup_bam
- .single_end
- .mix(UMITOOLS_PREPAREFORSALMON.out.bam)
- .set { ch_transcriptome_bam }
+ ch_multiqc_files = ch_multiqc_files
+ .mix(ALIGN_STAR.out.stats.collect{it[1]})
+ .mix(ALIGN_STAR.out.flagstat.collect{it[1]})
+ .mix(ALIGN_STAR.out.idxstats.collect{it[1]})
}
//
@@ -357,9 +321,6 @@ workflow RNASEQ {
ch_genome_bam = FASTQ_ALIGN_HISAT2.out.bam
ch_genome_bam_index = FASTQ_ALIGN_HISAT2.out.bai
ch_unaligned_sequences = FASTQ_ALIGN_HISAT2.out.fastq
- ch_multiqc_files = ch_multiqc_files.mix(FASTQ_ALIGN_HISAT2.out.stats.collect{it[1]})
- ch_multiqc_files = ch_multiqc_files.mix(FASTQ_ALIGN_HISAT2.out.flagstat.collect{it[1]})
- ch_multiqc_files = ch_multiqc_files.mix(FASTQ_ALIGN_HISAT2.out.idxstats.collect{it[1]})
ch_multiqc_files = ch_multiqc_files.mix(FASTQ_ALIGN_HISAT2.out.summary.collect{it[1]})
if (params.bam_csi_index) {
@@ -370,21 +331,33 @@ workflow RNASEQ {
//
// SUBWORKFLOW: Remove duplicate reads from BAM file based on UMIs
//
+
if (params.with_umi) {
- BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS_GENOME (
+
+ BAM_DEDUP_UMI_HISAT2(
ch_genome_bam.join(ch_genome_bam_index, by: [0]),
- params.umitools_dedup_stats
+ ch_fasta.map { [ [:], it ] },
+ params.umi_dedup_tool,
+ params.umitools_dedup_stats,
+ params.bam_csi_index,
+ ch_transcriptome_bam,
+ ch_transcript_fasta.map { [ [:], it ] }
)
- ch_genome_bam = BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS_GENOME.out.bam
- ch_genome_bam_index = BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS_GENOME.out.bai
- ch_multiqc_files = ch_multiqc_files.mix(BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS_GENOME.out.deduplog.collect{it[1]})
- ch_multiqc_files = ch_multiqc_files.mix(BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS_GENOME.out.stats.collect{it[1]})
- ch_multiqc_files = ch_multiqc_files.mix(BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS_GENOME.out.flagstat.collect{it[1]})
- ch_multiqc_files = ch_multiqc_files.mix(BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS_GENOME.out.idxstats.collect{it[1]})
- if (params.bam_csi_index) {
- ch_genome_bam_index = BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS_GENOME.out.csi
- }
- ch_versions = ch_versions.mix(BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS_GENOME.out.versions)
+
+ ch_genome_bam = BAM_DEDUP_UMI_HISAT2.out.bam
+ ch_genome_bam_index = BAM_DEDUP_UMI_HISAT2.out.bai
+ ch_versions = ch_versions.mix(BAM_DEDUP_UMI_HISAT2.out.versions)
+
+ ch_multiqc_files = ch_multiqc_files
+ .mix(BAM_DEDUP_UMI_HISAT2.out.multiqc_files)
+ } else {
+
+ // The deduplicated stats should take priority for MultiQC, but use
+ // them straight out of the aligner otherwise
+ ch_multiqc_files = ch_multiqc_files
+ .mix(FASTQ_ALIGN_HISAT2.out.stats.collect{it[1]})
+ .mix(FASTQ_ALIGN_HISAT2.out.flagstat.collect{it[1]})
+ .mix(FASTQ_ALIGN_HISAT2.out.idxstats.collect{it[1]})
}
}
diff --git a/workflows/rnaseq/nextflow.config b/workflows/rnaseq/nextflow.config
index 9cbf0cd30..e7a6290fa 100644
--- a/workflows/rnaseq/nextflow.config
+++ b/workflows/rnaseq/nextflow.config
@@ -19,6 +19,7 @@ includeConfig "../../subworkflows/nf-core/fastq_align_hisat2/nextflow.config"
includeConfig "../../subworkflows/nf-core/fastq_fastqc_umitools_fastp/nextflow.config"
includeConfig "../../subworkflows/nf-core/fastq_fastqc_umitools_trimgalore/nextflow.config"
includeConfig "../../subworkflows/nf-core/fastq_subsample_fq_salmon/nextflow.config"
+includeConfig "../../subworkflows/nf-core/fastq_qc_trim_filter_setstrandedness/nextflow.config"
//
// STAR Salmon alignment options
@@ -76,7 +77,7 @@ if (!params.skip_alignment && params.aligner == 'star_salmon') {
if (params.with_umi) {
process {
- withName: 'NFCORE_RNASEQ:RNASEQ:SAMTOOLS_SORT' {
+ withName: 'NFCORE_RNASEQ:RNASEQ:BAM_DEDUP_UMI_(STAR|HISAT2):SAMTOOLS_SORT' {
ext.args = '-n'
ext.prefix = { "${meta.id}.umi_dedup.transcriptome" }
publishDir = [
@@ -87,7 +88,7 @@ if (!params.skip_alignment && params.aligner == 'star_salmon') {
]
}
- withName: 'NFCORE_RNASEQ:RNASEQ:UMITOOLS_PREPAREFORSALMON' {
+ withName: 'NFCORE_RNASEQ:RNASEQ:BAM_DEDUP_UMI_(STAR|HISAT2):UMITOOLS_PREPAREFORRSEM' {
ext.prefix = { "${meta.id}.umi_dedup.transcriptome.filtered" }
publishDir = [
[
@@ -104,7 +105,7 @@ if (!params.skip_alignment && params.aligner == 'star_salmon') {
]
}
- withName: 'NFCORE_RNASEQ:RNASEQ:BAM_SORT_STATS_SAMTOOLS:SAMTOOLS_SORT' {
+ withName: 'NFCORE_RNASEQ:RNASEQ:BAM_DEDUP_UMI_STAR:BAM_SORT_STATS_SAMTOOLS:SAMTOOLS_SORT' {
ext.prefix = { "${meta.id}.transcriptome.sorted" }
publishDir = [
path: { params.save_align_intermeds || params.save_umi_intermeds ? "${params.outdir}/${params.aligner}" : params.outdir },
@@ -114,7 +115,7 @@ if (!params.skip_alignment && params.aligner == 'star_salmon') {
]
}
- withName: 'NFCORE_RNASEQ:RNASEQ:BAM_SORT_STATS_SAMTOOLS:SAMTOOLS_INDEX' {
+ withName: 'NFCORE_RNASEQ:RNASEQ:BAM_DEDUP_UMI_STAR:BAM_SORT_STATS_SAMTOOLS:SAMTOOLS_INDEX' {
publishDir = [
path: { params.save_align_intermeds || params.save_umi_intermeds ? "${params.outdir}/${params.aligner}" : params.outdir },
mode: params.publish_dir_mode,
@@ -123,7 +124,7 @@ if (!params.skip_alignment && params.aligner == 'star_salmon') {
]
}
- withName: 'NFCORE_RNASEQ:RNASEQ:BAM_SORT_STATS_SAMTOOLS:BAM_STATS_SAMTOOLS:.*' {
+ withName: 'NFCORE_RNASEQ:RNASEQ:BAM_DEDUP_UMI_STAR:BAM_SORT_STATS_SAMTOOLS:BAM_STATS_SAMTOOLS:.*' {
ext.prefix = { "${meta.id}.transcriptome.sorted.bam" }
publishDir = [
path: { params.save_align_intermeds || params.save_umi_intermeds ? "${params.outdir}/${params.aligner}/samtools_stats" : params.outdir },
@@ -133,12 +134,7 @@ if (!params.skip_alignment && params.aligner == 'star_salmon') {
]
}
- withName: '.*:BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS_TRANSCRIPTOME:UMITOOLS_DEDUP' {
- ext.args = { [
- meta.single_end ? '' : '--unpaired-reads=discard --chimeric-pairs=discard',
- params.umitools_grouping_method ? "--method='${params.umitools_grouping_method}'" : '',
- params.umitools_umi_separator ? "--umi-separator='${params.umitools_umi_separator}'" : ''
- ].join(' ').trim() }
+ withName: '.*:BAM_DEDUP_STATS_SAMTOOLS_UMI(COLLAPSE|TOOLS)_TRANSCRIPTOME:UMI(COLLAPSE|TOOLS_DEDUP)' {
ext.prefix = { "${meta.id}.umi_dedup.transcriptome.sorted" }
publishDir = [
[
@@ -160,7 +156,7 @@ if (!params.skip_alignment && params.aligner == 'star_salmon') {
]
}
- withName: '.*:BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS_TRANSCRIPTOME:SAMTOOLS_INDEX' {
+ withName: '.*:BAM_DEDUP_STATS_SAMTOOLS_UMI(COLLAPSE|TOOLS)_TRANSCRIPTOME:SAMTOOLS_INDEX' {
publishDir = [
path: { params.save_align_intermeds || params.save_umi_intermeds ? "${params.outdir}/${params.aligner}" : params.outdir },
mode: params.publish_dir_mode,
@@ -169,7 +165,7 @@ if (!params.skip_alignment && params.aligner == 'star_salmon') {
]
}
- withName: '.*:BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS_TRANSCRIPTOME:BAM_STATS_SAMTOOLS:.*' {
+ withName: '.*:BAM_DEDUP_STATS_SAMTOOLS_UMI(COLLAPSE|TOOLS)_TRANSCRIPTOME:BAM_STATS_SAMTOOLS:.*' {
ext.prefix = { "${meta.id}.umi_dedup.transcriptome.sorted.bam" }
publishDir = [
path: { "${params.outdir}/${params.aligner}/samtools_stats" },
@@ -227,12 +223,25 @@ if (!params.skip_alignment) {
if (params.with_umi && ['star_salmon','hisat2'].contains(params.aligner)) {
process {
- withName: '.*:BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS_GENOME:UMITOOLS_DEDUP' {
- ext.args = { [
+
+ withName: '.*:BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS_(GEN|TRANSCRIPT)OME:UMITOOLS_DEDUP' {
+ ext.args = { [
meta.single_end ? '' : '--unpaired-reads=discard --chimeric-pairs=discard',
params.umitools_grouping_method ? "--method='${params.umitools_grouping_method}'" : '',
params.umitools_umi_separator ? "--umi-separator='${params.umitools_umi_separator}'" : ''
].join(' ').trim() }
+ }
+
+ withName: '.*:BAM_DEDUP_STATS_SAMTOOLS_UMICOLLAPSE_(GEN|TRANSCRIPT)OME:UMICOLLAPSE' {
+ ext.args = { [
+ '--two-pass',
+ meta.single_end ? '' : '--paired --remove-unpaired --remove-chimeric',
+ params.umitools_grouping_method ? "--algo '" + ['directional':'dir','adjacency':'adj','cluster':'cc'].get(params.umitools_grouping_method, '') + "'" : '',
+ params.umitools_umi_separator ? "--umi-sep '${params.umitools_umi_separator}'" : '',
+ ].join(' ').trim()}
+ }
+
+ withName: '.*:BAM_DEDUP_STATS_SAMTOOLS_UMI(COLLAPSE|TOOLS)_GENOME:UMI(COLLAPSE|TOOLS_DEDUP)' {
ext.prefix = { "${meta.id}.umi_dedup.sorted" }
publishDir = [
[
@@ -254,7 +263,7 @@ if (!params.skip_alignment) {
]
}
- withName: '.*:BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS_GENOME:SAMTOOLS_INDEX' {
+ withName: '.*:BAM_DEDUP_STATS_SAMTOOLS_UMI(COLLAPSE|TOOLS)_GENOME:SAMTOOLS_INDEX' {
ext.args = { params.bam_csi_index ? '-c' : '' }
ext.prefix = { "${meta.id}.umi_dedup.sorted" }
publishDir = [
@@ -265,7 +274,7 @@ if (!params.skip_alignment) {
]
}
- withName: '.*:BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS_GENOME:BAM_STATS_SAMTOOLS:.*' {
+ withName: '.*:BAM_DEDUP_STATS_SAMTOOLS_UMI(COLLAPSE|TOOLS)_GENOME:BAM_STATS_SAMTOOLS:.*' {
ext.prefix = { "${meta.id}.umi_dedup.sorted.bam" }
publishDir = [
path: { "${params.outdir}/${params.aligner}/samtools_stats" },