diff --git a/.nf-core.yml b/.nf-core.yml index 59c308231..602cb6961 100644 --- a/.nf-core.yml +++ b/.nf-core.yml @@ -14,11 +14,11 @@ nf_core_version: 3.3.2 repository_type: pipeline template: author: "Harshil Patel, Phil Ewels, Rickard Hammarén" - description: RNA sequencing analysis pipeline for gene/isoform quantification - and extensive quality control. + description: RNA sequencing analysis pipeline for gene/isoform quantification and + extensive quality control. force: false is_nfcore: true name: rnaseq org: nf-core outdir: . - version: 3.20.0 + version: 3.21.0 diff --git a/CHANGELOG.md b/CHANGELOG.md index 1ca51b3ea..bc674ab3b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,32 @@ 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.20.0 +## [[3.21.0](https://github.com/nf-core/rnaseq/releases/tag/3.21.0)] - 2025-09-18 + +### Credits + +Special thanks to the following for their contributions to the release: + +- [Edmund Miller](https://github.com/edmundmiller) +- [Friederike Hanssen](https://github.com/friederikehanssen) +- [Maxime Garcia](https://github.com/maxulysse) +- [Jonathan Manning](https://github.com/pinin4fjords) + +### Enhancements & fixes + +- [PR #1597](https://github.com/nf-core/rnaseq/pull/1597) - Bump version after release 3.20.0 +- [PR #1603](https://github.com/nf-core/rnaseq/pull/1603) - Add bam input pathway +- [PR #1604](https://github.com/nf-core/rnaseq/pull/1604) - Enable BAM input for RSEM +- [PR #1605](https://github.com/nf-core/rnaseq/pull/1605) - Fix default for umi_discard_read to prevent validation errors in Platform +- [PR #1606](https://github.com/nf-core/rnaseq/pull/1606) - Bump version to 3.21.0 ahead of release + +### Software dependencies + +| Dependency | Old version | New version | +| ---------- | ----------- | ----------- | +| `MultiQC` | 1.30 | 1.31 | + +## [[3.20.0](https://github.com/nf-core/rnaseq/releases/tag/3.20.0)] - 2025-08-18 ### Credits diff --git a/README.md b/README.md index afaddb8c9..8b309334f 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ ## Introduction -**nf-core/rnaseq** is a bioinformatics pipeline that can be used to analyse RNA sequencing data obtained from organisms with a reference genome and annotation. It takes a samplesheet and FASTQ files as input, performs quality control (QC), trimming and (pseudo-)alignment, and produces a gene expression matrix and extensive QC report. +**nf-core/rnaseq** is a bioinformatics pipeline that can be used to analyse RNA sequencing data obtained from organisms with a reference genome and annotation. It takes a samplesheet with FASTQ files or pre-aligned BAM files as input, performs quality control (QC), trimming and (pseudo-)alignment, and produces a gene expression matrix and extensive QC report. ![nf-core/rnaseq metro map](docs/images/nf-core-rnaseq_metro_map_grey_animated.svg) @@ -76,6 +76,8 @@ CONTROL_REP1,AEG588A1_S1_L004_R1_001.fastq.gz,AEG588A1_S1_L004_R2_001.fastq.gz,a Each row represents a fastq file (single-end) or a pair of fastq files (paired end). Rows with the same sample identifier are considered technical replicates and merged automatically. The strandedness refers to the library preparation and will be automatically inferred if set to `auto`. +The pipeline supports a two-step reprocessing workflow using BAM files from previous runs. Run initially with `--save_align_intermeds` to generate a samplesheet with BAM paths, then reprocess using `--skip_alignment` for efficient downstream analysis without repeating expensive alignment steps. This feature is designed specifically for pipeline-generated BAMs. + > [!WARNING] > Please provide pipeline parameters via the CLI or Nextflow `-params-file` option. Custom config files including those provided by the `-c` Nextflow option can be used to provide any configuration _**except for parameters**_; see [docs](https://nf-co.re/docs/usage/getting_started/configuration#custom-configuration-files). diff --git a/assets/schema_input.json b/assets/schema_input.json index 8d3e7523a..b2f9cfad9 100644 --- a/assets/schema_input.json +++ b/assets/schema_input.json @@ -32,6 +32,27 @@ "errorMessage": "Strandedness must be provided and be one of 'auto', 'forward', 'reverse' or 'unstranded'", "enum": ["forward", "reverse", "unstranded", "auto"], "meta": ["strandedness"] + }, + "genome_bam": { + "type": "string", + "format": "file-path", + "exists": true, + "pattern": "^([\\S\\s]*\\/)?[^\\s\\/]+\\.(bam|BAM)$", + "errorMessage": "Genome BAM file cannot contain spaces and must have extension '.bam'" + }, + "transcriptome_bam": { + "type": "string", + "format": "file-path", + "exists": true, + "pattern": "^([\\S\\s]*\\/)?[^\\s\\/]+\\.(bam|BAM)$", + "errorMessage": "Transcriptome BAM file cannot contain spaces and must have extension '.bam'" + }, + "percent_mapped": { + "type": "number", + "minimum": 0, + "maximum": 100, + "errorMessage": "Percent mapped must be a number between 0 and 100", + "meta": "percent_mapped" } }, "required": ["sample", "fastq_1", "strandedness"] diff --git a/conf/test.config b/conf/test.config index 06f9856a5..1b3bd5db8 100644 --- a/conf/test.config +++ b/conf/test.config @@ -35,7 +35,6 @@ params { bbsplit_fasta_list = 'https://raw.githubusercontent.com/nf-core/test-datasets/626c8fab639062eade4b10747e919341cbf9b41a/reference/bbsplit_fasta_list.txt' hisat2_index = 'https://raw.githubusercontent.com/nf-core/test-datasets/626c8fab639062eade4b10747e919341cbf9b41a/reference/hisat2.tar.gz' salmon_index = 'https://raw.githubusercontent.com/nf-core/test-datasets/626c8fab639062eade4b10747e919341cbf9b41a/reference/salmon.tar.gz' - rsem_index = 'https://raw.githubusercontent.com/nf-core/test-datasets/626c8fab639062eade4b10747e919341cbf9b41a/reference/rsem.tar.gz' // Other parameters skip_bbsplit = false diff --git a/docs/output.md b/docs/output.md index 2fec35e59..b47593a05 100644 --- a/docs/output.md +++ b/docs/output.md @@ -10,6 +10,10 @@ nextflow run nf-core/rnaseq -profile test_full, The directories listed below will be created in the results directory after the pipeline has finished. All paths are relative to the top-level results directory. +:::tip +Many of the BAM files produced by this pipeline can be reused as input for future runs with `--skip_alignment`. This is particularly useful for reprocessing data or running downstream analysis steps without repeating computationally expensive alignment. See the [usage documentation](https://nf-co.re/rnaseq/usage#bam-input-for-reprocessing-workflow) for details on using BAM files as input. +::: + ## Pipeline overview The pipeline is built using [Nextflow](https://www.nextflow.io/) and processes data using the following steps: @@ -213,8 +217,8 @@ When `--remove_ribo_rna` is specified, the pipeline uses [SortMeRNA](https://git Output files - `star_salmon/` - - `*.Aligned.out.bam`: If `--save_align_intermeds` is specified the original BAM file containing read alignments to the reference genome will be placed in this directory. - - `*.Aligned.toTranscriptome.out.bam`: If `--save_align_intermeds` is specified the original BAM file containing read alignments to the transcriptome will be placed in this directory. + - `*.Aligned.out.bam`: If `--save_align_intermeds` is specified the original BAM file containing read alignments to the reference genome will be placed in this directory. These files can be reused as `genome_bam` input in future pipeline runs. + - `*.Aligned.toTranscriptome.out.bam`: If `--save_align_intermeds` is specified the original BAM file containing read alignments to the transcriptome will be placed in this directory. These files can be reused as `transcriptome_bam` input in future pipeline runs. - `salmon.merged.gene_counts.tsv`: Matrix of gene-level raw counts across all samples. - `salmon.merged.gene_tpm.tsv`: Matrix of gene-level TPM values across all samples. - `salmon.merged.gene.SummarizedExperiment.rds`: RDS object that can be loaded in R that contains a [SummarizedExperiment](https://bioconductor.org/packages/release/bioc/html/SummarizedExperiment.html) container with the abundance TPM (`tpm`), estimated counts (`counts`) and gene length (`length`), estimated library size-scaled counts (`counts_scaled`), estimated length-scaled counts (`counts_length_scaled`) in the assays slot for genes. @@ -276,8 +280,8 @@ The STAR section of the MultiQC report shows a bar plot with alignment rates: go - `rsem.merged.transcript_tpm.tsv`: Matrix of isoform-level TPM values across all samples. - `*.genes.results`: RSEM gene-level quantification results for each sample. - `*.isoforms.results`: RSEM isoform-level quantification results for each sample. - - `*.STAR.genome.bam`: If `--save_align_intermeds` is specified the original BAM file containing read alignments to the reference genome will be placed in this directory. - - `*.transcript.bam`: If `--save_align_intermeds` is specified the original BAM file containing read alignments to the transcriptome will be placed in this directory. + - `*.STAR.genome.bam`: If `--save_align_intermeds` is specified the BAM file from STAR alignment containing read alignments to the reference genome will be placed in this directory. These files can be reused as `genome_bam` input in future pipeline runs. + - `*.transcript.bam`: If `--save_align_intermeds` is specified the BAM file from STAR alignment containing read alignments to the transcriptome will be placed in this directory. These files can be reused as `transcriptome_bam` input in future pipeline runs. - `star_rsem/.stat/` - `*.cnt`, `*.model`, `*.theta`: RSEM counts and statistics for each sample. - `star_rsem/log/` @@ -285,7 +289,7 @@ The STAR section of the MultiQC report shows a bar plot with alignment rates: go -[RSEM](https://github.com/deweylab/RSEM) is a software package for estimating gene and isoform expression levels from RNA-seq data. It has been widely touted as one of the most accurate quantification tools for RNA-seq analysis. RSEM wraps other popular tools to map the reads to the genome (i.e. STAR, Bowtie2, HISAT2; STAR is used in this pipeline) which are then subsequently filtered relative to a transcriptome before quantifying at the gene- and isoform-level. Other advantages of using RSEM are that it performs both the alignment and quantification in a single package and its ability to effectively use ambiguously-mapping reads. +[RSEM](https://github.com/deweylab/RSEM) is a software package for estimating gene and isoform expression levels from RNA-seq data. It has been widely touted as one of the most accurate quantification tools for RNA-seq analysis. When using `--aligner star_rsem`, the pipeline first runs STAR alignment with RSEM-compatible parameters to generate genome and transcriptome BAM files, then RSEM quantifies expression using these pre-aligned BAMs via the `--alignments` mode. This approach ensures optimal compatibility while maintaining RSEM's ability to effectively use ambiguously-mapping reads. You can choose to align and quantify your data with RSEM by providing the `--aligner star_rsem` parameter. @@ -299,7 +303,7 @@ You can choose to align and quantify your data with RSEM by providing the `--ali Output files - `hisat2/` - - `.bam`: If `--save_align_intermeds` is specified the original BAM file containing read alignments to the reference genome will be placed in this directory. + - `.bam`: If `--save_align_intermeds` is specified the original BAM file containing read alignments to the reference genome will be placed in this directory. These files can be reused as `genome_bam` input in future pipeline runs. - `hisat2/log/` - `*.log`: HISAT2 alignment report containing the mapping results summary. - `hisat2/unmapped/` @@ -323,7 +327,7 @@ The pipeline has been written in a way where all the files generated downstream Output files - `/` - - `.sorted.bam`: If `--save_align_intermeds` is specified the original coordinate sorted BAM file containing read alignments will be placed in this directory. + - `.sorted.bam`: If `--save_align_intermeds` is specified the original coordinate sorted BAM file containing read alignments will be placed in this directory. These files can be reused as `genome_bam` input in future pipeline runs. - `.sorted.bam.bai`: If `--save_align_intermeds` is specified the BAI index file for the original coordinate sorted BAM file will be placed in this directory. - `.sorted.bam.csi`: If `--save_align_intermeds --bam_csi_index` is specified the CSI index file for the original coordinate sorted BAM file will be placed in this directory. - `/samtools_stats/` @@ -864,6 +868,8 @@ A number of genome-specific files are generated by the pipeline because they are - Reports generated by the pipeline: `pipeline_report.html`, `pipeline_report.txt` and `software_versions.yml`. The `pipeline_report*` files will only be present if the `--email` / `--email_on_fail` parameter's are used when running the pipeline. - Reformatted samplesheet files used as input to the pipeline: `samplesheet.valid.csv`. - Parameters used by the pipeline run: `params.json`. +- `samplesheets/` + - `samplesheet_with_bams.csv`: **Auto-generated samplesheet for BAM reprocessing** (only created when using `--save_align_intermeds`) containing all samples with BAM file paths. For samples processed from FASTQ, includes paths to newly generated BAMs; for samples that were BAM input, preserves the original input paths. This samplesheet can be used directly for future pipeline runs with `--skip_alignment`, enabling efficient reprocessing without re-alignment. diff --git a/docs/usage.md b/docs/usage.md index 0dbf743c0..00cac88b2 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -92,17 +92,79 @@ TREATMENT_REP3,AEG588A6_S6_L003_R1_001.fastq.gz,,reverse TREATMENT_REP3,AEG588A6_S6_L004_R1_001.fastq.gz,,reverse ``` -| Column | Description | -| -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `sample` | Custom sample name. This entry will be identical for multiple sequencing libraries/runs from the same sample. Spaces in sample names are automatically converted to underscores (`_`). | -| `fastq_1` | Full path to FastQ file for Illumina short reads 1. File has to be gzipped and have the extension ".fastq.gz" or ".fq.gz". | -| `fastq_2` | Full path to FastQ file for Illumina short reads 2. File has to be gzipped and have the extension ".fastq.gz" or ".fq.gz". | -| `strandedness` | Sample strand-specificity. Must be one of `unstranded`, `forward`, `reverse` or `auto`. | +| Column | Description | +| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `sample` | Custom sample name. This entry will be identical for multiple sequencing libraries/runs from the same sample. Spaces in sample names are automatically converted to underscores (`_`). | +| `fastq_1` | Full path to FastQ file for Illumina short reads 1. File has to be gzipped and have the extension ".fastq.gz" or ".fq.gz". | +| `fastq_2` | Full path to FastQ file for Illumina short reads 2. File has to be gzipped and have the extension ".fastq.gz" or ".fq.gz". | +| `strandedness` | Sample strand-specificity. Must be one of `unstranded`, `forward`, `reverse` or `auto`. | +| `genome_bam` | **Optional**. Full path to genome-aligned BAM file. Typically from previous pipeline runs (see [output documentation](https://nf-co.re/rnaseq/output#star-salmon-and-kallisto) or [STAR/RSEM](https://nf-co.re/rnaseq/output#star-via-rsem)). | +| `transcriptome_bam` | **Optional**. Full path to transcriptome-aligned BAM file. Typically from previous pipeline runs (see [output documentation](https://nf-co.re/rnaseq/output#star-salmon-and-kallisto) or [STAR/RSEM](https://nf-co.re/rnaseq/output#star-via-rsem)). | +| `percent_mapped` | **Optional**. Percentage of reads that mapped during alignment (0-100). Useful for quality assessment and filtering. | An [example samplesheet](../assets/samplesheet.csv) has been provided with the pipeline. > **NB:** The `group` and `replicate` columns were replaced with a single `sample` column as of v3.1 of the pipeline. The `sample` column is essentially a concatenation of the `group` and `replicate` columns, however it now also offers more flexibility in instances where replicate information is not required e.g. when sequencing clinical samples. If all values of `sample` have the same number of underscores, fields defined by these underscore-separated names may be used in the PCA plots produced by the pipeline, to regain the ability to represent different groupings. +### BAM input for reprocessing workflow + +The pipeline supports a **two-step workflow** for efficient reprocessing without expensive alignment steps. This feature is designed specifically for re-running with BAM files generated by previous runs of this same pipeline. + +#### Step 1: Initial run with BAM generation + +Run the pipeline normally, adding `--save_align_intermeds` to publish BAM files and generate a reusable samplesheet: + +```bash +nextflow run nf-core/rnaseq \ + --input samplesheet.csv \ + --save_align_intermeds \ + --outdir results_initial \ + -profile docker +``` + +This creates `samplesheets/samplesheet_with_bams.csv` containing paths to the generated BAM files. + +#### Step 2: Reprocessing run with BAM input + +Use the auto-generated samplesheet to reprocess data, skipping alignment: + +```bash +nextflow run nf-core/rnaseq \ + --input samplesheets/samplesheet_with_bams.csv \ + --skip_alignment \ + --outdir results_reprocessed \ + -profile docker +``` + +The `--skip_alignment` flag tells the pipeline to skip alignment, and in this situation it will use any provided BAM files instead of performing alignment, putting them through post-processing and quantification only. + +#### Example of generated samplesheet + +The `samplesheet_with_bams.csv` will look like: + +```csv +sample,fastq_1,fastq_2,strandedness,genome_bam,percent_mapped,transcriptome_bam +SAMPLE1,/path/sample1_R1.fastq.gz,/path/sample1_R2.fastq.gz,forward,results/star_salmon/SAMPLE1.markdup.sorted.bam,85.2,results/star_salmon/SAMPLE1.Aligned.toTranscriptome.out.bam +SAMPLE2,/path/sample2_R1.fastq.gz,,reverse,results/star_salmon/SAMPLE2.sorted.bam,92.1,results/star_salmon/SAMPLE2.Aligned.toTranscriptome.out.bam +``` + +#### Important limitations + +> **⚠️ Warning**: This feature is designed specifically for BAM files generated by this pipeline. Using arbitrary BAM files from other sources is **not officially supported** and will likely only work via the two-step workflow described above. Users attempting to use other BAMs do so at their own risk. + +> **⚠️ Warning**: You cannot mix quantifier types between BAM generation and reprocessing runs. BAM files generated with `--aligner star_salmon` must be reprocessed with `--aligner star_salmon`. Similarly, BAM files from `--aligner star_rsem` must be reprocessed with `--aligner star_rsem`. Mixing quantifier types will likely produce incorrect results due to incompatible alignment parameters. + +**Key technical details:** + +- BAM files are only used when `--skip_alignment` is specified +- The pipeline automatically indexes provided BAM files +- You can provide just `genome_bam`, just `transcriptome_bam`, or both +- Mixed samplesheets are supported, but samples with BAM files require `--skip_alignment` +- Without `--skip_alignment`, the pipeline will perform alignment even if BAM files are provided +- For BAM file locations from pipeline outputs, see the [output documentation](https://nf-co.re/rnaseq/output) + +This workflow is ideal for tweaking downstream processing steps (quantification methods, QC parameters, differential expression analysis) without repeating time-consuming alignment. + ## FASTQ sampling If you would like to reduce the number of reads used in the analysis, for example to test pipeline operation with limited resource usage, you can make use of the FASTP option for trimming (see below). FASTP has an option to take the first `n` reads of input FASTQ file(s), so this can be used to reduce the reads passed to subsequent steps. For example, to pass only the first 10,000 reads for trimming you would set input paramters like: @@ -123,7 +185,7 @@ If you would like to reduce the number of reads used in the analysis, for exampl The `--aligner hisat2` option is not currently supported using ARM architecture ('-profile arm') ::: -By default, the pipeline uses [STAR](https://github.com/alexdobin/STAR) (i.e. `--aligner star_salmon`) to map the raw FastQ reads to the reference genome, project the alignments onto the transcriptome and to perform the downstream BAM-level quantification with [Salmon](https://salmon.readthedocs.io/en/latest/salmon.html). STAR is fast but requires a lot of memory to run, typically around 38GB for the Human GRCh37 reference genome. Since the [RSEM](https://github.com/deweylab/RSEM) (i.e. `--aligner star_rsem`) workflow in the pipeline also uses STAR you should use the [HISAT2](https://ccb.jhu.edu/software/hisat2/index.shtml) aligner (i.e. `--aligner hisat2`) if you have memory limitations. +By default, the pipeline uses [STAR](https://github.com/alexdobin/STAR) (i.e. `--aligner star_salmon`) to map the raw FastQ reads to the reference genome, project the alignments onto the transcriptome and to perform the downstream BAM-level quantification with [Salmon](https://salmon.readthedocs.io/en/latest/salmon.html). STAR is fast but requires a lot of memory to run, typically around 38GB for the Human GRCh37 reference genome. Both `--aligner star_salmon` and `--aligner star_rsem` use STAR for alignment, so you should use the [HISAT2](https://ccb.jhu.edu/software/hisat2/index.shtml) aligner (i.e. `--aligner hisat2`) if you have memory limitations. You also have the option to pseudoalign and quantify your data directly with [Salmon](https://salmon.readthedocs.io/en/latest/salmon.html) or [Kallisto](https://pachterlab.github.io/kallisto/) by specifying `salmon` or `kallisto` to the `--pseudo_aligner` parameter. The selected pseudoaligner will then be run in addition to the standard alignment workflow defined by `--aligner`, mainly because it allows you to obtain QC metrics with respect to the genomic alignments. However, you can provide the `--skip_alignment` parameter if you would like to run Salmon or Kallisto in isolation. By default, the pipeline will use the genome fasta and gtf file to generate the transcripts fasta file, and then to build the Salmon index. You can override these parameters using the `--transcript_fasta` and `--salmon_index` parameters, respectively. @@ -255,7 +317,7 @@ Notes: - If `--gff` is provided as input then this will be converted to a GTF file, or the latter will be used if both are provided. - If `--gene_bed` is not provided then it will be generated from the GTF file. - If `--additional_fasta` is provided then the features in this file (e.g. ERCC spike-ins) will be automatically concatenated onto both the reference FASTA file as well as the GTF annotation before building the appropriate indices. -- When using `--aligner star_rsem`, both the STAR and RSEM indices should be present in the path specified by `--rsem_index` (see [#568](https://github.com/nf-core/rnaseq/issues/568)). +- When using `--aligner star_rsem`, the pipeline will build separate STAR and RSEM indices. STAR performs alignment with RSEM-compatible parameters, then RSEM quantifies from the resulting BAM files using `--alignments` mode. - If the `--skip_alignment` option is used along with `--transcript_fasta`, the pipeline can technically run without providing the genomic FASTA (`--fasta`). However, this approach is **not recommended** with `--pseudo_aligner salmon`, as any dynamically generated Salmon index will lack decoys. To ensure optimal indexing with decoys, it is **highly recommended** to include the genomic FASTA (`--fasta`) with Salmon, unless a pre-existing decoy-aware Salmon index is supplied. For more details on the benefits of decoy-aware indexing, refer to the [Salmon documentation](https://salmon.readthedocs.io/en/latest/salmon.html#preparing-transcriptome-indices-mapping-based-mode). #### Reference genome diff --git a/modules.json b/modules.json index 0660264ae..aa20e9320 100644 --- a/modules.json +++ b/modules.json @@ -108,7 +108,7 @@ }, "multiqc": { "branch": "master", - "git_sha": "c9a31c472ef2d86802eb44f27322955849859361", + "git_sha": "e10b76ca0c66213581bec2833e30d31f239dec0b", "installed_by": ["modules"] }, "picard/markduplicates": { @@ -129,7 +129,7 @@ }, "rsem/calculateexpression": { "branch": "master", - "git_sha": "20b042e352fc47ab6dab717a622253e96429e887", + "git_sha": "82cd92d50025a01e1370758ae18fcfe708b6d28c", "installed_by": ["modules"] }, "rsem/preparereference": { @@ -219,7 +219,7 @@ }, "sentieon/rsemcalculateexpression": { "branch": "master", - "git_sha": "2779d18605e9923332155d671f45ed37fa185ff4", + "git_sha": "d9cd3c825e2d05f9c851130100018ae02a766510", "installed_by": ["modules"] }, "sentieon/rsempreparereference": { diff --git a/modules/local/multiqc_custom_biotype/nextflow.config b/modules/local/multiqc_custom_biotype/nextflow.config index 68fecaa66..6326efeb5 100644 --- a/modules/local/multiqc_custom_biotype/nextflow.config +++ b/modules/local/multiqc_custom_biotype/nextflow.config @@ -1,4 +1,4 @@ -if (!params.skip_alignment && !params.skip_qc) { +if (!params.skip_qc) { if (!params.skip_biotype_qc && params.featurecounts_group_type) { process { withName: 'MULTIQC_CUSTOM_BIOTYPE' { diff --git a/modules/nf-core/bracken/bracken/nextflow.config b/modules/nf-core/bracken/bracken/nextflow.config index 975a9793a..d5e2a2e00 100644 --- a/modules/nf-core/bracken/bracken/nextflow.config +++ b/modules/nf-core/bracken/bracken/nextflow.config @@ -1,4 +1,4 @@ -if (!params.skip_alignment && !params.skip_qc) { +if (!params.skip_qc) { if (params.contaminant_screening == 'kraken2_bracken') { process { withName: 'BRACKEN' { @@ -10,4 +10,4 @@ if (!params.skip_alignment && !params.skip_qc) { } } } -} \ No newline at end of file +} diff --git a/modules/nf-core/dupradar/nextflow.config b/modules/nf-core/dupradar/nextflow.config index 3ade56ad5..aa2004e50 100644 --- a/modules/nf-core/dupradar/nextflow.config +++ b/modules/nf-core/dupradar/nextflow.config @@ -1,4 +1,4 @@ -if (!params.skip_alignment && !params.skip_qc) { +if (!params.skip_qc) { if (!params.skip_dupradar) { process { withName: 'DUPRADAR' { diff --git a/modules/nf-core/kraken2/kraken2/nextflow.config b/modules/nf-core/kraken2/kraken2/nextflow.config index 7289bd9a1..e7055a915 100644 --- a/modules/nf-core/kraken2/kraken2/nextflow.config +++ b/modules/nf-core/kraken2/kraken2/nextflow.config @@ -1,4 +1,4 @@ -if (!params.skip_alignment && !params.skip_qc) { +if (!params.skip_qc) { if (params.contaminant_screening in ['kraken2', 'kraken2_bracken']) { process { withName: 'KRAKEN2' { @@ -12,4 +12,4 @@ if (!params.skip_alignment && !params.skip_qc) { } } } -} \ No newline at end of file +} diff --git a/modules/nf-core/multiqc/environment.yml b/modules/nf-core/multiqc/environment.yml index f89370483..dd513cbd1 100644 --- a/modules/nf-core/multiqc/environment.yml +++ b/modules/nf-core/multiqc/environment.yml @@ -4,4 +4,4 @@ channels: - conda-forge - bioconda dependencies: - - bioconda::multiqc=1.30 + - bioconda::multiqc=1.31 diff --git a/modules/nf-core/multiqc/main.nf b/modules/nf-core/multiqc/main.nf index a508541ba..5288f5ccf 100644 --- a/modules/nf-core/multiqc/main.nf +++ b/modules/nf-core/multiqc/main.nf @@ -3,8 +3,8 @@ process MULTIQC { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/multiqc:1.30--pyhdfd78af_0' : - 'biocontainers/multiqc:1.30--pyhdfd78af_0' }" + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/ef/eff0eafe78d5f3b65a6639265a16b89fdca88d06d18894f90fcdb50142004329/data' : + 'community.wave.seqera.io/library/multiqc:1.31--1efbafd542a23882' }" input: path multiqc_files, stageAs: "?/*" diff --git a/modules/nf-core/multiqc/tests/main.nf.test.snap b/modules/nf-core/multiqc/tests/main.nf.test.snap index 0d3f288bd..17881d15c 100644 --- a/modules/nf-core/multiqc/tests/main.nf.test.snap +++ b/modules/nf-core/multiqc/tests/main.nf.test.snap @@ -2,14 +2,14 @@ "multiqc_versions_single": { "content": [ [ - "versions.yml:md5,e65ce731db2128b8e4dd43d6e880fc1c" + "versions.yml:md5,8968b114a3e20756d8af2b80713bcc4f" ] ], "meta": { "nf-test": "0.9.2", - "nextflow": "25.04.3" + "nextflow": "25.04.6" }, - "timestamp": "2025-07-10T08:06:23.563041241" + "timestamp": "2025-09-08T20:57:36.139055243" }, "multiqc_stub": { "content": [ @@ -17,25 +17,25 @@ "multiqc_report.html", "multiqc_data", "multiqc_plots", - "versions.yml:md5,e65ce731db2128b8e4dd43d6e880fc1c" + "versions.yml:md5,8968b114a3e20756d8af2b80713bcc4f" ] ], "meta": { "nf-test": "0.9.2", - "nextflow": "25.04.3" + "nextflow": "25.04.6" }, - "timestamp": "2025-07-10T08:06:48.96226832" + "timestamp": "2025-09-08T20:59:15.142230631" }, "multiqc_versions_config": { "content": [ [ - "versions.yml:md5,e65ce731db2128b8e4dd43d6e880fc1c" + "versions.yml:md5,8968b114a3e20756d8af2b80713bcc4f" ] ], "meta": { "nf-test": "0.9.2", - "nextflow": "25.04.3" + "nextflow": "25.04.6" }, - "timestamp": "2025-07-10T08:06:40.627008706" + "timestamp": "2025-09-08T20:58:29.629087066" } -} +} \ No newline at end of file diff --git a/modules/nf-core/preseq/lcextrap/nextflow.config b/modules/nf-core/preseq/lcextrap/nextflow.config index e203e87e7..220496967 100644 --- a/modules/nf-core/preseq/lcextrap/nextflow.config +++ b/modules/nf-core/preseq/lcextrap/nextflow.config @@ -1,4 +1,4 @@ -if (!params.skip_alignment && !params.skip_qc) { +if (!params.skip_qc) { if (!params.skip_preseq) { process { withName: 'PRESEQ_LCEXTRAP' { @@ -18,4 +18,4 @@ if (!params.skip_alignment && !params.skip_qc) { } } } -} \ No newline at end of file +} diff --git a/modules/nf-core/qualimap/rnaseq/nextflow.config b/modules/nf-core/qualimap/rnaseq/nextflow.config index 9c05fb25a..2d3756d58 100644 --- a/modules/nf-core/qualimap/rnaseq/nextflow.config +++ b/modules/nf-core/qualimap/rnaseq/nextflow.config @@ -1,4 +1,4 @@ -if (!params.skip_alignment && !params.skip_qc) { +if (!params.skip_qc) { if (!params.skip_qualimap) { process { withName: 'QUALIMAP_RNASEQ' { diff --git a/modules/nf-core/rsem/calculateexpression/main.nf b/modules/nf-core/rsem/calculateexpression/main.nf index 09f1d1287..b4851805e 100644 --- a/modules/nf-core/rsem/calculateexpression/main.nf +++ b/modules/nf-core/rsem/calculateexpression/main.nf @@ -8,14 +8,14 @@ process RSEM_CALCULATEEXPRESSION { 'community.wave.seqera.io/library/rsem_star:5acb4e8c03239c32' }" input: - tuple val(meta), path(reads) + tuple val(meta), path(reads) // FASTQ files or BAM file for --alignments mode path index output: tuple val(meta), path("*.genes.results") , emit: counts_gene tuple val(meta), path("*.isoforms.results"), emit: counts_transcript tuple val(meta), path("*.stat") , emit: stat - tuple val(meta), path("*.log") , emit: logs + tuple val(meta), path("*.log") , emit: logs, optional:true path "versions.yml" , emit: versions tuple val(meta), path("*.STAR.genome.bam") , optional:true, emit: bam_star @@ -35,14 +35,34 @@ process RSEM_CALCULATEEXPRESSION { } else if (meta.strandedness == 'reverse') { strandedness = '--strandedness reverse' } - def paired_end = meta.single_end ? "" : "--paired-end" + + // Detect if input is BAM file(s) + def is_bam = reads.toString().toLowerCase().endsWith('.bam') + def alignment_mode = is_bam ? '--alignments' : '' + + // Use metadata for paired-end detection if available, otherwise empty (auto-detect) + def paired_end = meta.containsKey('single_end') ? (meta.single_end ? "" : "--paired-end") : "unknown" + """ INDEX=`find -L ./ -name "*.grp" | sed 's/\\.grp\$//'` + + # Use metadata-based paired-end detection, or auto-detect if no metadata provided + PAIRED_END_FLAG="$paired_end" + if [ "${paired_end}" == "unknown" ]; then + # Auto-detect only if no metadata provided + if [ "${is_bam}" == "true" ]; then + samtools flagstat $reads | grep -q 'paired in sequencing' && PAIRED_END_FLAG="--paired-end" + else + [ ${reads.size()} -gt 1 ] && PAIRED_END_FLAG="--paired-end" + fi + fi + rsem-calculate-expression \\ --num-threads $task.cpus \\ --temporary-folder ./tmp/ \\ + $alignment_mode \\ $strandedness \\ - $paired_end \\ + \$PAIRED_END_FLAG \\ $args \\ $reads \\ \$INDEX \\ @@ -57,12 +77,18 @@ process RSEM_CALCULATEEXPRESSION { stub: prefix = task.ext.prefix ?: "${meta.id}" + def is_bam = reads.toString().toLowerCase().endsWith('.bam') """ touch ${prefix}.genes.results touch ${prefix}.isoforms.results touch ${prefix}.stat touch ${prefix}.log - touch ${prefix}.STAR.genome.bam + + # Only create STAR BAM output when not in alignment mode + if [ "${is_bam}" == "false" ]; then + touch ${prefix}.STAR.genome.bam + fi + touch ${prefix}.genome.bam touch ${prefix}.transcript.bam diff --git a/modules/nf-core/rsem/calculateexpression/meta.yml b/modules/nf-core/rsem/calculateexpression/meta.yml index 0a7fbe1b3..0a7ea6e7d 100644 --- a/modules/nf-core/rsem/calculateexpression/meta.yml +++ b/modules/nf-core/rsem/calculateexpression/meta.yml @@ -21,15 +21,19 @@ input: e.g. [ id:'test', single_end:false ] - reads: type: file - description: Input reads for quantification - pattern: "*.fastq.gz" - - - index: - type: file - description: RSEM index - pattern: "rsem/*" + description: Input reads for quantification (FASTQ files or BAM file for --alignments mode) + pattern: "*.{fastq.gz,bam}" + ontologies: + - edam: http://edamontology.org/format_3989 # GZIP format + - edam: http://edamontology.org/format_2572 # BAM format + - index: + type: file + description: RSEM index + pattern: "rsem/*" + ontologies: [] output: - - counts_gene: - - meta: + counts_gene: + - - meta: type: map description: | Groovy Map containing sample information @@ -38,8 +42,9 @@ output: type: file description: Expression counts on gene level pattern: "*.genes.results" - - counts_transcript: - - meta: + ontologies: [] + counts_transcript: + - - meta: type: map description: | Groovy Map containing sample information @@ -48,8 +53,9 @@ output: type: file description: Expression counts on transcript level pattern: "*.isoforms.results" - - stat: - - meta: + ontologies: [] + stat: + - - meta: type: map description: | Groovy Map containing sample information @@ -58,8 +64,9 @@ output: type: file description: RSEM statistics pattern: "*.stat" - - logs: - - meta: + ontologies: [] + logs: + - - meta: type: map description: | Groovy Map containing sample information @@ -68,13 +75,16 @@ output: type: file description: RSEM logs pattern: "*.log" - - versions: - - versions.yml: - type: file - description: File containing software versions - pattern: "versions.yml" - - bam_star: - - meta: + ontologies: [] + versions: + - versions.yml: + type: file + description: File containing software versions + pattern: "versions.yml" + ontologies: + - edam: http://edamontology.org/format_3750 # YAML + bam_star: + - - meta: type: map description: | Groovy Map containing sample information @@ -83,8 +93,9 @@ output: type: file description: BAM file generated by STAR (optional) pattern: "*.STAR.genome.bam" - - bam_genome: - - meta: + ontologies: [] + bam_genome: + - - meta: type: map description: | Groovy Map containing sample information @@ -93,8 +104,9 @@ output: type: file description: Genome BAM file (optional) pattern: "*.genome.bam" - - bam_transcript: - - meta: + ontologies: [] + bam_transcript: + - - meta: type: map description: | Groovy Map containing sample information @@ -103,6 +115,7 @@ output: type: file description: Transcript BAM file (optional) pattern: "*.transcript.bam" + ontologies: [] authors: - "@drpatelh" - "@kevinmenden" diff --git a/modules/nf-core/rsem/calculateexpression/tests/alignment.config b/modules/nf-core/rsem/calculateexpression/tests/alignment.config new file mode 100644 index 000000000..8730f1c4b --- /dev/null +++ b/modules/nf-core/rsem/calculateexpression/tests/alignment.config @@ -0,0 +1,5 @@ +process { + + publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" } + +} diff --git a/modules/nf-core/rsem/calculateexpression/tests/main.nf.test b/modules/nf-core/rsem/calculateexpression/tests/main.nf.test index 7af876dd8..8860e7df9 100644 --- a/modules/nf-core/rsem/calculateexpression/tests/main.nf.test +++ b/modules/nf-core/rsem/calculateexpression/tests/main.nf.test @@ -3,9 +3,59 @@ nextflow_process { name "Test Process RSEM_CALCULATEEXPRESSION" script "../main.nf" process "RSEM_CALCULATEEXPRESSION" - config "./nextflow.config" + tag "modules" + tag "modules_nfcore" + tag "rsem" + tag "rsem/calculateexpression" + tag "rsem/preparereference" - test("homo_sapiens") { + + test("homo_sapiens - bam") { + + config "./alignment.config" + + setup { + run("RSEM_PREPAREREFERENCE") { + script "../../../rsem/preparereference/main.nf" + process { + """ + input[0] = Channel.of(file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true)) + input[1] = Channel.of(file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.gtf', checkIfExists: true)) + """ + } + } + } + + when { + params { + outdir = "$outputDir" + } + process { + """ + input[0] = Channel.of([ + [ id:'test', strandedness: 'forward' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/rsem.transcript.bam', checkIfExists: true) + ]) + input[1] = RSEM_PREPAREREFERENCE.out.index + """ + } + } + then { + assertAll( + { assert process.success }, + { assert snapshot( + process.out.counts_gene, + process.out.counts_transcript, + process.out.stat, + process.out.versions + ).match() } + ) + } + } + + test("homo_sapiens - fastq") { + + config "./nextflow.config" setup { run("RSEM_PREPAREREFERENCE") { @@ -39,18 +89,22 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(process.out.counts_gene).match("counts_gene") }, - { assert snapshot(process.out.counts_transcript).match("counts_transcript") }, - { assert snapshot(process.out.stat).match("stat") }, - { assert path(process.out.logs.get(0).get(1)).exists() }, - { assert snapshot(process.out.versions).match("versions") } + { assert snapshot( + process.out.counts_gene, + process.out.counts_transcript, + process.out.stat, + process.out.versions + ).match() }, + { assert path(process.out.logs.get(0).get(1)).exists() } ) } } test("homo_sapiens - stub") { - options "-stub" + config "./nextflow.config" + + options "-stub" setup { run("RSEM_PREPAREREFERENCE") { @@ -81,7 +135,13 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(process.out).match() } + { assert path(process.out.counts_gene.get(0).get(1)).exists() }, + { assert path(process.out.counts_transcript.get(0).get(1)).exists() }, + { assert path(process.out.stat.get(0).get(1)).exists() }, + { assert path(process.out.logs.get(0).get(1)).exists() }, + { assert snapshot( + process.out.versions + ).match() } ) } } diff --git a/modules/nf-core/rsem/calculateexpression/tests/main.nf.test.snap b/modules/nf-core/rsem/calculateexpression/tests/main.nf.test.snap index 61647071d..1175e2970 100644 --- a/modules/nf-core/rsem/calculateexpression/tests/main.nf.test.snap +++ b/modules/nf-core/rsem/calculateexpression/tests/main.nf.test.snap @@ -1,6 +1,36 @@ { - "stat": { + "homo_sapiens - stub": { + "content": [ + [ + "versions.yml:md5,823e53afe1ff4f3930ae8392f9f8dd5c" + ] + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "25.04.6" + }, + "timestamp": "2025-09-15T09:32:28.388711" + }, + "homo_sapiens - fastq": { "content": [ + [ + [ + { + "id": "test", + "strandedness": "forward" + }, + "test.genes.results:md5,c7ec226f76736ea805771e73553ae359" + ] + ], + [ + [ + { + "id": "test", + "strandedness": "forward" + }, + "test.isoforms.results:md5,99f7f80aa505b44ca429fdebbd7dd5d8" + ] + ], [ [ { @@ -13,159 +43,28 @@ "test.theta:md5,de2e4490c98cc5383a86ae8225fd0a28" ] ] + ], + [ + "versions.yml:md5,823e53afe1ff4f3930ae8392f9f8dd5c" ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "25.04.6" }, - "timestamp": "2023-11-22T13:14:18.68683" + "timestamp": "2025-09-12T14:47:20.34162" }, - "homo_sapiens - stub": { + "homo_sapiens - bam": { "content": [ - { - "0": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.genes.results:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "1": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.isoforms.results:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "2": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.stat:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "3": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.log:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "4": [ - "versions.yml:md5,823e53afe1ff4f3930ae8392f9f8dd5c" - ], - "5": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.STAR.genome.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "6": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.genome.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "7": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.transcript.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "bam_genome": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.genome.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "bam_star": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.STAR.genome.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "bam_transcript": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.transcript.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "counts_gene": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.genes.results:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "counts_transcript": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.isoforms.results:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "logs": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.log:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "stat": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.stat:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "versions": [ - "versions.yml:md5,823e53afe1ff4f3930ae8392f9f8dd5c" + [ + [ + { + "id": "test", + "strandedness": "forward" + }, + "test.genes.results:md5,c7ec226f76736ea805771e73553ae359" ] - } - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" - }, - "timestamp": "2024-06-21T09:04:38.064594" - }, - "counts_transcript": { - "content": [ + ], [ [ { @@ -174,42 +73,28 @@ }, "test.isoforms.results:md5,99f7f80aa505b44ca429fdebbd7dd5d8" ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" - }, - "timestamp": "2023-11-22T13:14:18.682898" - }, - "versions": { - "content": [ - [ - "versions.yml:md5,823e53afe1ff4f3930ae8392f9f8dd5c" - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" - }, - "timestamp": "2023-11-22T13:14:18.700958" - }, - "counts_gene": { - "content": [ + ], [ [ { "id": "test", "strandedness": "forward" }, - "test.genes.results:md5,c7ec226f76736ea805771e73553ae359" + [ + "test.cnt:md5,76249e6b2f3c104f414aae596ba2c2f4", + "test.model:md5,a7a4bc1734918ef5848604e3362b83e2", + "test.theta:md5,de2e4490c98cc5383a86ae8225fd0a28" + ] ] + ], + [ + "versions.yml:md5,823e53afe1ff4f3930ae8392f9f8dd5c" ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "25.04.6" }, - "timestamp": "2023-11-22T13:14:18.670998" + "timestamp": "2025-09-15T10:38:32.603705" } } \ No newline at end of file diff --git a/modules/nf-core/sentieon/rsemcalculateexpression/main.nf b/modules/nf-core/sentieon/rsemcalculateexpression/main.nf index a7ab3a37c..11d0cbb0f 100644 --- a/modules/nf-core/sentieon/rsemcalculateexpression/main.nf +++ b/modules/nf-core/sentieon/rsemcalculateexpression/main.nf @@ -9,14 +9,14 @@ process SENTIEON_RSEMCALCULATEEXPRESSION { 'community.wave.seqera.io/library/rsem_sentieon:1d3ad86b89bf5cc7' }" input: - tuple val(meta), path(reads) + tuple val(meta), path(reads) // FASTQ files or BAM file for --alignments mode path index output: tuple val(meta), path("*.genes.results") , emit: counts_gene tuple val(meta), path("*.isoforms.results"), emit: counts_transcript tuple val(meta), path("*.stat") , emit: stat - tuple val(meta), path("*.log") , emit: logs + tuple val(meta), path("*.log") , emit: logs, optional:true path "versions.yml" , emit: versions tuple val(meta), path("*.STAR.genome.bam") , optional:true, emit: bam_star @@ -36,11 +36,18 @@ process SENTIEON_RSEMCALCULATEEXPRESSION { } else if (meta.strandedness == 'reverse') { strandedness = '--strandedness reverse' } - def paired_end = meta.single_end ? "" : "--paired-end" + + // Detect if input is BAM file(s) + def is_bam = reads.toString().toLowerCase().endsWith('.bam') + def alignment_mode = is_bam ? '--alignments' : '' + + // Use metadata for paired-end detection if available, otherwise empty (auto-detect) + def paired_end = meta.containsKey('single_end') ? (meta.single_end ? "" : "--paired-end") : "unknown" def sentieonLicense = secrets.SENTIEON_LICENSE_BASE64 ? "export SENTIEON_LICENSE=\$(mktemp);echo -e \"${secrets.SENTIEON_LICENSE_BASE64}\" | base64 -d > \$SENTIEON_LICENSE; " : "" + """ INDEX=`find -L ./ -name "*.grp" | sed 's/\\.grp\$//'` @@ -48,11 +55,23 @@ process SENTIEON_RSEMCALCULATEEXPRESSION { ln -sf \$(which sentieon) ./STAR export PATH=".:\$PATH" + # Use metadata-based paired-end detection, or auto-detect if no metadata provided + PAIRED_END_FLAG="$paired_end" + if [ "${paired_end}" == "unknown" ]; then + # Auto-detect only if no metadata provided + if [ "${is_bam}" == "true" ]; then + samtools flagstat $reads | grep -q 'paired in sequencing' && PAIRED_END_FLAG="--paired-end" + else + [ ${reads.size()} -gt 1 ] && PAIRED_END_FLAG="--paired-end" + fi + fi + rsem-calculate-expression \\ --num-threads $task.cpus \\ --temporary-folder ./tmp/ \\ + $alignment_mode \\ $strandedness \\ - $paired_end \\ + \$PAIRED_END_FLAG \\ $args \\ $reads \\ \$INDEX \\ @@ -68,12 +87,18 @@ process SENTIEON_RSEMCALCULATEEXPRESSION { stub: prefix = task.ext.prefix ?: "${meta.id}" + def is_bam = reads.toString().toLowerCase().endsWith('.bam') """ touch ${prefix}.genes.results touch ${prefix}.isoforms.results touch ${prefix}.stat touch ${prefix}.log - touch ${prefix}.STAR.genome.bam + + # Only create STAR BAM output when not in alignment mode + if [ "${is_bam}" == "false" ]; then + touch ${prefix}.STAR.genome.bam + fi + touch ${prefix}.genome.bam touch ${prefix}.transcript.bam diff --git a/modules/nf-core/sentieon/rsemcalculateexpression/tests/alignment.config b/modules/nf-core/sentieon/rsemcalculateexpression/tests/alignment.config new file mode 100644 index 000000000..8730f1c4b --- /dev/null +++ b/modules/nf-core/sentieon/rsemcalculateexpression/tests/alignment.config @@ -0,0 +1,5 @@ +process { + + publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" } + +} diff --git a/modules/nf-core/sentieon/rsemcalculateexpression/tests/main.nf.test b/modules/nf-core/sentieon/rsemcalculateexpression/tests/main.nf.test index 7fb4646a5..e99eaf4c3 100644 --- a/modules/nf-core/sentieon/rsemcalculateexpression/tests/main.nf.test +++ b/modules/nf-core/sentieon/rsemcalculateexpression/tests/main.nf.test @@ -3,14 +3,59 @@ nextflow_process { name "Test Process SENTIEON_RSEMCALCULATEEXPRESSION" script "../main.nf" process "SENTIEON_RSEMCALCULATEEXPRESSION" - config "./nextflow.config" tag "modules" tag "modules_nfcore" tag "sentieon" tag "sentieon/rsemcalculateexpression" tag "sentieon/rsempreparereference" - test("homo_sapiens") { + + test("homo_sapiens - bam") { + + config "./alignment.config" + + setup { + run("SENTIEON_RSEMPREPAREREFERENCE") { + script "../../../sentieon/rsempreparereference/main.nf" + process { + """ + input[0] = Channel.of(file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true)) + input[1] = Channel.of(file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.gtf', checkIfExists: true)) + """ + } + } + } + + when { + params { + outdir = "$outputDir" + } + process { + """ + input[0] = Channel.of([ + [ id:'test', strandedness: 'forward' ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/rsem.transcript.bam', checkIfExists: true) + ]) + input[1] = SENTIEON_RSEMPREPAREREFERENCE.out.index + """ + } + } + then { + assertAll( + { assert process.success }, + { assert snapshot( + process.out.counts_gene, + process.out.counts_transcript, + process.out.stat, + process.out.versions + ).match() } + ) + } + } + + test("homo_sapiens - fastq") { + + config "./nextflow.config" setup { run("SENTIEON_RSEMPREPAREREFERENCE") { @@ -44,18 +89,22 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(process.out.counts_gene).match("counts_gene") }, - { assert snapshot(process.out.counts_transcript).match("counts_transcript") }, - { assert snapshot(process.out.stat).match("stat") }, - { assert path(process.out.logs.get(0).get(1)).exists() }, - { assert snapshot(process.out.versions).match("versions") } + { assert snapshot( + process.out.counts_gene, + process.out.counts_transcript, + process.out.stat, + process.out.versions + ).match() }, + { assert path(process.out.logs.get(0).get(1)).exists() } ) } } test("homo_sapiens - stub") { - options "-stub" + config "./nextflow.config" + + options "-stub" setup { run("SENTIEON_RSEMPREPAREREFERENCE") { @@ -86,7 +135,13 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(process.out).match() } + { assert path(process.out.counts_gene.get(0).get(1)).exists() }, + { assert path(process.out.counts_transcript.get(0).get(1)).exists() }, + { assert path(process.out.stat.get(0).get(1)).exists() }, + { assert path(process.out.logs.get(0).get(1)).exists() }, + { assert snapshot( + process.out.versions + ).match() } ) } } diff --git a/modules/nf-core/sentieon/rsemcalculateexpression/tests/main.nf.test.snap b/modules/nf-core/sentieon/rsemcalculateexpression/tests/main.nf.test.snap index f3dee3cc3..539a2b0f5 100644 --- a/modules/nf-core/sentieon/rsemcalculateexpression/tests/main.nf.test.snap +++ b/modules/nf-core/sentieon/rsemcalculateexpression/tests/main.nf.test.snap @@ -1,6 +1,36 @@ { - "stat": { + "homo_sapiens - stub": { + "content": [ + [ + "versions.yml:md5,2c37927aa617a24c43688228944f4a96" + ] + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "25.04.6" + }, + "timestamp": "2025-09-15T09:32:28.388711" + }, + "homo_sapiens - fastq": { "content": [ + [ + [ + { + "id": "test", + "strandedness": "forward" + }, + "test.genes.results:md5,c7ec226f76736ea805771e73553ae359" + ] + ], + [ + [ + { + "id": "test", + "strandedness": "forward" + }, + "test.isoforms.results:md5,99f7f80aa505b44ca429fdebbd7dd5d8" + ] + ], [ [ { @@ -13,159 +43,28 @@ "test.theta:md5,de2e4490c98cc5383a86ae8225fd0a28" ] ] + ], + [ + "versions.yml:md5,253b43edb079232ffcdf0b741134cce9" ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "25.04.6" }, - "timestamp": "2023-11-22T13:14:18.68683" + "timestamp": "2025-09-12T14:47:20.34162" }, - "homo_sapiens - stub": { + "homo_sapiens - bam": { "content": [ - { - "0": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.genes.results:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "1": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.isoforms.results:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "2": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.stat:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "3": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.log:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "4": [ - "versions.yml:md5,2c37927aa617a24c43688228944f4a96" - ], - "5": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.STAR.genome.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "6": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.genome.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "7": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.transcript.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "bam_genome": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.genome.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "bam_star": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.STAR.genome.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "bam_transcript": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.transcript.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "counts_gene": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.genes.results:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "counts_transcript": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.isoforms.results:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "logs": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.log:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "stat": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.stat:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "versions": [ - "versions.yml:md5,2c37927aa617a24c43688228944f4a96" + [ + [ + { + "id": "test", + "strandedness": "forward" + }, + "test.genes.results:md5,c7ec226f76736ea805771e73553ae359" ] - } - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" - }, - "timestamp": "2024-06-21T09:04:38.064594" - }, - "counts_transcript": { - "content": [ + ], [ [ { @@ -174,42 +73,28 @@ }, "test.isoforms.results:md5,99f7f80aa505b44ca429fdebbd7dd5d8" ] - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" - }, - "timestamp": "2023-11-22T13:14:18.682898" - }, - "versions": { - "content": [ - [ - "versions.yml:md5,253b43edb079232ffcdf0b741134cce9" - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" - }, - "timestamp": "2023-11-22T13:14:18.700958" - }, - "counts_gene": { - "content": [ + ], [ [ { "id": "test", "strandedness": "forward" }, - "test.genes.results:md5,c7ec226f76736ea805771e73553ae359" + [ + "test.cnt:md5,76249e6b2f3c104f414aae596ba2c2f4", + "test.model:md5,a7a4bc1734918ef5848604e3362b83e2", + "test.theta:md5,de2e4490c98cc5383a86ae8225fd0a28" + ] ] + ], + [ + "versions.yml:md5,253b43edb079232ffcdf0b741134cce9" ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.2", + "nextflow": "25.04.6" }, - "timestamp": "2023-11-22T13:14:18.670998" + "timestamp": "2025-09-15T10:38:32.603705" } -} +} \ No newline at end of file diff --git a/modules/nf-core/stringtie/stringtie/nextflow.config b/modules/nf-core/stringtie/stringtie/nextflow.config index dc0651458..abc40e2ce 100644 --- a/modules/nf-core/stringtie/stringtie/nextflow.config +++ b/modules/nf-core/stringtie/stringtie/nextflow.config @@ -1,17 +1,15 @@ -if (!params.skip_alignment) { - if (!params.skip_stringtie) { - process { - withName: 'STRINGTIE_STRINGTIE' { - ext.args = { [ - '-v', - params.stringtie_ignore_gtf ? '' : '-e' - ].join(' ').trim() } - publishDir = [ - path: { "${params.outdir}/${params.aligner}/stringtie" }, - mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : filename } - ] - } +if (!params.skip_stringtie) { + process { + withName: 'STRINGTIE_STRINGTIE' { + ext.args = { [ + '-v', + params.stringtie_ignore_gtf ? '' : '-e' + ].join(' ').trim() } + publishDir = [ + path: { "${params.outdir}/${params.aligner}/stringtie" }, + mode: params.publish_dir_mode, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + ] } } -} \ No newline at end of file +} diff --git a/modules/nf-core/subread/featurecounts/nextflow.config b/modules/nf-core/subread/featurecounts/nextflow.config index 3a796d101..b86d1b8e5 100644 --- a/modules/nf-core/subread/featurecounts/nextflow.config +++ b/modules/nf-core/subread/featurecounts/nextflow.config @@ -1,4 +1,4 @@ -if (!params.skip_alignment && !params.skip_qc) { +if (!params.skip_qc) { if (!params.skip_biotype_qc && params.featurecounts_group_type) { process { withName: 'SUBREAD_FEATURECOUNTS' { diff --git a/nextflow.config b/nextflow.config index e5ee488a7..b49c8e9db 100644 --- a/nextflow.config +++ b/nextflow.config @@ -36,7 +36,7 @@ params { umitools_bc_pattern = null umitools_bc_pattern2 = null umitools_umi_separator = null - umi_discard_read = null + umi_discard_read = 0 save_umi_intermeds = false // Linting @@ -350,70 +350,78 @@ manifest { name: 'Harshil Patel', affiliation: 'Seqera', github: '@drpatelh', - contribution: ['author'], // List of contribution types ('author', 'maintainer' or 'contributor') + contribution: ['author'], orcid: '0000-0003-2707-7940' ], [ name: 'Jonathan Manning', affiliation: 'Seqera', github: '@pinin4fjords', - contribution: ['maintainer', 'contributor'], // List of contribution types ('author', 'maintainer' or 'contributor') + contribution: ['maintainer', 'contributor'], orcid: '0000-0002-3483-8456' ], [ name: 'Maxime U Garcia', affiliation: 'Seqera', github: '@maxulysse', - contribution: ['contributor', 'maintainer'], // List of contribution types ('author', 'maintainer' or 'contributor') + contribution: ['contributor', 'maintainer'], orcid: '0000-0003-2827-9261' ], [ name: 'Phil Ewels', affiliation: 'Seqera', github: '@ewels', - contribution: ['author'], // List of contribution types ('author', 'maintainer' or 'contributor') + contribution: ['author'], + orcid: '0000-0003-4101-2502' ], [ name: 'Alexander Peltzer', affiliation: 'Boehringer Ingelheim', github: '@apeltzer', - contribution: ['contributor'], // List of contribution types ('author', 'maintainer' or 'contributor') + contribution: ['contributor'], orcid: '0000-0002-6503-2180' ], [ name: 'Rickard Hammarén', affiliation: 'Scilifelab Data Centre', github: '@Hammarn', - contribution: ['author'], // List of contribution types ('author', 'maintainer' or 'contributor') + contribution: ['author'], orcid: '0000-0001-9017-591X' ], [ name: 'Olga Botvinnik', affiliation: 'Seanome', github: '@olgabot', - contribution: ['contributor'], // List of contribution types ('author', 'maintainer' or 'contributor') + contribution: ['contributor'], orcid: '0000-0003-4412-7970' ], [ name: 'Adam Talbot', affiliation: 'Seqera', github: '@adamrtalbot', - contribution: ['contributor'], // List of contribution types ('author', 'maintainer' or 'contributor') + contribution: ['contributor'], ], [ name: 'Friederike Hanssen', affiliation: 'Seqera', github: '@FriederikeHanssen', - contribution: ['contributor'], // List of contribution types ('author', 'maintainer' or 'contributor') + contribution: ['contributor'], orcid: '0009-0001-9875-5262' ], + [ + name: 'Robert Syme', + affiliation: 'Seqera', + github: '@robsyme', + contribution: ['contributor'], + orcid: '0000-0002-8721-2350' + ], ] homePage = 'https://github.com/nf-core/rnaseq' description = """RNA sequencing analysis pipeline for gene/isoform quantification and extensive quality control.""" mainScript = 'main.nf' defaultBranch = 'master' nextflowVersion = '!>=24.10.5' - version = '3.20.0' + version = '3.21.0' doi = 'https://doi.org/10.5281/zenodo.1400710' } diff --git a/ro-crate-metadata.json b/ro-crate-metadata.json index d8ae3dd93..b9e4f0870 100644 --- a/ro-crate-metadata.json +++ b/ro-crate-metadata.json @@ -22,8 +22,8 @@ "@id": "./", "@type": "Dataset", "creativeWorkStatus": "Stable", - "datePublished": "2025-08-14T09:57:59+00:00", - "description": "

\n \n \n \"nf-core/rnaseq\"\n \n

\n\n[![GitHub Actions CI Status](https://github.com/nf-core/rnaseq/actions/workflows/nf-test.yml/badge.svg)](https://github.com/nf-core/rnaseq/actions/workflows/nf-test.yml)\n[![GitHub Actions Linting Status](https://github.com/nf-core/rnaseq/actions/workflows/linting.yml/badge.svg)](https://github.com/nf-core/rnaseq/actions/workflows/linting.yml)[![AWS CI](https://img.shields.io/badge/CI%20tests-full%20size-FF9900?labelColor=000000&logo=Amazon%20AWS)](https://nf-co.re/rnaseq/results)[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.1400710-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.1400710)\n[![nf-test](https://img.shields.io/badge/unit_tests-nf--test-337ab7.svg)](https://www.nf-test.com)\n\n[![Nextflow](https://img.shields.io/badge/version-%E2%89%A524.10.5-green?style=flat&logo=nextflow&logoColor=white&color=%230DC09D&link=https%3A%2F%2Fnextflow.io)](https://www.nextflow.io/)\n[![nf-core template version](https://img.shields.io/badge/nf--core_template-3.3.2-green?style=flat&logo=nfcore&logoColor=white&color=%2324B064&link=https%3A%2F%2Fnf-co.re)](https://github.com/nf-core/tools/releases/tag/3.3.2)\n[![run with conda](http://img.shields.io/badge/run%20with-conda-3EB049?labelColor=000000&logo=anaconda)](https://docs.conda.io/en/latest/)\n[![run with docker](https://img.shields.io/badge/run%20with-docker-0db7ed?labelColor=000000&logo=docker)](https://www.docker.com/)\n[![run with singularity](https://img.shields.io/badge/run%20with-singularity-1d355c.svg?labelColor=000000)](https://sylabs.io/docs/)\n[![Launch on Seqera Platform](https://img.shields.io/badge/Launch%20%F0%9F%9A%80-Seqera%20Platform-%234256e7)](https://cloud.seqera.io/launch?pipeline=https://github.com/nf-core/rnaseq)\n\n[![Get help on Slack](http://img.shields.io/badge/slack-nf--core%20%23rnaseq-4A154B?labelColor=000000&logo=slack)](https://nfcore.slack.com/channels/rnaseq)[![Follow on Bluesky](https://img.shields.io/badge/bluesky-%40nf__core-1185fe?labelColor=000000&logo=bluesky)](https://bsky.app/profile/nf-co.re)[![Follow on Mastodon](https://img.shields.io/badge/mastodon-nf__core-6364ff?labelColor=FFFFFF&logo=mastodon)](https://mstdn.science/@nf_core)[![Watch on YouTube](http://img.shields.io/badge/youtube-nf--core-FF0000?labelColor=000000&logo=youtube)](https://www.youtube.com/c/nf-core)\n\n## Introduction\n\n**nf-core/rnaseq** is a bioinformatics pipeline that can be used to analyse RNA sequencing data obtained from organisms with a reference genome and annotation. It takes a samplesheet and FASTQ files as input, performs quality control (QC), trimming and (pseudo-)alignment, and produces a gene expression matrix and extensive QC report.\n\n![nf-core/rnaseq metro map](docs/images/nf-core-rnaseq_metro_map_grey_animated.svg)\n\n> In case the image above is not loading, please have a look at the [static version](docs/images/nf-core-rnaseq_metro_map_grey.png).\n\n1. Merge re-sequenced FastQ files ([`cat`](http://www.linfo.org/cat.html))\n2. Auto-infer strandedness by subsampling and pseudoalignment ([`fq`](https://github.com/stjude-rust-labs/fq), [`Salmon`](https://combine-lab.github.io/salmon/))\n3. Read QC ([`FastQC`](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/))\n4. UMI extraction ([`UMI-tools`](https://github.com/CGATOxford/UMI-tools))\n5. Adapter and quality trimming ([`Trim Galore!`](https://www.bioinformatics.babraham.ac.uk/projects/trim_galore/))\n6. Removal of genome contaminants ([`BBSplit`](http://seqanswers.com/forums/showthread.php?t=41288))\n7. Removal of ribosomal RNA ([`SortMeRNA`](https://github.com/biocore/sortmerna))\n8. Choice of multiple alignment and quantification routes (_For `STAR` the sentieon implementation can be chosen_):\n 1. [`STAR`](https://github.com/alexdobin/STAR) -> [`Salmon`](https://combine-lab.github.io/salmon/)\n 2. [`STAR`](https://github.com/alexdobin/STAR) -> [`RSEM`](https://github.com/deweylab/RSEM)\n 3. [`HiSAT2`](https://ccb.jhu.edu/software/hisat2/index.shtml) -> **NO QUANTIFICATION**\n9. Sort and index alignments ([`SAMtools`](https://sourceforge.net/projects/samtools/files/samtools/))\n10. UMI-based deduplication ([`UMI-tools`](https://github.com/CGATOxford/UMI-tools))\n11. Duplicate read marking ([`picard MarkDuplicates`](https://broadinstitute.github.io/picard/))\n12. Transcript assembly and quantification ([`StringTie`](https://ccb.jhu.edu/software/stringtie/))\n13. Create bigWig coverage files ([`BEDTools`](https://github.com/arq5x/bedtools2/), [`bedGraphToBigWig`](http://hgdownload.soe.ucsc.edu/admin/exe/))\n14. Extensive quality control:\n 1. [`RSeQC`](http://rseqc.sourceforge.net/)\n 2. [`Qualimap`](http://qualimap.bioinfo.cipf.es/)\n 3. [`dupRadar`](https://bioconductor.org/packages/release/bioc/html/dupRadar.html)\n 4. [`Preseq`](http://smithlabresearch.org/software/preseq/)\n 5. [`DESeq2`](https://bioconductor.org/packages/release/bioc/html/DESeq2.html)\n 6. [`Kraken2`](https://ccb.jhu.edu/software/kraken2/) -> [`Bracken`](https://ccb.jhu.edu/software/bracken/) on unaligned sequences; _optional_\n15. Pseudoalignment and quantification ([`Salmon`](https://combine-lab.github.io/salmon/) or ['Kallisto'](https://pachterlab.github.io/kallisto/); _optional_)\n16. Present QC for raw read, alignment, gene biotype, sample similarity, and strand-specificity checks ([`MultiQC`](http://multiqc.info/), [`R`](https://www.r-project.org/))\n\n> **Note**\n> The SRA download functionality has been removed from the pipeline (`>=3.2`) and ported to an independent workflow called [nf-core/fetchngs](https://nf-co.re/fetchngs). You can provide `--nf_core_pipeline rnaseq` when running nf-core/fetchngs to download and auto-create a samplesheet containing publicly available samples that can be accepted directly as input by this pipeline.\n\n> **Warning**\n> Quantification isn't performed if using `--aligner hisat2` due to the lack of an appropriate option to calculate accurate expression estimates from HISAT2 derived genomic alignments. However, you can use this route if you have a preference for the alignment, QC and other types of downstream analysis compatible with the output of HISAT2.\n\n## Usage\n\n> [!NOTE]\n> If you are new to Nextflow and nf-core, please refer to [this page](https://nf-co.re/docs/usage/installation) on how to set-up Nextflow. Make sure to [test your setup](https://nf-co.re/docs/usage/introduction#how-to-run-a-pipeline) with `-profile test` before running the workflow on actual data.\n\nFirst, prepare a samplesheet with your input data that looks as follows:\n\n**samplesheet.csv**:\n\n```csv\nsample,fastq_1,fastq_2,strandedness\nCONTROL_REP1,AEG588A1_S1_L002_R1_001.fastq.gz,AEG588A1_S1_L002_R2_001.fastq.gz,auto\nCONTROL_REP1,AEG588A1_S1_L003_R1_001.fastq.gz,AEG588A1_S1_L003_R2_001.fastq.gz,auto\nCONTROL_REP1,AEG588A1_S1_L004_R1_001.fastq.gz,AEG588A1_S1_L004_R2_001.fastq.gz,auto\n```\n\nEach row represents a fastq file (single-end) or a pair of fastq files (paired end). Rows with the same sample identifier are considered technical replicates and merged automatically. The strandedness refers to the library preparation and will be automatically inferred if set to `auto`.\n\n> [!WARNING]\n> Please provide pipeline parameters via the CLI or Nextflow `-params-file` option. Custom config files including those provided by the `-c` Nextflow option can be used to provide any configuration _**except for parameters**_; see [docs](https://nf-co.re/docs/usage/getting_started/configuration#custom-configuration-files).\n\nNow, you can run the pipeline using:\n\n```bash\nnextflow run nf-core/rnaseq \\\n --input \\\n --outdir \\\n --gtf \\\n --fasta \\\n -profile \n```\n\nFor more details and further functionality, please refer to the [usage documentation](https://nf-co.re/rnaseq/usage) and the [parameter documentation](https://nf-co.re/rnaseq/parameters).\n\n## Pipeline output\n\nTo see the results of an example test run with a full size dataset refer to the [results](https://nf-co.re/rnaseq/results) tab on the nf-core website pipeline page.\nFor more details about the output files and reports, please refer to the\n[output documentation](https://nf-co.re/rnaseq/output).\n\nThis pipeline quantifies RNA-sequenced reads relative to genes/transcripts in the genome and normalizes the resulting data. It does not compare the samples statistically in order to assign significance in the form of FDR or P-values. For downstream analyses, the output files from this pipeline can be analysed directly in statistical environments like [R](https://www.r-project.org/), [Julia](https://julialang.org/) or via the [nf-core/differentialabundance](https://github.com/nf-core/differentialabundance/) pipeline.\n\n## Online videos\n\nA short talk about the history, current status and functionality on offer in this pipeline was given by Harshil Patel ([@drpatelh](https://github.com/drpatelh)) on [8th February 2022](https://nf-co.re/events/2022/bytesize-32-nf-core-rnaseq) as part of the nf-core/bytesize series.\n\nYou can find numerous talks on the [nf-core events page](https://nf-co.re/events) from various topics including writing pipelines/modules in Nextflow DSL2, using nf-core tooling, running nf-core pipelines as well as more generic content like contributing to Github. Please check them out!\n\n## Credits\n\nThese scripts were originally written for use at the [National Genomics Infrastructure](https://ngisweden.scilifelab.se), part of [SciLifeLab](http://www.scilifelab.se/) in Stockholm, Sweden, by Phil Ewels ([@ewels](https://github.com/ewels)) and Rickard Hammar\u00e9n ([@Hammarn](https://github.com/Hammarn)).\n\nThe pipeline was re-written in Nextflow DSL2 and is primarily maintained by Harshil Patel ([@drpatelh](https://github.com/drpatelh)) from [Seqera Labs, Spain](https://seqera.io/).\n\nThe pipeline workflow diagram was initially designed by Sarah Guinchard ([@G-Sarah](https://github.com/G-Sarah)) and James Fellows Yates ([@jfy133](https://github.com/jfy133)), further modifications where made by Harshil Patel ([@drpatelh](https://github.com/drpatelh)) and Maxime Garcia ([@maxulysse](https://github.com/maxulysse)).\n\nMany thanks to other who have helped out along the way too, including (but not limited to):\n\n- [Alex Peltzer](https://github.com/apeltzer)\n- [Colin Davenport](https://github.com/colindaven)\n- [Denis Moreno](https://github.com/Galithil)\n- [Edmund Miller](https://github.com/edmundmiller)\n- [Gregor Sturm](https://github.com/grst)\n- [Jacki Buros Novik](https://github.com/jburos)\n- [Lorena Pantano](https://github.com/lpantano)\n- [Matthias Zepper](https://github.com/MatthiasZepper)\n- [Maxime Garcia](https://github.com/maxulysse)\n- [Olga Botvinnik](https://github.com/olgabot)\n- [@orzechoj](https://github.com/orzechoj)\n- [Paolo Di Tommaso](https://github.com/pditommaso)\n- [Rob Syme](https://github.com/robsyme)\n\n## Contributions and Support\n\nIf you would like to contribute to this pipeline, please see the [contributing guidelines](.github/CONTRIBUTING.md).\n\nFor further information or help, don't hesitate to get in touch on the [Slack `#rnaseq` channel](https://nfcore.slack.com/channels/rnaseq) (you can join with [this invite](https://nf-co.re/join/slack)).\n\n## Citations\n\nIf you use nf-core/rnaseq for your analysis, please cite it using the following doi: [10.5281/zenodo.1400710](https://doi.org/10.5281/zenodo.1400710)\n\nAn extensive list of references for the tools used by the pipeline can be found in the [`CITATIONS.md`](CITATIONS.md) file.\n\nYou can cite the `nf-core` publication as follows:\n\n> **The nf-core framework for community-curated bioinformatics pipelines.**\n>\n> Philip Ewels, Alexander Peltzer, Sven Fillinger, Harshil Patel, Johannes Alneberg, Andreas Wilm, Maxime Ulysse Garcia, Paolo Di Tommaso & Sven Nahnsen.\n>\n> _Nat Biotechnol._ 2020 Feb 13. doi: [10.1038/s41587-020-0439-x](https://dx.doi.org/10.1038/s41587-020-0439-x).\n", + "datePublished": "2025-09-18T10:15:27+00:00", + "description": "

\n \n \n \"nf-core/rnaseq\"\n \n

\n\n[![GitHub Actions CI Status](https://github.com/nf-core/rnaseq/actions/workflows/nf-test.yml/badge.svg)](https://github.com/nf-core/rnaseq/actions/workflows/nf-test.yml)\n[![GitHub Actions Linting Status](https://github.com/nf-core/rnaseq/actions/workflows/linting.yml/badge.svg)](https://github.com/nf-core/rnaseq/actions/workflows/linting.yml)[![AWS CI](https://img.shields.io/badge/CI%20tests-full%20size-FF9900?labelColor=000000&logo=Amazon%20AWS)](https://nf-co.re/rnaseq/results)[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.1400710-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.1400710)\n[![nf-test](https://img.shields.io/badge/unit_tests-nf--test-337ab7.svg)](https://www.nf-test.com)\n\n[![Nextflow](https://img.shields.io/badge/version-%E2%89%A524.10.5-green?style=flat&logo=nextflow&logoColor=white&color=%230DC09D&link=https%3A%2F%2Fnextflow.io)](https://www.nextflow.io/)\n[![nf-core template version](https://img.shields.io/badge/nf--core_template-3.3.2-green?style=flat&logo=nfcore&logoColor=white&color=%2324B064&link=https%3A%2F%2Fnf-co.re)](https://github.com/nf-core/tools/releases/tag/3.3.2)\n[![run with conda](http://img.shields.io/badge/run%20with-conda-3EB049?labelColor=000000&logo=anaconda)](https://docs.conda.io/en/latest/)\n[![run with docker](https://img.shields.io/badge/run%20with-docker-0db7ed?labelColor=000000&logo=docker)](https://www.docker.com/)\n[![run with singularity](https://img.shields.io/badge/run%20with-singularity-1d355c.svg?labelColor=000000)](https://sylabs.io/docs/)\n[![Launch on Seqera Platform](https://img.shields.io/badge/Launch%20%F0%9F%9A%80-Seqera%20Platform-%234256e7)](https://cloud.seqera.io/launch?pipeline=https://github.com/nf-core/rnaseq)\n\n[![Get help on Slack](http://img.shields.io/badge/slack-nf--core%20%23rnaseq-4A154B?labelColor=000000&logo=slack)](https://nfcore.slack.com/channels/rnaseq)[![Follow on Bluesky](https://img.shields.io/badge/bluesky-%40nf__core-1185fe?labelColor=000000&logo=bluesky)](https://bsky.app/profile/nf-co.re)[![Follow on Mastodon](https://img.shields.io/badge/mastodon-nf__core-6364ff?labelColor=FFFFFF&logo=mastodon)](https://mstdn.science/@nf_core)[![Watch on YouTube](http://img.shields.io/badge/youtube-nf--core-FF0000?labelColor=000000&logo=youtube)](https://www.youtube.com/c/nf-core)\n\n## Introduction\n\n**nf-core/rnaseq** is a bioinformatics pipeline that can be used to analyse RNA sequencing data obtained from organisms with a reference genome and annotation. It takes a samplesheet with FASTQ files or pre-aligned BAM files as input, performs quality control (QC), trimming and (pseudo-)alignment, and produces a gene expression matrix and extensive QC report.\n\n![nf-core/rnaseq metro map](docs/images/nf-core-rnaseq_metro_map_grey_animated.svg)\n\n> In case the image above is not loading, please have a look at the [static version](docs/images/nf-core-rnaseq_metro_map_grey.png).\n\n1. Merge re-sequenced FastQ files ([`cat`](http://www.linfo.org/cat.html))\n2. Auto-infer strandedness by subsampling and pseudoalignment ([`fq`](https://github.com/stjude-rust-labs/fq), [`Salmon`](https://combine-lab.github.io/salmon/))\n3. Read QC ([`FastQC`](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/))\n4. UMI extraction ([`UMI-tools`](https://github.com/CGATOxford/UMI-tools))\n5. Adapter and quality trimming ([`Trim Galore!`](https://www.bioinformatics.babraham.ac.uk/projects/trim_galore/))\n6. Removal of genome contaminants ([`BBSplit`](http://seqanswers.com/forums/showthread.php?t=41288))\n7. Removal of ribosomal RNA ([`SortMeRNA`](https://github.com/biocore/sortmerna))\n8. Choice of multiple alignment and quantification routes (_For `STAR` the sentieon implementation can be chosen_):\n 1. [`STAR`](https://github.com/alexdobin/STAR) -> [`Salmon`](https://combine-lab.github.io/salmon/)\n 2. [`STAR`](https://github.com/alexdobin/STAR) -> [`RSEM`](https://github.com/deweylab/RSEM)\n 3. [`HiSAT2`](https://ccb.jhu.edu/software/hisat2/index.shtml) -> **NO QUANTIFICATION**\n9. Sort and index alignments ([`SAMtools`](https://sourceforge.net/projects/samtools/files/samtools/))\n10. UMI-based deduplication ([`UMI-tools`](https://github.com/CGATOxford/UMI-tools))\n11. Duplicate read marking ([`picard MarkDuplicates`](https://broadinstitute.github.io/picard/))\n12. Transcript assembly and quantification ([`StringTie`](https://ccb.jhu.edu/software/stringtie/))\n13. Create bigWig coverage files ([`BEDTools`](https://github.com/arq5x/bedtools2/), [`bedGraphToBigWig`](http://hgdownload.soe.ucsc.edu/admin/exe/))\n14. Extensive quality control:\n 1. [`RSeQC`](http://rseqc.sourceforge.net/)\n 2. [`Qualimap`](http://qualimap.bioinfo.cipf.es/)\n 3. [`dupRadar`](https://bioconductor.org/packages/release/bioc/html/dupRadar.html)\n 4. [`Preseq`](http://smithlabresearch.org/software/preseq/)\n 5. [`DESeq2`](https://bioconductor.org/packages/release/bioc/html/DESeq2.html)\n 6. [`Kraken2`](https://ccb.jhu.edu/software/kraken2/) -> [`Bracken`](https://ccb.jhu.edu/software/bracken/) on unaligned sequences; _optional_\n15. Pseudoalignment and quantification ([`Salmon`](https://combine-lab.github.io/salmon/) or ['Kallisto'](https://pachterlab.github.io/kallisto/); _optional_)\n16. Present QC for raw read, alignment, gene biotype, sample similarity, and strand-specificity checks ([`MultiQC`](http://multiqc.info/), [`R`](https://www.r-project.org/))\n\n> **Note**\n> The SRA download functionality has been removed from the pipeline (`>=3.2`) and ported to an independent workflow called [nf-core/fetchngs](https://nf-co.re/fetchngs). You can provide `--nf_core_pipeline rnaseq` when running nf-core/fetchngs to download and auto-create a samplesheet containing publicly available samples that can be accepted directly as input by this pipeline.\n\n> **Warning**\n> Quantification isn't performed if using `--aligner hisat2` due to the lack of an appropriate option to calculate accurate expression estimates from HISAT2 derived genomic alignments. However, you can use this route if you have a preference for the alignment, QC and other types of downstream analysis compatible with the output of HISAT2.\n\n## Usage\n\n> [!NOTE]\n> If you are new to Nextflow and nf-core, please refer to [this page](https://nf-co.re/docs/usage/installation) on how to set-up Nextflow. Make sure to [test your setup](https://nf-co.re/docs/usage/introduction#how-to-run-a-pipeline) with `-profile test` before running the workflow on actual data.\n\nFirst, prepare a samplesheet with your input data that looks as follows:\n\n**samplesheet.csv**:\n\n```csv\nsample,fastq_1,fastq_2,strandedness\nCONTROL_REP1,AEG588A1_S1_L002_R1_001.fastq.gz,AEG588A1_S1_L002_R2_001.fastq.gz,auto\nCONTROL_REP1,AEG588A1_S1_L003_R1_001.fastq.gz,AEG588A1_S1_L003_R2_001.fastq.gz,auto\nCONTROL_REP1,AEG588A1_S1_L004_R1_001.fastq.gz,AEG588A1_S1_L004_R2_001.fastq.gz,auto\n```\n\nEach row represents a fastq file (single-end) or a pair of fastq files (paired end). Rows with the same sample identifier are considered technical replicates and merged automatically. The strandedness refers to the library preparation and will be automatically inferred if set to `auto`.\n\nThe pipeline supports a two-step reprocessing workflow using BAM files from previous runs. Run initially with `--save_align_intermeds` to generate a samplesheet with BAM paths, then reprocess using `--skip_alignment` for efficient downstream analysis without repeating expensive alignment steps. This feature is designed specifically for pipeline-generated BAMs.\n\n> [!WARNING]\n> Please provide pipeline parameters via the CLI or Nextflow `-params-file` option. Custom config files including those provided by the `-c` Nextflow option can be used to provide any configuration _**except for parameters**_; see [docs](https://nf-co.re/docs/usage/getting_started/configuration#custom-configuration-files).\n\nNow, you can run the pipeline using:\n\n```bash\nnextflow run nf-core/rnaseq \\\n --input \\\n --outdir \\\n --gtf \\\n --fasta \\\n -profile \n```\n\nFor more details and further functionality, please refer to the [usage documentation](https://nf-co.re/rnaseq/usage) and the [parameter documentation](https://nf-co.re/rnaseq/parameters).\n\n## Pipeline output\n\nTo see the results of an example test run with a full size dataset refer to the [results](https://nf-co.re/rnaseq/results) tab on the nf-core website pipeline page.\nFor more details about the output files and reports, please refer to the\n[output documentation](https://nf-co.re/rnaseq/output).\n\nThis pipeline quantifies RNA-sequenced reads relative to genes/transcripts in the genome and normalizes the resulting data. It does not compare the samples statistically in order to assign significance in the form of FDR or P-values. For downstream analyses, the output files from this pipeline can be analysed directly in statistical environments like [R](https://www.r-project.org/), [Julia](https://julialang.org/) or via the [nf-core/differentialabundance](https://github.com/nf-core/differentialabundance/) pipeline.\n\n## Online videos\n\nA short talk about the history, current status and functionality on offer in this pipeline was given by Harshil Patel ([@drpatelh](https://github.com/drpatelh)) on [8th February 2022](https://nf-co.re/events/2022/bytesize-32-nf-core-rnaseq) as part of the nf-core/bytesize series.\n\nYou can find numerous talks on the [nf-core events page](https://nf-co.re/events) from various topics including writing pipelines/modules in Nextflow DSL2, using nf-core tooling, running nf-core pipelines as well as more generic content like contributing to Github. Please check them out!\n\n## Credits\n\nThese scripts were originally written for use at the [National Genomics Infrastructure](https://ngisweden.scilifelab.se), part of [SciLifeLab](http://www.scilifelab.se/) in Stockholm, Sweden, by Phil Ewels ([@ewels](https://github.com/ewels)) and Rickard Hammar\u00e9n ([@Hammarn](https://github.com/Hammarn)).\n\nThe pipeline was re-written in Nextflow DSL2 and is primarily maintained by Harshil Patel ([@drpatelh](https://github.com/drpatelh)) from [Seqera Labs, Spain](https://seqera.io/).\n\nThe pipeline workflow diagram was initially designed by Sarah Guinchard ([@G-Sarah](https://github.com/G-Sarah)) and James Fellows Yates ([@jfy133](https://github.com/jfy133)), further modifications where made by Harshil Patel ([@drpatelh](https://github.com/drpatelh)) and Maxime Garcia ([@maxulysse](https://github.com/maxulysse)).\n\nMany thanks to other who have helped out along the way too, including (but not limited to):\n\n- [Alex Peltzer](https://github.com/apeltzer)\n- [Colin Davenport](https://github.com/colindaven)\n- [Denis Moreno](https://github.com/Galithil)\n- [Edmund Miller](https://github.com/edmundmiller)\n- [Gregor Sturm](https://github.com/grst)\n- [Jacki Buros Novik](https://github.com/jburos)\n- [Lorena Pantano](https://github.com/lpantano)\n- [Matthias Zepper](https://github.com/MatthiasZepper)\n- [Maxime Garcia](https://github.com/maxulysse)\n- [Olga Botvinnik](https://github.com/olgabot)\n- [@orzechoj](https://github.com/orzechoj)\n- [Paolo Di Tommaso](https://github.com/pditommaso)\n- [Rob Syme](https://github.com/robsyme)\n\n## Contributions and Support\n\nIf you would like to contribute to this pipeline, please see the [contributing guidelines](.github/CONTRIBUTING.md).\n\nFor further information or help, don't hesitate to get in touch on the [Slack `#rnaseq` channel](https://nfcore.slack.com/channels/rnaseq) (you can join with [this invite](https://nf-co.re/join/slack)).\n\n## Citations\n\nIf you use nf-core/rnaseq for your analysis, please cite it using the following doi: [10.5281/zenodo.1400710](https://doi.org/10.5281/zenodo.1400710)\n\nAn extensive list of references for the tools used by the pipeline can be found in the [`CITATIONS.md`](CITATIONS.md) file.\n\nYou can cite the `nf-core` publication as follows:\n\n> **The nf-core framework for community-curated bioinformatics pipelines.**\n>\n> Philip Ewels, Alexander Peltzer, Sven Fillinger, Harshil Patel, Johannes Alneberg, Andreas Wilm, Maxime Ulysse Garcia, Paolo Di Tommaso & Sven Nahnsen.\n>\n> _Nat Biotechnol._ 2020 Feb 13. doi: [10.1038/s41587-020-0439-x](https://dx.doi.org/10.1038/s41587-020-0439-x).\n", "hasPart": [ { "@id": "main.nf" @@ -108,7 +108,7 @@ }, "mentions": [ { - "@id": "#ec12689f-31ee-4513-bb7e-89b9fab2e180" + "@id": "#fe70c328-5491-4997-ba53-2934115f43f8" } ], "name": "nf-core/rnaseq" @@ -137,80 +137,80 @@ ], "creator": [ { - "@id": "#jonathan.manning@seqera.io" + "@id": "#31933289+amayer21@users.noreply.github.com" }, { - "@id": "#drpatelh@users.noreply.github.com" + "@id": "https://orcid.org/0000-0002-3859-3249" }, { - "@id": "https://orcid.org/0000-0003-3966-8481" + "@id": "https://orcid.org/0000-0002-1968-2270" }, { - "@id": "https://orcid.org/0000-0002-2798-9870" + "@id": "https://orcid.org/0000-0002-6503-2180" }, { - "@id": "https://orcid.org/0000-0001-9584-7842" + "@id": "https://orcid.org/0000-0003-4412-7970" }, { - "@id": "https://orcid.org/0000-0003-3220-0253" + "@id": "https://orcid.org/0000-0001-9584-7842" }, { - "@id": "#sven.fillinger@qbic.uni-tuebingen.de" + "@id": "https://orcid.org/0000-0002-8721-2350" }, { - "@id": "#31933289+amayer21@users.noreply.github.com" + "@id": "https://orcid.org/0000-0002-8824-1946" }, { - "@id": "#omeally@gmail.com" + "@id": "https://orcid.org/0000-0003-3966-8481" }, { - "@id": "#chuan.wang@scilifelab.se" + "@id": "https://orcid.org/0000-0002-2798-9870" }, { - "@id": "https://orcid.org/0000-0003-0603-7907" + "@id": "#42973691+d4straub@users.noreply.github.com" }, { - "@id": "https://orcid.org/0000-0002-8824-1946" + "@id": "https://orcid.org/0000-0001-9017-591X" }, { - "@id": "https://orcid.org/0000-0002-1968-2270" + "@id": "#zhenfeng.liu1@gmail.com" }, { - "@id": "https://orcid.org/0000-0001-9017-591X" + "@id": "#omeally@gmail.com" }, { - "@id": "#phil.ewels@seqera.io" + "@id": "https://orcid.org/0000-0002-5748-9594" }, { - "@id": "#42973691+d4straub@users.noreply.github.com" + "@id": "https://orcid.org/0000-0003-0603-7907" }, { - "@id": "#zhenfeng.liu1@gmail.com" + "@id": "#sven.fillinger@qbic.uni-tuebingen.de" }, { - "@id": "https://orcid.org/0000-0002-5748-9594" + "@id": "https://orcid.org/0009-0009-7515-5000" }, { - "@id": "https://orcid.org/0000-0002-6503-2180" + "@id": "#zhoupenggeni@gmail.com" }, { - "@id": "https://orcid.org/0000-0003-4412-7970" + "@id": "#jonathan.manning@seqera.io" }, { - "@id": "#zhoupenggeni@gmail.com" + "@id": "#drpatelh@users.noreply.github.com" }, { - "@id": "https://orcid.org/0000-0002-3859-3249" + "@id": "https://orcid.org/0000-0003-3220-0253" }, { - "@id": "https://orcid.org/0000-0002-8721-2350" + "@id": "#chuan.wang@scilifelab.se" }, { - "@id": "https://orcid.org/0009-0009-7515-5000" + "@id": "#phil.ewels@seqera.io" } ], "dateCreated": "", - "dateModified": "2025-08-14T09:57:59Z", + "dateModified": "2025-09-18T11:15:27Z", "dct:conformsTo": "https://bioschemas.org/profiles/ComputationalWorkflow/1.0-RELEASE/", "image": { "@id": "docs/images/nf-core-rnaseq_metro_map_grey.png" @@ -226,22 +226,25 @@ ], "maintainer": [ { - "@id": "#jonathan.manning@seqera.io" + "@id": "https://orcid.org/0000-0002-6503-2180" }, { - "@id": "#drpatelh@users.noreply.github.com" + "@id": "https://orcid.org/0000-0003-4412-7970" + }, + { + "@id": "https://orcid.org/0000-0002-8721-2350" }, { "@id": "https://orcid.org/0000-0001-9017-591X" }, { - "@id": "#phil.ewels@seqera.io" + "@id": "#jonathan.manning@seqera.io" }, { - "@id": "https://orcid.org/0000-0002-6503-2180" + "@id": "#drpatelh@users.noreply.github.com" }, { - "@id": "https://orcid.org/0000-0003-4412-7970" + "@id": "#phil.ewels@seqera.io" } ], "name": [ @@ -255,10 +258,10 @@ }, "url": [ "https://github.com/nf-core/rnaseq", - "https://nf-co.re/rnaseq/3.19.1/" + "https://nf-co.re/rnaseq/3.21.0/" ], "version": [ - "3.19.1" + "3.21.0" ] }, { @@ -282,11 +285,11 @@ "name": "Workflow diagram" }, { - "@id": "#ec12689f-31ee-4513-bb7e-89b9fab2e180", + "@id": "#fe70c328-5491-4997-ba53-2934115f43f8", "@type": "TestSuite", "instance": [ { - "@id": "#e12bf7e9-28b7-4ee9-9928-a71338cc1887" + "@id": "#39e8f629-2b74-47e7-9ca2-8653da3910ab" } ], "mainEntity": { @@ -295,7 +298,7 @@ "name": "Test suite for nf-core/rnaseq" }, { - "@id": "#e12bf7e9-28b7-4ee9-9928-a71338cc1887", + "@id": "#39e8f629-2b74-47e7-9ca2-8653da3910ab", "@type": "TestInstance", "name": "GitHub Actions workflow for testing nf-core/rnaseq", "resource": "repos/nf-core/rnaseq/actions/workflows/nf-test.yml", @@ -434,70 +437,46 @@ "url": "https://nf-co.re/" }, { - "@id": "#jonathan.manning@seqera.io", - "@type": "Person", - "email": "jonathan.manning@seqera.io", - "name": "Jonathan Manning" - }, - { - "@id": "#drpatelh@users.noreply.github.com", - "@type": "Person", - "email": "drpatelh@users.noreply.github.com", - "name": "Harshil Patel" - }, - { - "@id": "https://orcid.org/0000-0003-3966-8481", - "@type": "Person", - "email": "pcantalupo@gmail.com", - "name": "Paul Cantalupo" - }, - { - "@id": "https://orcid.org/0000-0002-2798-9870", - "@type": "Person", - "email": "silvia.morini01@gmail.com", - "name": "Silvia Morini" - }, - { - "@id": "https://orcid.org/0000-0001-9584-7842", + "@id": "#31933289+amayer21@users.noreply.github.com", "@type": "Person", - "email": "mail@gregor-sturm.de", - "name": "Gregor Sturm" + "email": "31933289+amayer21@users.noreply.github.com", + "name": "Alice Mayer" }, { - "@id": "https://orcid.org/0000-0003-3220-0253", + "@id": "https://orcid.org/0000-0002-3859-3249", "@type": "Person", - "email": "paolo.ditommaso@gmail.com", - "name": "Paolo Di Tommaso" + "email": "lorena.pantano@gmail.com", + "name": "Lorena Pantano" }, { - "@id": "#sven.fillinger@qbic.uni-tuebingen.de", + "@id": "https://orcid.org/0000-0002-1968-2270", "@type": "Person", - "email": "sven.fillinger@qbic.uni-tuebingen.de", - "name": "Sven F" + "email": "anandasanil@gmail.com", + "name": "Anandashankar Anil" }, { - "@id": "#31933289+amayer21@users.noreply.github.com", + "@id": "https://orcid.org/0000-0002-6503-2180", "@type": "Person", - "email": "31933289+amayer21@users.noreply.github.com", - "name": "Alice Mayer" + "email": "apeltzer@users.noreply.github.com", + "name": "Alexander Peltzer" }, { - "@id": "#omeally@gmail.com", + "@id": "https://orcid.org/0000-0003-4412-7970", "@type": "Person", - "email": "omeally@gmail.com", - "name": "Denis OMeally" + "email": "olga.botvinnik@gmail.com", + "name": "Olga Botvinnik" }, { - "@id": "#chuan.wang@scilifelab.se", + "@id": "https://orcid.org/0000-0001-9584-7842", "@type": "Person", - "email": "chuan.wang@scilifelab.se", - "name": "Chuan Wang" + "email": "mail@gregor-sturm.de", + "name": "Gregor Sturm" }, { - "@id": "https://orcid.org/0000-0003-0603-7907", + "@id": "https://orcid.org/0000-0002-8721-2350", "@type": "Person", - "email": "sabrina.krakau@qbic.uni-tuebingen.de", - "name": "Sabrina Krakau" + "email": "rob.syme@gmail.com", + "name": "Robert Syme" }, { "@id": "https://orcid.org/0000-0002-8824-1946", @@ -506,22 +485,16 @@ "name": "Gisela Gabernet Garriga" }, { - "@id": "https://orcid.org/0000-0002-1968-2270", - "@type": "Person", - "email": "anandasanil@gmail.com", - "name": "Anandashankar Anil" - }, - { - "@id": "https://orcid.org/0000-0001-9017-591X", + "@id": "https://orcid.org/0000-0003-3966-8481", "@type": "Person", - "email": "rickard.hammaren@scilifelab.se", - "name": "Rickard Hammar\u00e9n" + "email": "pcantalupo@gmail.com", + "name": "Paul Cantalupo" }, { - "@id": "#phil.ewels@seqera.io", + "@id": "https://orcid.org/0000-0002-2798-9870", "@type": "Person", - "email": "phil.ewels@seqera.io", - "name": "Phil Ewels" + "email": "silvia.morini01@gmail.com", + "name": "Silvia Morini" }, { "@id": "#42973691+d4straub@users.noreply.github.com", @@ -529,12 +502,24 @@ "email": "42973691+d4straub@users.noreply.github.com", "name": "Daniel Straub" }, + { + "@id": "https://orcid.org/0000-0001-9017-591X", + "@type": "Person", + "email": "rickard.hammaren@scilifelab.se", + "name": "Rickard Hammar\u00e9n" + }, { "@id": "#zhenfeng.liu1@gmail.com", "@type": "Person", "email": "zhenfeng.liu1@gmail.com", "name": "Zhenfeng Liu" }, + { + "@id": "#omeally@gmail.com", + "@type": "Person", + "email": "omeally@gmail.com", + "name": "Denis OMeally" + }, { "@id": "https://orcid.org/0000-0002-5748-9594", "@type": "Person", @@ -542,16 +527,22 @@ "name": "Pranathi Vemuri" }, { - "@id": "https://orcid.org/0000-0002-6503-2180", + "@id": "https://orcid.org/0000-0003-0603-7907", "@type": "Person", - "email": "apeltzer@users.noreply.github.com", - "name": "Alexander Peltzer" + "email": "sabrina.krakau@qbic.uni-tuebingen.de", + "name": "Sabrina Krakau" }, { - "@id": "https://orcid.org/0000-0003-4412-7970", + "@id": "#sven.fillinger@qbic.uni-tuebingen.de", "@type": "Person", - "email": "olga.botvinnik@gmail.com", - "name": "Olga Botvinnik" + "email": "sven.fillinger@qbic.uni-tuebingen.de", + "name": "Sven F" + }, + { + "@id": "https://orcid.org/0009-0009-7515-5000", + "@type": "Person", + "email": "sofia.haglund@scilifelab.se", + "name": "Sofia Haglund" }, { "@id": "#zhoupenggeni@gmail.com", @@ -560,22 +551,34 @@ "name": "Peng Zhou" }, { - "@id": "https://orcid.org/0000-0002-3859-3249", + "@id": "#jonathan.manning@seqera.io", "@type": "Person", - "email": "lorena.pantano@gmail.com", - "name": "Lorena Pantano" + "email": "jonathan.manning@seqera.io", + "name": "Jonathan Manning" }, { - "@id": "https://orcid.org/0000-0002-8721-2350", + "@id": "#drpatelh@users.noreply.github.com", "@type": "Person", - "email": "rob.syme@gmail.com", - "name": "Robert Syme" + "email": "drpatelh@users.noreply.github.com", + "name": "Harshil Patel" }, { - "@id": "https://orcid.org/0009-0009-7515-5000", + "@id": "https://orcid.org/0000-0003-3220-0253", "@type": "Person", - "email": "sofia.haglund@scilifelab.se", - "name": "Sofia Haglund" + "email": "paolo.ditommaso@gmail.com", + "name": "Paolo Di Tommaso" + }, + { + "@id": "#chuan.wang@scilifelab.se", + "@type": "Person", + "email": "chuan.wang@scilifelab.se", + "name": "Chuan Wang" + }, + { + "@id": "#phil.ewels@seqera.io", + "@type": "Person", + "email": "phil.ewels@seqera.io", + "name": "Phil Ewels" } ] } \ No newline at end of file diff --git a/subworkflows/local/align_star/main.nf b/subworkflows/local/align_star/main.nf index a8d498a66..35113457a 100644 --- a/subworkflows/local/align_star/main.nf +++ b/subworkflows/local/align_star/main.nf @@ -6,6 +6,23 @@ include { STAR_ALIGN } from '../../../modules/nf- include { STAR_ALIGN_IGENOMES } from '../../../modules/local/star_align_igenomes' include { BAM_SORT_STATS_SAMTOOLS } from '../../nf-core/bam_sort_stats_samtools' + +// +// Function that parses and returns the alignment rate from the STAR log output +// +def getStarPercentMapped(params, align_log) { + def percent_aligned = 0 + def pattern = /Uniquely mapped reads %\s*\|\s*([\d\.]+)%/ + align_log.eachLine { line -> + def matcher = line =~ pattern + if (matcher) { + percent_aligned = matcher[0][1].toFloat() + } + } + + return percent_aligned +} + workflow ALIGN_STAR { take: reads // channel: [ val(meta), [ reads ] ] @@ -52,6 +69,7 @@ workflow ALIGN_STAR { ch_fastq = ch_star_out.out.fastq ch_tab = ch_star_out.out.tab ch_versions = ch_versions.mix(ch_star_out.out.versions.first()) + ch_percent_mapped = ch_log_final.map { meta, log -> [ meta, getStarPercentMapped(params, log) ] } // // Sort, index BAM file and run samtools stats, flagstat and idxstats @@ -74,5 +92,6 @@ workflow ALIGN_STAR { stats = BAM_SORT_STATS_SAMTOOLS.out.stats // channel: [ val(meta), [ stats ] ] flagstat = BAM_SORT_STATS_SAMTOOLS.out.flagstat // channel: [ val(meta), [ flagstat ] ] idxstats = BAM_SORT_STATS_SAMTOOLS.out.idxstats // channel: [ val(meta), [ idxstats ] ] + percent_mapped = ch_percent_mapped // channel: [ val(meta), percent_mapped ] versions = ch_versions // channel: [ versions.yml ] } diff --git a/subworkflows/local/align_star/nextflow.config b/subworkflows/local/align_star/nextflow.config index 535f8347a..41626bc7c 100644 --- a/subworkflows/local/align_star/nextflow.config +++ b/subworkflows/local/align_star/nextflow.config @@ -1,4 +1,4 @@ -def generateStarAlignArgs(save_unaligned, contaminant_screening, extra_star_align_args) { +def generateStarAlignArgs(save_unaligned, contaminant_screening, extra_star_align_args, quantifier = 'salmon') { def argsToMap = { String args -> args.split(/\s(?=--)/).collectEntries { def parts = it.trim().split(/\s+/, 2) @@ -6,27 +6,50 @@ def generateStarAlignArgs(save_unaligned, contaminant_screening, extra_star_alig } } + // Common args between pipeline and RSEM def base_args = """ --quantMode TranscriptomeSAM - --twopassMode Basic --outSAMtype BAM Unsorted - --readFilesCommand zcat - --runRNGseed 0 - --outFilterMultimapNmax 20 - --alignSJDBoverhangMin 1 --outSAMattributes NH HI AS NM MD - --outSAMstrandField intronMotif + --readFilesCommand zcat """.trim() + // Add quantifier-specific args + if (quantifier == 'rsem') { + // RSEM-compatible configuration + base_args += " " + """ + --outSAMunmapped Within + --outFilterType BySJout + --outFilterMultimapNmax 20 + --outFilterMismatchNmax 999 + --outFilterMismatchNoverLmax 0.04 + --alignIntronMin 20 + --alignIntronMax 1000000 + --alignMatesGapMax 1000000 + --alignSJoverhangMin 8 + --alignSJDBoverhangMin 1 + --sjdbScore 1 + """.trim() + } else { + // Standard pipeline configuration + base_args += " " + """ + --twopassMode Basic + --runRNGseed 0 + --outFilterMultimapNmax 20 + --alignSJDBoverhangMin 1 + --outSAMstrandField intronMotif + """.trim() + } + if (save_unaligned || contaminant_screening) { - base_args += "\n--outReadsUnmapped Fastx" + base_args += " --outReadsUnmapped Fastx" } def final_args_map = argsToMap(base_args) + (extra_star_align_args ? argsToMap(extra_star_align_args) : [:]) final_args_map.collect { key, value -> "${key} ${value}".trim() }.join(' ') } -if (!params.skip_alignment && params.aligner == 'star_salmon') { +if (!params.skip_alignment && (params.aligner == 'star_salmon' || params.aligner == 'star_rsem')) { process { // We have to condition this, because the args are slightly different between the latest STAR and the one compatible with iGenomes @@ -34,19 +57,31 @@ if (!params.skip_alignment && params.aligner == 'star_salmon') { withName: '.*:ALIGN_STAR:STAR_ALIGN' { ext.args = { + def quantifier = params.aligner == 'star_rsem' ? 'rsem' : 'salmon' + def extra_args = params.extra_star_align_args ?: '' + if (quantifier == 'salmon') { + extra_args += ' --quantTranscriptomeSAMoutput BanSingleEnd' + } generateStarAlignArgs( params.save_unaligned, params.contaminant_screening, - (params.extra_star_align_args ?: '') + ' --quantTranscriptomeSAMoutput BanSingleEnd' + extra_args, + quantifier ) } } withName: '.*:ALIGN_STAR:STAR_ALIGN_IGENOMES|.*:ALIGN_STAR:SENTIEON_STAR_ALIGN' { ext.args = { + def quantifier = params.aligner == 'star_rsem' ? 'rsem' : 'salmon' + def extra_args = params.extra_star_align_args ?: '' + if (quantifier == 'salmon') { + extra_args += ' --quantTranscriptomeBan Singleend' + } generateStarAlignArgs( params.save_unaligned, params.contaminant_screening, - (params.extra_star_align_args ?: '') + ' --quantTranscriptomeBan Singleend' + extra_args, + quantifier ) } } diff --git a/subworkflows/local/align_star/tests/main.function.nf.test b/subworkflows/local/align_star/tests/main.function.nf.test new file mode 100644 index 000000000..71e2df413 --- /dev/null +++ b/subworkflows/local/align_star/tests/main.function.nf.test @@ -0,0 +1,61 @@ +nextflow_function { + + name "Test Functions" + script "../main.nf" + + test("Test Function getStarPercentMapped pass") { + + function "getStarPercentMapped" + + when { + function { + """ + def alignLog = file("${workDir}/alignLog.txt") + alignLog.write("Uniquely mapped reads % | 95.6%") + + input[0] = [ + min_mapped_reads: 1.0 + ] + input[1] = alignLog + """ + } + } + + then { + assertAll( + { assert function.success }, + { assert function.result == 95.6 } + ) + } + + } + + test("Test Function getStarPercentMapped fail") { + + function "getStarPercentMapped" + + when { + function { + """ + def alignLog = file("${workDir}/alignLog.txt") + alignLog.write("Uniquely mapped reads % | 10.2%") + + input[0] = [ + min_mapped_reads: 50.0 + ] + input[1] = alignLog + """ + } + } + + then { + assertAll( + { assert function.success }, + { assert function.result == 10.2 } + ) + } + + } + + +} diff --git a/subworkflows/local/prepare_genome/main.nf b/subworkflows/local/prepare_genome/main.nf index 559f6846d..20db3067c 100644 --- a/subworkflows/local/prepare_genome/main.nf +++ b/subworkflows/local/prepare_genome/main.nf @@ -214,7 +214,7 @@ workflow PREPARE_GENOME { def prepare_tool_indices = [] if (!skip_bbsplit) { prepare_tool_indices << 'bbsplit' } if (!skip_sortmerna) { prepare_tool_indices << 'sortmerna' } - if (!skip_alignment && aligner) { prepare_tool_indices << aligner } + if ((!skip_alignment && aligner) || aligner == 'star_rsem') { prepare_tool_indices << aligner } if (!skip_pseudo_alignment && pseudo_aligner) { prepare_tool_indices << pseudo_aligner } //--------------------------------------------------------- @@ -288,7 +288,7 @@ workflow PREPARE_GENOME { // 11) STAR index (e.g. for 'star_salmon') -> needs FASTA if built //---------------------------------------------------- ch_star_index = Channel.empty() - if ('star_salmon' in prepare_tool_indices) { + if (prepare_tool_indices.intersect(['star_salmon', 'star_rsem'])) { if (star_index) { if (star_index.endsWith('.tar.gz')) { ch_star_index = UNTAR_STAR_INDEX ([ [:], file(star_index, checkIfExists: true) ]).untar.map { it[1] } diff --git a/subworkflows/local/prepare_genome/nextflow.config b/subworkflows/local/prepare_genome/nextflow.config index f09e17f04..ee8545b94 100644 --- a/subworkflows/local/prepare_genome/nextflow.config +++ b/subworkflows/local/prepare_genome/nextflow.config @@ -59,7 +59,6 @@ process { } withName: '.*RSEM_PREPAREREFERENCE_GENOME' { - ext.args = '--star' publishDir = [ path: { params.save_reference ? "${params.outdir}/genome/index" : params.outdir }, mode: params.publish_dir_mode, diff --git a/subworkflows/local/quantify_rsem/main.nf b/subworkflows/local/quantify_rsem/main.nf index 33a271a6e..db5628136 100644 --- a/subworkflows/local/quantify_rsem/main.nf +++ b/subworkflows/local/quantify_rsem/main.nf @@ -4,14 +4,12 @@ include { RSEM_CALCULATEEXPRESSION } from '../../../modules/nf-core/rsem/calculateexpression' include { RSEM_MERGE_COUNTS } from '../../../modules/local/rsem_merge_counts' -include { BAM_SORT_STATS_SAMTOOLS } from '../../nf-core/bam_sort_stats_samtools' include { SENTIEON_RSEMCALCULATEEXPRESSION } from '../../../modules/nf-core/sentieon/rsemcalculateexpression' workflow QUANTIFY_RSEM { take: - reads // channel: [ val(meta), [ reads ] ] - index // channel: /path/to/rsem/index/ - fasta // channel: [ val(meta), [ fasta ] ] + reads // channel: [ val(meta), [ reads ] ] - FASTQ or BAM files + index // channel: /path/to/rsem/index/ use_sentieon_star // boolean: determines whether RSEM is run with Sentieon accelerated STAR main: @@ -30,21 +28,12 @@ workflow QUANTIFY_RSEM { ch_rsem_out = RSEM_CALCULATEEXPRESSION } - ch_bam_star = ch_rsem_out.out.bam_star ch_counts_gene = ch_rsem_out.out.counts_gene ch_counts_transcript = ch_rsem_out.out.counts_transcript ch_stat = ch_rsem_out.out.stat ch_logs = ch_rsem_out.out.logs - ch_bam_genome = ch_rsem_out.out.bam_genome - ch_bam_transcript = ch_rsem_out.out.bam_transcript ch_versions = ch_versions.mix(ch_rsem_out.out.versions.first()) - // - // Sort, index BAM file and run samtools stats, flagstat and idxstats - // - BAM_SORT_STATS_SAMTOOLS ( ch_bam_star, fasta ) - ch_versions = ch_versions.mix(BAM_SORT_STATS_SAMTOOLS.out.versions) - // // Merge counts across samples // @@ -55,20 +44,10 @@ workflow QUANTIFY_RSEM { ch_versions = ch_versions.mix(RSEM_MERGE_COUNTS.out.versions) emit: - counts_gene = ch_counts_gene // channel: [ val(meta), counts ] - counts_transcript = ch_counts_transcript // channel: [ val(meta), counts ] - stat = ch_stat // channel: [ val(meta), stat ] - logs = ch_logs // channel: [ val(meta), logs ] - bam_star = ch_bam_star // channel: [ val(meta), bam ] - bam_genome = ch_bam_genome // channel: [ val(meta), bam ] - bam_transcript = ch_bam_transcript // channel: [ val(meta), bam ] - - bam = BAM_SORT_STATS_SAMTOOLS.out.bam // channel: [ val(meta), [ bam ] ] - bai = BAM_SORT_STATS_SAMTOOLS.out.bai // channel: [ val(meta), [ bai ] ] - csi = BAM_SORT_STATS_SAMTOOLS.out.csi // channel: [ val(meta), [ csi ] ] - stats = BAM_SORT_STATS_SAMTOOLS.out.stats // channel: [ val(meta), [ stats ] ] - flagstat = BAM_SORT_STATS_SAMTOOLS.out.flagstat // channel: [ val(meta), [ flagstat ] ] - idxstats = BAM_SORT_STATS_SAMTOOLS.out.idxstats // channel: [ val(meta), [ idxstats ] ] + counts_gene = ch_counts_gene // channel: [ val(meta), counts ] + counts_transcript = ch_counts_transcript // channel: [ val(meta), counts ] + stat = ch_stat // channel: [ val(meta), stat ] + logs = ch_logs // channel: [ val(meta), logs ] merged_counts_gene = RSEM_MERGE_COUNTS.out.counts_gene // path: *.gene_counts.tsv merged_tpm_gene = RSEM_MERGE_COUNTS.out.tpm_gene // path: *.gene_tpm.tsv diff --git a/subworkflows/local/quantify_rsem/nextflow.config b/subworkflows/local/quantify_rsem/nextflow.config index ec4ba6750..0ade162ae 100644 --- a/subworkflows/local/quantify_rsem/nextflow.config +++ b/subworkflows/local/quantify_rsem/nextflow.config @@ -2,9 +2,6 @@ if (!params.skip_alignment && params.aligner == 'star_rsem') { process { withName: '.*:QUANTIFY_RSEM:RSEM_CALCULATEEXPRESSION|.*:QUANTIFY_RSEM:SENTIEON_RSEMCALCULATEEXPRESSION' { ext.args = [ - '--star', - '--star-output-genome-bam', - '--star-gzipped-read-file', '--estimate-rspd', '--seed 1' ].join(' ').trim() @@ -14,12 +11,6 @@ if (!params.skip_alignment && params.aligner == 'star_rsem') { mode: params.publish_dir_mode, pattern: "*.{stat,results}" ], - [ - path: { params.save_align_intermeds ? "${params.outdir}/${params.aligner}" : params.outdir }, - mode: params.publish_dir_mode, - pattern: "*.bam", - saveAs: { params.save_align_intermeds ? it : null } - ], [ path: { "${params.outdir}/${params.aligner}/log" }, mode: params.publish_dir_mode, diff --git a/subworkflows/local/quantify_rsem/tests/main.nf.test b/subworkflows/local/quantify_rsem/tests/main.nf.test index 04485a00e..270c6c3fe 100644 --- a/subworkflows/local/quantify_rsem/tests/main.nf.test +++ b/subworkflows/local/quantify_rsem/tests/main.nf.test @@ -26,14 +26,10 @@ nextflow_workflow { input[0] = Channel.of([ [ id:'test', strandedness: 'forward' ], // meta map - [ - file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_1.fastq.gz', checkIfExists: true), - file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_2.fastq.gz', checkIfExists: true) - ] + file('https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/' + 'genomics/homo_sapiens/illumina/bam/rsem.transcript.bam', checkIfExists: true) ]) input[1] = RSEM_PREPAREREFERENCE.out.index - input[2] = Channel.of(file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true)) - input[3] = use_sentieon_star + input[2] = use_sentieon_star """ } } @@ -42,81 +38,9 @@ nextflow_workflow { assertAll( { assert workflow.success }, { assert snapshot( - file(workflow.out.logs[0][1]).name, workflow.out.counts_gene, workflow.out.counts_transcript, workflow.out.stat, - workflow.out.bam_star, - workflow.out.bam_genome, - workflow.out.bam_transcript, - workflow.out.counts_transcript, - workflow.out.bam, - workflow.out.bai, - workflow.out.csi, - workflow.out.stats, - workflow.out.flagstat, - workflow.out.idxstats, - workflow.out.merged_counts_gene, - workflow.out.merged_tpm_gene, - workflow.out.merged_counts_transcript, - workflow.out.merged_tpm_transcript, - workflow.out.versions - ).match()} - ) - } - } - - test("homo_sapiens - sentieon") { - tag "sentieon" - setup { - run("SENTIEON_RSEMPREPAREREFERENCE") { - script "../../../../modules/nf-core/sentieon/rsempreparereference/main.nf" - process { - """ - input[0] = Channel.of(file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true)) - input[1] = Channel.of(file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.gtf', checkIfExists: true)) - """ - } - } - } - - when { - workflow { - """ - use_sentieon_star = true - - input[0] = Channel.of([ - [ id:'test', strandedness: 'forward' ], // meta map - [ - file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_1.fastq.gz', checkIfExists: true), - file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_2.fastq.gz', checkIfExists: true) - ] - ]) - input[1] = SENTIEON_RSEMPREPAREREFERENCE.out.index - input[2] = Channel.of(file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true)) - input[3] = use_sentieon_star - """ - } - } - - then { - assertAll( - { assert workflow.success }, - { assert snapshot( - file(workflow.out.logs[0][1]).name, - workflow.out.counts_gene, - workflow.out.counts_transcript, - workflow.out.stat, - workflow.out.bam_star, - workflow.out.bam_genome, - workflow.out.bam_transcript, - workflow.out.counts_transcript, - workflow.out.bam, - workflow.out.bai, - workflow.out.csi, - workflow.out.stats, - workflow.out.flagstat, - workflow.out.idxstats, workflow.out.merged_counts_gene, workflow.out.merged_tpm_gene, workflow.out.merged_counts_transcript, @@ -150,14 +74,10 @@ nextflow_workflow { input[0] = Channel.of([ [ id:'test', strandedness: 'forward' ], // meta map - [ - file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_1.fastq.gz', checkIfExists: true), - file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_2.fastq.gz', checkIfExists: true) - ] + file('https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/' + 'genomics/homo_sapiens/illumina/bam/rsem.transcript.bam', checkIfExists: true) ]) input[1] = RSEM_PREPAREREFERENCE.out.index - input[2] = Channel.of([[id:'test'], file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true)]) - input[3] = use_sentieon_star + input[2] = use_sentieon_star """ } } @@ -193,14 +113,10 @@ nextflow_workflow { input[0] = Channel.of([ [ id:'test', strandedness: 'forward' ], // meta map - [ - file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_1.fastq.gz', checkIfExists: true), - file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_2.fastq.gz', checkIfExists: true) - ] + file('https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/' + 'genomics/homo_sapiens/illumina/bam/rsem.transcript.bam', checkIfExists: true) ]) input[1] = SENTIEON_RSEMPREPAREREFERENCE.out.index - input[2] = Channel.of([[id:'test'], file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true)]) - input[3] = use_sentieon_star + input[2] = use_sentieon_star """ } } diff --git a/subworkflows/local/quantify_rsem/tests/main.nf.test.snap b/subworkflows/local/quantify_rsem/tests/main.nf.test.snap index 5dd451bdf..d58f6edff 100644 --- a/subworkflows/local/quantify_rsem/tests/main.nf.test.snap +++ b/subworkflows/local/quantify_rsem/tests/main.nf.test.snap @@ -1,5 +1,5 @@ { - "homo_sapiens - stub": { + "homo_sapiens - sentieon - stub": { "content": [ { "0": [ @@ -20,54 +20,6 @@ "test.isoforms.results:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "10": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.stats:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "11": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.flagstat:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "12": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.idxstats:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "13": [ - "rsem.merged.gene_counts.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" - ], - "14": [ - "rsem.merged.gene_tpm.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" - ], - "15": [ - "rsem.merged.transcript_counts.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" - ], - "16": [ - "rsem.merged.transcript_tpm.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" - ], - "17": [ - "versions.yml:md5,0f2bbea6c0412d2b185eab2dd0db06d5", - "versions.yml:md5,2a8e04c552c56aacc9a2d158fbc23a89", - "versions.yml:md5,2aa5252eb2ffb409cf556a165d40f8a9", - "versions.yml:md5,7696e625e0eda9d9ae30c8d5b3d23d9f", - "versions.yml:md5,ae1676b60b6335fff8f1188288103a1c", - "versions.yml:md5,f151349bd7086cb08134496033e78cea", - "versions.yml:md5,ff8adbe60177b3dba23d91b3424b10b6" - ], "2": [ [ { @@ -87,97 +39,20 @@ ] ], "4": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.STAR.genome.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] + "rsem.merged.gene_counts.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" ], "5": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.genome.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] + "rsem.merged.gene_tpm.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" ], "6": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.transcript.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] + "rsem.merged.transcript_counts.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" ], "7": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] + "rsem.merged.transcript_tpm.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" ], "8": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.bam.bai:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "9": [ - - ], - "bai": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.bam.bai:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "bam": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "bam_genome": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.genome.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "bam_star": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.STAR.genome.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "bam_transcript": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.transcript.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] + "versions.yml:md5,2aa5252eb2ffb409cf556a165d40f8a9", + "versions.yml:md5,773c15c4ecb7d486a4bdd8ef73e7ac5d" ], "counts_gene": [ [ @@ -197,27 +72,6 @@ "test.isoforms.results:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "csi": [ - - ], - "flagstat": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.flagstat:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "idxstats": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.idxstats:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], "logs": [ [ { @@ -248,33 +102,19 @@ "test.stat:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "stats": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.stats:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], "versions": [ - "versions.yml:md5,0f2bbea6c0412d2b185eab2dd0db06d5", - "versions.yml:md5,2a8e04c552c56aacc9a2d158fbc23a89", "versions.yml:md5,2aa5252eb2ffb409cf556a165d40f8a9", - "versions.yml:md5,7696e625e0eda9d9ae30c8d5b3d23d9f", - "versions.yml:md5,ae1676b60b6335fff8f1188288103a1c", - "versions.yml:md5,f151349bd7086cb08134496033e78cea", - "versions.yml:md5,ff8adbe60177b3dba23d91b3424b10b6" + "versions.yml:md5,773c15c4ecb7d486a4bdd8ef73e7ac5d" ] } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "25.04.6" }, - "timestamp": "2024-10-21T14:49:44.270456428" + "timestamp": "2025-09-15T16:59:19.581004" }, - "homo_sapiens - sentieon - stub": { + "homo_sapiens - stub": { "content": [ { "0": [ @@ -295,54 +135,6 @@ "test.isoforms.results:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "10": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.stats:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "11": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.flagstat:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "12": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.idxstats:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "13": [ - "rsem.merged.gene_counts.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" - ], - "14": [ - "rsem.merged.gene_tpm.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" - ], - "15": [ - "rsem.merged.transcript_counts.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" - ], - "16": [ - "rsem.merged.transcript_tpm.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" - ], - "17": [ - "versions.yml:md5,0f2bbea6c0412d2b185eab2dd0db06d5", - "versions.yml:md5,2a8e04c552c56aacc9a2d158fbc23a89", - "versions.yml:md5,2aa5252eb2ffb409cf556a165d40f8a9", - "versions.yml:md5,7696e625e0eda9d9ae30c8d5b3d23d9f", - "versions.yml:md5,773c15c4ecb7d486a4bdd8ef73e7ac5d", - "versions.yml:md5,f151349bd7086cb08134496033e78cea", - "versions.yml:md5,ff8adbe60177b3dba23d91b3424b10b6" - ], "2": [ [ { @@ -362,97 +154,20 @@ ] ], "4": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.STAR.genome.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] + "rsem.merged.gene_counts.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" ], "5": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.genome.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] + "rsem.merged.gene_tpm.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" ], "6": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.transcript.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] + "rsem.merged.transcript_counts.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" ], "7": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] + "rsem.merged.transcript_tpm.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" ], "8": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.bam.bai:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "9": [ - - ], - "bai": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.bam.bai:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "bam": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "bam_genome": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.genome.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "bam_star": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.STAR.genome.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "bam_transcript": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.transcript.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] + "versions.yml:md5,2aa5252eb2ffb409cf556a165d40f8a9", + "versions.yml:md5,ae1676b60b6335fff8f1188288103a1c" ], "counts_gene": [ [ @@ -472,27 +187,6 @@ "test.isoforms.results:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "csi": [ - - ], - "flagstat": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.flagstat:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "idxstats": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.idxstats:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], "logs": [ [ { @@ -523,35 +217,20 @@ "test.stat:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "stats": [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.stats:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], "versions": [ - "versions.yml:md5,0f2bbea6c0412d2b185eab2dd0db06d5", - "versions.yml:md5,2a8e04c552c56aacc9a2d158fbc23a89", "versions.yml:md5,2aa5252eb2ffb409cf556a165d40f8a9", - "versions.yml:md5,7696e625e0eda9d9ae30c8d5b3d23d9f", - "versions.yml:md5,773c15c4ecb7d486a4bdd8ef73e7ac5d", - "versions.yml:md5,f151349bd7086cb08134496033e78cea", - "versions.yml:md5,ff8adbe60177b3dba23d91b3424b10b6" + "versions.yml:md5,ae1676b60b6335fff8f1188288103a1c" ] } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "25.04.6" }, - "timestamp": "2024-10-21T14:49:44.270456428" + "timestamp": "2025-09-15T16:56:01.229068" }, "homo_sapiens": { "content": [ - "test.log", [ [ { @@ -582,48 +261,6 @@ "test.theta:md5,de2e4490c98cc5383a86ae8225fd0a28" ] ] - ], - [ - - ], - [ - - ], - [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.transcript.bam:md5,e8a05da15bb08d3a333be637fdd8be58" - ] - ], - [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.isoforms.results:md5,99f7f80aa505b44ca429fdebbd7dd5d8" - ] - ], - [ - - ], - [ - - ], - [ - - ], - [ - - ], - [ - - ], - [ - ], [ "rsem.merged.gene_counts.tsv:md5,f3b586000c97c89aec45360772e73df1" @@ -642,109 +279,10 @@ "versions.yml:md5,ae1676b60b6335fff8f1188288103a1c" ] ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" - }, - "timestamp": "2024-07-03T19:53:14.561568" - }, - "homo_sapiens - sentieon": { - "content": [ - "test.log", - [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.genes.results:md5,c7ec226f76736ea805771e73553ae359" - ] - ], - [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.isoforms.results:md5,99f7f80aa505b44ca429fdebbd7dd5d8" - ] - ], - [ - [ - { - "id": "test", - "strandedness": "forward" - }, - [ - "test.cnt:md5,76249e6b2f3c104f414aae596ba2c2f4", - "test.model:md5,a7a4bc1734918ef5848604e3362b83e2", - "test.theta:md5,de2e4490c98cc5383a86ae8225fd0a28" - ] - ] - ], - [ - - ], - [ - - ], - [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.transcript.bam:md5,e8a05da15bb08d3a333be637fdd8be58" - ] - ], - [ - [ - { - "id": "test", - "strandedness": "forward" - }, - "test.isoforms.results:md5,99f7f80aa505b44ca429fdebbd7dd5d8" - ] - ], - [ - - ], - [ - - ], - [ - - ], - [ - - ], - [ - - ], - [ - - ], - [ - "rsem.merged.gene_counts.tsv:md5,f3b586000c97c89aec45360772e73df1" - ], - [ - "rsem.merged.gene_tpm.tsv:md5,e6ae3dfa9913a7c15b705ec27c376212" - ], - [ - "rsem.merged.transcript_counts.tsv:md5,235c002b811360183494a2aac74d1f5b" - ], - [ - "rsem.merged.transcript_tpm.tsv:md5,d38f22667e3b8012f1d783b8d5159ccc" - ], - [ - "versions.yml:md5,12a2fefc07645c553dd331e91bb21cce", - "versions.yml:md5,2aa5252eb2ffb409cf556a165d40f8a9" - ] - ], "meta": { "nf-test": "0.9.2", - "nextflow": "25.04.6" + "nextflow": "25.04.3" }, - "timestamp": "2025-08-12T07:52:13.10736278" + "timestamp": "2025-09-16T08:19:00.078928064" } } \ No newline at end of file diff --git a/subworkflows/local/quantify_rsem/tests/nextflow.config b/subworkflows/local/quantify_rsem/tests/nextflow.config index 4b2da69ca..6318bc5a8 100644 --- a/subworkflows/local/quantify_rsem/tests/nextflow.config +++ b/subworkflows/local/quantify_rsem/tests/nextflow.config @@ -1,16 +1,3 @@ -process { - - // Needs the glob to force the config to be applied - withName: ".*RSEM_PREPAREREFERENCE|.*SENTIEON_RSEMPREPAREREFERENCE" { - ext.args = "--star " - } - - withName: ".*RSEM_CALCULATEEXPRESSION|.*SENTIEON_RSEMCALCULATEEXPRESSION" { - ext.args = '--star --star-gzipped-read-file' - } - -} - // NOTE This is how pipeline users will use Sentieon in real world use if (System.getenv('SENTIEON_LICSRVR_IP')) { env.SENTIEON_LICENSE = "$SENTIEON_LICSRVR_IP" diff --git a/subworkflows/local/utils_nfcore_rnaseq_pipeline/main.nf b/subworkflows/local/utils_nfcore_rnaseq_pipeline/main.nf index 6204c666f..e5dd439ea 100644 --- a/subworkflows/local/utils_nfcore_rnaseq_pipeline/main.nf +++ b/subworkflows/local/utils_nfcore_rnaseq_pipeline/main.nf @@ -153,7 +153,12 @@ workflow PIPELINE_COMPLETION { // Function to check samples are internally consistent after being grouped // def checkSamplesAfterGrouping(input) { - def (metas, fastqs) = input[1..2] + // Handle both old format [id, metas, fastqs] and new format with BAMs [id, metas, fastqs, genome_bams, transcriptome_bams] + def id = input[0] + def metas = input[1] + def fastqs = input[2] + def genome_bams = input.size() > 3 ? input[3] : null + def transcriptome_bams = input.size() > 4 ? input[4] : null // Check that multiple runs of the same sample are of the same strandedness def strandedness_ok = metas.collect{ it.strandedness }.unique().size == 1 @@ -167,7 +172,30 @@ def checkSamplesAfterGrouping(input) { error("Please check input samplesheet -> Multiple runs of a sample must be of the same datatype i.e. single-end or paired-end: ${metas[0].id}") } - return [ metas[0], fastqs ] + // Return format depends on whether BAM data was provided + if (genome_bams != null || transcriptome_bams != null) { + def genome_bam = genome_bams?.find { it != null } + def transcriptome_bam = transcriptome_bams?.find { it != null } + + // Add BAM flags and original paths to meta + def meta_with_bams = metas[0] + [ + has_genome_bam: genome_bam ? true : false, + has_transcriptome_bam: transcriptome_bam ? true : false, + original_genome_bam: genome_bam ?: null, + original_transcriptome_bam: transcriptome_bam ?: null + ] + + return [ meta_with_bams, fastqs, genome_bam, transcriptome_bam ] + } else { + // Add null BAM fields to meta for consistency + def meta_no_bams = metas[0] + [ + has_genome_bam: false, + has_transcriptome_bam: false, + original_genome_bam: null, + original_transcriptome_bam: null + ] + return [ meta_no_bams, fastqs ] + } } // @@ -546,26 +574,6 @@ def checkMaxContigSize(fai_file) { } } -// -// Function that parses and returns the alignment rate from the STAR log output -// -def getStarPercentMapped(params, align_log) { - def percent_aligned = 0 - def pattern = /Uniquely mapped reads %\s*\|\s*([\d\.]+)%/ - align_log.eachLine { line -> - def matcher = line =~ pattern - if (matcher) { - percent_aligned = matcher[0][1].toFloat() - } - } - - def pass = false - if (percent_aligned >= params.min_mapped_reads.toFloat()) { - pass = true - } - return [ percent_aligned, pass ] -} - // // Function to check whether biotype field exists in GTF file // @@ -616,6 +624,36 @@ def getInferexperimentStrandedness(inferexperiment_file, stranded_threshold = 0. return calculateStrandedness(forwardFragments, reverseFragments, unstrandedFragments, stranded_threshold, unstranded_threshold) } +// +// Function to map work directory BAM paths to published paths +// +def mapBamToPublishedPath(bam_path, sample_id, aligner, outdir) { + if (!bam_path) return '' + + def filename = file(bam_path).getName() + def base_dir = "${outdir}/${aligner}" + + // Map based on aligner type and filename patterns + if (aligner == 'star_salmon') { + if (filename.contains('Aligned.out.bam')) { + return "${base_dir}/${sample_id}.Aligned.out.bam" + } else if (filename.contains('toTranscriptome')) { + return "${base_dir}/${sample_id}.Aligned.toTranscriptome.out.bam" + } + } else if (aligner == 'star_rsem') { + if (filename.contains('genome.bam')) { + return "${base_dir}/${sample_id}.STAR.genome.bam" + } else if (filename.contains('transcript.bam')) { + return "${base_dir}/${sample_id}.transcript.bam" + } + } else if (aligner == 'hisat2') { + return "${base_dir}/${sample_id}.bam" + } + + // Fallback to original filename + return "${base_dir}/${filename}" +} + // // Print pipeline summary on completion // diff --git a/subworkflows/local/utils_nfcore_rnaseq_pipeline/tests/main.function.nf.test b/subworkflows/local/utils_nfcore_rnaseq_pipeline/tests/main.function.nf.test index b394aadb7..036132a49 100644 --- a/subworkflows/local/utils_nfcore_rnaseq_pipeline/tests/main.function.nf.test +++ b/subworkflows/local/utils_nfcore_rnaseq_pipeline/tests/main.function.nf.test @@ -366,62 +366,6 @@ nextflow_function { } - - test("Test Function getStarPercentMapped pass") { - - function "getStarPercentMapped" - - when { - function { - """ - def alignLog = file("${workDir}/alignLog.txt") - alignLog.write("Uniquely mapped reads % | 95.6%") - - input[0] = [ - min_mapped_reads: 1.0 - ] - input[1] = alignLog - """ - } - } - - then { - assertAll( - { assert function.success }, - { assert function.result == [ 95.6, true ] } - ) - } - - } - - test("Test Function getStarPercentMapped fail") { - - function "getStarPercentMapped" - - when { - function { - """ - def alignLog = file("${workDir}/alignLog.txt") - alignLog.write("Uniquely mapped reads % | 10.2%") - - input[0] = [ - min_mapped_reads: 50.0 - ] - input[1] = alignLog - """ - } - } - - then { - assertAll( - { assert function.success }, - { assert function.result == [ 10.2, false ] } - ) - } - - } - - test("Test Function biotypeInGtf success") { function "biotypeInGtf" diff --git a/subworkflows/local/utils_nfcore_rnaseq_pipeline/tests/main.function.nf.test.snap b/subworkflows/local/utils_nfcore_rnaseq_pipeline/tests/main.function.nf.test.snap index 9deb0bca3..b0e9e611d 100644 --- a/subworkflows/local/utils_nfcore_rnaseq_pipeline/tests/main.function.nf.test.snap +++ b/subworkflows/local/utils_nfcore_rnaseq_pipeline/tests/main.function.nf.test.snap @@ -101,7 +101,11 @@ { "id": "test", "strandedness": "unstranded", - "single_end": true + "single_end": true, + "has_genome_bam": false, + "has_transcriptome_bam": false, + "original_genome_bam": null, + "original_transcriptome_bam": null }, [ [ diff --git a/subworkflows/nf-core/bam_markduplicates_picard/nextflow.config b/subworkflows/nf-core/bam_markduplicates_picard/nextflow.config index 2778db78d..b73b711df 100644 --- a/subworkflows/nf-core/bam_markduplicates_picard/nextflow.config +++ b/subworkflows/nf-core/bam_markduplicates_picard/nextflow.config @@ -1,41 +1,39 @@ -if (!params.skip_alignment) { - if (!params.skip_markduplicates && !params.with_umi) { - process { - withName: '.*:BAM_MARKDUPLICATES_PICARD:PICARD_MARKDUPLICATES' { - ext.args = '--ASSUME_SORTED true --REMOVE_DUPLICATES false --VALIDATION_STRINGENCY LENIENT --TMP_DIR tmp' - ext.prefix = { "${meta.id}.markdup.sorted" } - publishDir = [ - [ - path: { "${params.outdir}/${params.aligner}/picard_metrics" }, - mode: params.publish_dir_mode, - pattern: '*metrics.txt' - ], - [ - path: { "${params.outdir}/${params.aligner}" }, - mode: params.publish_dir_mode, - pattern: '*.bam' - ] - ] - } - - withName: '.*:BAM_MARKDUPLICATES_PICARD:SAMTOOLS_INDEX' { - ext.args = { params.bam_csi_index ? '-c' : '' } - ext.prefix = { "${meta.id}.markdup.sorted" } - publishDir = [ +if (!params.skip_markduplicates && !params.with_umi) { + process { + withName: '.*:BAM_MARKDUPLICATES_PICARD:PICARD_MARKDUPLICATES' { + ext.args = '--ASSUME_SORTED true --REMOVE_DUPLICATES false --VALIDATION_STRINGENCY LENIENT --TMP_DIR tmp' + ext.prefix = { "${meta.id}.markdup.sorted" } + publishDir = [ + [ + path: { "${params.outdir}/${params.aligner}/picard_metrics" }, + mode: params.publish_dir_mode, + pattern: '*metrics.txt' + ], + [ path: { "${params.outdir}/${params.aligner}" }, mode: params.publish_dir_mode, - pattern: '*.{bai,csi}' + pattern: '*.bam' ] - } + ] + } - withName: '.*:BAM_MARKDUPLICATES_PICARD:BAM_STATS_SAMTOOLS:.*' { - ext.prefix = { "${meta.id}.markdup.sorted.bam" } - publishDir = [ - path: { "${params.outdir}/${params.aligner}/samtools_stats" }, - mode: params.publish_dir_mode, - pattern: '*.{stats,flagstat,idxstats}' - ] - } + withName: '.*:BAM_MARKDUPLICATES_PICARD:SAMTOOLS_INDEX' { + ext.args = { params.bam_csi_index ? '-c' : '' } + ext.prefix = { "${meta.id}.markdup.sorted" } + publishDir = [ + path: { "${params.outdir}/${params.aligner}" }, + mode: params.publish_dir_mode, + pattern: '*.{bai,csi}' + ] + } + + withName: '.*:BAM_MARKDUPLICATES_PICARD:BAM_STATS_SAMTOOLS:.*' { + ext.prefix = { "${meta.id}.markdup.sorted.bam" } + publishDir = [ + path: { "${params.outdir}/${params.aligner}/samtools_stats" }, + mode: params.publish_dir_mode, + pattern: '*.{stats,flagstat,idxstats}' + ] } } } diff --git a/subworkflows/nf-core/bam_rseqc/nextflow.config b/subworkflows/nf-core/bam_rseqc/nextflow.config index 4fabc8e99..312d9d8a2 100644 --- a/subworkflows/nf-core/bam_rseqc/nextflow.config +++ b/subworkflows/nf-core/bam_rseqc/nextflow.config @@ -1,6 +1,6 @@ def rseqc_modules = params.rseqc_modules ? params.rseqc_modules.split(',').collect{ it.trim().toLowerCase() } : [] -if (!params.skip_alignment && !params.skip_qc && !params.skip_rseqc) { +if (!params.skip_qc && !params.skip_rseqc) { if ('bam_stat' in rseqc_modules) { process { withName: '.*:BAM_RSEQC:RSEQC_BAMSTAT' { diff --git a/tests/.nftignore b/tests/.nftignore index 32a368e86..2013f8551 100644 --- a/tests/.nftignore +++ b/tests/.nftignore @@ -13,7 +13,7 @@ sortmerna/*.sortmerna.log star_rsem/*.stat/*.{cnt,model,theta} star_rsem/*.{genes,isoforms}.results star_rsem/log/*.log -star_salmon/log/*.Log.{final.out,out,progress.out} +star_{salmon,rsem}/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} @@ -37,7 +37,7 @@ umitools/*.umi_extract.log {hisat2,star_rsem,star_salmon}/stringtie/*.{coverage,transcripts}.gtf {hisat2,star_rsem,star_salmon}/{umitools,umicollapse}/{genomic,transcriptomic}_dedup_log/*.log {multiqc,multiqc/**}/multiqc_report.html -{multiqc,multiqc/**}/multiqc_report_data/BETA-multiqc.parquet +{multiqc,multiqc/**}/multiqc_report_data/multiqc.parquet {multiqc,multiqc/**}/multiqc_report_data/fastqc_{raw,trimmed}_top_overrepresented_sequences_table.txt {multiqc,multiqc/**}/multiqc_report_data/hisat2_pe_plot.txt {multiqc,multiqc/**}/multiqc_report_data/hisat2_se_plot.txt @@ -92,6 +92,7 @@ umitools/*.umi_extract.log {multiqc,multiqc/**}/multiqc_report_data/star_summary_table.txt {multiqc,multiqc/**}/multiqc_report_data/umitools_deduplication_barplot.txt {multiqc,multiqc/**}/multiqc_report_data/umitools_stats_violin.txt +{multiqc,multiqc/**}/multiqc_report_data/picard_MeanQualityByCycle_histogram_1.txt {multiqc,multiqc/**}/multiqc_report_plots/{pdf,png,svg}/*.{pdf,png,svg} {salmon,kallisto}/all_samples_{gene,transcript}.SummarizedExperiment.rds {salmon,star_rsem,star_salmon}/deseq2_qc/R_sessionInfo.log diff --git a/tests/sentieon_star_rsem.nf.test b/tests/bam_input.nf.test similarity index 82% rename from tests/sentieon_star_rsem.nf.test rename to tests/bam_input.nf.test index 65571e31b..2a2db041e 100644 --- a/tests/sentieon_star_rsem.nf.test +++ b/tests/bam_input.nf.test @@ -1,16 +1,16 @@ nextflow_pipeline { - name "Test pipeline with STAR aligner and RSEM for quantification" + name "Test pipeline with BAM files as input" script "../main.nf" tag "pipeline" - test("Params: --aligner star_rsem --use_sentieon_star") { + test("BAM input for Salmon") { when { params { + input = "https://raw.githubusercontent.com/nf-core/test-datasets/d17cecd75000d427a5cdefe794c79fc61dae3c1a/samplesheet/v3.10/samplesheet_test_with_bams.csv" outdir = "$outputDir" - aligner = 'star_rsem' - use_sentieon_star = true + skip_alignment = true } } @@ -35,15 +35,14 @@ nextflow_pipeline { } } - test("Params: --aligner star_rsem --use_sentieon_star - stub") { - - options "-stub" + test("BAM input for RSEM") { when { params { + input = "https://raw.githubusercontent.com/nf-core/test-datasets/470a36d464328a152153da94971dd1a73dfe2d05/samplesheet/v3.10/samplesheet_test_with_rsem_bams.csv" outdir = "$outputDir" + skip_alignment = true aligner = 'star_rsem' - use_sentieon_star = true } } diff --git a/tests/bam_input.nf.test.snap b/tests/bam_input.nf.test.snap new file mode 100644 index 000000000..17dfec744 --- /dev/null +++ b/tests/bam_input.nf.test.snap @@ -0,0 +1,1891 @@ +{ + "BAM input for Salmon": { + "content": [ + 139, + { + "BBMAP_BBSPLIT": { + "bbmap": 39.18 + }, + "BEDTOOLS_GENOMECOV_FW": { + "bedtools": "2.31.1" + }, + "CUSTOM_CATADDITIONALFASTA": { + "python": "3.12.2" + }, + "CUSTOM_GETCHROMSIZES": { + "getchromsizes": 1.21 + }, + "CUSTOM_TX2GENE": { + "python": "3.10.4" + }, + "DESEQ2_QC_STAR_SALMON": { + "bioconductor-deseq2": "1.28.0", + "r-base": "4.0.3" + }, + "DUPRADAR": { + "bioconductor-dupradar": "1.32.0" + }, + "GTF2BED": { + "perl": "5.26.2" + }, + "GTF_FILTER": { + "python": "3.9.5" + }, + "GUNZIP_ADDITIONAL_FASTA": { + "gunzip": 1.13 + }, + "GUNZIP_GTF": { + "gunzip": 1.13 + }, + "MULTIQC_CUSTOM_BIOTYPE": { + "python": "3.9.5" + }, + "PICARD_MARKDUPLICATES": { + "picard": "3.1.1" + }, + "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_STATS": { + "samtools": 1.21 + }, + "SE_GENE_UNIFIED": { + "bioconductor-summarizedexperiment": "1.32.0" + }, + "SE_TRANSCRIPT_UNIFIED": { + "bioconductor-summarizedexperiment": "1.32.0" + }, + "STRINGTIE_STRINGTIE": { + "stringtie": "2.2.3" + }, + "SUBREAD_FEATURECOUNTS": { + "subread": "2.0.6" + }, + "TXIMETA_TXIMPORT": { + "bioconductor-tximeta": "1.20.1" + }, + "UCSC_BEDCLIP": { + "ucsc": 377 + }, + "UCSC_BEDGRAPHTOBIGWIG": { + "ucsc": 469 + }, + "UNTAR_SALMON_INDEX": { + "untar": 1.34 + } + }, + [ + "custom", + "custom/out", + "custom/out/genome_gfp.fasta", + "custom/out/genome_gfp.gtf", + "multiqc", + "multiqc/multiqc_report.html", + "multiqc/multiqc_report_data", + "multiqc/multiqc_report_data/junction_saturation_known.txt", + "multiqc/multiqc_report_data/junction_saturation_novel.txt", + "multiqc/multiqc_report_data/llms-full.txt", + "multiqc/multiqc_report_data/multiqc.log", + "multiqc/multiqc_report_data/multiqc.parquet", + "multiqc/multiqc_report_data/multiqc_citations.txt", + "multiqc/multiqc_report_data/multiqc_data.json", + "multiqc/multiqc_report_data/multiqc_dupradar.txt", + "multiqc/multiqc_report_data/multiqc_fail_strand_check_table.txt", + "multiqc/multiqc_report_data/multiqc_featurecounts_biotype_plot.txt", + "multiqc/multiqc_report_data/multiqc_general_stats.txt", + "multiqc/multiqc_report_data/multiqc_picard_dups.txt", + "multiqc/multiqc_report_data/multiqc_rseqc_bam_stat.txt", + "multiqc/multiqc_report_data/multiqc_rseqc_infer_experiment.txt", + "multiqc/multiqc_report_data/multiqc_rseqc_junction_annotation.txt", + "multiqc/multiqc_report_data/multiqc_rseqc_read_distribution.txt", + "multiqc/multiqc_report_data/multiqc_samtools_flagstat.txt", + "multiqc/multiqc_report_data/multiqc_samtools_idxstats.txt", + "multiqc/multiqc_report_data/multiqc_samtools_stats.txt", + "multiqc/multiqc_report_data/multiqc_software_versions.txt", + "multiqc/multiqc_report_data/multiqc_sources.txt", + "multiqc/multiqc_report_data/multiqc_star_salmon_deseq2_clustering.txt", + "multiqc/multiqc_report_data/multiqc_star_salmon_deseq2_pca.txt", + "multiqc/multiqc_report_data/picard_MarkIlluminaAdapters_histogram.txt", + "multiqc/multiqc_report_data/picard_MeanQualityByCycle_histogram.txt", + "multiqc/multiqc_report_data/picard_MeanQualityByCycle_histogram_1.txt", + "multiqc/multiqc_report_data/picard_QualityScoreDistribution_histogram.txt", + "multiqc/multiqc_report_data/picard_deduplication.txt", + "multiqc/multiqc_report_data/qualimap_gene_coverage_profile_Counts.txt", + "multiqc/multiqc_report_data/qualimap_gene_coverage_profile_Normalised.txt", + "multiqc/multiqc_report_data/qualimap_genomic_origin.txt", + "multiqc/multiqc_report_data/qualimap_rnaseq_cov_hist.txt", + "multiqc/multiqc_report_data/qualimap_rnaseq_genome_results.txt", + "multiqc/multiqc_report_data/rseqc_bam_stat.txt", + "multiqc/multiqc_report_data/rseqc_infer_experiment_plot.txt", + "multiqc/multiqc_report_data/rseqc_inner_distance.txt", + "multiqc/multiqc_report_data/rseqc_inner_distance_plot_Counts.txt", + "multiqc/multiqc_report_data/rseqc_inner_distance_plot_Percentages.txt", + "multiqc/multiqc_report_data/rseqc_junction_annotation_junctions_plot_Events.txt", + "multiqc/multiqc_report_data/rseqc_junction_annotation_junctions_plot_Junctions.txt", + "multiqc/multiqc_report_data/rseqc_junction_saturation_all.txt", + "multiqc/multiqc_report_data/rseqc_junction_saturation_plot_All_Junctions.txt", + "multiqc/multiqc_report_data/rseqc_junction_saturation_plot_Known_Junctions.txt", + "multiqc/multiqc_report_data/rseqc_junction_saturation_plot_Novel_Junctions.txt", + "multiqc/multiqc_report_data/rseqc_read_distribution_plot.txt", + "multiqc/multiqc_report_data/rseqc_read_dups.txt", + "multiqc/multiqc_report_data/rseqc_read_dups_plot.txt", + "multiqc/multiqc_report_data/samtools-flagstat-pct-table.txt", + "multiqc/multiqc_report_data/samtools-flagstat-table.txt", + "multiqc/multiqc_report_data/samtools-idxstats-mapped-reads-plot_Normalised_Counts.txt", + "multiqc/multiqc_report_data/samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts.txt", + "multiqc/multiqc_report_data/samtools-idxstats-mapped-reads-plot_Raw_Counts.txt", + "multiqc/multiqc_report_data/samtools-stats-dp.txt", + "multiqc/multiqc_report_data/samtools_alignment_plot.txt", + "multiqc/multiqc_report_plots", + "multiqc/multiqc_report_plots/pdf", + "multiqc/multiqc_report_plots/pdf/dupradar.pdf", + "multiqc/multiqc_report_plots/pdf/fail_strand_check_table.pdf", + "multiqc/multiqc_report_plots/pdf/featurecounts_biotype_plot-cnt.pdf", + "multiqc/multiqc_report_plots/pdf/featurecounts_biotype_plot-pct.pdf", + "multiqc/multiqc_report_plots/pdf/picard_deduplication-cnt.pdf", + "multiqc/multiqc_report_plots/pdf/picard_deduplication-pct.pdf", + "multiqc/multiqc_report_plots/pdf/qualimap_gene_coverage_profile_Counts.pdf", + "multiqc/multiqc_report_plots/pdf/qualimap_gene_coverage_profile_Normalised.pdf", + "multiqc/multiqc_report_plots/pdf/qualimap_genomic_origin-cnt.pdf", + "multiqc/multiqc_report_plots/pdf/qualimap_genomic_origin-pct.pdf", + "multiqc/multiqc_report_plots/pdf/rseqc_bam_stat.pdf", + "multiqc/multiqc_report_plots/pdf/rseqc_infer_experiment_plot.pdf", + "multiqc/multiqc_report_plots/pdf/rseqc_inner_distance_plot_Counts.pdf", + "multiqc/multiqc_report_plots/pdf/rseqc_inner_distance_plot_Percentages.pdf", + "multiqc/multiqc_report_plots/pdf/rseqc_junction_annotation_junctions_plot_Events-cnt.pdf", + "multiqc/multiqc_report_plots/pdf/rseqc_junction_annotation_junctions_plot_Events-pct.pdf", + "multiqc/multiqc_report_plots/pdf/rseqc_junction_annotation_junctions_plot_Junctions-cnt.pdf", + "multiqc/multiqc_report_plots/pdf/rseqc_junction_annotation_junctions_plot_Junctions-pct.pdf", + "multiqc/multiqc_report_plots/pdf/rseqc_junction_saturation_plot_All_Junctions.pdf", + "multiqc/multiqc_report_plots/pdf/rseqc_junction_saturation_plot_Known_Junctions.pdf", + "multiqc/multiqc_report_plots/pdf/rseqc_junction_saturation_plot_Novel_Junctions.pdf", + "multiqc/multiqc_report_plots/pdf/rseqc_read_distribution_plot-cnt.pdf", + "multiqc/multiqc_report_plots/pdf/rseqc_read_distribution_plot-pct.pdf", + "multiqc/multiqc_report_plots/pdf/rseqc_read_dups_plot.pdf", + "multiqc/multiqc_report_plots/pdf/samtools-flagstat-pct-table.pdf", + "multiqc/multiqc_report_plots/pdf/samtools-flagstat-table.pdf", + "multiqc/multiqc_report_plots/pdf/samtools-idxstats-mapped-reads-plot_Normalised_Counts-cnt.pdf", + "multiqc/multiqc_report_plots/pdf/samtools-idxstats-mapped-reads-plot_Normalised_Counts-log.pdf", + "multiqc/multiqc_report_plots/pdf/samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts-cnt.pdf", + "multiqc/multiqc_report_plots/pdf/samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts-log.pdf", + "multiqc/multiqc_report_plots/pdf/samtools-idxstats-mapped-reads-plot_Raw_Counts-cnt.pdf", + "multiqc/multiqc_report_plots/pdf/samtools-idxstats-mapped-reads-plot_Raw_Counts-log.pdf", + "multiqc/multiqc_report_plots/pdf/samtools-stats-dp.pdf", + "multiqc/multiqc_report_plots/pdf/samtools_alignment_plot-cnt.pdf", + "multiqc/multiqc_report_plots/pdf/samtools_alignment_plot-pct.pdf", + "multiqc/multiqc_report_plots/pdf/star_salmon_deseq2_clustering.pdf", + "multiqc/multiqc_report_plots/pdf/star_salmon_deseq2_pca.pdf", + "multiqc/multiqc_report_plots/png", + "multiqc/multiqc_report_plots/png/dupradar.png", + "multiqc/multiqc_report_plots/png/fail_strand_check_table.png", + "multiqc/multiqc_report_plots/png/featurecounts_biotype_plot-cnt.png", + "multiqc/multiqc_report_plots/png/featurecounts_biotype_plot-pct.png", + "multiqc/multiqc_report_plots/png/picard_deduplication-cnt.png", + "multiqc/multiqc_report_plots/png/picard_deduplication-pct.png", + "multiqc/multiqc_report_plots/png/qualimap_gene_coverage_profile_Counts.png", + "multiqc/multiqc_report_plots/png/qualimap_gene_coverage_profile_Normalised.png", + "multiqc/multiqc_report_plots/png/qualimap_genomic_origin-cnt.png", + "multiqc/multiqc_report_plots/png/qualimap_genomic_origin-pct.png", + "multiqc/multiqc_report_plots/png/rseqc_bam_stat.png", + "multiqc/multiqc_report_plots/png/rseqc_infer_experiment_plot.png", + "multiqc/multiqc_report_plots/png/rseqc_inner_distance_plot_Counts.png", + "multiqc/multiqc_report_plots/png/rseqc_inner_distance_plot_Percentages.png", + "multiqc/multiqc_report_plots/png/rseqc_junction_annotation_junctions_plot_Events-cnt.png", + "multiqc/multiqc_report_plots/png/rseqc_junction_annotation_junctions_plot_Events-pct.png", + "multiqc/multiqc_report_plots/png/rseqc_junction_annotation_junctions_plot_Junctions-cnt.png", + "multiqc/multiqc_report_plots/png/rseqc_junction_annotation_junctions_plot_Junctions-pct.png", + "multiqc/multiqc_report_plots/png/rseqc_junction_saturation_plot_All_Junctions.png", + "multiqc/multiqc_report_plots/png/rseqc_junction_saturation_plot_Known_Junctions.png", + "multiqc/multiqc_report_plots/png/rseqc_junction_saturation_plot_Novel_Junctions.png", + "multiqc/multiqc_report_plots/png/rseqc_read_distribution_plot-cnt.png", + "multiqc/multiqc_report_plots/png/rseqc_read_distribution_plot-pct.png", + "multiqc/multiqc_report_plots/png/rseqc_read_dups_plot.png", + "multiqc/multiqc_report_plots/png/samtools-flagstat-pct-table.png", + "multiqc/multiqc_report_plots/png/samtools-flagstat-table.png", + "multiqc/multiqc_report_plots/png/samtools-idxstats-mapped-reads-plot_Normalised_Counts-cnt.png", + "multiqc/multiqc_report_plots/png/samtools-idxstats-mapped-reads-plot_Normalised_Counts-log.png", + "multiqc/multiqc_report_plots/png/samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts-cnt.png", + "multiqc/multiqc_report_plots/png/samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts-log.png", + "multiqc/multiqc_report_plots/png/samtools-idxstats-mapped-reads-plot_Raw_Counts-cnt.png", + "multiqc/multiqc_report_plots/png/samtools-idxstats-mapped-reads-plot_Raw_Counts-log.png", + "multiqc/multiqc_report_plots/png/samtools-stats-dp.png", + "multiqc/multiqc_report_plots/png/samtools_alignment_plot-cnt.png", + "multiqc/multiqc_report_plots/png/samtools_alignment_plot-pct.png", + "multiqc/multiqc_report_plots/png/star_salmon_deseq2_clustering.png", + "multiqc/multiqc_report_plots/png/star_salmon_deseq2_pca.png", + "multiqc/multiqc_report_plots/svg", + "multiqc/multiqc_report_plots/svg/dupradar.svg", + "multiqc/multiqc_report_plots/svg/fail_strand_check_table.svg", + "multiqc/multiqc_report_plots/svg/featurecounts_biotype_plot-cnt.svg", + "multiqc/multiqc_report_plots/svg/featurecounts_biotype_plot-pct.svg", + "multiqc/multiqc_report_plots/svg/picard_deduplication-cnt.svg", + "multiqc/multiqc_report_plots/svg/picard_deduplication-pct.svg", + "multiqc/multiqc_report_plots/svg/qualimap_gene_coverage_profile_Counts.svg", + "multiqc/multiqc_report_plots/svg/qualimap_gene_coverage_profile_Normalised.svg", + "multiqc/multiqc_report_plots/svg/qualimap_genomic_origin-cnt.svg", + "multiqc/multiqc_report_plots/svg/qualimap_genomic_origin-pct.svg", + "multiqc/multiqc_report_plots/svg/rseqc_bam_stat.svg", + "multiqc/multiqc_report_plots/svg/rseqc_infer_experiment_plot.svg", + "multiqc/multiqc_report_plots/svg/rseqc_inner_distance_plot_Counts.svg", + "multiqc/multiqc_report_plots/svg/rseqc_inner_distance_plot_Percentages.svg", + "multiqc/multiqc_report_plots/svg/rseqc_junction_annotation_junctions_plot_Events-cnt.svg", + "multiqc/multiqc_report_plots/svg/rseqc_junction_annotation_junctions_plot_Events-pct.svg", + "multiqc/multiqc_report_plots/svg/rseqc_junction_annotation_junctions_plot_Junctions-cnt.svg", + "multiqc/multiqc_report_plots/svg/rseqc_junction_annotation_junctions_plot_Junctions-pct.svg", + "multiqc/multiqc_report_plots/svg/rseqc_junction_saturation_plot_All_Junctions.svg", + "multiqc/multiqc_report_plots/svg/rseqc_junction_saturation_plot_Known_Junctions.svg", + "multiqc/multiqc_report_plots/svg/rseqc_junction_saturation_plot_Novel_Junctions.svg", + "multiqc/multiqc_report_plots/svg/rseqc_read_distribution_plot-cnt.svg", + "multiqc/multiqc_report_plots/svg/rseqc_read_distribution_plot-pct.svg", + "multiqc/multiqc_report_plots/svg/rseqc_read_dups_plot.svg", + "multiqc/multiqc_report_plots/svg/samtools-flagstat-pct-table.svg", + "multiqc/multiqc_report_plots/svg/samtools-flagstat-table.svg", + "multiqc/multiqc_report_plots/svg/samtools-idxstats-mapped-reads-plot_Normalised_Counts-cnt.svg", + "multiqc/multiqc_report_plots/svg/samtools-idxstats-mapped-reads-plot_Normalised_Counts-log.svg", + "multiqc/multiqc_report_plots/svg/samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts-cnt.svg", + "multiqc/multiqc_report_plots/svg/samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts-log.svg", + "multiqc/multiqc_report_plots/svg/samtools-idxstats-mapped-reads-plot_Raw_Counts-cnt.svg", + "multiqc/multiqc_report_plots/svg/samtools-idxstats-mapped-reads-plot_Raw_Counts-log.svg", + "multiqc/multiqc_report_plots/svg/samtools-stats-dp.svg", + "multiqc/multiqc_report_plots/svg/samtools_alignment_plot-cnt.svg", + "multiqc/multiqc_report_plots/svg/samtools_alignment_plot-pct.svg", + "multiqc/multiqc_report_plots/svg/star_salmon_deseq2_clustering.svg", + "multiqc/multiqc_report_plots/svg/star_salmon_deseq2_pca.svg", + "pipeline_info", + "pipeline_info/nf_core_rnaseq_software_mqc_versions.yml", + "samtools", + "samtools/RAP1_IAA_30M_REP1.sorted.bam.bai", + "samtools/RAP1_UNINDUCED_REP1.sorted.bam.bai", + "samtools/RAP1_UNINDUCED_REP2.sorted.bam.bai", + "samtools/WT_REP1.sorted.bam.bai", + "samtools/WT_REP2.sorted.bam.bai", + "star_salmon", + "star_salmon/RAP1_IAA_30M_REP1", + "star_salmon/RAP1_IAA_30M_REP1.markdup.sorted.bam", + "star_salmon/RAP1_IAA_30M_REP1.markdup.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.markdup.sorted.bam", + "star_salmon/RAP1_UNINDUCED_REP1.markdup.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.markdup.sorted.bam", + "star_salmon/RAP1_UNINDUCED_REP2.markdup.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.markdup.sorted.bam", + "star_salmon/WT_REP1.markdup.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.markdup.sorted.bam", + "star_salmon/WT_REP2.markdup.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.tsv", + "star_salmon/featurecounts/RAP1_IAA_30M_REP1.featureCounts.tsv.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.tsv", + "star_salmon/featurecounts/RAP1_UNINDUCED_REP1.featureCounts.tsv.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.tsv", + "star_salmon/featurecounts/RAP1_UNINDUCED_REP2.featureCounts.tsv.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.tsv", + "star_salmon/featurecounts/WT_REP1.featureCounts.tsv.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.tsv", + "star_salmon/featurecounts/WT_REP2.featureCounts.tsv.summary", + "star_salmon/picard_metrics", + "star_salmon/picard_metrics/RAP1_IAA_30M_REP1.markdup.sorted.MarkDuplicates.metrics.txt", + "star_salmon/picard_metrics/RAP1_UNINDUCED_REP1.markdup.sorted.MarkDuplicates.metrics.txt", + "star_salmon/picard_metrics/RAP1_UNINDUCED_REP2.markdup.sorted.MarkDuplicates.metrics.txt", + "star_salmon/picard_metrics/WT_REP1.markdup.sorted.MarkDuplicates.metrics.txt", + "star_salmon/picard_metrics/WT_REP2.markdup.sorted.MarkDuplicates.metrics.txt", + "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.SummarizedExperiment.rds", + "star_salmon/salmon.merged.gene_counts.tsv", + "star_salmon/salmon.merged.gene_counts_length_scaled.tsv", + "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.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.markdup.sorted.bam.flagstat", + "star_salmon/samtools_stats/RAP1_IAA_30M_REP1.markdup.sorted.bam.idxstats", + "star_salmon/samtools_stats/RAP1_IAA_30M_REP1.markdup.sorted.bam.stats", + "star_salmon/samtools_stats/RAP1_UNINDUCED_REP1.markdup.sorted.bam.flagstat", + "star_salmon/samtools_stats/RAP1_UNINDUCED_REP1.markdup.sorted.bam.idxstats", + "star_salmon/samtools_stats/RAP1_UNINDUCED_REP1.markdup.sorted.bam.stats", + "star_salmon/samtools_stats/RAP1_UNINDUCED_REP2.markdup.sorted.bam.flagstat", + "star_salmon/samtools_stats/RAP1_UNINDUCED_REP2.markdup.sorted.bam.idxstats", + "star_salmon/samtools_stats/RAP1_UNINDUCED_REP2.markdup.sorted.bam.stats", + "star_salmon/samtools_stats/WT_REP1.markdup.sorted.bam.flagstat", + "star_salmon/samtools_stats/WT_REP1.markdup.sorted.bam.idxstats", + "star_salmon/samtools_stats/WT_REP1.markdup.sorted.bam.stats", + "star_salmon/samtools_stats/WT_REP2.markdup.sorted.bam.flagstat", + "star_salmon/samtools_stats/WT_REP2.markdup.sorted.bam.idxstats", + "star_salmon/samtools_stats/WT_REP2.markdup.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" + ], + [ + "genome_gfp.fasta:md5,e23e302af63736a199985a169fdac055", + "genome_gfp.gtf:md5,c98b12c302f15731bfc36bcf297cfe28", + "multiqc_citations.txt:md5,564145971ac42922310b2f992a6dcb70", + "multiqc_featurecounts_biotype_plot.txt:md5,b633d12b9d6c5993350f45177b103243", + "multiqc_samtools_idxstats.txt:md5,14838fa75205d1b87bb387784e7a56ab", + "picard_MarkIlluminaAdapters_histogram.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "picard_MeanQualityByCycle_histogram.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "picard_QualityScoreDistribution_histogram.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "qualimap_gene_coverage_profile_Counts.txt:md5,4f590ba744c92053ca4abc8c9f136f07", + "qualimap_gene_coverage_profile_Normalised.txt:md5,8af17646df87d026f0d120d7bde8e6e0", + "qualimap_rnaseq_cov_hist.txt:md5,45e57646841a64991d63a551a1671a46", + "rseqc_infer_experiment_plot.txt:md5,2e0c972705807a0d26feb55ef54a2f4d", + "samtools-idxstats-mapped-reads-plot_Normalised_Counts.txt:md5,75acd04232d1804b5f960ee4c5db4722", + "samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts.txt:md5,ae45731d8d4595f77e6b271004f3a070", + "samtools-idxstats-mapped-reads-plot_Raw_Counts.txt:md5,e01bbf77956371a68fecca913466ff25", + "RAP1_IAA_30M_REP1.sorted.bam.bai:md5,716f3475d26343177506f23d9ae0cfcc", + "RAP1_UNINDUCED_REP1.sorted.bam.bai:md5,89b3e69a5bea8a144112a15580687870", + "RAP1_UNINDUCED_REP2.sorted.bam.bai:md5,6e2ed96bd496e98bce89c4d69c31db5d", + "WT_REP1.sorted.bam.bai:md5,687b540b3b69b826968a2fb4a16e5609", + "WT_REP2.sorted.bam.bai:md5,fe846da56caf2cafb72d11a6070895e1", + "ambig_info.tsv:md5,604c0c31a357c82178a3308315da30a2", + "expected_bias.gz:md5,3407f87245d0003e0ffbfdf6d8c04f20", + "observed_bias.gz:md5,92bcd0592d22a6a58d0360fc76103e56", + "observed_bias_3p.gz:md5,92bcd0592d22a6a58d0360fc76103e56", + "cmd_info.json:md5,21395500c85658c70ce5fa0ac05b339a", + "ambig_info.tsv:md5,e94d43ea8f77ff11db12721d9e22dc97", + "expected_bias.gz:md5,3407f87245d0003e0ffbfdf6d8c04f20", + "observed_bias.gz:md5,92bcd0592d22a6a58d0360fc76103e56", + "observed_bias_3p.gz:md5,92bcd0592d22a6a58d0360fc76103e56", + "cmd_info.json:md5,faf70330c73fdce087631bb06de8a12f", + "ambig_info.tsv:md5,b7ee5e96456d81cbe7315b6007d24029", + "expected_bias.gz:md5,3407f87245d0003e0ffbfdf6d8c04f20", + "observed_bias.gz:md5,92bcd0592d22a6a58d0360fc76103e56", + "observed_bias_3p.gz:md5,92bcd0592d22a6a58d0360fc76103e56", + "cmd_info.json:md5,563fd8191cc965524621c2afea7983ff", + "ambig_info.tsv:md5,ff97e3e00b5ead13a38623468135fa22", + "expected_bias.gz:md5,3407f87245d0003e0ffbfdf6d8c04f20", + "observed_bias.gz:md5,92bcd0592d22a6a58d0360fc76103e56", + "observed_bias_3p.gz:md5,92bcd0592d22a6a58d0360fc76103e56", + "cmd_info.json:md5,867de0b90aeccb5f9627e821a973aea7", + "ambig_info.tsv:md5,543a047a549437026a1363ea8ddf5b03", + "expected_bias.gz:md5,3407f87245d0003e0ffbfdf6d8c04f20", + "observed_bias.gz:md5,92bcd0592d22a6a58d0360fc76103e56", + "observed_bias_3p.gz:md5,92bcd0592d22a6a58d0360fc76103e56", + "cmd_info.json:md5,3a51e7db950cee84bed0b13e329f1934", + "RAP1_IAA_30M_REP1_dupMatrix.txt:md5,96a5cd7e86bd8435c9ddc938ef55a0fb", + "RAP1_UNINDUCED_REP1_dupMatrix.txt:md5,1f1fe07826e1cc741628f3f144cbeb37", + "RAP1_UNINDUCED_REP2_dupMatrix.txt:md5,8930057b6b4d05cbc24acc4ed151962d", + "WT_REP1_dupMatrix.txt:md5,5941882e05b1ef912d903090d782188e", + "WT_REP2_dupMatrix.txt:md5,02236769150436cf31b7339f612119a5", + "RAP1_IAA_30M_REP1.biotype_counts_mqc.tsv:md5,d5a54127f0167db3fecff466387920c0", + "RAP1_IAA_30M_REP1.biotype_counts_rrna_mqc.tsv:md5,dde2de0cb90e10d0195c726f768e9941", + "RAP1_IAA_30M_REP1.featureCounts.tsv:md5,b3fc7acb6a8f9b2d35dcfac76dcfdd3d", + "RAP1_UNINDUCED_REP1.biotype_counts_mqc.tsv:md5,0bfe14b75b3cf50219457278d856dfbc", + "RAP1_UNINDUCED_REP1.biotype_counts_rrna_mqc.tsv:md5,845ff9059c72bc6722a8de69776e22bb", + "RAP1_UNINDUCED_REP1.featureCounts.tsv:md5,aa8946dc5e9e081b1d689aa131c48329", + "RAP1_UNINDUCED_REP2.biotype_counts_mqc.tsv:md5,e97d751ed0ef754b4791e3b8fc0053f1", + "RAP1_UNINDUCED_REP2.biotype_counts_rrna_mqc.tsv:md5,6d3fa4c88c7fe61f638e4624ad5e22f0", + "RAP1_UNINDUCED_REP2.featureCounts.tsv:md5,5800aea0971047b7ad72e95383a975d8", + "WT_REP1.biotype_counts_mqc.tsv:md5,5c06f29e27a2c49e34b0eca73707eba4", + "WT_REP1.biotype_counts_rrna_mqc.tsv:md5,8ef76d717492ca23764938aee8ea33a9", + "WT_REP1.featureCounts.tsv:md5,fd7346b0f9e5c330dddb0c975554d9bf", + "WT_REP2.biotype_counts_mqc.tsv:md5,5cb8f29f175d07b3d8f8464bf8fcd82b", + "WT_REP2.biotype_counts_rrna_mqc.tsv:md5,12294618fe44df1e7f39348372dcb481", + "WT_REP2.featureCounts.tsv:md5,350ab8987337f4c7510801c0cc404ad8", + "coverage_profile_along_genes_(high).txt:md5,662e8945aabc688a2ff15b90ed5bf4b5", + "coverage_profile_along_genes_(low).txt:md5,2753a8549bcadc689993e24513f35164", + "coverage_profile_along_genes_(total).txt:md5,2753a8549bcadc689993e24513f35164", + "coverage_profile_along_genes_(high).txt:md5,a2bcc91bd461fa8cb4bea775b54b2826", + "coverage_profile_along_genes_(low).txt:md5,38de1d59b92983d6d0111c629a1b8834", + "coverage_profile_along_genes_(total).txt:md5,38de1d59b92983d6d0111c629a1b8834", + "coverage_profile_along_genes_(high).txt:md5,fa4e445ffa95325c22dd9ed0639fc3b9", + "coverage_profile_along_genes_(low).txt:md5,73c07a101db4e481ed6fe582d3453b1f", + "coverage_profile_along_genes_(total).txt:md5,73c07a101db4e481ed6fe582d3453b1f", + "coverage_profile_along_genes_(high).txt:md5,0f12369c2ff0e7b11c1cb2c57bd5ab46", + "coverage_profile_along_genes_(low).txt:md5,dba7aae3339d665d5ca8b68d46a92725", + "coverage_profile_along_genes_(total).txt:md5,dba7aae3339d665d5ca8b68d46a92725", + "coverage_profile_along_genes_(high).txt:md5,3f13eb908d6e97e6831306e9527cc2e3", + "coverage_profile_along_genes_(low).txt:md5,24df553662d0cedaa74cf06a8fead40b", + "coverage_profile_along_genes_(total).txt:md5,24df553662d0cedaa74cf06a8fead40b", + "RAP1_IAA_30M_REP1.infer_experiment.txt:md5,169d25b95c008bebe9ce886fea6a4e33", + "RAP1_UNINDUCED_REP1.infer_experiment.txt:md5,9f7f5cb698b1f1db55c0aa855b59213b", + "RAP1_UNINDUCED_REP2.infer_experiment.txt:md5,688cf8ef4b0069d8c426420e9a27b732", + "WT_REP1.infer_experiment.txt:md5,bf0c137f5fca06e7c40e1984a1acb06d", + "WT_REP2.infer_experiment.txt:md5,82e23b329ee60709f343bc2d17d43b14", + "e2t.ctab:md5,54dd6de2daa90e973f47524a738a3d69", + "e_data.ctab:md5,98a2b6a7555e58c7f21b45a1f48e5cbf", + "i2t.ctab:md5,dda3d3ccd7d4184d947c654ae73efb7b", + "i_data.ctab:md5,a052ab04070e72cc318fb7680b0764e3", + "e2t.ctab:md5,54dd6de2daa90e973f47524a738a3d69", + "e_data.ctab:md5,3b807743d8cb11ce6fd638df079454b4", + "i2t.ctab:md5,dda3d3ccd7d4184d947c654ae73efb7b", + "i_data.ctab:md5,80de7e1afe4edf4bb66844f785f578fa", + "e2t.ctab:md5,54dd6de2daa90e973f47524a738a3d69", + "e_data.ctab:md5,a94aebb60f5391f5f5ff19bf2bc7be4e", + "i2t.ctab:md5,dda3d3ccd7d4184d947c654ae73efb7b", + "i_data.ctab:md5,736d87185be73db758648b76c01ac00b", + "e2t.ctab:md5,54dd6de2daa90e973f47524a738a3d69", + "e_data.ctab:md5,eca97e0aed2cfaa185382b9d344e8338", + "i2t.ctab:md5,dda3d3ccd7d4184d947c654ae73efb7b", + "i_data.ctab:md5,907ab2e06346df131cbdb929afc005a8", + "e2t.ctab:md5,54dd6de2daa90e973f47524a738a3d69", + "e_data.ctab:md5,b03f3118d1aa58fceadcb3311028e856", + "i2t.ctab:md5,dda3d3ccd7d4184d947c654ae73efb7b", + "i_data.ctab:md5,041edee3193df311f621c09f4991892b", + "tx2gene.tsv:md5,0e2418a69d2eba45097ebffc2f700bfe" + ] + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "25.04.3" + }, + "timestamp": "2025-09-15T20:12:59.270445702" + }, + "BAM input for RSEM": { + "content": [ + 138, + { + "BBMAP_BBSPLIT": { + "bbmap": 39.18 + }, + "BEDTOOLS_GENOMECOV_FW": { + "bedtools": "2.31.1" + }, + "CUSTOM_CATADDITIONALFASTA": { + "python": "3.12.2" + }, + "CUSTOM_GETCHROMSIZES": { + "getchromsizes": 1.21 + }, + "DESEQ2_QC_RSEM": { + "bioconductor-deseq2": "1.28.0", + "r-base": "4.0.3" + }, + "DUPRADAR": { + "bioconductor-dupradar": "1.32.0" + }, + "GTF2BED": { + "perl": "5.26.2" + }, + "GTF_FILTER": { + "python": "3.9.5" + }, + "GUNZIP_ADDITIONAL_FASTA": { + "gunzip": 1.13 + }, + "GUNZIP_GTF": { + "gunzip": 1.13 + }, + "MULTIQC_CUSTOM_BIOTYPE": { + "python": "3.9.5" + }, + "PICARD_MARKDUPLICATES": { + "picard": "3.1.1" + }, + "QUALIMAP_RNASEQ": { + "qualimap": 2.3 + }, + "RSEM_CALCULATEEXPRESSION": { + "rsem": "1.3.1", + "star": "2.7.10a" + }, + "RSEM_MERGE_COUNTS": { + "sed": 4.7 + }, + "RSEM_PREPAREREFERENCE_GENOME": { + "rsem": "1.3.1", + "star": "2.7.10a" + }, + "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" + }, + "SAMTOOLS_FLAGSTAT": { + "samtools": 1.21 + }, + "SAMTOOLS_IDXSTATS": { + "samtools": 1.21 + }, + "SAMTOOLS_INDEX": { + "samtools": 1.21 + }, + "SAMTOOLS_STATS": { + "samtools": 1.21 + }, + "STAR_GENOMEGENERATE": { + "gawk": "5.1.0", + "samtools": 1.21, + "star": "2.7.11b" + }, + "STRINGTIE_STRINGTIE": { + "stringtie": "2.2.3" + }, + "SUBREAD_FEATURECOUNTS": { + "subread": "2.0.6" + }, + "UCSC_BEDCLIP": { + "ucsc": 377 + }, + "UCSC_BEDGRAPHTOBIGWIG": { + "ucsc": 469 + }, + "UNTAR_SALMON_INDEX": { + "untar": 1.34 + } + }, + [ + "custom", + "custom/out", + "custom/out/genome_gfp.fasta", + "custom/out/genome_gfp.gtf", + "multiqc", + "multiqc/multiqc_report.html", + "multiqc/multiqc_report_data", + "multiqc/multiqc_report_data/junction_saturation_known.txt", + "multiqc/multiqc_report_data/junction_saturation_novel.txt", + "multiqc/multiqc_report_data/llms-full.txt", + "multiqc/multiqc_report_data/multiqc.log", + "multiqc/multiqc_report_data/multiqc.parquet", + "multiqc/multiqc_report_data/multiqc_citations.txt", + "multiqc/multiqc_report_data/multiqc_data.json", + "multiqc/multiqc_report_data/multiqc_dupradar.txt", + "multiqc/multiqc_report_data/multiqc_fail_strand_check_table.txt", + "multiqc/multiqc_report_data/multiqc_featurecounts_biotype_plot.txt", + "multiqc/multiqc_report_data/multiqc_general_stats.txt", + "multiqc/multiqc_report_data/multiqc_picard_dups.txt", + "multiqc/multiqc_report_data/multiqc_rsem.txt", + "multiqc/multiqc_report_data/multiqc_rseqc_bam_stat.txt", + "multiqc/multiqc_report_data/multiqc_rseqc_infer_experiment.txt", + "multiqc/multiqc_report_data/multiqc_rseqc_junction_annotation.txt", + "multiqc/multiqc_report_data/multiqc_rseqc_read_distribution.txt", + "multiqc/multiqc_report_data/multiqc_samtools_flagstat.txt", + "multiqc/multiqc_report_data/multiqc_samtools_idxstats.txt", + "multiqc/multiqc_report_data/multiqc_samtools_stats.txt", + "multiqc/multiqc_report_data/multiqc_software_versions.txt", + "multiqc/multiqc_report_data/multiqc_sources.txt", + "multiqc/multiqc_report_data/multiqc_star_rsem_deseq2_clustering.txt", + "multiqc/multiqc_report_data/multiqc_star_rsem_deseq2_pca.txt", + "multiqc/multiqc_report_data/picard_MarkIlluminaAdapters_histogram.txt", + "multiqc/multiqc_report_data/picard_MeanQualityByCycle_histogram.txt", + "multiqc/multiqc_report_data/picard_MeanQualityByCycle_histogram_1.txt", + "multiqc/multiqc_report_data/picard_QualityScoreDistribution_histogram.txt", + "multiqc/multiqc_report_data/picard_deduplication.txt", + "multiqc/multiqc_report_data/qualimap_gene_coverage_profile_Counts.txt", + "multiqc/multiqc_report_data/qualimap_gene_coverage_profile_Normalised.txt", + "multiqc/multiqc_report_data/qualimap_genomic_origin.txt", + "multiqc/multiqc_report_data/qualimap_rnaseq_cov_hist.txt", + "multiqc/multiqc_report_data/qualimap_rnaseq_genome_results.txt", + "multiqc/multiqc_report_data/rsem_assignment_plot.txt", + "multiqc/multiqc_report_data/rsem_multimapping_rates.txt", + "multiqc/multiqc_report_data/rseqc_bam_stat.txt", + "multiqc/multiqc_report_data/rseqc_infer_experiment_plot.txt", + "multiqc/multiqc_report_data/rseqc_inner_distance.txt", + "multiqc/multiqc_report_data/rseqc_inner_distance_plot_Counts.txt", + "multiqc/multiqc_report_data/rseqc_inner_distance_plot_Percentages.txt", + "multiqc/multiqc_report_data/rseqc_junction_annotation_junctions_plot_Events.txt", + "multiqc/multiqc_report_data/rseqc_junction_annotation_junctions_plot_Junctions.txt", + "multiqc/multiqc_report_data/rseqc_junction_saturation_all.txt", + "multiqc/multiqc_report_data/rseqc_junction_saturation_plot_All_Junctions.txt", + "multiqc/multiqc_report_data/rseqc_junction_saturation_plot_Known_Junctions.txt", + "multiqc/multiqc_report_data/rseqc_junction_saturation_plot_Novel_Junctions.txt", + "multiqc/multiqc_report_data/rseqc_read_distribution_plot.txt", + "multiqc/multiqc_report_data/rseqc_read_dups.txt", + "multiqc/multiqc_report_data/rseqc_read_dups_plot.txt", + "multiqc/multiqc_report_data/samtools-flagstat-pct-table.txt", + "multiqc/multiqc_report_data/samtools-flagstat-table.txt", + "multiqc/multiqc_report_data/samtools-idxstats-mapped-reads-plot_Normalised_Counts.txt", + "multiqc/multiqc_report_data/samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts.txt", + "multiqc/multiqc_report_data/samtools-idxstats-mapped-reads-plot_Raw_Counts.txt", + "multiqc/multiqc_report_data/samtools-stats-dp.txt", + "multiqc/multiqc_report_data/samtools_alignment_plot.txt", + "multiqc/multiqc_report_plots", + "multiqc/multiqc_report_plots/pdf", + "multiqc/multiqc_report_plots/pdf/dupradar.pdf", + "multiqc/multiqc_report_plots/pdf/fail_strand_check_table.pdf", + "multiqc/multiqc_report_plots/pdf/featurecounts_biotype_plot-cnt.pdf", + "multiqc/multiqc_report_plots/pdf/featurecounts_biotype_plot-pct.pdf", + "multiqc/multiqc_report_plots/pdf/picard_deduplication-cnt.pdf", + "multiqc/multiqc_report_plots/pdf/picard_deduplication-pct.pdf", + "multiqc/multiqc_report_plots/pdf/qualimap_gene_coverage_profile_Counts.pdf", + "multiqc/multiqc_report_plots/pdf/qualimap_gene_coverage_profile_Normalised.pdf", + "multiqc/multiqc_report_plots/pdf/qualimap_genomic_origin-cnt.pdf", + "multiqc/multiqc_report_plots/pdf/qualimap_genomic_origin-pct.pdf", + "multiqc/multiqc_report_plots/pdf/rsem_assignment_plot-cnt.pdf", + "multiqc/multiqc_report_plots/pdf/rsem_assignment_plot-pct.pdf", + "multiqc/multiqc_report_plots/pdf/rsem_multimapping_rates.pdf", + "multiqc/multiqc_report_plots/pdf/rseqc_bam_stat.pdf", + "multiqc/multiqc_report_plots/pdf/rseqc_infer_experiment_plot.pdf", + "multiqc/multiqc_report_plots/pdf/rseqc_inner_distance_plot_Counts.pdf", + "multiqc/multiqc_report_plots/pdf/rseqc_inner_distance_plot_Percentages.pdf", + "multiqc/multiqc_report_plots/pdf/rseqc_junction_annotation_junctions_plot_Events-cnt.pdf", + "multiqc/multiqc_report_plots/pdf/rseqc_junction_annotation_junctions_plot_Events-pct.pdf", + "multiqc/multiqc_report_plots/pdf/rseqc_junction_annotation_junctions_plot_Junctions-cnt.pdf", + "multiqc/multiqc_report_plots/pdf/rseqc_junction_annotation_junctions_plot_Junctions-pct.pdf", + "multiqc/multiqc_report_plots/pdf/rseqc_junction_saturation_plot_All_Junctions.pdf", + "multiqc/multiqc_report_plots/pdf/rseqc_junction_saturation_plot_Known_Junctions.pdf", + "multiqc/multiqc_report_plots/pdf/rseqc_junction_saturation_plot_Novel_Junctions.pdf", + "multiqc/multiqc_report_plots/pdf/rseqc_read_distribution_plot-cnt.pdf", + "multiqc/multiqc_report_plots/pdf/rseqc_read_distribution_plot-pct.pdf", + "multiqc/multiqc_report_plots/pdf/rseqc_read_dups_plot.pdf", + "multiqc/multiqc_report_plots/pdf/samtools-flagstat-pct-table.pdf", + "multiqc/multiqc_report_plots/pdf/samtools-flagstat-table.pdf", + "multiqc/multiqc_report_plots/pdf/samtools-idxstats-mapped-reads-plot_Normalised_Counts-cnt.pdf", + "multiqc/multiqc_report_plots/pdf/samtools-idxstats-mapped-reads-plot_Normalised_Counts-log.pdf", + "multiqc/multiqc_report_plots/pdf/samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts-cnt.pdf", + "multiqc/multiqc_report_plots/pdf/samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts-log.pdf", + "multiqc/multiqc_report_plots/pdf/samtools-idxstats-mapped-reads-plot_Raw_Counts-cnt.pdf", + "multiqc/multiqc_report_plots/pdf/samtools-idxstats-mapped-reads-plot_Raw_Counts-log.pdf", + "multiqc/multiqc_report_plots/pdf/samtools-stats-dp.pdf", + "multiqc/multiqc_report_plots/pdf/samtools_alignment_plot-cnt.pdf", + "multiqc/multiqc_report_plots/pdf/samtools_alignment_plot-pct.pdf", + "multiqc/multiqc_report_plots/pdf/star_rsem_deseq2_clustering.pdf", + "multiqc/multiqc_report_plots/pdf/star_rsem_deseq2_pca.pdf", + "multiqc/multiqc_report_plots/png", + "multiqc/multiqc_report_plots/png/dupradar.png", + "multiqc/multiqc_report_plots/png/fail_strand_check_table.png", + "multiqc/multiqc_report_plots/png/featurecounts_biotype_plot-cnt.png", + "multiqc/multiqc_report_plots/png/featurecounts_biotype_plot-pct.png", + "multiqc/multiqc_report_plots/png/picard_deduplication-cnt.png", + "multiqc/multiqc_report_plots/png/picard_deduplication-pct.png", + "multiqc/multiqc_report_plots/png/qualimap_gene_coverage_profile_Counts.png", + "multiqc/multiqc_report_plots/png/qualimap_gene_coverage_profile_Normalised.png", + "multiqc/multiqc_report_plots/png/qualimap_genomic_origin-cnt.png", + "multiqc/multiqc_report_plots/png/qualimap_genomic_origin-pct.png", + "multiqc/multiqc_report_plots/png/rsem_assignment_plot-cnt.png", + "multiqc/multiqc_report_plots/png/rsem_assignment_plot-pct.png", + "multiqc/multiqc_report_plots/png/rsem_multimapping_rates.png", + "multiqc/multiqc_report_plots/png/rseqc_bam_stat.png", + "multiqc/multiqc_report_plots/png/rseqc_infer_experiment_plot.png", + "multiqc/multiqc_report_plots/png/rseqc_inner_distance_plot_Counts.png", + "multiqc/multiqc_report_plots/png/rseqc_inner_distance_plot_Percentages.png", + "multiqc/multiqc_report_plots/png/rseqc_junction_annotation_junctions_plot_Events-cnt.png", + "multiqc/multiqc_report_plots/png/rseqc_junction_annotation_junctions_plot_Events-pct.png", + "multiqc/multiqc_report_plots/png/rseqc_junction_annotation_junctions_plot_Junctions-cnt.png", + "multiqc/multiqc_report_plots/png/rseqc_junction_annotation_junctions_plot_Junctions-pct.png", + "multiqc/multiqc_report_plots/png/rseqc_junction_saturation_plot_All_Junctions.png", + "multiqc/multiqc_report_plots/png/rseqc_junction_saturation_plot_Known_Junctions.png", + "multiqc/multiqc_report_plots/png/rseqc_junction_saturation_plot_Novel_Junctions.png", + "multiqc/multiqc_report_plots/png/rseqc_read_distribution_plot-cnt.png", + "multiqc/multiqc_report_plots/png/rseqc_read_distribution_plot-pct.png", + "multiqc/multiqc_report_plots/png/rseqc_read_dups_plot.png", + "multiqc/multiqc_report_plots/png/samtools-flagstat-pct-table.png", + "multiqc/multiqc_report_plots/png/samtools-flagstat-table.png", + "multiqc/multiqc_report_plots/png/samtools-idxstats-mapped-reads-plot_Normalised_Counts-cnt.png", + "multiqc/multiqc_report_plots/png/samtools-idxstats-mapped-reads-plot_Normalised_Counts-log.png", + "multiqc/multiqc_report_plots/png/samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts-cnt.png", + "multiqc/multiqc_report_plots/png/samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts-log.png", + "multiqc/multiqc_report_plots/png/samtools-idxstats-mapped-reads-plot_Raw_Counts-cnt.png", + "multiqc/multiqc_report_plots/png/samtools-idxstats-mapped-reads-plot_Raw_Counts-log.png", + "multiqc/multiqc_report_plots/png/samtools-stats-dp.png", + "multiqc/multiqc_report_plots/png/samtools_alignment_plot-cnt.png", + "multiqc/multiqc_report_plots/png/samtools_alignment_plot-pct.png", + "multiqc/multiqc_report_plots/png/star_rsem_deseq2_clustering.png", + "multiqc/multiqc_report_plots/png/star_rsem_deseq2_pca.png", + "multiqc/multiqc_report_plots/svg", + "multiqc/multiqc_report_plots/svg/dupradar.svg", + "multiqc/multiqc_report_plots/svg/fail_strand_check_table.svg", + "multiqc/multiqc_report_plots/svg/featurecounts_biotype_plot-cnt.svg", + "multiqc/multiqc_report_plots/svg/featurecounts_biotype_plot-pct.svg", + "multiqc/multiqc_report_plots/svg/picard_deduplication-cnt.svg", + "multiqc/multiqc_report_plots/svg/picard_deduplication-pct.svg", + "multiqc/multiqc_report_plots/svg/qualimap_gene_coverage_profile_Counts.svg", + "multiqc/multiqc_report_plots/svg/qualimap_gene_coverage_profile_Normalised.svg", + "multiqc/multiqc_report_plots/svg/qualimap_genomic_origin-cnt.svg", + "multiqc/multiqc_report_plots/svg/qualimap_genomic_origin-pct.svg", + "multiqc/multiqc_report_plots/svg/rsem_assignment_plot-cnt.svg", + "multiqc/multiqc_report_plots/svg/rsem_assignment_plot-pct.svg", + "multiqc/multiqc_report_plots/svg/rsem_multimapping_rates.svg", + "multiqc/multiqc_report_plots/svg/rseqc_bam_stat.svg", + "multiqc/multiqc_report_plots/svg/rseqc_infer_experiment_plot.svg", + "multiqc/multiqc_report_plots/svg/rseqc_inner_distance_plot_Counts.svg", + "multiqc/multiqc_report_plots/svg/rseqc_inner_distance_plot_Percentages.svg", + "multiqc/multiqc_report_plots/svg/rseqc_junction_annotation_junctions_plot_Events-cnt.svg", + "multiqc/multiqc_report_plots/svg/rseqc_junction_annotation_junctions_plot_Events-pct.svg", + "multiqc/multiqc_report_plots/svg/rseqc_junction_annotation_junctions_plot_Junctions-cnt.svg", + "multiqc/multiqc_report_plots/svg/rseqc_junction_annotation_junctions_plot_Junctions-pct.svg", + "multiqc/multiqc_report_plots/svg/rseqc_junction_saturation_plot_All_Junctions.svg", + "multiqc/multiqc_report_plots/svg/rseqc_junction_saturation_plot_Known_Junctions.svg", + "multiqc/multiqc_report_plots/svg/rseqc_junction_saturation_plot_Novel_Junctions.svg", + "multiqc/multiqc_report_plots/svg/rseqc_read_distribution_plot-cnt.svg", + "multiqc/multiqc_report_plots/svg/rseqc_read_distribution_plot-pct.svg", + "multiqc/multiqc_report_plots/svg/rseqc_read_dups_plot.svg", + "multiqc/multiqc_report_plots/svg/samtools-flagstat-pct-table.svg", + "multiqc/multiqc_report_plots/svg/samtools-flagstat-table.svg", + "multiqc/multiqc_report_plots/svg/samtools-idxstats-mapped-reads-plot_Normalised_Counts-cnt.svg", + "multiqc/multiqc_report_plots/svg/samtools-idxstats-mapped-reads-plot_Normalised_Counts-log.svg", + "multiqc/multiqc_report_plots/svg/samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts-cnt.svg", + "multiqc/multiqc_report_plots/svg/samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts-log.svg", + "multiqc/multiqc_report_plots/svg/samtools-idxstats-mapped-reads-plot_Raw_Counts-cnt.svg", + "multiqc/multiqc_report_plots/svg/samtools-idxstats-mapped-reads-plot_Raw_Counts-log.svg", + "multiqc/multiqc_report_plots/svg/samtools-stats-dp.svg", + "multiqc/multiqc_report_plots/svg/samtools_alignment_plot-cnt.svg", + "multiqc/multiqc_report_plots/svg/samtools_alignment_plot-pct.svg", + "multiqc/multiqc_report_plots/svg/star_rsem_deseq2_clustering.svg", + "multiqc/multiqc_report_plots/svg/star_rsem_deseq2_pca.svg", + "pipeline_info", + "pipeline_info/nf_core_rnaseq_software_mqc_versions.yml", + "rsem", + "rsem/RAP1_IAA_30M_REP1.genes.results", + "rsem/RAP1_IAA_30M_REP1.isoforms.results", + "rsem/RAP1_IAA_30M_REP1.stat", + "rsem/RAP1_IAA_30M_REP1.stat/RAP1_IAA_30M_REP1.cnt", + "rsem/RAP1_IAA_30M_REP1.stat/RAP1_IAA_30M_REP1.model", + "rsem/RAP1_IAA_30M_REP1.stat/RAP1_IAA_30M_REP1.theta", + "rsem/RAP1_IAA_30M_REP1.transcript.bam", + "rsem/RAP1_UNINDUCED_REP1.genes.results", + "rsem/RAP1_UNINDUCED_REP1.isoforms.results", + "rsem/RAP1_UNINDUCED_REP1.stat", + "rsem/RAP1_UNINDUCED_REP1.stat/RAP1_UNINDUCED_REP1.cnt", + "rsem/RAP1_UNINDUCED_REP1.stat/RAP1_UNINDUCED_REP1.model", + "rsem/RAP1_UNINDUCED_REP1.stat/RAP1_UNINDUCED_REP1.theta", + "rsem/RAP1_UNINDUCED_REP1.transcript.bam", + "rsem/RAP1_UNINDUCED_REP2.genes.results", + "rsem/RAP1_UNINDUCED_REP2.isoforms.results", + "rsem/RAP1_UNINDUCED_REP2.stat", + "rsem/RAP1_UNINDUCED_REP2.stat/RAP1_UNINDUCED_REP2.cnt", + "rsem/RAP1_UNINDUCED_REP2.stat/RAP1_UNINDUCED_REP2.model", + "rsem/RAP1_UNINDUCED_REP2.stat/RAP1_UNINDUCED_REP2.theta", + "rsem/RAP1_UNINDUCED_REP2.transcript.bam", + "rsem/WT_REP1.genes.results", + "rsem/WT_REP1.isoforms.results", + "rsem/WT_REP1.stat", + "rsem/WT_REP1.stat/WT_REP1.cnt", + "rsem/WT_REP1.stat/WT_REP1.model", + "rsem/WT_REP1.stat/WT_REP1.theta", + "rsem/WT_REP1.transcript.bam", + "rsem/WT_REP2.genes.results", + "rsem/WT_REP2.isoforms.results", + "rsem/WT_REP2.stat", + "rsem/WT_REP2.stat/WT_REP2.cnt", + "rsem/WT_REP2.stat/WT_REP2.model", + "rsem/WT_REP2.stat/WT_REP2.theta", + "rsem/WT_REP2.transcript.bam", + "rsem/rsem.merged.gene_counts.tsv", + "rsem/rsem.merged.gene_tpm.tsv", + "rsem/rsem.merged.transcript_counts.tsv", + "rsem/rsem.merged.transcript_tpm.tsv", + "samtools", + "samtools/RAP1_IAA_30M_REP1.sorted.bam.bai", + "samtools/RAP1_UNINDUCED_REP1.sorted.bam.bai", + "samtools/RAP1_UNINDUCED_REP2.sorted.bam.bai", + "samtools/WT_REP1.sorted.bam.bai", + "samtools/WT_REP2.sorted.bam.bai", + "star_rsem", + "star_rsem/RAP1_IAA_30M_REP1.markdup.sorted.bam", + "star_rsem/RAP1_IAA_30M_REP1.markdup.sorted.bam.bai", + "star_rsem/RAP1_UNINDUCED_REP1.markdup.sorted.bam", + "star_rsem/RAP1_UNINDUCED_REP1.markdup.sorted.bam.bai", + "star_rsem/RAP1_UNINDUCED_REP2.markdup.sorted.bam", + "star_rsem/RAP1_UNINDUCED_REP2.markdup.sorted.bam.bai", + "star_rsem/WT_REP1.markdup.sorted.bam", + "star_rsem/WT_REP1.markdup.sorted.bam.bai", + "star_rsem/WT_REP2.markdup.sorted.bam", + "star_rsem/WT_REP2.markdup.sorted.bam.bai", + "star_rsem/bigwig", + "star_rsem/bigwig/RAP1_IAA_30M_REP1.forward.bigWig", + "star_rsem/bigwig/RAP1_IAA_30M_REP1.reverse.bigWig", + "star_rsem/bigwig/RAP1_UNINDUCED_REP1.forward.bigWig", + "star_rsem/bigwig/RAP1_UNINDUCED_REP1.reverse.bigWig", + "star_rsem/bigwig/RAP1_UNINDUCED_REP2.forward.bigWig", + "star_rsem/bigwig/RAP1_UNINDUCED_REP2.reverse.bigWig", + "star_rsem/bigwig/WT_REP1.forward.bigWig", + "star_rsem/bigwig/WT_REP1.reverse.bigWig", + "star_rsem/bigwig/WT_REP2.forward.bigWig", + "star_rsem/bigwig/WT_REP2.reverse.bigWig", + "star_rsem/deseq2_qc", + "star_rsem/deseq2_qc/R_sessionInfo.log", + "star_rsem/deseq2_qc/deseq2.dds.RData", + "star_rsem/deseq2_qc/deseq2.pca.vals.txt", + "star_rsem/deseq2_qc/deseq2.plots.pdf", + "star_rsem/deseq2_qc/deseq2.sample.dists.txt", + "star_rsem/deseq2_qc/size_factors", + "star_rsem/deseq2_qc/size_factors/RAP1_IAA_30M_REP1.txt", + "star_rsem/deseq2_qc/size_factors/RAP1_UNINDUCED_REP1.txt", + "star_rsem/deseq2_qc/size_factors/RAP1_UNINDUCED_REP2.txt", + "star_rsem/deseq2_qc/size_factors/WT_REP1.txt", + "star_rsem/deseq2_qc/size_factors/WT_REP2.txt", + "star_rsem/deseq2_qc/size_factors/deseq2.size_factors.RData", + "star_rsem/dupradar", + "star_rsem/dupradar/box_plot", + "star_rsem/dupradar/box_plot/RAP1_IAA_30M_REP1_duprateExpBoxplot.pdf", + "star_rsem/dupradar/box_plot/RAP1_UNINDUCED_REP1_duprateExpBoxplot.pdf", + "star_rsem/dupradar/box_plot/RAP1_UNINDUCED_REP2_duprateExpBoxplot.pdf", + "star_rsem/dupradar/box_plot/WT_REP1_duprateExpBoxplot.pdf", + "star_rsem/dupradar/box_plot/WT_REP2_duprateExpBoxplot.pdf", + "star_rsem/dupradar/gene_data", + "star_rsem/dupradar/gene_data/RAP1_IAA_30M_REP1_dupMatrix.txt", + "star_rsem/dupradar/gene_data/RAP1_UNINDUCED_REP1_dupMatrix.txt", + "star_rsem/dupradar/gene_data/RAP1_UNINDUCED_REP2_dupMatrix.txt", + "star_rsem/dupradar/gene_data/WT_REP1_dupMatrix.txt", + "star_rsem/dupradar/gene_data/WT_REP2_dupMatrix.txt", + "star_rsem/dupradar/histogram", + "star_rsem/dupradar/histogram/RAP1_IAA_30M_REP1_expressionHist.pdf", + "star_rsem/dupradar/histogram/RAP1_UNINDUCED_REP1_expressionHist.pdf", + "star_rsem/dupradar/histogram/RAP1_UNINDUCED_REP2_expressionHist.pdf", + "star_rsem/dupradar/histogram/WT_REP1_expressionHist.pdf", + "star_rsem/dupradar/histogram/WT_REP2_expressionHist.pdf", + "star_rsem/dupradar/intercepts_slope", + "star_rsem/dupradar/intercepts_slope/RAP1_IAA_30M_REP1_intercept_slope.txt", + "star_rsem/dupradar/intercepts_slope/RAP1_UNINDUCED_REP1_intercept_slope.txt", + "star_rsem/dupradar/intercepts_slope/RAP1_UNINDUCED_REP2_intercept_slope.txt", + "star_rsem/dupradar/intercepts_slope/WT_REP1_intercept_slope.txt", + "star_rsem/dupradar/intercepts_slope/WT_REP2_intercept_slope.txt", + "star_rsem/dupradar/scatter_plot", + "star_rsem/dupradar/scatter_plot/RAP1_IAA_30M_REP1_duprateExpDens.pdf", + "star_rsem/dupradar/scatter_plot/RAP1_UNINDUCED_REP1_duprateExpDens.pdf", + "star_rsem/dupradar/scatter_plot/RAP1_UNINDUCED_REP2_duprateExpDens.pdf", + "star_rsem/dupradar/scatter_plot/WT_REP1_duprateExpDens.pdf", + "star_rsem/dupradar/scatter_plot/WT_REP2_duprateExpDens.pdf", + "star_rsem/featurecounts", + "star_rsem/featurecounts/RAP1_IAA_30M_REP1.biotype_counts_mqc.tsv", + "star_rsem/featurecounts/RAP1_IAA_30M_REP1.biotype_counts_rrna_mqc.tsv", + "star_rsem/featurecounts/RAP1_IAA_30M_REP1.featureCounts.tsv", + "star_rsem/featurecounts/RAP1_IAA_30M_REP1.featureCounts.tsv.summary", + "star_rsem/featurecounts/RAP1_UNINDUCED_REP1.biotype_counts_mqc.tsv", + "star_rsem/featurecounts/RAP1_UNINDUCED_REP1.biotype_counts_rrna_mqc.tsv", + "star_rsem/featurecounts/RAP1_UNINDUCED_REP1.featureCounts.tsv", + "star_rsem/featurecounts/RAP1_UNINDUCED_REP1.featureCounts.tsv.summary", + "star_rsem/featurecounts/RAP1_UNINDUCED_REP2.biotype_counts_mqc.tsv", + "star_rsem/featurecounts/RAP1_UNINDUCED_REP2.biotype_counts_rrna_mqc.tsv", + "star_rsem/featurecounts/RAP1_UNINDUCED_REP2.featureCounts.tsv", + "star_rsem/featurecounts/RAP1_UNINDUCED_REP2.featureCounts.tsv.summary", + "star_rsem/featurecounts/WT_REP1.biotype_counts_mqc.tsv", + "star_rsem/featurecounts/WT_REP1.biotype_counts_rrna_mqc.tsv", + "star_rsem/featurecounts/WT_REP1.featureCounts.tsv", + "star_rsem/featurecounts/WT_REP1.featureCounts.tsv.summary", + "star_rsem/featurecounts/WT_REP2.biotype_counts_mqc.tsv", + "star_rsem/featurecounts/WT_REP2.biotype_counts_rrna_mqc.tsv", + "star_rsem/featurecounts/WT_REP2.featureCounts.tsv", + "star_rsem/featurecounts/WT_REP2.featureCounts.tsv.summary", + "star_rsem/picard_metrics", + "star_rsem/picard_metrics/RAP1_IAA_30M_REP1.markdup.sorted.MarkDuplicates.metrics.txt", + "star_rsem/picard_metrics/RAP1_UNINDUCED_REP1.markdup.sorted.MarkDuplicates.metrics.txt", + "star_rsem/picard_metrics/RAP1_UNINDUCED_REP2.markdup.sorted.MarkDuplicates.metrics.txt", + "star_rsem/picard_metrics/WT_REP1.markdup.sorted.MarkDuplicates.metrics.txt", + "star_rsem/picard_metrics/WT_REP2.markdup.sorted.MarkDuplicates.metrics.txt", + "star_rsem/qualimap", + "star_rsem/qualimap/RAP1_IAA_30M_REP1", + "star_rsem/qualimap/RAP1_IAA_30M_REP1/css", + "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/agogo.css", + "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/ajax-loader.gif", + "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/basic.css", + "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/bgfooter.png", + "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/bgtop.png", + "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/comment-bright.png", + "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/comment-close.png", + "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/comment.png", + "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/doctools.js", + "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/down-pressed.png", + "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/down.png", + "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/file.png", + "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/jquery.js", + "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/minus.png", + "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/plus.png", + "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/pygments.css", + "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/qualimap_logo_small.png", + "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/report.css", + "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/searchtools.js", + "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/underscore.js", + "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/up-pressed.png", + "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/up.png", + "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/websupport.js", + "star_rsem/qualimap/RAP1_IAA_30M_REP1/images_qualimapReport", + "star_rsem/qualimap/RAP1_IAA_30M_REP1/images_qualimapReport/Coverage Profile Along Genes (High).png", + "star_rsem/qualimap/RAP1_IAA_30M_REP1/images_qualimapReport/Coverage Profile Along Genes (Low).png", + "star_rsem/qualimap/RAP1_IAA_30M_REP1/images_qualimapReport/Coverage Profile Along Genes (Total).png", + "star_rsem/qualimap/RAP1_IAA_30M_REP1/images_qualimapReport/Junction Analysis.png", + "star_rsem/qualimap/RAP1_IAA_30M_REP1/images_qualimapReport/Reads Genomic Origin.png", + "star_rsem/qualimap/RAP1_IAA_30M_REP1/images_qualimapReport/Transcript coverage histogram.png", + "star_rsem/qualimap/RAP1_IAA_30M_REP1/qualimapReport.html", + "star_rsem/qualimap/RAP1_IAA_30M_REP1/raw_data_qualimapReport", + "star_rsem/qualimap/RAP1_IAA_30M_REP1/raw_data_qualimapReport/coverage_profile_along_genes_(high).txt", + "star_rsem/qualimap/RAP1_IAA_30M_REP1/raw_data_qualimapReport/coverage_profile_along_genes_(low).txt", + "star_rsem/qualimap/RAP1_IAA_30M_REP1/raw_data_qualimapReport/coverage_profile_along_genes_(total).txt", + "star_rsem/qualimap/RAP1_IAA_30M_REP1/rnaseq_qc_results.txt", + "star_rsem/qualimap/RAP1_UNINDUCED_REP1", + "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css", + "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/agogo.css", + "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/ajax-loader.gif", + "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/basic.css", + "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/bgfooter.png", + "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/bgtop.png", + "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/comment-bright.png", + "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/comment-close.png", + "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/comment.png", + "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/doctools.js", + "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/down-pressed.png", + "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/down.png", + "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/file.png", + "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/jquery.js", + "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/minus.png", + "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/plus.png", + "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/pygments.css", + "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/qualimap_logo_small.png", + "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/report.css", + "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/searchtools.js", + "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/underscore.js", + "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/up-pressed.png", + "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/up.png", + "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/websupport.js", + "star_rsem/qualimap/RAP1_UNINDUCED_REP1/images_qualimapReport", + "star_rsem/qualimap/RAP1_UNINDUCED_REP1/images_qualimapReport/Coverage Profile Along Genes (High).png", + "star_rsem/qualimap/RAP1_UNINDUCED_REP1/images_qualimapReport/Coverage Profile Along Genes (Low).png", + "star_rsem/qualimap/RAP1_UNINDUCED_REP1/images_qualimapReport/Coverage Profile Along Genes (Total).png", + "star_rsem/qualimap/RAP1_UNINDUCED_REP1/images_qualimapReport/Junction Analysis.png", + "star_rsem/qualimap/RAP1_UNINDUCED_REP1/images_qualimapReport/Reads Genomic Origin.png", + "star_rsem/qualimap/RAP1_UNINDUCED_REP1/images_qualimapReport/Transcript coverage histogram.png", + "star_rsem/qualimap/RAP1_UNINDUCED_REP1/qualimapReport.html", + "star_rsem/qualimap/RAP1_UNINDUCED_REP1/raw_data_qualimapReport", + "star_rsem/qualimap/RAP1_UNINDUCED_REP1/raw_data_qualimapReport/coverage_profile_along_genes_(high).txt", + "star_rsem/qualimap/RAP1_UNINDUCED_REP1/raw_data_qualimapReport/coverage_profile_along_genes_(low).txt", + "star_rsem/qualimap/RAP1_UNINDUCED_REP1/raw_data_qualimapReport/coverage_profile_along_genes_(total).txt", + "star_rsem/qualimap/RAP1_UNINDUCED_REP1/rnaseq_qc_results.txt", + "star_rsem/qualimap/RAP1_UNINDUCED_REP2", + "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css", + "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/agogo.css", + "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/ajax-loader.gif", + "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/basic.css", + "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/bgfooter.png", + "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/bgtop.png", + "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/comment-bright.png", + "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/comment-close.png", + "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/comment.png", + "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/doctools.js", + "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/down-pressed.png", + "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/down.png", + "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/file.png", + "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/jquery.js", + "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/minus.png", + "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/plus.png", + "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/pygments.css", + "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/qualimap_logo_small.png", + "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/report.css", + "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/searchtools.js", + "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/underscore.js", + "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/up-pressed.png", + "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/up.png", + "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/websupport.js", + "star_rsem/qualimap/RAP1_UNINDUCED_REP2/images_qualimapReport", + "star_rsem/qualimap/RAP1_UNINDUCED_REP2/images_qualimapReport/Coverage Profile Along Genes (High).png", + "star_rsem/qualimap/RAP1_UNINDUCED_REP2/images_qualimapReport/Coverage Profile Along Genes (Low).png", + "star_rsem/qualimap/RAP1_UNINDUCED_REP2/images_qualimapReport/Coverage Profile Along Genes (Total).png", + "star_rsem/qualimap/RAP1_UNINDUCED_REP2/images_qualimapReport/Junction Analysis.png", + "star_rsem/qualimap/RAP1_UNINDUCED_REP2/images_qualimapReport/Reads Genomic Origin.png", + "star_rsem/qualimap/RAP1_UNINDUCED_REP2/images_qualimapReport/Transcript coverage histogram.png", + "star_rsem/qualimap/RAP1_UNINDUCED_REP2/qualimapReport.html", + "star_rsem/qualimap/RAP1_UNINDUCED_REP2/raw_data_qualimapReport", + "star_rsem/qualimap/RAP1_UNINDUCED_REP2/raw_data_qualimapReport/coverage_profile_along_genes_(high).txt", + "star_rsem/qualimap/RAP1_UNINDUCED_REP2/raw_data_qualimapReport/coverage_profile_along_genes_(low).txt", + "star_rsem/qualimap/RAP1_UNINDUCED_REP2/raw_data_qualimapReport/coverage_profile_along_genes_(total).txt", + "star_rsem/qualimap/RAP1_UNINDUCED_REP2/rnaseq_qc_results.txt", + "star_rsem/qualimap/WT_REP1", + "star_rsem/qualimap/WT_REP1/css", + "star_rsem/qualimap/WT_REP1/css/agogo.css", + "star_rsem/qualimap/WT_REP1/css/ajax-loader.gif", + "star_rsem/qualimap/WT_REP1/css/basic.css", + "star_rsem/qualimap/WT_REP1/css/bgfooter.png", + "star_rsem/qualimap/WT_REP1/css/bgtop.png", + "star_rsem/qualimap/WT_REP1/css/comment-bright.png", + "star_rsem/qualimap/WT_REP1/css/comment-close.png", + "star_rsem/qualimap/WT_REP1/css/comment.png", + "star_rsem/qualimap/WT_REP1/css/doctools.js", + "star_rsem/qualimap/WT_REP1/css/down-pressed.png", + "star_rsem/qualimap/WT_REP1/css/down.png", + "star_rsem/qualimap/WT_REP1/css/file.png", + "star_rsem/qualimap/WT_REP1/css/jquery.js", + "star_rsem/qualimap/WT_REP1/css/minus.png", + "star_rsem/qualimap/WT_REP1/css/plus.png", + "star_rsem/qualimap/WT_REP1/css/pygments.css", + "star_rsem/qualimap/WT_REP1/css/qualimap_logo_small.png", + "star_rsem/qualimap/WT_REP1/css/report.css", + "star_rsem/qualimap/WT_REP1/css/searchtools.js", + "star_rsem/qualimap/WT_REP1/css/underscore.js", + "star_rsem/qualimap/WT_REP1/css/up-pressed.png", + "star_rsem/qualimap/WT_REP1/css/up.png", + "star_rsem/qualimap/WT_REP1/css/websupport.js", + "star_rsem/qualimap/WT_REP1/images_qualimapReport", + "star_rsem/qualimap/WT_REP1/images_qualimapReport/Coverage Profile Along Genes (High).png", + "star_rsem/qualimap/WT_REP1/images_qualimapReport/Coverage Profile Along Genes (Low).png", + "star_rsem/qualimap/WT_REP1/images_qualimapReport/Coverage Profile Along Genes (Total).png", + "star_rsem/qualimap/WT_REP1/images_qualimapReport/Junction Analysis.png", + "star_rsem/qualimap/WT_REP1/images_qualimapReport/Reads Genomic Origin.png", + "star_rsem/qualimap/WT_REP1/images_qualimapReport/Transcript coverage histogram.png", + "star_rsem/qualimap/WT_REP1/qualimapReport.html", + "star_rsem/qualimap/WT_REP1/raw_data_qualimapReport", + "star_rsem/qualimap/WT_REP1/raw_data_qualimapReport/coverage_profile_along_genes_(high).txt", + "star_rsem/qualimap/WT_REP1/raw_data_qualimapReport/coverage_profile_along_genes_(low).txt", + "star_rsem/qualimap/WT_REP1/raw_data_qualimapReport/coverage_profile_along_genes_(total).txt", + "star_rsem/qualimap/WT_REP1/rnaseq_qc_results.txt", + "star_rsem/qualimap/WT_REP2", + "star_rsem/qualimap/WT_REP2/css", + "star_rsem/qualimap/WT_REP2/css/agogo.css", + "star_rsem/qualimap/WT_REP2/css/ajax-loader.gif", + "star_rsem/qualimap/WT_REP2/css/basic.css", + "star_rsem/qualimap/WT_REP2/css/bgfooter.png", + "star_rsem/qualimap/WT_REP2/css/bgtop.png", + "star_rsem/qualimap/WT_REP2/css/comment-bright.png", + "star_rsem/qualimap/WT_REP2/css/comment-close.png", + "star_rsem/qualimap/WT_REP2/css/comment.png", + "star_rsem/qualimap/WT_REP2/css/doctools.js", + "star_rsem/qualimap/WT_REP2/css/down-pressed.png", + "star_rsem/qualimap/WT_REP2/css/down.png", + "star_rsem/qualimap/WT_REP2/css/file.png", + "star_rsem/qualimap/WT_REP2/css/jquery.js", + "star_rsem/qualimap/WT_REP2/css/minus.png", + "star_rsem/qualimap/WT_REP2/css/plus.png", + "star_rsem/qualimap/WT_REP2/css/pygments.css", + "star_rsem/qualimap/WT_REP2/css/qualimap_logo_small.png", + "star_rsem/qualimap/WT_REP2/css/report.css", + "star_rsem/qualimap/WT_REP2/css/searchtools.js", + "star_rsem/qualimap/WT_REP2/css/underscore.js", + "star_rsem/qualimap/WT_REP2/css/up-pressed.png", + "star_rsem/qualimap/WT_REP2/css/up.png", + "star_rsem/qualimap/WT_REP2/css/websupport.js", + "star_rsem/qualimap/WT_REP2/images_qualimapReport", + "star_rsem/qualimap/WT_REP2/images_qualimapReport/Coverage Profile Along Genes (High).png", + "star_rsem/qualimap/WT_REP2/images_qualimapReport/Coverage Profile Along Genes (Low).png", + "star_rsem/qualimap/WT_REP2/images_qualimapReport/Coverage Profile Along Genes (Total).png", + "star_rsem/qualimap/WT_REP2/images_qualimapReport/Junction Analysis.png", + "star_rsem/qualimap/WT_REP2/images_qualimapReport/Reads Genomic Origin.png", + "star_rsem/qualimap/WT_REP2/images_qualimapReport/Transcript coverage histogram.png", + "star_rsem/qualimap/WT_REP2/qualimapReport.html", + "star_rsem/qualimap/WT_REP2/raw_data_qualimapReport", + "star_rsem/qualimap/WT_REP2/raw_data_qualimapReport/coverage_profile_along_genes_(high).txt", + "star_rsem/qualimap/WT_REP2/raw_data_qualimapReport/coverage_profile_along_genes_(low).txt", + "star_rsem/qualimap/WT_REP2/raw_data_qualimapReport/coverage_profile_along_genes_(total).txt", + "star_rsem/qualimap/WT_REP2/rnaseq_qc_results.txt", + "star_rsem/rseqc", + "star_rsem/rseqc/bam_stat", + "star_rsem/rseqc/bam_stat/RAP1_IAA_30M_REP1.bam_stat.txt", + "star_rsem/rseqc/bam_stat/RAP1_UNINDUCED_REP1.bam_stat.txt", + "star_rsem/rseqc/bam_stat/RAP1_UNINDUCED_REP2.bam_stat.txt", + "star_rsem/rseqc/bam_stat/WT_REP1.bam_stat.txt", + "star_rsem/rseqc/bam_stat/WT_REP2.bam_stat.txt", + "star_rsem/rseqc/infer_experiment", + "star_rsem/rseqc/infer_experiment/RAP1_IAA_30M_REP1.infer_experiment.txt", + "star_rsem/rseqc/infer_experiment/RAP1_UNINDUCED_REP1.infer_experiment.txt", + "star_rsem/rseqc/infer_experiment/RAP1_UNINDUCED_REP2.infer_experiment.txt", + "star_rsem/rseqc/infer_experiment/WT_REP1.infer_experiment.txt", + "star_rsem/rseqc/infer_experiment/WT_REP2.infer_experiment.txt", + "star_rsem/rseqc/inner_distance", + "star_rsem/rseqc/inner_distance/pdf", + "star_rsem/rseqc/inner_distance/pdf/RAP1_IAA_30M_REP1.inner_distance_plot.pdf", + "star_rsem/rseqc/inner_distance/pdf/WT_REP1.inner_distance_plot.pdf", + "star_rsem/rseqc/inner_distance/pdf/WT_REP2.inner_distance_plot.pdf", + "star_rsem/rseqc/inner_distance/rscript", + "star_rsem/rseqc/inner_distance/rscript/RAP1_IAA_30M_REP1.inner_distance_plot.r", + "star_rsem/rseqc/inner_distance/rscript/WT_REP1.inner_distance_plot.r", + "star_rsem/rseqc/inner_distance/rscript/WT_REP2.inner_distance_plot.r", + "star_rsem/rseqc/inner_distance/txt", + "star_rsem/rseqc/inner_distance/txt/RAP1_IAA_30M_REP1.inner_distance.txt", + "star_rsem/rseqc/inner_distance/txt/RAP1_IAA_30M_REP1.inner_distance_freq.txt", + "star_rsem/rseqc/inner_distance/txt/RAP1_IAA_30M_REP1.inner_distance_mean.txt", + "star_rsem/rseqc/inner_distance/txt/WT_REP1.inner_distance.txt", + "star_rsem/rseqc/inner_distance/txt/WT_REP1.inner_distance_freq.txt", + "star_rsem/rseqc/inner_distance/txt/WT_REP1.inner_distance_mean.txt", + "star_rsem/rseqc/inner_distance/txt/WT_REP2.inner_distance.txt", + "star_rsem/rseqc/inner_distance/txt/WT_REP2.inner_distance_freq.txt", + "star_rsem/rseqc/inner_distance/txt/WT_REP2.inner_distance_mean.txt", + "star_rsem/rseqc/junction_annotation", + "star_rsem/rseqc/junction_annotation/bed", + "star_rsem/rseqc/junction_annotation/bed/RAP1_IAA_30M_REP1.junction.Interact.bed", + "star_rsem/rseqc/junction_annotation/bed/RAP1_IAA_30M_REP1.junction.bed", + "star_rsem/rseqc/junction_annotation/bed/RAP1_UNINDUCED_REP1.junction.Interact.bed", + "star_rsem/rseqc/junction_annotation/bed/RAP1_UNINDUCED_REP1.junction.bed", + "star_rsem/rseqc/junction_annotation/bed/RAP1_UNINDUCED_REP2.junction.Interact.bed", + "star_rsem/rseqc/junction_annotation/bed/RAP1_UNINDUCED_REP2.junction.bed", + "star_rsem/rseqc/junction_annotation/bed/WT_REP1.junction.Interact.bed", + "star_rsem/rseqc/junction_annotation/bed/WT_REP1.junction.bed", + "star_rsem/rseqc/junction_annotation/bed/WT_REP2.junction.Interact.bed", + "star_rsem/rseqc/junction_annotation/bed/WT_REP2.junction.bed", + "star_rsem/rseqc/junction_annotation/log", + "star_rsem/rseqc/junction_annotation/log/RAP1_IAA_30M_REP1.junction_annotation.log", + "star_rsem/rseqc/junction_annotation/log/RAP1_UNINDUCED_REP1.junction_annotation.log", + "star_rsem/rseqc/junction_annotation/log/RAP1_UNINDUCED_REP2.junction_annotation.log", + "star_rsem/rseqc/junction_annotation/log/WT_REP1.junction_annotation.log", + "star_rsem/rseqc/junction_annotation/log/WT_REP2.junction_annotation.log", + "star_rsem/rseqc/junction_annotation/pdf", + "star_rsem/rseqc/junction_annotation/pdf/RAP1_IAA_30M_REP1.splice_events.pdf", + "star_rsem/rseqc/junction_annotation/pdf/RAP1_IAA_30M_REP1.splice_junction.pdf", + "star_rsem/rseqc/junction_annotation/pdf/RAP1_UNINDUCED_REP1.splice_events.pdf", + "star_rsem/rseqc/junction_annotation/pdf/RAP1_UNINDUCED_REP1.splice_junction.pdf", + "star_rsem/rseqc/junction_annotation/pdf/RAP1_UNINDUCED_REP2.splice_events.pdf", + "star_rsem/rseqc/junction_annotation/pdf/RAP1_UNINDUCED_REP2.splice_junction.pdf", + "star_rsem/rseqc/junction_annotation/pdf/WT_REP1.splice_events.pdf", + "star_rsem/rseqc/junction_annotation/pdf/WT_REP1.splice_junction.pdf", + "star_rsem/rseqc/junction_annotation/pdf/WT_REP2.splice_events.pdf", + "star_rsem/rseqc/junction_annotation/pdf/WT_REP2.splice_junction.pdf", + "star_rsem/rseqc/junction_annotation/rscript", + "star_rsem/rseqc/junction_annotation/rscript/RAP1_IAA_30M_REP1.junction_plot.r", + "star_rsem/rseqc/junction_annotation/rscript/RAP1_UNINDUCED_REP1.junction_plot.r", + "star_rsem/rseqc/junction_annotation/rscript/RAP1_UNINDUCED_REP2.junction_plot.r", + "star_rsem/rseqc/junction_annotation/rscript/WT_REP1.junction_plot.r", + "star_rsem/rseqc/junction_annotation/rscript/WT_REP2.junction_plot.r", + "star_rsem/rseqc/junction_annotation/xls", + "star_rsem/rseqc/junction_annotation/xls/RAP1_IAA_30M_REP1.junction.xls", + "star_rsem/rseqc/junction_annotation/xls/RAP1_UNINDUCED_REP1.junction.xls", + "star_rsem/rseqc/junction_annotation/xls/RAP1_UNINDUCED_REP2.junction.xls", + "star_rsem/rseqc/junction_annotation/xls/WT_REP1.junction.xls", + "star_rsem/rseqc/junction_annotation/xls/WT_REP2.junction.xls", + "star_rsem/rseqc/junction_saturation", + "star_rsem/rseqc/junction_saturation/pdf", + "star_rsem/rseqc/junction_saturation/pdf/RAP1_IAA_30M_REP1.junctionSaturation_plot.pdf", + "star_rsem/rseqc/junction_saturation/pdf/RAP1_UNINDUCED_REP1.junctionSaturation_plot.pdf", + "star_rsem/rseqc/junction_saturation/pdf/RAP1_UNINDUCED_REP2.junctionSaturation_plot.pdf", + "star_rsem/rseqc/junction_saturation/pdf/WT_REP1.junctionSaturation_plot.pdf", + "star_rsem/rseqc/junction_saturation/pdf/WT_REP2.junctionSaturation_plot.pdf", + "star_rsem/rseqc/junction_saturation/rscript", + "star_rsem/rseqc/junction_saturation/rscript/RAP1_IAA_30M_REP1.junctionSaturation_plot.r", + "star_rsem/rseqc/junction_saturation/rscript/RAP1_UNINDUCED_REP1.junctionSaturation_plot.r", + "star_rsem/rseqc/junction_saturation/rscript/RAP1_UNINDUCED_REP2.junctionSaturation_plot.r", + "star_rsem/rseqc/junction_saturation/rscript/WT_REP1.junctionSaturation_plot.r", + "star_rsem/rseqc/junction_saturation/rscript/WT_REP2.junctionSaturation_plot.r", + "star_rsem/rseqc/read_distribution", + "star_rsem/rseqc/read_distribution/RAP1_IAA_30M_REP1.read_distribution.txt", + "star_rsem/rseqc/read_distribution/RAP1_UNINDUCED_REP1.read_distribution.txt", + "star_rsem/rseqc/read_distribution/RAP1_UNINDUCED_REP2.read_distribution.txt", + "star_rsem/rseqc/read_distribution/WT_REP1.read_distribution.txt", + "star_rsem/rseqc/read_distribution/WT_REP2.read_distribution.txt", + "star_rsem/rseqc/read_duplication", + "star_rsem/rseqc/read_duplication/pdf", + "star_rsem/rseqc/read_duplication/pdf/RAP1_IAA_30M_REP1.DupRate_plot.pdf", + "star_rsem/rseqc/read_duplication/pdf/RAP1_UNINDUCED_REP1.DupRate_plot.pdf", + "star_rsem/rseqc/read_duplication/pdf/RAP1_UNINDUCED_REP2.DupRate_plot.pdf", + "star_rsem/rseqc/read_duplication/pdf/WT_REP1.DupRate_plot.pdf", + "star_rsem/rseqc/read_duplication/pdf/WT_REP2.DupRate_plot.pdf", + "star_rsem/rseqc/read_duplication/rscript", + "star_rsem/rseqc/read_duplication/rscript/RAP1_IAA_30M_REP1.DupRate_plot.r", + "star_rsem/rseqc/read_duplication/rscript/RAP1_UNINDUCED_REP1.DupRate_plot.r", + "star_rsem/rseqc/read_duplication/rscript/RAP1_UNINDUCED_REP2.DupRate_plot.r", + "star_rsem/rseqc/read_duplication/rscript/WT_REP1.DupRate_plot.r", + "star_rsem/rseqc/read_duplication/rscript/WT_REP2.DupRate_plot.r", + "star_rsem/rseqc/read_duplication/xls", + "star_rsem/rseqc/read_duplication/xls/RAP1_IAA_30M_REP1.pos.DupRate.xls", + "star_rsem/rseqc/read_duplication/xls/RAP1_IAA_30M_REP1.seq.DupRate.xls", + "star_rsem/rseqc/read_duplication/xls/RAP1_UNINDUCED_REP1.pos.DupRate.xls", + "star_rsem/rseqc/read_duplication/xls/RAP1_UNINDUCED_REP1.seq.DupRate.xls", + "star_rsem/rseqc/read_duplication/xls/RAP1_UNINDUCED_REP2.pos.DupRate.xls", + "star_rsem/rseqc/read_duplication/xls/RAP1_UNINDUCED_REP2.seq.DupRate.xls", + "star_rsem/rseqc/read_duplication/xls/WT_REP1.pos.DupRate.xls", + "star_rsem/rseqc/read_duplication/xls/WT_REP1.seq.DupRate.xls", + "star_rsem/rseqc/read_duplication/xls/WT_REP2.pos.DupRate.xls", + "star_rsem/rseqc/read_duplication/xls/WT_REP2.seq.DupRate.xls", + "star_rsem/samtools_stats", + "star_rsem/samtools_stats/RAP1_IAA_30M_REP1.markdup.sorted.bam.flagstat", + "star_rsem/samtools_stats/RAP1_IAA_30M_REP1.markdup.sorted.bam.idxstats", + "star_rsem/samtools_stats/RAP1_IAA_30M_REP1.markdup.sorted.bam.stats", + "star_rsem/samtools_stats/RAP1_UNINDUCED_REP1.markdup.sorted.bam.flagstat", + "star_rsem/samtools_stats/RAP1_UNINDUCED_REP1.markdup.sorted.bam.idxstats", + "star_rsem/samtools_stats/RAP1_UNINDUCED_REP1.markdup.sorted.bam.stats", + "star_rsem/samtools_stats/RAP1_UNINDUCED_REP2.markdup.sorted.bam.flagstat", + "star_rsem/samtools_stats/RAP1_UNINDUCED_REP2.markdup.sorted.bam.idxstats", + "star_rsem/samtools_stats/RAP1_UNINDUCED_REP2.markdup.sorted.bam.stats", + "star_rsem/samtools_stats/WT_REP1.markdup.sorted.bam.flagstat", + "star_rsem/samtools_stats/WT_REP1.markdup.sorted.bam.idxstats", + "star_rsem/samtools_stats/WT_REP1.markdup.sorted.bam.stats", + "star_rsem/samtools_stats/WT_REP2.markdup.sorted.bam.flagstat", + "star_rsem/samtools_stats/WT_REP2.markdup.sorted.bam.idxstats", + "star_rsem/samtools_stats/WT_REP2.markdup.sorted.bam.stats", + "star_rsem/stringtie", + "star_rsem/stringtie/RAP1_IAA_30M_REP1.ballgown", + "star_rsem/stringtie/RAP1_IAA_30M_REP1.ballgown/e2t.ctab", + "star_rsem/stringtie/RAP1_IAA_30M_REP1.ballgown/e_data.ctab", + "star_rsem/stringtie/RAP1_IAA_30M_REP1.ballgown/i2t.ctab", + "star_rsem/stringtie/RAP1_IAA_30M_REP1.ballgown/i_data.ctab", + "star_rsem/stringtie/RAP1_IAA_30M_REP1.ballgown/t_data.ctab", + "star_rsem/stringtie/RAP1_IAA_30M_REP1.coverage.gtf", + "star_rsem/stringtie/RAP1_IAA_30M_REP1.gene.abundance.txt", + "star_rsem/stringtie/RAP1_IAA_30M_REP1.transcripts.gtf", + "star_rsem/stringtie/RAP1_UNINDUCED_REP1.ballgown", + "star_rsem/stringtie/RAP1_UNINDUCED_REP1.ballgown/e2t.ctab", + "star_rsem/stringtie/RAP1_UNINDUCED_REP1.ballgown/e_data.ctab", + "star_rsem/stringtie/RAP1_UNINDUCED_REP1.ballgown/i2t.ctab", + "star_rsem/stringtie/RAP1_UNINDUCED_REP1.ballgown/i_data.ctab", + "star_rsem/stringtie/RAP1_UNINDUCED_REP1.ballgown/t_data.ctab", + "star_rsem/stringtie/RAP1_UNINDUCED_REP1.coverage.gtf", + "star_rsem/stringtie/RAP1_UNINDUCED_REP1.gene.abundance.txt", + "star_rsem/stringtie/RAP1_UNINDUCED_REP1.transcripts.gtf", + "star_rsem/stringtie/RAP1_UNINDUCED_REP2.ballgown", + "star_rsem/stringtie/RAP1_UNINDUCED_REP2.ballgown/e2t.ctab", + "star_rsem/stringtie/RAP1_UNINDUCED_REP2.ballgown/e_data.ctab", + "star_rsem/stringtie/RAP1_UNINDUCED_REP2.ballgown/i2t.ctab", + "star_rsem/stringtie/RAP1_UNINDUCED_REP2.ballgown/i_data.ctab", + "star_rsem/stringtie/RAP1_UNINDUCED_REP2.ballgown/t_data.ctab", + "star_rsem/stringtie/RAP1_UNINDUCED_REP2.coverage.gtf", + "star_rsem/stringtie/RAP1_UNINDUCED_REP2.gene.abundance.txt", + "star_rsem/stringtie/RAP1_UNINDUCED_REP2.transcripts.gtf", + "star_rsem/stringtie/WT_REP1.ballgown", + "star_rsem/stringtie/WT_REP1.ballgown/e2t.ctab", + "star_rsem/stringtie/WT_REP1.ballgown/e_data.ctab", + "star_rsem/stringtie/WT_REP1.ballgown/i2t.ctab", + "star_rsem/stringtie/WT_REP1.ballgown/i_data.ctab", + "star_rsem/stringtie/WT_REP1.ballgown/t_data.ctab", + "star_rsem/stringtie/WT_REP1.coverage.gtf", + "star_rsem/stringtie/WT_REP1.gene.abundance.txt", + "star_rsem/stringtie/WT_REP1.transcripts.gtf", + "star_rsem/stringtie/WT_REP2.ballgown", + "star_rsem/stringtie/WT_REP2.ballgown/e2t.ctab", + "star_rsem/stringtie/WT_REP2.ballgown/e_data.ctab", + "star_rsem/stringtie/WT_REP2.ballgown/i2t.ctab", + "star_rsem/stringtie/WT_REP2.ballgown/i_data.ctab", + "star_rsem/stringtie/WT_REP2.ballgown/t_data.ctab", + "star_rsem/stringtie/WT_REP2.coverage.gtf", + "star_rsem/stringtie/WT_REP2.gene.abundance.txt", + "star_rsem/stringtie/WT_REP2.transcripts.gtf" + ], + [ + "genome_gfp.fasta:md5,e23e302af63736a199985a169fdac055", + "genome_gfp.gtf:md5,c98b12c302f15731bfc36bcf297cfe28", + "multiqc_citations.txt:md5,210a3666a96ac8e0460b87f91deb9476", + "multiqc_featurecounts_biotype_plot.txt:md5,62b0407251d2f4778005401bc7256098", + "multiqc_samtools_idxstats.txt:md5,347afbde271047e89ccfafe8c81f299d", + "picard_MarkIlluminaAdapters_histogram.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "picard_MeanQualityByCycle_histogram.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "picard_QualityScoreDistribution_histogram.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "qualimap_gene_coverage_profile_Counts.txt:md5,d1587a3a2af01c0b195169f8f1da02c4", + "qualimap_gene_coverage_profile_Normalised.txt:md5,87897456d9dad56ecbf872469a050bc2", + "qualimap_rnaseq_cov_hist.txt:md5,0f31eb080dacf8ecf4516c35d94c1d31", + "rseqc_infer_experiment_plot.txt:md5,c0ddf72b026cdc54ad03e75eaa636f7e", + "samtools-idxstats-mapped-reads-plot_Normalised_Counts.txt:md5,75acd04232d1804b5f960ee4c5db4722", + "samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts.txt:md5,ae45731d8d4595f77e6b271004f3a070", + "samtools-idxstats-mapped-reads-plot_Raw_Counts.txt:md5,f84395a5a5aaeafac758a65f69e1fd8f", + "RAP1_IAA_30M_REP1.genes.results:md5,b46d4654bbd0d5305a75d9016675a285", + "RAP1_IAA_30M_REP1.isoforms.results:md5,a5515b36cc21248d758d4ed6986baed7", + "RAP1_IAA_30M_REP1.cnt:md5,34ba9a3404b025d94c89c78282c41c24", + "RAP1_IAA_30M_REP1.model:md5,53efb6613526edea16b1ca771f08268c", + "RAP1_IAA_30M_REP1.theta:md5,135a34f68fd1f9084658bb683b3442d2", + "RAP1_IAA_30M_REP1.transcript.bam:md5,84d1b1c0a611f0870d68508efe7fc0c9", + "RAP1_UNINDUCED_REP1.genes.results:md5,b48a19e3e7156d900b2c89da344f080f", + "RAP1_UNINDUCED_REP1.isoforms.results:md5,4578b1e83097e08f7f9fd6c05aae15f2", + "RAP1_UNINDUCED_REP1.cnt:md5,20b871f8f5bfd2394672dffe68f64628", + "RAP1_UNINDUCED_REP1.model:md5,ce88ff398f4737760a5eb423e034ed7f", + "RAP1_UNINDUCED_REP1.theta:md5,3803fd0acd3c328c76bbbb72b57639ef", + "RAP1_UNINDUCED_REP1.transcript.bam:md5,d51a63724c393072c5a73850601ef727", + "RAP1_UNINDUCED_REP2.genes.results:md5,b7527ddb0be1fea09125a13727a1e725", + "RAP1_UNINDUCED_REP2.isoforms.results:md5,a818e6b510912edee1fd97320f61405f", + "RAP1_UNINDUCED_REP2.cnt:md5,c14af602b0077d47fab45efe0c2aed91", + "RAP1_UNINDUCED_REP2.model:md5,0774306712bb4e1c95dc0489cbfa9017", + "RAP1_UNINDUCED_REP2.theta:md5,268e1d8ee9208c3812de22906794350b", + "RAP1_UNINDUCED_REP2.transcript.bam:md5,f891a2cc2862fea358a1707ae230fae4", + "WT_REP1.genes.results:md5,c3aaa802abfb3ac7168d911b232bd8a5", + "WT_REP1.isoforms.results:md5,9f3423606100c7661981416de4060a84", + "WT_REP1.cnt:md5,12a159048405c34a1ec2dc469707350f", + "WT_REP1.model:md5,342497fe7473520080a75dbf50e3f3ed", + "WT_REP1.theta:md5,44dbdecbeccfb0d8ece9e4f08849f176", + "WT_REP1.transcript.bam:md5,f010eef21c129a90be9f3fc6188cf6be", + "WT_REP2.genes.results:md5,fcea4e1e1a34bca6f845c66a852c2039", + "WT_REP2.isoforms.results:md5,b9e21a8e6e68aed11e75f31a1feda672", + "WT_REP2.cnt:md5,45ddb6ee6d468a0aafa9f6e0e26f2973", + "WT_REP2.model:md5,2f4eec1b6a7010b056532c55acf10a46", + "WT_REP2.theta:md5,f6668ded53d0741134058dd9e64571d0", + "WT_REP2.transcript.bam:md5,a5f965731a3fd6e523f4960d7d462f97", + "rsem.merged.gene_counts.tsv:md5,47a75de167a1b72d3a20789df389a3f7", + "rsem.merged.gene_tpm.tsv:md5,18a6dd460737434f6da1c17c1dc8aafa", + "rsem.merged.transcript_counts.tsv:md5,d3a4fa1f3bde89ee9d30114af2db3b48", + "rsem.merged.transcript_tpm.tsv:md5,efa563d0402cae35b96380592d147a72", + "RAP1_IAA_30M_REP1.sorted.bam.bai:md5,4460948fc194ba7c7fe7ad92e68132a0", + "RAP1_UNINDUCED_REP1.sorted.bam.bai:md5,ec51d038a5836721edc9f44d27c06542", + "RAP1_UNINDUCED_REP2.sorted.bam.bai:md5,21a49b49cd6afb56c387fb645d50c3e4", + "WT_REP1.sorted.bam.bai:md5,0ddc8843704fe1fc249cf1686674d6ee", + "WT_REP2.sorted.bam.bai:md5,f4d9589398b0cac3dfb3356c787ae6b5", + "RAP1_IAA_30M_REP1_dupMatrix.txt:md5,8da31020df3c5b25167345609c6d08c5", + "RAP1_UNINDUCED_REP1_dupMatrix.txt:md5,b0f61cd1f59e8873ea6a959b325bd85d", + "RAP1_UNINDUCED_REP2_dupMatrix.txt:md5,b90f05fe745bddfa28f76d4793437d45", + "WT_REP1_dupMatrix.txt:md5,e3927c65b43c103757c62000a0e52f89", + "WT_REP2_dupMatrix.txt:md5,e97a3c8d2e606d7d4b40cd33eb0b96c4", + "RAP1_IAA_30M_REP1.biotype_counts_mqc.tsv:md5,5a7a4291e8ff6cc25a4eb72dfdf06b51", + "RAP1_IAA_30M_REP1.biotype_counts_rrna_mqc.tsv:md5,dde2de0cb90e10d0195c726f768e9941", + "RAP1_IAA_30M_REP1.featureCounts.tsv:md5,9cf6f9377ea65e3bdb16b55992028d66", + "RAP1_UNINDUCED_REP1.biotype_counts_mqc.tsv:md5,eda49c97a728390a123d7b8f37c9e9e7", + "RAP1_UNINDUCED_REP1.biotype_counts_rrna_mqc.tsv:md5,845ff9059c72bc6722a8de69776e22bb", + "RAP1_UNINDUCED_REP1.featureCounts.tsv:md5,6802b684b256197adb8d7bc5479eab12", + "RAP1_UNINDUCED_REP2.biotype_counts_mqc.tsv:md5,c54291672283ef1a4df94c970ccb199f", + "RAP1_UNINDUCED_REP2.biotype_counts_rrna_mqc.tsv:md5,6d3fa4c88c7fe61f638e4624ad5e22f0", + "RAP1_UNINDUCED_REP2.featureCounts.tsv:md5,224369dcf304cc739910a1c67a885b64", + "WT_REP1.biotype_counts_mqc.tsv:md5,612ed319e2fe618f95b425893844c3f6", + "WT_REP1.biotype_counts_rrna_mqc.tsv:md5,8ef76d717492ca23764938aee8ea33a9", + "WT_REP1.featureCounts.tsv:md5,be6467e190862614491d4151fc38d0f1", + "WT_REP2.biotype_counts_mqc.tsv:md5,c04c2936bbfac3bff284f96b7233b158", + "WT_REP2.biotype_counts_rrna_mqc.tsv:md5,12294618fe44df1e7f39348372dcb481", + "WT_REP2.featureCounts.tsv:md5,da2c6d621864e2f26958e2c299708c3e", + "coverage_profile_along_genes_(high).txt:md5,31ab137e75752225365bd3d89143dbd2", + "coverage_profile_along_genes_(low).txt:md5,eaceda909bf652b8301fa0ed1bba9ae1", + "coverage_profile_along_genes_(total).txt:md5,eaceda909bf652b8301fa0ed1bba9ae1", + "coverage_profile_along_genes_(high).txt:md5,60a3cace1ababb161a8f048a4684d421", + "coverage_profile_along_genes_(low).txt:md5,0f3c3aa4e32495bc2fe323ca3b9b6dd5", + "coverage_profile_along_genes_(total).txt:md5,0f3c3aa4e32495bc2fe323ca3b9b6dd5", + "coverage_profile_along_genes_(high).txt:md5,125b9b3d568aa7b394c1f5b005a828ef", + "coverage_profile_along_genes_(low).txt:md5,8a63efdae22d5cb9bd4b1404020c2956", + "coverage_profile_along_genes_(total).txt:md5,8a63efdae22d5cb9bd4b1404020c2956", + "coverage_profile_along_genes_(high).txt:md5,4dc80c27b5e8dabe5022c1d0609b111b", + "coverage_profile_along_genes_(low).txt:md5,b7058ee3f437638f5cf567c54a2baf29", + "coverage_profile_along_genes_(total).txt:md5,b7058ee3f437638f5cf567c54a2baf29", + "coverage_profile_along_genes_(high).txt:md5,a73462b9ecbd1d2c45d7ca84b5f7925b", + "coverage_profile_along_genes_(low).txt:md5,7adc228bc15e344abb7938ea4d35a846", + "coverage_profile_along_genes_(total).txt:md5,7adc228bc15e344abb7938ea4d35a846", + "RAP1_IAA_30M_REP1.infer_experiment.txt:md5,1f31ddae1f98e779e30d846cde3834de", + "RAP1_UNINDUCED_REP1.infer_experiment.txt:md5,a2a8e31dbd0ebd0c12f3f968ffd5391b", + "RAP1_UNINDUCED_REP2.infer_experiment.txt:md5,9ec058d3a4162fd1b4c6175e2106eef4", + "WT_REP1.infer_experiment.txt:md5,d55921c0084806cdf49b9bd8653c8e09", + "WT_REP2.infer_experiment.txt:md5,fe87600c55f433ba995fe18bed5cf5f1", + "e2t.ctab:md5,54dd6de2daa90e973f47524a738a3d69", + "e_data.ctab:md5,5dfd0678eefe33f2c45eea45f6262557", + "i2t.ctab:md5,dda3d3ccd7d4184d947c654ae73efb7b", + "i_data.ctab:md5,19a438db88bdb92228e64a0a8350adbd", + "e2t.ctab:md5,54dd6de2daa90e973f47524a738a3d69", + "e_data.ctab:md5,fd95c815882005ccd312821bb9cf3dc7", + "i2t.ctab:md5,dda3d3ccd7d4184d947c654ae73efb7b", + "i_data.ctab:md5,addcf0f6836e0f81184d5ddaa525895f", + "e2t.ctab:md5,54dd6de2daa90e973f47524a738a3d69", + "e_data.ctab:md5,4aa066edadef5325777dd54ca042cfab", + "i2t.ctab:md5,dda3d3ccd7d4184d947c654ae73efb7b", + "i_data.ctab:md5,84d39323e429ad397223542b9d6f7c40", + "e2t.ctab:md5,54dd6de2daa90e973f47524a738a3d69", + "e_data.ctab:md5,74b66ee626c2864ece15c4872224856c", + "i2t.ctab:md5,dda3d3ccd7d4184d947c654ae73efb7b", + "i_data.ctab:md5,daedcbf428f3912587722da1c5db50d1", + "e2t.ctab:md5,54dd6de2daa90e973f47524a738a3d69", + "e_data.ctab:md5,49e5912dedb709344c7a14b5980c1b40", + "i2t.ctab:md5,dda3d3ccd7d4184d947c654ae73efb7b", + "i_data.ctab:md5,7e81ace0a68bfe42482420b7275de195" + ] + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "25.04.3" + }, + "timestamp": "2025-09-15T20:20:27.355744216" + } +} \ No newline at end of file diff --git a/tests/default.nf.test.snap b/tests/default.nf.test.snap index 45d2d838f..8571c3100 100644 --- a/tests/default.nf.test.snap +++ b/tests/default.nf.test.snap @@ -311,7 +311,6 @@ "multiqc/star_salmon", "multiqc/star_salmon/multiqc_report.html", "multiqc/star_salmon/multiqc_report_data", - "multiqc/star_salmon/multiqc_report_data/BETA-multiqc.parquet", "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", @@ -341,6 +340,7 @@ "multiqc/star_salmon/multiqc_report_data/junction_saturation_novel.txt", "multiqc/star_salmon/multiqc_report_data/llms-full.txt", "multiqc/star_salmon/multiqc_report_data/multiqc.log", + "multiqc/star_salmon/multiqc_report_data/multiqc.parquet", "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", @@ -368,6 +368,7 @@ "multiqc/star_salmon/multiqc_report_data/multiqc_star_salmon_deseq2_pca.txt", "multiqc/star_salmon/multiqc_report_data/picard_MarkIlluminaAdapters_histogram.txt", "multiqc/star_salmon/multiqc_report_data/picard_MeanQualityByCycle_histogram.txt", + "multiqc/star_salmon/multiqc_report_data/picard_MeanQualityByCycle_histogram_1.txt", "multiqc/star_salmon/multiqc_report_data/picard_QualityScoreDistribution_histogram.txt", "multiqc/star_salmon/multiqc_report_data/picard_deduplication.txt", "multiqc/star_salmon/multiqc_report_data/qualimap_gene_coverage_profile_Counts.txt", @@ -1489,4 +1490,4 @@ }, "timestamp": "2025-08-12T11:31:43.21579283" } -} \ 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 6af982953..4b07d4b71 100644 --- a/tests/featurecounts_group_type.nf.test.snap +++ b/tests/featurecounts_group_type.nf.test.snap @@ -305,7 +305,6 @@ "multiqc/star_salmon", "multiqc/star_salmon/multiqc_report.html", "multiqc/star_salmon/multiqc_report_data", - "multiqc/star_salmon/multiqc_report_data/BETA-multiqc.parquet", "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", @@ -335,6 +334,7 @@ "multiqc/star_salmon/multiqc_report_data/junction_saturation_novel.txt", "multiqc/star_salmon/multiqc_report_data/llms-full.txt", "multiqc/star_salmon/multiqc_report_data/multiqc.log", + "multiqc/star_salmon/multiqc_report_data/multiqc.parquet", "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", @@ -361,6 +361,7 @@ "multiqc/star_salmon/multiqc_report_data/multiqc_star_salmon_deseq2_pca.txt", "multiqc/star_salmon/multiqc_report_data/picard_MarkIlluminaAdapters_histogram.txt", "multiqc/star_salmon/multiqc_report_data/picard_MeanQualityByCycle_histogram.txt", + "multiqc/star_salmon/multiqc_report_data/picard_MeanQualityByCycle_histogram_1.txt", "multiqc/star_salmon/multiqc_report_data/picard_QualityScoreDistribution_histogram.txt", "multiqc/star_salmon/multiqc_report_data/picard_deduplication.txt", "multiqc/star_salmon/multiqc_report_data/qualimap_gene_coverage_profile_Counts.txt", @@ -1439,4 +1440,4 @@ }, "timestamp": "2025-08-12T11:42:35.718429904" } -} \ No newline at end of file +} diff --git a/tests/hisat2.nf.test.snap b/tests/hisat2.nf.test.snap index 283277a15..cf66b6527 100644 --- a/tests/hisat2.nf.test.snap +++ b/tests/hisat2.nf.test.snap @@ -778,7 +778,6 @@ "multiqc/hisat2", "multiqc/hisat2/multiqc_report.html", "multiqc/hisat2/multiqc_report_data", - "multiqc/hisat2/multiqc_report_data/BETA-multiqc.parquet", "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", @@ -810,6 +809,7 @@ "multiqc/hisat2/multiqc_report_data/junction_saturation_novel.txt", "multiqc/hisat2/multiqc_report_data/llms-full.txt", "multiqc/hisat2/multiqc_report_data/multiqc.log", + "multiqc/hisat2/multiqc_report_data/multiqc.parquet", "multiqc/hisat2/multiqc_report_data/multiqc_citations.txt", "multiqc/hisat2/multiqc_report_data/multiqc_cutadapt.txt", "multiqc/hisat2/multiqc_report_data/multiqc_data.json", @@ -835,6 +835,7 @@ "multiqc/hisat2/multiqc_report_data/multiqc_sources.txt", "multiqc/hisat2/multiqc_report_data/picard_MarkIlluminaAdapters_histogram.txt", "multiqc/hisat2/multiqc_report_data/picard_MeanQualityByCycle_histogram.txt", + "multiqc/hisat2/multiqc_report_data/picard_MeanQualityByCycle_histogram_1.txt", "multiqc/hisat2/multiqc_report_data/picard_QualityScoreDistribution_histogram.txt", "multiqc/hisat2/multiqc_report_data/picard_deduplication.txt", "multiqc/hisat2/multiqc_report_data/qualimap_gene_coverage_profile_Counts.txt", @@ -1336,4 +1337,4 @@ }, "timestamp": "2025-08-12T11:48:58.018707447" } -} \ No newline at end of file +} diff --git a/tests/kallisto.nf.test.snap b/tests/kallisto.nf.test.snap index 18504f7b3..6fbdcc695 100644 --- a/tests/kallisto.nf.test.snap +++ b/tests/kallisto.nf.test.snap @@ -151,7 +151,6 @@ "multiqc", "multiqc/multiqc_report.html", "multiqc/multiqc_report_data", - "multiqc/multiqc_report_data/BETA-multiqc.parquet", "multiqc/multiqc_report_data/cutadapt_filtered_reads_plot.txt", "multiqc/multiqc_report_data/cutadapt_trimmed_sequences_plot_3_Counts.txt", "multiqc/multiqc_report_data/cutadapt_trimmed_sequences_plot_3_Obs_Exp.txt", @@ -169,6 +168,7 @@ "multiqc/multiqc_report_data/kallisto_alignment.txt", "multiqc/multiqc_report_data/llms-full.txt", "multiqc/multiqc_report_data/multiqc.log", + "multiqc/multiqc_report_data/multiqc.parquet", "multiqc/multiqc_report_data/multiqc_citations.txt", "multiqc/multiqc_report_data/multiqc_cutadapt.txt", "multiqc/multiqc_report_data/multiqc_data.json", @@ -359,4 +359,4 @@ }, "timestamp": "2025-01-28T13:50:34.753130451" } -} \ 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 6fd65e47e..72ced7061 100644 --- a/tests/min_mapped_reads.nf.test.snap +++ b/tests/min_mapped_reads.nf.test.snap @@ -210,7 +210,6 @@ "multiqc/star_salmon", "multiqc/star_salmon/multiqc_report.html", "multiqc/star_salmon/multiqc_report_data", - "multiqc/star_salmon/multiqc_report_data/BETA-multiqc.parquet", "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", @@ -240,6 +239,7 @@ "multiqc/star_salmon/multiqc_report_data/junction_saturation_novel.txt", "multiqc/star_salmon/multiqc_report_data/llms-full.txt", "multiqc/star_salmon/multiqc_report_data/multiqc.log", + "multiqc/star_salmon/multiqc_report_data/multiqc.parquet", "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", @@ -268,6 +268,7 @@ "multiqc/star_salmon/multiqc_report_data/multiqc_star_salmon_deseq2_pca.txt", "multiqc/star_salmon/multiqc_report_data/picard_MarkIlluminaAdapters_histogram.txt", "multiqc/star_salmon/multiqc_report_data/picard_MeanQualityByCycle_histogram.txt", + "multiqc/star_salmon/multiqc_report_data/picard_MeanQualityByCycle_histogram_1.txt", "multiqc/star_salmon/multiqc_report_data/picard_QualityScoreDistribution_histogram.txt", "multiqc/star_salmon/multiqc_report_data/picard_deduplication.txt", "multiqc/star_salmon/multiqc_report_data/qualimap_gene_coverage_profile_Counts.txt", @@ -1300,4 +1301,4 @@ }, "timestamp": "2025-01-28T13:58:55.550749008" } -} \ No newline at end of file +} diff --git a/tests/nofasta.nf.test.snap b/tests/nofasta.nf.test.snap index 13cec2499..8e08bc0dd 100644 --- a/tests/nofasta.nf.test.snap +++ b/tests/nofasta.nf.test.snap @@ -104,7 +104,6 @@ "multiqc", "multiqc/multiqc_report.html", "multiqc/multiqc_report_data", - "multiqc/multiqc_report_data/BETA-multiqc.parquet", "multiqc/multiqc_report_data/cutadapt_filtered_reads_plot.txt", "multiqc/multiqc_report_data/cutadapt_trimmed_sequences_plot_3_Counts.txt", "multiqc/multiqc_report_data/cutadapt_trimmed_sequences_plot_3_Obs_Exp.txt", @@ -132,6 +131,7 @@ "multiqc/multiqc_report_data/fastqc_trimmed_top_overrepresented_sequences_table.txt", "multiqc/multiqc_report_data/llms-full.txt", "multiqc/multiqc_report_data/multiqc.log", + "multiqc/multiqc_report_data/multiqc.parquet", "multiqc/multiqc_report_data/multiqc_citations.txt", "multiqc/multiqc_report_data/multiqc_cutadapt.txt", "multiqc/multiqc_report_data/multiqc_data.json", @@ -425,4 +425,4 @@ }, "timestamp": "2025-08-12T12:03:26.721760415" } -} \ No newline at end of file +} diff --git a/tests/remove_ribo_rna.nf.test.snap b/tests/remove_ribo_rna.nf.test.snap index 5b24bfedc..e2789c952 100644 --- a/tests/remove_ribo_rna.nf.test.snap +++ b/tests/remove_ribo_rna.nf.test.snap @@ -216,7 +216,6 @@ "multiqc/star_salmon", "multiqc/star_salmon/multiqc_report.html", "multiqc/star_salmon/multiqc_report_data", - "multiqc/star_salmon/multiqc_report_data/BETA-multiqc.parquet", "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", @@ -246,6 +245,7 @@ "multiqc/star_salmon/multiqc_report_data/junction_saturation_novel.txt", "multiqc/star_salmon/multiqc_report_data/llms-full.txt", "multiqc/star_salmon/multiqc_report_data/multiqc.log", + "multiqc/star_salmon/multiqc_report_data/multiqc.parquet", "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", @@ -274,6 +274,7 @@ "multiqc/star_salmon/multiqc_report_data/multiqc_star_salmon_deseq2_pca.txt", "multiqc/star_salmon/multiqc_report_data/picard_MarkIlluminaAdapters_histogram.txt", "multiqc/star_salmon/multiqc_report_data/picard_MeanQualityByCycle_histogram.txt", + "multiqc/star_salmon/multiqc_report_data/picard_MeanQualityByCycle_histogram_1.txt", "multiqc/star_salmon/multiqc_report_data/picard_QualityScoreDistribution_histogram.txt", "multiqc/star_salmon/multiqc_report_data/picard_deduplication.txt", "multiqc/star_salmon/multiqc_report_data/qualimap_gene_coverage_profile_Counts.txt", @@ -1512,4 +1513,4 @@ }, "timestamp": "2025-06-03T13:10:09.375619385" } -} \ No newline at end of file +} diff --git a/tests/salmon.nf.test.snap b/tests/salmon.nf.test.snap index eb173af5a..29e05cb9d 100644 --- a/tests/salmon.nf.test.snap +++ b/tests/salmon.nf.test.snap @@ -108,7 +108,6 @@ "multiqc", "multiqc/multiqc_report.html", "multiqc/multiqc_report_data", - "multiqc/multiqc_report_data/BETA-multiqc.parquet", "multiqc/multiqc_report_data/cutadapt_filtered_reads_plot.txt", "multiqc/multiqc_report_data/cutadapt_trimmed_sequences_plot_3_Counts.txt", "multiqc/multiqc_report_data/cutadapt_trimmed_sequences_plot_3_Obs_Exp.txt", @@ -125,6 +124,7 @@ "multiqc/multiqc_report_data/fastqc_trimmed_top_overrepresented_sequences_table.txt", "multiqc/multiqc_report_data/llms-full.txt", "multiqc/multiqc_report_data/multiqc.log", + "multiqc/multiqc_report_data/multiqc.parquet", "multiqc/multiqc_report_data/multiqc_citations.txt", "multiqc/multiqc_report_data/multiqc_cutadapt.txt", "multiqc/multiqc_report_data/multiqc_data.json", @@ -432,4 +432,4 @@ }, "timestamp": "2025-01-28T14:19:20.666237815" } -} \ No newline at end of file +} diff --git a/tests/sentieon_default.nf.test.snap b/tests/sentieon_default.nf.test.snap index 316759135..6c9d283f5 100644 --- a/tests/sentieon_default.nf.test.snap +++ b/tests/sentieon_default.nf.test.snap @@ -309,7 +309,6 @@ "multiqc/star_salmon", "multiqc/star_salmon/multiqc_report.html", "multiqc/star_salmon/multiqc_report_data", - "multiqc/star_salmon/multiqc_report_data/BETA-multiqc.parquet", "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", @@ -339,6 +338,7 @@ "multiqc/star_salmon/multiqc_report_data/junction_saturation_novel.txt", "multiqc/star_salmon/multiqc_report_data/llms-full.txt", "multiqc/star_salmon/multiqc_report_data/multiqc.log", + "multiqc/star_salmon/multiqc_report_data/multiqc.parquet", "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", @@ -366,6 +366,7 @@ "multiqc/star_salmon/multiqc_report_data/multiqc_star_salmon_deseq2_pca.txt", "multiqc/star_salmon/multiqc_report_data/picard_MarkIlluminaAdapters_histogram.txt", "multiqc/star_salmon/multiqc_report_data/picard_MeanQualityByCycle_histogram.txt", + "multiqc/star_salmon/multiqc_report_data/picard_MeanQualityByCycle_histogram_1.txt", "multiqc/star_salmon/multiqc_report_data/picard_QualityScoreDistribution_histogram.txt", "multiqc/star_salmon/multiqc_report_data/picard_deduplication.txt", "multiqc/star_salmon/multiqc_report_data/qualimap_gene_coverage_profile_Counts.txt", @@ -1487,4 +1488,4 @@ }, "timestamp": "2025-08-12T11:31:43.21579283" } -} \ No newline at end of file +} diff --git a/tests/sentieon_star_rsem.nf.test.snap b/tests/sentieon_star_rsem.nf.test.snap deleted file mode 100644 index bc975009e..000000000 --- a/tests/sentieon_star_rsem.nf.test.snap +++ /dev/null @@ -1,1397 +0,0 @@ -{ - "Params: --aligner star_rsem --use_sentieon_star": { - "content": [ - 201, - { - "BBMAP_BBSPLIT": { - "bbmap": 39.18 - }, - "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": { - "bioconductor-deseq2": "1.28.0", - "r-base": "4.0.3" - }, - "DESEQ2_QC_RSEM": { - "bioconductor-deseq2": "1.28.0", - "r-base": "4.0.3" - }, - "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.13 - }, - "GUNZIP_GTF": { - "gunzip": 1.13 - }, - "MULTIQC_CUSTOM_BIOTYPE": { - "python": "3.9.5" - }, - "PICARD_MARKDUPLICATES": { - "picard": "3.1.1" - }, - "QUALIMAP_RNASEQ": { - "qualimap": 2.3 - }, - "RSEM_MERGE_COUNTS": { - "sed": 4.7 - }, - "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 - }, - "SENTIEON_RSEMCALCULATEEXPRESSION": { - "rsem": "1.3.1", - "sentieon": 202503.01, - "star": "2.7.10b" - }, - "SE_GENE_UNIFIED": { - "bioconductor-summarizedexperiment": "1.32.0" - }, - "SE_TRANSCRIPT_UNIFIED": { - "bioconductor-summarizedexperiment": "1.32.0" - }, - "STRINGTIE_STRINGTIE": { - "stringtie": "2.2.3" - }, - "SUBREAD_FEATURECOUNTS": { - "subread": "2.0.6" - }, - "TRIMGALORE": { - "cutadapt": 4.9, - "pigz": 2.8, - "trimgalore": "0.6.10" - }, - "TXIMETA_TXIMPORT": { - "bioconductor-tximeta": "1.20.1" - }, - "UCSC_BEDCLIP": { - "ucsc": 377 - }, - "UCSC_BEDGRAPHTOBIGWIG": { - "ucsc": 469 - }, - "UNTAR_RSEM_INDEX": { - "untar": 1.34 - }, - "UNTAR_SALMON_INDEX": { - "untar": 1.34 - } - }, - [ - "bbsplit", - "bbsplit/RAP1_IAA_30M_REP1.stats.txt", - "bbsplit/RAP1_UNINDUCED_REP1.stats.txt", - "bbsplit/RAP1_UNINDUCED_REP2.stats.txt", - "bbsplit/WT_REP1.stats.txt", - "bbsplit/WT_REP2.stats.txt", - "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/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", - "multiqc/star_rsem/multiqc_report_data", - "multiqc/star_rsem/multiqc_report_data/BETA-multiqc.parquet", - "multiqc/star_rsem/multiqc_report_data/cutadapt_filtered_reads_plot.txt", - "multiqc/star_rsem/multiqc_report_data/cutadapt_trimmed_sequences_plot_3_Counts.txt", - "multiqc/star_rsem/multiqc_report_data/cutadapt_trimmed_sequences_plot_3_Obs_Exp.txt", - "multiqc/star_rsem/multiqc_report_data/fastqc_raw-status-check-heatmap.txt", - "multiqc/star_rsem/multiqc_report_data/fastqc_raw_adapter_content_plot.txt", - "multiqc/star_rsem/multiqc_report_data/fastqc_raw_overrepresented_sequences_plot.txt", - "multiqc/star_rsem/multiqc_report_data/fastqc_raw_per_base_n_content_plot.txt", - "multiqc/star_rsem/multiqc_report_data/fastqc_raw_per_base_sequence_quality_plot.txt", - "multiqc/star_rsem/multiqc_report_data/fastqc_raw_per_sequence_gc_content_plot_Counts.txt", - "multiqc/star_rsem/multiqc_report_data/fastqc_raw_per_sequence_gc_content_plot_Percentages.txt", - "multiqc/star_rsem/multiqc_report_data/fastqc_raw_per_sequence_quality_scores_plot.txt", - "multiqc/star_rsem/multiqc_report_data/fastqc_raw_sequence_counts_plot.txt", - "multiqc/star_rsem/multiqc_report_data/fastqc_raw_sequence_duplication_levels_plot.txt", - "multiqc/star_rsem/multiqc_report_data/fastqc_raw_top_overrepresented_sequences_table.txt", - "multiqc/star_rsem/multiqc_report_data/fastqc_sequence_length_distribution_plot.txt", - "multiqc/star_rsem/multiqc_report_data/fastqc_trimmed-status-check-heatmap.txt", - "multiqc/star_rsem/multiqc_report_data/fastqc_trimmed_overrepresented_sequences_plot.txt", - "multiqc/star_rsem/multiqc_report_data/fastqc_trimmed_per_base_n_content_plot.txt", - "multiqc/star_rsem/multiqc_report_data/fastqc_trimmed_per_base_sequence_quality_plot.txt", - "multiqc/star_rsem/multiqc_report_data/fastqc_trimmed_per_sequence_gc_content_plot_Counts.txt", - "multiqc/star_rsem/multiqc_report_data/fastqc_trimmed_per_sequence_gc_content_plot_Percentages.txt", - "multiqc/star_rsem/multiqc_report_data/fastqc_trimmed_per_sequence_quality_scores_plot.txt", - "multiqc/star_rsem/multiqc_report_data/fastqc_trimmed_sequence_counts_plot.txt", - "multiqc/star_rsem/multiqc_report_data/fastqc_trimmed_sequence_duplication_levels_plot.txt", - "multiqc/star_rsem/multiqc_report_data/fastqc_trimmed_top_overrepresented_sequences_table.txt", - "multiqc/star_rsem/multiqc_report_data/junction_saturation_known.txt", - "multiqc/star_rsem/multiqc_report_data/junction_saturation_novel.txt", - "multiqc/star_rsem/multiqc_report_data/llms-full.txt", - "multiqc/star_rsem/multiqc_report_data/multiqc.log", - "multiqc/star_rsem/multiqc_report_data/multiqc_citations.txt", - "multiqc/star_rsem/multiqc_report_data/multiqc_cutadapt.txt", - "multiqc/star_rsem/multiqc_report_data/multiqc_data.json", - "multiqc/star_rsem/multiqc_report_data/multiqc_dupradar.txt", - "multiqc/star_rsem/multiqc_report_data/multiqc_fail_strand_check_table.txt", - "multiqc/star_rsem/multiqc_report_data/multiqc_fastqc_fastqc_raw.txt", - "multiqc/star_rsem/multiqc_report_data/multiqc_fastqc_fastqc_trimmed.txt", - "multiqc/star_rsem/multiqc_report_data/multiqc_featurecounts_biotype_plot.txt", - "multiqc/star_rsem/multiqc_report_data/multiqc_general_stats.txt", - "multiqc/star_rsem/multiqc_report_data/multiqc_picard_dups.txt", - "multiqc/star_rsem/multiqc_report_data/multiqc_rsem.txt", - "multiqc/star_rsem/multiqc_report_data/multiqc_rseqc_bam_stat.txt", - "multiqc/star_rsem/multiqc_report_data/multiqc_rseqc_infer_experiment.txt", - "multiqc/star_rsem/multiqc_report_data/multiqc_rseqc_junction_annotation.txt", - "multiqc/star_rsem/multiqc_report_data/multiqc_rseqc_read_distribution.txt", - "multiqc/star_rsem/multiqc_report_data/multiqc_salmon.txt", - "multiqc/star_rsem/multiqc_report_data/multiqc_salmon_deseq2_clustering.txt", - "multiqc/star_rsem/multiqc_report_data/multiqc_salmon_deseq2_pca.txt", - "multiqc/star_rsem/multiqc_report_data/multiqc_samtools_flagstat.txt", - "multiqc/star_rsem/multiqc_report_data/multiqc_samtools_idxstats.txt", - "multiqc/star_rsem/multiqc_report_data/multiqc_samtools_stats.txt", - "multiqc/star_rsem/multiqc_report_data/multiqc_software_versions.txt", - "multiqc/star_rsem/multiqc_report_data/multiqc_sources.txt", - "multiqc/star_rsem/multiqc_report_data/multiqc_star_rsem_deseq2_clustering.txt", - "multiqc/star_rsem/multiqc_report_data/multiqc_star_rsem_deseq2_pca.txt", - "multiqc/star_rsem/multiqc_report_data/picard_MarkIlluminaAdapters_histogram.txt", - "multiqc/star_rsem/multiqc_report_data/picard_MeanQualityByCycle_histogram.txt", - "multiqc/star_rsem/multiqc_report_data/picard_QualityScoreDistribution_histogram.txt", - "multiqc/star_rsem/multiqc_report_data/picard_deduplication.txt", - "multiqc/star_rsem/multiqc_report_data/qualimap_gene_coverage_profile_Counts.txt", - "multiqc/star_rsem/multiqc_report_data/qualimap_gene_coverage_profile_Normalised.txt", - "multiqc/star_rsem/multiqc_report_data/qualimap_genomic_origin.txt", - "multiqc/star_rsem/multiqc_report_data/qualimap_rnaseq_cov_hist.txt", - "multiqc/star_rsem/multiqc_report_data/qualimap_rnaseq_genome_results.txt", - "multiqc/star_rsem/multiqc_report_data/rsem_assignment_plot.txt", - "multiqc/star_rsem/multiqc_report_data/rsem_multimapping_rates.txt", - "multiqc/star_rsem/multiqc_report_data/rseqc_bam_stat.txt", - "multiqc/star_rsem/multiqc_report_data/rseqc_infer_experiment_plot.txt", - "multiqc/star_rsem/multiqc_report_data/rseqc_inner_distance.txt", - "multiqc/star_rsem/multiqc_report_data/rseqc_inner_distance_plot_Counts.txt", - "multiqc/star_rsem/multiqc_report_data/rseqc_inner_distance_plot_Percentages.txt", - "multiqc/star_rsem/multiqc_report_data/rseqc_junction_annotation_junctions_plot_Events.txt", - "multiqc/star_rsem/multiqc_report_data/rseqc_junction_annotation_junctions_plot_Junctions.txt", - "multiqc/star_rsem/multiqc_report_data/rseqc_junction_saturation_all.txt", - "multiqc/star_rsem/multiqc_report_data/rseqc_junction_saturation_plot_All_Junctions.txt", - "multiqc/star_rsem/multiqc_report_data/rseqc_junction_saturation_plot_Known_Junctions.txt", - "multiqc/star_rsem/multiqc_report_data/rseqc_junction_saturation_plot_Novel_Junctions.txt", - "multiqc/star_rsem/multiqc_report_data/rseqc_read_distribution_plot.txt", - "multiqc/star_rsem/multiqc_report_data/rseqc_read_dups.txt", - "multiqc/star_rsem/multiqc_report_data/rseqc_read_dups_plot.txt", - "multiqc/star_rsem/multiqc_report_data/salmon_plot.txt", - "multiqc/star_rsem/multiqc_report_data/samtools-flagstat-pct-table.txt", - "multiqc/star_rsem/multiqc_report_data/samtools-flagstat-table.txt", - "multiqc/star_rsem/multiqc_report_data/samtools-idxstats-mapped-reads-plot_Normalised_Counts.txt", - "multiqc/star_rsem/multiqc_report_data/samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts.txt", - "multiqc/star_rsem/multiqc_report_data/samtools-idxstats-mapped-reads-plot_Raw_Counts.txt", - "multiqc/star_rsem/multiqc_report_data/samtools-stats-dp.txt", - "multiqc/star_rsem/multiqc_report_data/samtools_alignment_plot.txt", - "multiqc/star_rsem/multiqc_report_plots", - "multiqc/star_rsem/multiqc_report_plots/pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/cutadapt_filtered_reads_plot-cnt.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/cutadapt_filtered_reads_plot-pct.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/cutadapt_trimmed_sequences_plot_3_Counts.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/cutadapt_trimmed_sequences_plot_3_Obs_Exp.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/dupradar.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/fail_strand_check_table.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/fastqc_raw-status-check-heatmap.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/fastqc_raw_adapter_content_plot.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/fastqc_raw_overrepresented_sequences_plot.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/fastqc_raw_per_base_n_content_plot.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/fastqc_raw_per_base_sequence_quality_plot.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/fastqc_raw_per_sequence_gc_content_plot_Counts.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/fastqc_raw_per_sequence_gc_content_plot_Percentages.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/fastqc_raw_per_sequence_quality_scores_plot.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/fastqc_raw_sequence_counts_plot-cnt.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/fastqc_raw_sequence_counts_plot-pct.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/fastqc_raw_sequence_duplication_levels_plot.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/fastqc_raw_top_overrepresented_sequences_table.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/fastqc_sequence_length_distribution_plot.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/fastqc_trimmed-status-check-heatmap.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/fastqc_trimmed_overrepresented_sequences_plot.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/fastqc_trimmed_per_base_n_content_plot.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/fastqc_trimmed_per_base_sequence_quality_plot.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/fastqc_trimmed_per_sequence_gc_content_plot_Counts.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/fastqc_trimmed_per_sequence_gc_content_plot_Percentages.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/fastqc_trimmed_per_sequence_quality_scores_plot.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/fastqc_trimmed_sequence_counts_plot-cnt.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/fastqc_trimmed_sequence_counts_plot-pct.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/fastqc_trimmed_sequence_duplication_levels_plot.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/fastqc_trimmed_top_overrepresented_sequences_table.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/featurecounts_biotype_plot-cnt.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/featurecounts_biotype_plot-pct.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/picard_deduplication-cnt.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/picard_deduplication-pct.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/qualimap_gene_coverage_profile_Counts.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/qualimap_gene_coverage_profile_Normalised.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/qualimap_genomic_origin-cnt.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/qualimap_genomic_origin-pct.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/rsem_assignment_plot-cnt.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/rsem_assignment_plot-pct.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/rsem_multimapping_rates.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/rseqc_bam_stat.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/rseqc_infer_experiment_plot.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/rseqc_inner_distance_plot_Counts.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/rseqc_inner_distance_plot_Percentages.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/rseqc_junction_annotation_junctions_plot_Events-cnt.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/rseqc_junction_annotation_junctions_plot_Events-pct.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/rseqc_junction_annotation_junctions_plot_Junctions-cnt.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/rseqc_junction_annotation_junctions_plot_Junctions-pct.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/rseqc_junction_saturation_plot_All_Junctions.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/rseqc_junction_saturation_plot_Known_Junctions.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/rseqc_junction_saturation_plot_Novel_Junctions.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/rseqc_read_distribution_plot-cnt.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/rseqc_read_distribution_plot-pct.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/rseqc_read_dups_plot.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/salmon_deseq2_clustering.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/salmon_deseq2_pca.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/salmon_plot.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/samtools-flagstat-pct-table.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/samtools-flagstat-table.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/samtools-idxstats-mapped-reads-plot_Normalised_Counts-cnt.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/samtools-idxstats-mapped-reads-plot_Normalised_Counts-log.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts-cnt.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts-log.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/samtools-idxstats-mapped-reads-plot_Raw_Counts-cnt.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/samtools-idxstats-mapped-reads-plot_Raw_Counts-log.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/samtools-stats-dp.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/samtools_alignment_plot-cnt.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/samtools_alignment_plot-pct.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/star_rsem_deseq2_clustering.pdf", - "multiqc/star_rsem/multiqc_report_plots/pdf/star_rsem_deseq2_pca.pdf", - "multiqc/star_rsem/multiqc_report_plots/png", - "multiqc/star_rsem/multiqc_report_plots/png/cutadapt_filtered_reads_plot-cnt.png", - "multiqc/star_rsem/multiqc_report_plots/png/cutadapt_filtered_reads_plot-pct.png", - "multiqc/star_rsem/multiqc_report_plots/png/cutadapt_trimmed_sequences_plot_3_Counts.png", - "multiqc/star_rsem/multiqc_report_plots/png/cutadapt_trimmed_sequences_plot_3_Obs_Exp.png", - "multiqc/star_rsem/multiqc_report_plots/png/dupradar.png", - "multiqc/star_rsem/multiqc_report_plots/png/fail_strand_check_table.png", - "multiqc/star_rsem/multiqc_report_plots/png/fastqc_raw-status-check-heatmap.png", - "multiqc/star_rsem/multiqc_report_plots/png/fastqc_raw_adapter_content_plot.png", - "multiqc/star_rsem/multiqc_report_plots/png/fastqc_raw_overrepresented_sequences_plot.png", - "multiqc/star_rsem/multiqc_report_plots/png/fastqc_raw_per_base_n_content_plot.png", - "multiqc/star_rsem/multiqc_report_plots/png/fastqc_raw_per_base_sequence_quality_plot.png", - "multiqc/star_rsem/multiqc_report_plots/png/fastqc_raw_per_sequence_gc_content_plot_Counts.png", - "multiqc/star_rsem/multiqc_report_plots/png/fastqc_raw_per_sequence_gc_content_plot_Percentages.png", - "multiqc/star_rsem/multiqc_report_plots/png/fastqc_raw_per_sequence_quality_scores_plot.png", - "multiqc/star_rsem/multiqc_report_plots/png/fastqc_raw_sequence_counts_plot-cnt.png", - "multiqc/star_rsem/multiqc_report_plots/png/fastqc_raw_sequence_counts_plot-pct.png", - "multiqc/star_rsem/multiqc_report_plots/png/fastqc_raw_sequence_duplication_levels_plot.png", - "multiqc/star_rsem/multiqc_report_plots/png/fastqc_raw_top_overrepresented_sequences_table.png", - "multiqc/star_rsem/multiqc_report_plots/png/fastqc_sequence_length_distribution_plot.png", - "multiqc/star_rsem/multiqc_report_plots/png/fastqc_trimmed-status-check-heatmap.png", - "multiqc/star_rsem/multiqc_report_plots/png/fastqc_trimmed_overrepresented_sequences_plot.png", - "multiqc/star_rsem/multiqc_report_plots/png/fastqc_trimmed_per_base_n_content_plot.png", - "multiqc/star_rsem/multiqc_report_plots/png/fastqc_trimmed_per_base_sequence_quality_plot.png", - "multiqc/star_rsem/multiqc_report_plots/png/fastqc_trimmed_per_sequence_gc_content_plot_Counts.png", - "multiqc/star_rsem/multiqc_report_plots/png/fastqc_trimmed_per_sequence_gc_content_plot_Percentages.png", - "multiqc/star_rsem/multiqc_report_plots/png/fastqc_trimmed_per_sequence_quality_scores_plot.png", - "multiqc/star_rsem/multiqc_report_plots/png/fastqc_trimmed_sequence_counts_plot-cnt.png", - "multiqc/star_rsem/multiqc_report_plots/png/fastqc_trimmed_sequence_counts_plot-pct.png", - "multiqc/star_rsem/multiqc_report_plots/png/fastqc_trimmed_sequence_duplication_levels_plot.png", - "multiqc/star_rsem/multiqc_report_plots/png/fastqc_trimmed_top_overrepresented_sequences_table.png", - "multiqc/star_rsem/multiqc_report_plots/png/featurecounts_biotype_plot-cnt.png", - "multiqc/star_rsem/multiqc_report_plots/png/featurecounts_biotype_plot-pct.png", - "multiqc/star_rsem/multiqc_report_plots/png/picard_deduplication-cnt.png", - "multiqc/star_rsem/multiqc_report_plots/png/picard_deduplication-pct.png", - "multiqc/star_rsem/multiqc_report_plots/png/qualimap_gene_coverage_profile_Counts.png", - "multiqc/star_rsem/multiqc_report_plots/png/qualimap_gene_coverage_profile_Normalised.png", - "multiqc/star_rsem/multiqc_report_plots/png/qualimap_genomic_origin-cnt.png", - "multiqc/star_rsem/multiqc_report_plots/png/qualimap_genomic_origin-pct.png", - "multiqc/star_rsem/multiqc_report_plots/png/rsem_assignment_plot-cnt.png", - "multiqc/star_rsem/multiqc_report_plots/png/rsem_assignment_plot-pct.png", - "multiqc/star_rsem/multiqc_report_plots/png/rsem_multimapping_rates.png", - "multiqc/star_rsem/multiqc_report_plots/png/rseqc_bam_stat.png", - "multiqc/star_rsem/multiqc_report_plots/png/rseqc_infer_experiment_plot.png", - "multiqc/star_rsem/multiqc_report_plots/png/rseqc_inner_distance_plot_Counts.png", - "multiqc/star_rsem/multiqc_report_plots/png/rseqc_inner_distance_plot_Percentages.png", - "multiqc/star_rsem/multiqc_report_plots/png/rseqc_junction_annotation_junctions_plot_Events-cnt.png", - "multiqc/star_rsem/multiqc_report_plots/png/rseqc_junction_annotation_junctions_plot_Events-pct.png", - "multiqc/star_rsem/multiqc_report_plots/png/rseqc_junction_annotation_junctions_plot_Junctions-cnt.png", - "multiqc/star_rsem/multiqc_report_plots/png/rseqc_junction_annotation_junctions_plot_Junctions-pct.png", - "multiqc/star_rsem/multiqc_report_plots/png/rseqc_junction_saturation_plot_All_Junctions.png", - "multiqc/star_rsem/multiqc_report_plots/png/rseqc_junction_saturation_plot_Known_Junctions.png", - "multiqc/star_rsem/multiqc_report_plots/png/rseqc_junction_saturation_plot_Novel_Junctions.png", - "multiqc/star_rsem/multiqc_report_plots/png/rseqc_read_distribution_plot-cnt.png", - "multiqc/star_rsem/multiqc_report_plots/png/rseqc_read_distribution_plot-pct.png", - "multiqc/star_rsem/multiqc_report_plots/png/rseqc_read_dups_plot.png", - "multiqc/star_rsem/multiqc_report_plots/png/salmon_deseq2_clustering.png", - "multiqc/star_rsem/multiqc_report_plots/png/salmon_deseq2_pca.png", - "multiqc/star_rsem/multiqc_report_plots/png/salmon_plot.png", - "multiqc/star_rsem/multiqc_report_plots/png/samtools-flagstat-pct-table.png", - "multiqc/star_rsem/multiqc_report_plots/png/samtools-flagstat-table.png", - "multiqc/star_rsem/multiqc_report_plots/png/samtools-idxstats-mapped-reads-plot_Normalised_Counts-cnt.png", - "multiqc/star_rsem/multiqc_report_plots/png/samtools-idxstats-mapped-reads-plot_Normalised_Counts-log.png", - "multiqc/star_rsem/multiqc_report_plots/png/samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts-cnt.png", - "multiqc/star_rsem/multiqc_report_plots/png/samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts-log.png", - "multiqc/star_rsem/multiqc_report_plots/png/samtools-idxstats-mapped-reads-plot_Raw_Counts-cnt.png", - "multiqc/star_rsem/multiqc_report_plots/png/samtools-idxstats-mapped-reads-plot_Raw_Counts-log.png", - "multiqc/star_rsem/multiqc_report_plots/png/samtools-stats-dp.png", - "multiqc/star_rsem/multiqc_report_plots/png/samtools_alignment_plot-cnt.png", - "multiqc/star_rsem/multiqc_report_plots/png/samtools_alignment_plot-pct.png", - "multiqc/star_rsem/multiqc_report_plots/png/star_rsem_deseq2_clustering.png", - "multiqc/star_rsem/multiqc_report_plots/png/star_rsem_deseq2_pca.png", - "multiqc/star_rsem/multiqc_report_plots/svg", - "multiqc/star_rsem/multiqc_report_plots/svg/cutadapt_filtered_reads_plot-cnt.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/cutadapt_filtered_reads_plot-pct.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/cutadapt_trimmed_sequences_plot_3_Counts.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/cutadapt_trimmed_sequences_plot_3_Obs_Exp.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/dupradar.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/fail_strand_check_table.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/fastqc_raw-status-check-heatmap.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/fastqc_raw_adapter_content_plot.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/fastqc_raw_overrepresented_sequences_plot.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/fastqc_raw_per_base_n_content_plot.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/fastqc_raw_per_base_sequence_quality_plot.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/fastqc_raw_per_sequence_gc_content_plot_Counts.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/fastqc_raw_per_sequence_gc_content_plot_Percentages.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/fastqc_raw_per_sequence_quality_scores_plot.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/fastqc_raw_sequence_counts_plot-cnt.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/fastqc_raw_sequence_counts_plot-pct.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/fastqc_raw_sequence_duplication_levels_plot.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/fastqc_raw_top_overrepresented_sequences_table.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/fastqc_sequence_length_distribution_plot.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/fastqc_trimmed-status-check-heatmap.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/fastqc_trimmed_overrepresented_sequences_plot.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/fastqc_trimmed_per_base_n_content_plot.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/fastqc_trimmed_per_base_sequence_quality_plot.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/fastqc_trimmed_per_sequence_gc_content_plot_Counts.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/fastqc_trimmed_per_sequence_gc_content_plot_Percentages.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/fastqc_trimmed_per_sequence_quality_scores_plot.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/fastqc_trimmed_sequence_counts_plot-cnt.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/fastqc_trimmed_sequence_counts_plot-pct.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/fastqc_trimmed_sequence_duplication_levels_plot.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/fastqc_trimmed_top_overrepresented_sequences_table.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/featurecounts_biotype_plot-cnt.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/featurecounts_biotype_plot-pct.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/picard_deduplication-cnt.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/picard_deduplication-pct.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/qualimap_gene_coverage_profile_Counts.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/qualimap_gene_coverage_profile_Normalised.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/qualimap_genomic_origin-cnt.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/qualimap_genomic_origin-pct.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/rsem_assignment_plot-cnt.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/rsem_assignment_plot-pct.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/rsem_multimapping_rates.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/rseqc_bam_stat.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/rseqc_infer_experiment_plot.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/rseqc_inner_distance_plot_Counts.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/rseqc_inner_distance_plot_Percentages.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/rseqc_junction_annotation_junctions_plot_Events-cnt.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/rseqc_junction_annotation_junctions_plot_Events-pct.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/rseqc_junction_annotation_junctions_plot_Junctions-cnt.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/rseqc_junction_annotation_junctions_plot_Junctions-pct.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/rseqc_junction_saturation_plot_All_Junctions.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/rseqc_junction_saturation_plot_Known_Junctions.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/rseqc_junction_saturation_plot_Novel_Junctions.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/rseqc_read_distribution_plot-cnt.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/rseqc_read_distribution_plot-pct.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/rseqc_read_dups_plot.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/salmon_deseq2_clustering.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/salmon_deseq2_pca.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/salmon_plot.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/samtools-flagstat-pct-table.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/samtools-flagstat-table.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/samtools-idxstats-mapped-reads-plot_Normalised_Counts-cnt.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/samtools-idxstats-mapped-reads-plot_Normalised_Counts-log.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts-cnt.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts-log.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/samtools-idxstats-mapped-reads-plot_Raw_Counts-cnt.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/samtools-idxstats-mapped-reads-plot_Raw_Counts-log.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/samtools-stats-dp.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/samtools_alignment_plot-cnt.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/samtools_alignment_plot-pct.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/star_rsem_deseq2_clustering.svg", - "multiqc/star_rsem/multiqc_report_plots/svg/star_rsem_deseq2_pca.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.SummarizedExperiment.rds", - "salmon/salmon.merged.gene_counts.tsv", - "salmon/salmon.merged.gene_counts_length_scaled.tsv", - "salmon/salmon.merged.gene_counts_scaled.tsv", - "salmon/salmon.merged.gene_lengths.tsv", - "salmon/salmon.merged.gene_tpm.tsv", - "salmon/salmon.merged.transcript.SummarizedExperiment.rds", - "salmon/salmon.merged.transcript_counts.tsv", - "salmon/salmon.merged.transcript_lengths.tsv", - "salmon/salmon.merged.transcript_tpm.tsv", - "salmon/tx2gene.tsv", - "star_rsem", - "star_rsem/RAP1_IAA_30M_REP1.genes.results", - "star_rsem/RAP1_IAA_30M_REP1.isoforms.results", - "star_rsem/RAP1_IAA_30M_REP1.markdup.sorted.bam", - "star_rsem/RAP1_IAA_30M_REP1.markdup.sorted.bam.bai", - "star_rsem/RAP1_IAA_30M_REP1.stat", - "star_rsem/RAP1_IAA_30M_REP1.stat/RAP1_IAA_30M_REP1.cnt", - "star_rsem/RAP1_IAA_30M_REP1.stat/RAP1_IAA_30M_REP1.model", - "star_rsem/RAP1_IAA_30M_REP1.stat/RAP1_IAA_30M_REP1.theta", - "star_rsem/RAP1_UNINDUCED_REP1.genes.results", - "star_rsem/RAP1_UNINDUCED_REP1.isoforms.results", - "star_rsem/RAP1_UNINDUCED_REP1.markdup.sorted.bam", - "star_rsem/RAP1_UNINDUCED_REP1.markdup.sorted.bam.bai", - "star_rsem/RAP1_UNINDUCED_REP1.stat", - "star_rsem/RAP1_UNINDUCED_REP1.stat/RAP1_UNINDUCED_REP1.cnt", - "star_rsem/RAP1_UNINDUCED_REP1.stat/RAP1_UNINDUCED_REP1.model", - "star_rsem/RAP1_UNINDUCED_REP1.stat/RAP1_UNINDUCED_REP1.theta", - "star_rsem/RAP1_UNINDUCED_REP2.genes.results", - "star_rsem/RAP1_UNINDUCED_REP2.isoforms.results", - "star_rsem/RAP1_UNINDUCED_REP2.markdup.sorted.bam", - "star_rsem/RAP1_UNINDUCED_REP2.markdup.sorted.bam.bai", - "star_rsem/RAP1_UNINDUCED_REP2.stat", - "star_rsem/RAP1_UNINDUCED_REP2.stat/RAP1_UNINDUCED_REP2.cnt", - "star_rsem/RAP1_UNINDUCED_REP2.stat/RAP1_UNINDUCED_REP2.model", - "star_rsem/RAP1_UNINDUCED_REP2.stat/RAP1_UNINDUCED_REP2.theta", - "star_rsem/WT_REP1.genes.results", - "star_rsem/WT_REP1.isoforms.results", - "star_rsem/WT_REP1.markdup.sorted.bam", - "star_rsem/WT_REP1.markdup.sorted.bam.bai", - "star_rsem/WT_REP1.stat", - "star_rsem/WT_REP1.stat/WT_REP1.cnt", - "star_rsem/WT_REP1.stat/WT_REP1.model", - "star_rsem/WT_REP1.stat/WT_REP1.theta", - "star_rsem/WT_REP2.genes.results", - "star_rsem/WT_REP2.isoforms.results", - "star_rsem/WT_REP2.markdup.sorted.bam", - "star_rsem/WT_REP2.markdup.sorted.bam.bai", - "star_rsem/WT_REP2.stat", - "star_rsem/WT_REP2.stat/WT_REP2.cnt", - "star_rsem/WT_REP2.stat/WT_REP2.model", - "star_rsem/WT_REP2.stat/WT_REP2.theta", - "star_rsem/bigwig", - "star_rsem/bigwig/RAP1_IAA_30M_REP1.forward.bigWig", - "star_rsem/bigwig/RAP1_IAA_30M_REP1.reverse.bigWig", - "star_rsem/bigwig/RAP1_UNINDUCED_REP1.forward.bigWig", - "star_rsem/bigwig/RAP1_UNINDUCED_REP1.reverse.bigWig", - "star_rsem/bigwig/RAP1_UNINDUCED_REP2.forward.bigWig", - "star_rsem/bigwig/RAP1_UNINDUCED_REP2.reverse.bigWig", - "star_rsem/bigwig/WT_REP1.forward.bigWig", - "star_rsem/bigwig/WT_REP1.reverse.bigWig", - "star_rsem/bigwig/WT_REP2.forward.bigWig", - "star_rsem/bigwig/WT_REP2.reverse.bigWig", - "star_rsem/deseq2_qc", - "star_rsem/deseq2_qc/R_sessionInfo.log", - "star_rsem/deseq2_qc/deseq2.dds.RData", - "star_rsem/deseq2_qc/deseq2.pca.vals.txt", - "star_rsem/deseq2_qc/deseq2.plots.pdf", - "star_rsem/deseq2_qc/deseq2.sample.dists.txt", - "star_rsem/deseq2_qc/size_factors", - "star_rsem/deseq2_qc/size_factors/RAP1_IAA_30M_REP1.txt", - "star_rsem/deseq2_qc/size_factors/RAP1_UNINDUCED_REP1.txt", - "star_rsem/deseq2_qc/size_factors/RAP1_UNINDUCED_REP2.txt", - "star_rsem/deseq2_qc/size_factors/WT_REP1.txt", - "star_rsem/deseq2_qc/size_factors/WT_REP2.txt", - "star_rsem/deseq2_qc/size_factors/deseq2.size_factors.RData", - "star_rsem/dupradar", - "star_rsem/dupradar/box_plot", - "star_rsem/dupradar/box_plot/RAP1_IAA_30M_REP1_duprateExpBoxplot.pdf", - "star_rsem/dupradar/box_plot/RAP1_UNINDUCED_REP1_duprateExpBoxplot.pdf", - "star_rsem/dupradar/box_plot/RAP1_UNINDUCED_REP2_duprateExpBoxplot.pdf", - "star_rsem/dupradar/box_plot/WT_REP1_duprateExpBoxplot.pdf", - "star_rsem/dupradar/box_plot/WT_REP2_duprateExpBoxplot.pdf", - "star_rsem/dupradar/gene_data", - "star_rsem/dupradar/gene_data/RAP1_IAA_30M_REP1_dupMatrix.txt", - "star_rsem/dupradar/gene_data/RAP1_UNINDUCED_REP1_dupMatrix.txt", - "star_rsem/dupradar/gene_data/RAP1_UNINDUCED_REP2_dupMatrix.txt", - "star_rsem/dupradar/gene_data/WT_REP1_dupMatrix.txt", - "star_rsem/dupradar/gene_data/WT_REP2_dupMatrix.txt", - "star_rsem/dupradar/histogram", - "star_rsem/dupradar/histogram/RAP1_IAA_30M_REP1_expressionHist.pdf", - "star_rsem/dupradar/histogram/RAP1_UNINDUCED_REP1_expressionHist.pdf", - "star_rsem/dupradar/histogram/RAP1_UNINDUCED_REP2_expressionHist.pdf", - "star_rsem/dupradar/histogram/WT_REP1_expressionHist.pdf", - "star_rsem/dupradar/histogram/WT_REP2_expressionHist.pdf", - "star_rsem/dupradar/intercepts_slope", - "star_rsem/dupradar/intercepts_slope/RAP1_IAA_30M_REP1_intercept_slope.txt", - "star_rsem/dupradar/intercepts_slope/RAP1_UNINDUCED_REP1_intercept_slope.txt", - "star_rsem/dupradar/intercepts_slope/RAP1_UNINDUCED_REP2_intercept_slope.txt", - "star_rsem/dupradar/intercepts_slope/WT_REP1_intercept_slope.txt", - "star_rsem/dupradar/intercepts_slope/WT_REP2_intercept_slope.txt", - "star_rsem/dupradar/scatter_plot", - "star_rsem/dupradar/scatter_plot/RAP1_IAA_30M_REP1_duprateExpDens.pdf", - "star_rsem/dupradar/scatter_plot/RAP1_UNINDUCED_REP1_duprateExpDens.pdf", - "star_rsem/dupradar/scatter_plot/RAP1_UNINDUCED_REP2_duprateExpDens.pdf", - "star_rsem/dupradar/scatter_plot/WT_REP1_duprateExpDens.pdf", - "star_rsem/dupradar/scatter_plot/WT_REP2_duprateExpDens.pdf", - "star_rsem/featurecounts", - "star_rsem/featurecounts/RAP1_IAA_30M_REP1.biotype_counts_mqc.tsv", - "star_rsem/featurecounts/RAP1_IAA_30M_REP1.biotype_counts_rrna_mqc.tsv", - "star_rsem/featurecounts/RAP1_IAA_30M_REP1.featureCounts.tsv", - "star_rsem/featurecounts/RAP1_IAA_30M_REP1.featureCounts.tsv.summary", - "star_rsem/featurecounts/RAP1_UNINDUCED_REP1.biotype_counts_mqc.tsv", - "star_rsem/featurecounts/RAP1_UNINDUCED_REP1.biotype_counts_rrna_mqc.tsv", - "star_rsem/featurecounts/RAP1_UNINDUCED_REP1.featureCounts.tsv", - "star_rsem/featurecounts/RAP1_UNINDUCED_REP1.featureCounts.tsv.summary", - "star_rsem/featurecounts/RAP1_UNINDUCED_REP2.biotype_counts_mqc.tsv", - "star_rsem/featurecounts/RAP1_UNINDUCED_REP2.biotype_counts_rrna_mqc.tsv", - "star_rsem/featurecounts/RAP1_UNINDUCED_REP2.featureCounts.tsv", - "star_rsem/featurecounts/RAP1_UNINDUCED_REP2.featureCounts.tsv.summary", - "star_rsem/featurecounts/WT_REP1.biotype_counts_mqc.tsv", - "star_rsem/featurecounts/WT_REP1.biotype_counts_rrna_mqc.tsv", - "star_rsem/featurecounts/WT_REP1.featureCounts.tsv", - "star_rsem/featurecounts/WT_REP1.featureCounts.tsv.summary", - "star_rsem/featurecounts/WT_REP2.biotype_counts_mqc.tsv", - "star_rsem/featurecounts/WT_REP2.biotype_counts_rrna_mqc.tsv", - "star_rsem/featurecounts/WT_REP2.featureCounts.tsv", - "star_rsem/featurecounts/WT_REP2.featureCounts.tsv.summary", - "star_rsem/log", - "star_rsem/log/RAP1_IAA_30M_REP1.log", - "star_rsem/log/RAP1_UNINDUCED_REP1.log", - "star_rsem/log/RAP1_UNINDUCED_REP2.log", - "star_rsem/log/WT_REP1.log", - "star_rsem/log/WT_REP2.log", - "star_rsem/picard_metrics", - "star_rsem/picard_metrics/RAP1_IAA_30M_REP1.markdup.sorted.MarkDuplicates.metrics.txt", - "star_rsem/picard_metrics/RAP1_UNINDUCED_REP1.markdup.sorted.MarkDuplicates.metrics.txt", - "star_rsem/picard_metrics/RAP1_UNINDUCED_REP2.markdup.sorted.MarkDuplicates.metrics.txt", - "star_rsem/picard_metrics/WT_REP1.markdup.sorted.MarkDuplicates.metrics.txt", - "star_rsem/picard_metrics/WT_REP2.markdup.sorted.MarkDuplicates.metrics.txt", - "star_rsem/qualimap", - "star_rsem/qualimap/RAP1_IAA_30M_REP1", - "star_rsem/qualimap/RAP1_IAA_30M_REP1/css", - "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/agogo.css", - "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/ajax-loader.gif", - "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/basic.css", - "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/bgfooter.png", - "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/bgtop.png", - "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/comment-bright.png", - "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/comment-close.png", - "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/comment.png", - "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/doctools.js", - "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/down-pressed.png", - "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/down.png", - "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/file.png", - "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/jquery.js", - "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/minus.png", - "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/plus.png", - "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/pygments.css", - "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/qualimap_logo_small.png", - "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/report.css", - "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/searchtools.js", - "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/underscore.js", - "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/up-pressed.png", - "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/up.png", - "star_rsem/qualimap/RAP1_IAA_30M_REP1/css/websupport.js", - "star_rsem/qualimap/RAP1_IAA_30M_REP1/images_qualimapReport", - "star_rsem/qualimap/RAP1_IAA_30M_REP1/images_qualimapReport/Coverage Profile Along Genes (High).png", - "star_rsem/qualimap/RAP1_IAA_30M_REP1/images_qualimapReport/Coverage Profile Along Genes (Low).png", - "star_rsem/qualimap/RAP1_IAA_30M_REP1/images_qualimapReport/Coverage Profile Along Genes (Total).png", - "star_rsem/qualimap/RAP1_IAA_30M_REP1/images_qualimapReport/Junction Analysis.png", - "star_rsem/qualimap/RAP1_IAA_30M_REP1/images_qualimapReport/Reads Genomic Origin.png", - "star_rsem/qualimap/RAP1_IAA_30M_REP1/images_qualimapReport/Transcript coverage histogram.png", - "star_rsem/qualimap/RAP1_IAA_30M_REP1/qualimapReport.html", - "star_rsem/qualimap/RAP1_IAA_30M_REP1/raw_data_qualimapReport", - "star_rsem/qualimap/RAP1_IAA_30M_REP1/raw_data_qualimapReport/coverage_profile_along_genes_(high).txt", - "star_rsem/qualimap/RAP1_IAA_30M_REP1/raw_data_qualimapReport/coverage_profile_along_genes_(low).txt", - "star_rsem/qualimap/RAP1_IAA_30M_REP1/raw_data_qualimapReport/coverage_profile_along_genes_(total).txt", - "star_rsem/qualimap/RAP1_IAA_30M_REP1/rnaseq_qc_results.txt", - "star_rsem/qualimap/RAP1_UNINDUCED_REP1", - "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css", - "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/agogo.css", - "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/ajax-loader.gif", - "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/basic.css", - "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/bgfooter.png", - "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/bgtop.png", - "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/comment-bright.png", - "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/comment-close.png", - "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/comment.png", - "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/doctools.js", - "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/down-pressed.png", - "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/down.png", - "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/file.png", - "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/jquery.js", - "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/minus.png", - "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/plus.png", - "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/pygments.css", - "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/qualimap_logo_small.png", - "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/report.css", - "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/searchtools.js", - "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/underscore.js", - "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/up-pressed.png", - "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/up.png", - "star_rsem/qualimap/RAP1_UNINDUCED_REP1/css/websupport.js", - "star_rsem/qualimap/RAP1_UNINDUCED_REP1/images_qualimapReport", - "star_rsem/qualimap/RAP1_UNINDUCED_REP1/images_qualimapReport/Coverage Profile Along Genes (High).png", - "star_rsem/qualimap/RAP1_UNINDUCED_REP1/images_qualimapReport/Coverage Profile Along Genes (Low).png", - "star_rsem/qualimap/RAP1_UNINDUCED_REP1/images_qualimapReport/Coverage Profile Along Genes (Total).png", - "star_rsem/qualimap/RAP1_UNINDUCED_REP1/images_qualimapReport/Junction Analysis.png", - "star_rsem/qualimap/RAP1_UNINDUCED_REP1/images_qualimapReport/Reads Genomic Origin.png", - "star_rsem/qualimap/RAP1_UNINDUCED_REP1/images_qualimapReport/Transcript coverage histogram.png", - "star_rsem/qualimap/RAP1_UNINDUCED_REP1/qualimapReport.html", - "star_rsem/qualimap/RAP1_UNINDUCED_REP1/raw_data_qualimapReport", - "star_rsem/qualimap/RAP1_UNINDUCED_REP1/raw_data_qualimapReport/coverage_profile_along_genes_(high).txt", - "star_rsem/qualimap/RAP1_UNINDUCED_REP1/raw_data_qualimapReport/coverage_profile_along_genes_(low).txt", - "star_rsem/qualimap/RAP1_UNINDUCED_REP1/raw_data_qualimapReport/coverage_profile_along_genes_(total).txt", - "star_rsem/qualimap/RAP1_UNINDUCED_REP1/rnaseq_qc_results.txt", - "star_rsem/qualimap/RAP1_UNINDUCED_REP2", - "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css", - "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/agogo.css", - "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/ajax-loader.gif", - "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/basic.css", - "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/bgfooter.png", - "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/bgtop.png", - "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/comment-bright.png", - "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/comment-close.png", - "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/comment.png", - "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/doctools.js", - "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/down-pressed.png", - "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/down.png", - "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/file.png", - "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/jquery.js", - "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/minus.png", - "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/plus.png", - "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/pygments.css", - "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/qualimap_logo_small.png", - "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/report.css", - "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/searchtools.js", - "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/underscore.js", - "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/up-pressed.png", - "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/up.png", - "star_rsem/qualimap/RAP1_UNINDUCED_REP2/css/websupport.js", - "star_rsem/qualimap/RAP1_UNINDUCED_REP2/images_qualimapReport", - "star_rsem/qualimap/RAP1_UNINDUCED_REP2/images_qualimapReport/Coverage Profile Along Genes (High).png", - "star_rsem/qualimap/RAP1_UNINDUCED_REP2/images_qualimapReport/Coverage Profile Along Genes (Low).png", - "star_rsem/qualimap/RAP1_UNINDUCED_REP2/images_qualimapReport/Coverage Profile Along Genes (Total).png", - "star_rsem/qualimap/RAP1_UNINDUCED_REP2/images_qualimapReport/Junction Analysis.png", - "star_rsem/qualimap/RAP1_UNINDUCED_REP2/images_qualimapReport/Reads Genomic Origin.png", - "star_rsem/qualimap/RAP1_UNINDUCED_REP2/images_qualimapReport/Transcript coverage histogram.png", - "star_rsem/qualimap/RAP1_UNINDUCED_REP2/qualimapReport.html", - "star_rsem/qualimap/RAP1_UNINDUCED_REP2/raw_data_qualimapReport", - "star_rsem/qualimap/RAP1_UNINDUCED_REP2/raw_data_qualimapReport/coverage_profile_along_genes_(high).txt", - "star_rsem/qualimap/RAP1_UNINDUCED_REP2/raw_data_qualimapReport/coverage_profile_along_genes_(low).txt", - "star_rsem/qualimap/RAP1_UNINDUCED_REP2/raw_data_qualimapReport/coverage_profile_along_genes_(total).txt", - "star_rsem/qualimap/RAP1_UNINDUCED_REP2/rnaseq_qc_results.txt", - "star_rsem/qualimap/WT_REP1", - "star_rsem/qualimap/WT_REP1/css", - "star_rsem/qualimap/WT_REP1/css/agogo.css", - "star_rsem/qualimap/WT_REP1/css/ajax-loader.gif", - "star_rsem/qualimap/WT_REP1/css/basic.css", - "star_rsem/qualimap/WT_REP1/css/bgfooter.png", - "star_rsem/qualimap/WT_REP1/css/bgtop.png", - "star_rsem/qualimap/WT_REP1/css/comment-bright.png", - "star_rsem/qualimap/WT_REP1/css/comment-close.png", - "star_rsem/qualimap/WT_REP1/css/comment.png", - "star_rsem/qualimap/WT_REP1/css/doctools.js", - "star_rsem/qualimap/WT_REP1/css/down-pressed.png", - "star_rsem/qualimap/WT_REP1/css/down.png", - "star_rsem/qualimap/WT_REP1/css/file.png", - "star_rsem/qualimap/WT_REP1/css/jquery.js", - "star_rsem/qualimap/WT_REP1/css/minus.png", - "star_rsem/qualimap/WT_REP1/css/plus.png", - "star_rsem/qualimap/WT_REP1/css/pygments.css", - "star_rsem/qualimap/WT_REP1/css/qualimap_logo_small.png", - "star_rsem/qualimap/WT_REP1/css/report.css", - "star_rsem/qualimap/WT_REP1/css/searchtools.js", - "star_rsem/qualimap/WT_REP1/css/underscore.js", - "star_rsem/qualimap/WT_REP1/css/up-pressed.png", - "star_rsem/qualimap/WT_REP1/css/up.png", - "star_rsem/qualimap/WT_REP1/css/websupport.js", - "star_rsem/qualimap/WT_REP1/images_qualimapReport", - "star_rsem/qualimap/WT_REP1/images_qualimapReport/Coverage Profile Along Genes (High).png", - "star_rsem/qualimap/WT_REP1/images_qualimapReport/Coverage Profile Along Genes (Low).png", - "star_rsem/qualimap/WT_REP1/images_qualimapReport/Coverage Profile Along Genes (Total).png", - "star_rsem/qualimap/WT_REP1/images_qualimapReport/Junction Analysis.png", - "star_rsem/qualimap/WT_REP1/images_qualimapReport/Reads Genomic Origin.png", - "star_rsem/qualimap/WT_REP1/images_qualimapReport/Transcript coverage histogram.png", - "star_rsem/qualimap/WT_REP1/qualimapReport.html", - "star_rsem/qualimap/WT_REP1/raw_data_qualimapReport", - "star_rsem/qualimap/WT_REP1/raw_data_qualimapReport/coverage_profile_along_genes_(high).txt", - "star_rsem/qualimap/WT_REP1/raw_data_qualimapReport/coverage_profile_along_genes_(low).txt", - "star_rsem/qualimap/WT_REP1/raw_data_qualimapReport/coverage_profile_along_genes_(total).txt", - "star_rsem/qualimap/WT_REP1/rnaseq_qc_results.txt", - "star_rsem/qualimap/WT_REP2", - "star_rsem/qualimap/WT_REP2/css", - "star_rsem/qualimap/WT_REP2/css/agogo.css", - "star_rsem/qualimap/WT_REP2/css/ajax-loader.gif", - "star_rsem/qualimap/WT_REP2/css/basic.css", - "star_rsem/qualimap/WT_REP2/css/bgfooter.png", - "star_rsem/qualimap/WT_REP2/css/bgtop.png", - "star_rsem/qualimap/WT_REP2/css/comment-bright.png", - "star_rsem/qualimap/WT_REP2/css/comment-close.png", - "star_rsem/qualimap/WT_REP2/css/comment.png", - "star_rsem/qualimap/WT_REP2/css/doctools.js", - "star_rsem/qualimap/WT_REP2/css/down-pressed.png", - "star_rsem/qualimap/WT_REP2/css/down.png", - "star_rsem/qualimap/WT_REP2/css/file.png", - "star_rsem/qualimap/WT_REP2/css/jquery.js", - "star_rsem/qualimap/WT_REP2/css/minus.png", - "star_rsem/qualimap/WT_REP2/css/plus.png", - "star_rsem/qualimap/WT_REP2/css/pygments.css", - "star_rsem/qualimap/WT_REP2/css/qualimap_logo_small.png", - "star_rsem/qualimap/WT_REP2/css/report.css", - "star_rsem/qualimap/WT_REP2/css/searchtools.js", - "star_rsem/qualimap/WT_REP2/css/underscore.js", - "star_rsem/qualimap/WT_REP2/css/up-pressed.png", - "star_rsem/qualimap/WT_REP2/css/up.png", - "star_rsem/qualimap/WT_REP2/css/websupport.js", - "star_rsem/qualimap/WT_REP2/images_qualimapReport", - "star_rsem/qualimap/WT_REP2/images_qualimapReport/Coverage Profile Along Genes (High).png", - "star_rsem/qualimap/WT_REP2/images_qualimapReport/Coverage Profile Along Genes (Low).png", - "star_rsem/qualimap/WT_REP2/images_qualimapReport/Coverage Profile Along Genes (Total).png", - "star_rsem/qualimap/WT_REP2/images_qualimapReport/Junction Analysis.png", - "star_rsem/qualimap/WT_REP2/images_qualimapReport/Reads Genomic Origin.png", - "star_rsem/qualimap/WT_REP2/images_qualimapReport/Transcript coverage histogram.png", - "star_rsem/qualimap/WT_REP2/qualimapReport.html", - "star_rsem/qualimap/WT_REP2/raw_data_qualimapReport", - "star_rsem/qualimap/WT_REP2/raw_data_qualimapReport/coverage_profile_along_genes_(high).txt", - "star_rsem/qualimap/WT_REP2/raw_data_qualimapReport/coverage_profile_along_genes_(low).txt", - "star_rsem/qualimap/WT_REP2/raw_data_qualimapReport/coverage_profile_along_genes_(total).txt", - "star_rsem/qualimap/WT_REP2/rnaseq_qc_results.txt", - "star_rsem/rsem.merged.gene_counts.tsv", - "star_rsem/rsem.merged.gene_tpm.tsv", - "star_rsem/rsem.merged.transcript_counts.tsv", - "star_rsem/rsem.merged.transcript_tpm.tsv", - "star_rsem/rseqc", - "star_rsem/rseqc/bam_stat", - "star_rsem/rseqc/bam_stat/RAP1_IAA_30M_REP1.bam_stat.txt", - "star_rsem/rseqc/bam_stat/RAP1_UNINDUCED_REP1.bam_stat.txt", - "star_rsem/rseqc/bam_stat/RAP1_UNINDUCED_REP2.bam_stat.txt", - "star_rsem/rseqc/bam_stat/WT_REP1.bam_stat.txt", - "star_rsem/rseqc/bam_stat/WT_REP2.bam_stat.txt", - "star_rsem/rseqc/infer_experiment", - "star_rsem/rseqc/infer_experiment/RAP1_IAA_30M_REP1.infer_experiment.txt", - "star_rsem/rseqc/infer_experiment/RAP1_UNINDUCED_REP1.infer_experiment.txt", - "star_rsem/rseqc/infer_experiment/RAP1_UNINDUCED_REP2.infer_experiment.txt", - "star_rsem/rseqc/infer_experiment/WT_REP1.infer_experiment.txt", - "star_rsem/rseqc/infer_experiment/WT_REP2.infer_experiment.txt", - "star_rsem/rseqc/inner_distance", - "star_rsem/rseqc/inner_distance/pdf", - "star_rsem/rseqc/inner_distance/pdf/RAP1_IAA_30M_REP1.inner_distance_plot.pdf", - "star_rsem/rseqc/inner_distance/pdf/WT_REP1.inner_distance_plot.pdf", - "star_rsem/rseqc/inner_distance/pdf/WT_REP2.inner_distance_plot.pdf", - "star_rsem/rseqc/inner_distance/rscript", - "star_rsem/rseqc/inner_distance/rscript/RAP1_IAA_30M_REP1.inner_distance_plot.r", - "star_rsem/rseqc/inner_distance/rscript/WT_REP1.inner_distance_plot.r", - "star_rsem/rseqc/inner_distance/rscript/WT_REP2.inner_distance_plot.r", - "star_rsem/rseqc/inner_distance/txt", - "star_rsem/rseqc/inner_distance/txt/RAP1_IAA_30M_REP1.inner_distance.txt", - "star_rsem/rseqc/inner_distance/txt/RAP1_IAA_30M_REP1.inner_distance_freq.txt", - "star_rsem/rseqc/inner_distance/txt/RAP1_IAA_30M_REP1.inner_distance_mean.txt", - "star_rsem/rseqc/inner_distance/txt/WT_REP1.inner_distance.txt", - "star_rsem/rseqc/inner_distance/txt/WT_REP1.inner_distance_freq.txt", - "star_rsem/rseqc/inner_distance/txt/WT_REP1.inner_distance_mean.txt", - "star_rsem/rseqc/inner_distance/txt/WT_REP2.inner_distance.txt", - "star_rsem/rseqc/inner_distance/txt/WT_REP2.inner_distance_freq.txt", - "star_rsem/rseqc/inner_distance/txt/WT_REP2.inner_distance_mean.txt", - "star_rsem/rseqc/junction_annotation", - "star_rsem/rseqc/junction_annotation/bed", - "star_rsem/rseqc/junction_annotation/bed/RAP1_IAA_30M_REP1.junction.Interact.bed", - "star_rsem/rseqc/junction_annotation/bed/RAP1_IAA_30M_REP1.junction.bed", - "star_rsem/rseqc/junction_annotation/bed/RAP1_UNINDUCED_REP1.junction.Interact.bed", - "star_rsem/rseqc/junction_annotation/bed/RAP1_UNINDUCED_REP1.junction.bed", - "star_rsem/rseqc/junction_annotation/bed/RAP1_UNINDUCED_REP2.junction.Interact.bed", - "star_rsem/rseqc/junction_annotation/bed/RAP1_UNINDUCED_REP2.junction.bed", - "star_rsem/rseqc/junction_annotation/bed/WT_REP1.junction.Interact.bed", - "star_rsem/rseqc/junction_annotation/bed/WT_REP1.junction.bed", - "star_rsem/rseqc/junction_annotation/bed/WT_REP2.junction.Interact.bed", - "star_rsem/rseqc/junction_annotation/bed/WT_REP2.junction.bed", - "star_rsem/rseqc/junction_annotation/log", - "star_rsem/rseqc/junction_annotation/log/RAP1_IAA_30M_REP1.junction_annotation.log", - "star_rsem/rseqc/junction_annotation/log/RAP1_UNINDUCED_REP1.junction_annotation.log", - "star_rsem/rseqc/junction_annotation/log/RAP1_UNINDUCED_REP2.junction_annotation.log", - "star_rsem/rseqc/junction_annotation/log/WT_REP1.junction_annotation.log", - "star_rsem/rseqc/junction_annotation/log/WT_REP2.junction_annotation.log", - "star_rsem/rseqc/junction_annotation/pdf", - "star_rsem/rseqc/junction_annotation/pdf/RAP1_IAA_30M_REP1.splice_events.pdf", - "star_rsem/rseqc/junction_annotation/pdf/RAP1_IAA_30M_REP1.splice_junction.pdf", - "star_rsem/rseqc/junction_annotation/pdf/RAP1_UNINDUCED_REP1.splice_events.pdf", - "star_rsem/rseqc/junction_annotation/pdf/RAP1_UNINDUCED_REP1.splice_junction.pdf", - "star_rsem/rseqc/junction_annotation/pdf/RAP1_UNINDUCED_REP2.splice_events.pdf", - "star_rsem/rseqc/junction_annotation/pdf/RAP1_UNINDUCED_REP2.splice_junction.pdf", - "star_rsem/rseqc/junction_annotation/pdf/WT_REP1.splice_events.pdf", - "star_rsem/rseqc/junction_annotation/pdf/WT_REP1.splice_junction.pdf", - "star_rsem/rseqc/junction_annotation/pdf/WT_REP2.splice_events.pdf", - "star_rsem/rseqc/junction_annotation/pdf/WT_REP2.splice_junction.pdf", - "star_rsem/rseqc/junction_annotation/rscript", - "star_rsem/rseqc/junction_annotation/rscript/RAP1_IAA_30M_REP1.junction_plot.r", - "star_rsem/rseqc/junction_annotation/rscript/RAP1_UNINDUCED_REP1.junction_plot.r", - "star_rsem/rseqc/junction_annotation/rscript/RAP1_UNINDUCED_REP2.junction_plot.r", - "star_rsem/rseqc/junction_annotation/rscript/WT_REP1.junction_plot.r", - "star_rsem/rseqc/junction_annotation/rscript/WT_REP2.junction_plot.r", - "star_rsem/rseqc/junction_annotation/xls", - "star_rsem/rseqc/junction_annotation/xls/RAP1_IAA_30M_REP1.junction.xls", - "star_rsem/rseqc/junction_annotation/xls/RAP1_UNINDUCED_REP1.junction.xls", - "star_rsem/rseqc/junction_annotation/xls/RAP1_UNINDUCED_REP2.junction.xls", - "star_rsem/rseqc/junction_annotation/xls/WT_REP1.junction.xls", - "star_rsem/rseqc/junction_annotation/xls/WT_REP2.junction.xls", - "star_rsem/rseqc/junction_saturation", - "star_rsem/rseqc/junction_saturation/pdf", - "star_rsem/rseqc/junction_saturation/pdf/RAP1_IAA_30M_REP1.junctionSaturation_plot.pdf", - "star_rsem/rseqc/junction_saturation/pdf/RAP1_UNINDUCED_REP1.junctionSaturation_plot.pdf", - "star_rsem/rseqc/junction_saturation/pdf/RAP1_UNINDUCED_REP2.junctionSaturation_plot.pdf", - "star_rsem/rseqc/junction_saturation/pdf/WT_REP1.junctionSaturation_plot.pdf", - "star_rsem/rseqc/junction_saturation/pdf/WT_REP2.junctionSaturation_plot.pdf", - "star_rsem/rseqc/junction_saturation/rscript", - "star_rsem/rseqc/junction_saturation/rscript/RAP1_IAA_30M_REP1.junctionSaturation_plot.r", - "star_rsem/rseqc/junction_saturation/rscript/RAP1_UNINDUCED_REP1.junctionSaturation_plot.r", - "star_rsem/rseqc/junction_saturation/rscript/RAP1_UNINDUCED_REP2.junctionSaturation_plot.r", - "star_rsem/rseqc/junction_saturation/rscript/WT_REP1.junctionSaturation_plot.r", - "star_rsem/rseqc/junction_saturation/rscript/WT_REP2.junctionSaturation_plot.r", - "star_rsem/rseqc/read_distribution", - "star_rsem/rseqc/read_distribution/RAP1_IAA_30M_REP1.read_distribution.txt", - "star_rsem/rseqc/read_distribution/RAP1_UNINDUCED_REP1.read_distribution.txt", - "star_rsem/rseqc/read_distribution/RAP1_UNINDUCED_REP2.read_distribution.txt", - "star_rsem/rseqc/read_distribution/WT_REP1.read_distribution.txt", - "star_rsem/rseqc/read_distribution/WT_REP2.read_distribution.txt", - "star_rsem/rseqc/read_duplication", - "star_rsem/rseqc/read_duplication/pdf", - "star_rsem/rseqc/read_duplication/pdf/RAP1_IAA_30M_REP1.DupRate_plot.pdf", - "star_rsem/rseqc/read_duplication/pdf/RAP1_UNINDUCED_REP1.DupRate_plot.pdf", - "star_rsem/rseqc/read_duplication/pdf/RAP1_UNINDUCED_REP2.DupRate_plot.pdf", - "star_rsem/rseqc/read_duplication/pdf/WT_REP1.DupRate_plot.pdf", - "star_rsem/rseqc/read_duplication/pdf/WT_REP2.DupRate_plot.pdf", - "star_rsem/rseqc/read_duplication/rscript", - "star_rsem/rseqc/read_duplication/rscript/RAP1_IAA_30M_REP1.DupRate_plot.r", - "star_rsem/rseqc/read_duplication/rscript/RAP1_UNINDUCED_REP1.DupRate_plot.r", - "star_rsem/rseqc/read_duplication/rscript/RAP1_UNINDUCED_REP2.DupRate_plot.r", - "star_rsem/rseqc/read_duplication/rscript/WT_REP1.DupRate_plot.r", - "star_rsem/rseqc/read_duplication/rscript/WT_REP2.DupRate_plot.r", - "star_rsem/rseqc/read_duplication/xls", - "star_rsem/rseqc/read_duplication/xls/RAP1_IAA_30M_REP1.pos.DupRate.xls", - "star_rsem/rseqc/read_duplication/xls/RAP1_IAA_30M_REP1.seq.DupRate.xls", - "star_rsem/rseqc/read_duplication/xls/RAP1_UNINDUCED_REP1.pos.DupRate.xls", - "star_rsem/rseqc/read_duplication/xls/RAP1_UNINDUCED_REP1.seq.DupRate.xls", - "star_rsem/rseqc/read_duplication/xls/RAP1_UNINDUCED_REP2.pos.DupRate.xls", - "star_rsem/rseqc/read_duplication/xls/RAP1_UNINDUCED_REP2.seq.DupRate.xls", - "star_rsem/rseqc/read_duplication/xls/WT_REP1.pos.DupRate.xls", - "star_rsem/rseqc/read_duplication/xls/WT_REP1.seq.DupRate.xls", - "star_rsem/rseqc/read_duplication/xls/WT_REP2.pos.DupRate.xls", - "star_rsem/rseqc/read_duplication/xls/WT_REP2.seq.DupRate.xls", - "star_rsem/samtools_stats", - "star_rsem/samtools_stats/RAP1_IAA_30M_REP1.markdup.sorted.bam.flagstat", - "star_rsem/samtools_stats/RAP1_IAA_30M_REP1.markdup.sorted.bam.idxstats", - "star_rsem/samtools_stats/RAP1_IAA_30M_REP1.markdup.sorted.bam.stats", - "star_rsem/samtools_stats/RAP1_IAA_30M_REP1.sorted.bam.flagstat", - "star_rsem/samtools_stats/RAP1_IAA_30M_REP1.sorted.bam.idxstats", - "star_rsem/samtools_stats/RAP1_IAA_30M_REP1.sorted.bam.stats", - "star_rsem/samtools_stats/RAP1_UNINDUCED_REP1.markdup.sorted.bam.flagstat", - "star_rsem/samtools_stats/RAP1_UNINDUCED_REP1.markdup.sorted.bam.idxstats", - "star_rsem/samtools_stats/RAP1_UNINDUCED_REP1.markdup.sorted.bam.stats", - "star_rsem/samtools_stats/RAP1_UNINDUCED_REP1.sorted.bam.flagstat", - "star_rsem/samtools_stats/RAP1_UNINDUCED_REP1.sorted.bam.idxstats", - "star_rsem/samtools_stats/RAP1_UNINDUCED_REP1.sorted.bam.stats", - "star_rsem/samtools_stats/RAP1_UNINDUCED_REP2.markdup.sorted.bam.flagstat", - "star_rsem/samtools_stats/RAP1_UNINDUCED_REP2.markdup.sorted.bam.idxstats", - "star_rsem/samtools_stats/RAP1_UNINDUCED_REP2.markdup.sorted.bam.stats", - "star_rsem/samtools_stats/RAP1_UNINDUCED_REP2.sorted.bam.flagstat", - "star_rsem/samtools_stats/RAP1_UNINDUCED_REP2.sorted.bam.idxstats", - "star_rsem/samtools_stats/RAP1_UNINDUCED_REP2.sorted.bam.stats", - "star_rsem/samtools_stats/WT_REP1.markdup.sorted.bam.flagstat", - "star_rsem/samtools_stats/WT_REP1.markdup.sorted.bam.idxstats", - "star_rsem/samtools_stats/WT_REP1.markdup.sorted.bam.stats", - "star_rsem/samtools_stats/WT_REP1.sorted.bam.flagstat", - "star_rsem/samtools_stats/WT_REP1.sorted.bam.idxstats", - "star_rsem/samtools_stats/WT_REP1.sorted.bam.stats", - "star_rsem/samtools_stats/WT_REP2.markdup.sorted.bam.flagstat", - "star_rsem/samtools_stats/WT_REP2.markdup.sorted.bam.idxstats", - "star_rsem/samtools_stats/WT_REP2.markdup.sorted.bam.stats", - "star_rsem/samtools_stats/WT_REP2.sorted.bam.flagstat", - "star_rsem/samtools_stats/WT_REP2.sorted.bam.idxstats", - "star_rsem/samtools_stats/WT_REP2.sorted.bam.stats", - "star_rsem/stringtie", - "star_rsem/stringtie/RAP1_IAA_30M_REP1.ballgown", - "star_rsem/stringtie/RAP1_IAA_30M_REP1.ballgown/e2t.ctab", - "star_rsem/stringtie/RAP1_IAA_30M_REP1.ballgown/e_data.ctab", - "star_rsem/stringtie/RAP1_IAA_30M_REP1.ballgown/i2t.ctab", - "star_rsem/stringtie/RAP1_IAA_30M_REP1.ballgown/i_data.ctab", - "star_rsem/stringtie/RAP1_IAA_30M_REP1.ballgown/t_data.ctab", - "star_rsem/stringtie/RAP1_IAA_30M_REP1.coverage.gtf", - "star_rsem/stringtie/RAP1_IAA_30M_REP1.gene.abundance.txt", - "star_rsem/stringtie/RAP1_IAA_30M_REP1.transcripts.gtf", - "star_rsem/stringtie/RAP1_UNINDUCED_REP1.ballgown", - "star_rsem/stringtie/RAP1_UNINDUCED_REP1.ballgown/e2t.ctab", - "star_rsem/stringtie/RAP1_UNINDUCED_REP1.ballgown/e_data.ctab", - "star_rsem/stringtie/RAP1_UNINDUCED_REP1.ballgown/i2t.ctab", - "star_rsem/stringtie/RAP1_UNINDUCED_REP1.ballgown/i_data.ctab", - "star_rsem/stringtie/RAP1_UNINDUCED_REP1.ballgown/t_data.ctab", - "star_rsem/stringtie/RAP1_UNINDUCED_REP1.coverage.gtf", - "star_rsem/stringtie/RAP1_UNINDUCED_REP1.gene.abundance.txt", - "star_rsem/stringtie/RAP1_UNINDUCED_REP1.transcripts.gtf", - "star_rsem/stringtie/RAP1_UNINDUCED_REP2.ballgown", - "star_rsem/stringtie/RAP1_UNINDUCED_REP2.ballgown/e2t.ctab", - "star_rsem/stringtie/RAP1_UNINDUCED_REP2.ballgown/e_data.ctab", - "star_rsem/stringtie/RAP1_UNINDUCED_REP2.ballgown/i2t.ctab", - "star_rsem/stringtie/RAP1_UNINDUCED_REP2.ballgown/i_data.ctab", - "star_rsem/stringtie/RAP1_UNINDUCED_REP2.ballgown/t_data.ctab", - "star_rsem/stringtie/RAP1_UNINDUCED_REP2.coverage.gtf", - "star_rsem/stringtie/RAP1_UNINDUCED_REP2.gene.abundance.txt", - "star_rsem/stringtie/RAP1_UNINDUCED_REP2.transcripts.gtf", - "star_rsem/stringtie/WT_REP1.ballgown", - "star_rsem/stringtie/WT_REP1.ballgown/e2t.ctab", - "star_rsem/stringtie/WT_REP1.ballgown/e_data.ctab", - "star_rsem/stringtie/WT_REP1.ballgown/i2t.ctab", - "star_rsem/stringtie/WT_REP1.ballgown/i_data.ctab", - "star_rsem/stringtie/WT_REP1.ballgown/t_data.ctab", - "star_rsem/stringtie/WT_REP1.coverage.gtf", - "star_rsem/stringtie/WT_REP1.gene.abundance.txt", - "star_rsem/stringtie/WT_REP1.transcripts.gtf", - "star_rsem/stringtie/WT_REP2.ballgown", - "star_rsem/stringtie/WT_REP2.ballgown/e2t.ctab", - "star_rsem/stringtie/WT_REP2.ballgown/e_data.ctab", - "star_rsem/stringtie/WT_REP2.ballgown/i2t.ctab", - "star_rsem/stringtie/WT_REP2.ballgown/i_data.ctab", - "star_rsem/stringtie/WT_REP2.ballgown/t_data.ctab", - "star_rsem/stringtie/WT_REP2.coverage.gtf", - "star_rsem/stringtie/WT_REP2.gene.abundance.txt", - "star_rsem/stringtie/WT_REP2.transcripts.gtf", - "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" - ], - [ - "genome_gfp.fasta:md5,e23e302af63736a199985a169fdac055", - "genome_gfp.gtf:md5,c98b12c302f15731bfc36bcf297cfe28", - "cutadapt_filtered_reads_plot.txt:md5,6fa381627f7c1f664f3d4b2cb79cce90", - "cutadapt_trimmed_sequences_plot_3_Counts.txt:md5,13dfa866fd91dbb072689efe9aa83b1f", - "cutadapt_trimmed_sequences_plot_3_Obs_Exp.txt:md5,07145dd8dd3db654859b18eb0389046c", - "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,6fe2c985606abad947bcca99b015ae33", - "fastqc_trimmed-status-check-heatmap.txt:md5,22a03548736b88b23be6bc0c9ef1b4a6", - "fastqc_trimmed_overrepresented_sequences_plot.txt:md5,c755e9d044ea1a82b2c8edde867b4878", - "fastqc_trimmed_per_base_n_content_plot.txt:md5,418610c1ce119cb786ad434db75d366e", - "fastqc_trimmed_per_base_sequence_quality_plot.txt:md5,bd22e06e41c096ad4f745d40fe96a1e5", - "fastqc_trimmed_per_sequence_gc_content_plot_Counts.txt:md5,004c60768ceb6197765154e3eaa37b7a", - "fastqc_trimmed_per_sequence_gc_content_plot_Percentages.txt:md5,95d29060b687f745288ad1ec47750037", - "fastqc_trimmed_per_sequence_quality_scores_plot.txt:md5,0f9834cc19f76dd5c87cf8cba7435a7c", - "fastqc_trimmed_sequence_counts_plot.txt:md5,9fd642bdd1da354f296bb8092205608f", - "fastqc_trimmed_sequence_duplication_levels_plot.txt:md5,0758257b497283b1ef28171e694db6db", - "multiqc_citations.txt:md5,5a68f7972ea275b21b12acdf43447dfb", - "multiqc_cutadapt.txt:md5,583b7b9ba76b26162bb9610ed746454b", - "multiqc_fastqc_fastqc_raw.txt:md5,81c3c1a2575a1891a7f2a9637a0f2cc0", - "multiqc_fastqc_fastqc_trimmed.txt:md5,54743154d0e8858980acffeb5b6f6a97", - "multiqc_featurecounts_biotype_plot.txt:md5,16081809f893eca4d9914fd370e7fbd7", - "multiqc_samtools_idxstats.txt:md5,1cbc64fc9713831a6f45effc0cfe6a39", - "picard_MarkIlluminaAdapters_histogram.txt:md5,d41d8cd98f00b204e9800998ecf8427e", - "picard_MeanQualityByCycle_histogram.txt:md5,d41d8cd98f00b204e9800998ecf8427e", - "picard_QualityScoreDistribution_histogram.txt:md5,d41d8cd98f00b204e9800998ecf8427e", - "qualimap_gene_coverage_profile_Counts.txt:md5,387c07f2a93e3d13048c4cd788d1fcc3", - "qualimap_gene_coverage_profile_Normalised.txt:md5,35f0b71796622269bc51cf1e7a0650ab", - "qualimap_rnaseq_cov_hist.txt:md5,a620cb9d1878e86e10e87500e98122f1", - "rseqc_infer_experiment_plot.txt:md5,c0ddf72b026cdc54ad03e75eaa636f7e", - "samtools-idxstats-mapped-reads-plot_Normalised_Counts.txt:md5,75acd04232d1804b5f960ee4c5db4722", - "samtools-idxstats-mapped-reads-plot_Observed_over_Expected_Counts.txt:md5,3e67e07b5c978fa363965e8e90356eef", - "samtools-idxstats-mapped-reads-plot_Raw_Counts.txt:md5,a83e44c5a22e014d377c41419175784c", - "ambig_info.tsv:md5,de973a4b22a4457217ae3dc04caf9401", - "expected_bias.gz:md5,3407f87245d0003e0ffbfdf6d8c04f20", - "observed_bias.gz:md5,92bcd0592d22a6a58d0360fc76103e56", - "observed_bias_3p.gz:md5,92bcd0592d22a6a58d0360fc76103e56", - "cmd_info.json:md5,138b27764a97d468418b3dac5e7f1cef", - "lib_format_counts.json:md5,c24ffe28d70476b5ccdd8bc2d22c0ac1", - "ambig_info.tsv:md5,45f252b4f0e11e6730cf0c29f800fdbb", - "expected_bias.gz:md5,3407f87245d0003e0ffbfdf6d8c04f20", - "observed_bias.gz:md5,92bcd0592d22a6a58d0360fc76103e56", - "observed_bias_3p.gz:md5,92bcd0592d22a6a58d0360fc76103e56", - "cmd_info.json:md5,87bcf1e84fc31a794e3c8f8b227d11c3", - "lib_format_counts.json:md5,f6d44c0221f7fd559f11a9afe04c9935", - "ambig_info.tsv:md5,6dcc2891ea572e9b8d1ba52cd434ab84", - "expected_bias.gz:md5,3407f87245d0003e0ffbfdf6d8c04f20", - "observed_bias.gz:md5,92bcd0592d22a6a58d0360fc76103e56", - "observed_bias_3p.gz:md5,92bcd0592d22a6a58d0360fc76103e56", - "cmd_info.json:md5,ec504469f9b0e33c94f85846f1486d7f", - "lib_format_counts.json:md5,7c562bf2f70e42f3a7292687dfd328c3", - "ambig_info.tsv:md5,194f574e0586416155e3f33d42e2b167", - "expected_bias.gz:md5,3407f87245d0003e0ffbfdf6d8c04f20", - "observed_bias.gz:md5,92bcd0592d22a6a58d0360fc76103e56", - "observed_bias_3p.gz:md5,92bcd0592d22a6a58d0360fc76103e56", - "cmd_info.json:md5,591436d401b6df6f3c6a8b16913158f4", - "lib_format_counts.json:md5,d46250bb3677d72feeefc435fe6395a6", - "ambig_info.tsv:md5,a26e3f936e65d7da66392603c2f91f6f", - "expected_bias.gz:md5,3407f87245d0003e0ffbfdf6d8c04f20", - "observed_bias.gz:md5,92bcd0592d22a6a58d0360fc76103e56", - "observed_bias_3p.gz:md5,92bcd0592d22a6a58d0360fc76103e56", - "cmd_info.json:md5,fe66c9d876645b9260d8c2488157d4d4", - "lib_format_counts.json:md5,088fd51db07022ffde47033bbd029400", - "tx2gene.tsv:md5,0e2418a69d2eba45097ebffc2f700bfe", - "RAP1_IAA_30M_REP1_dupMatrix.txt:md5,8da31020df3c5b25167345609c6d08c5", - "RAP1_UNINDUCED_REP1_dupMatrix.txt:md5,3f269a6b2e9c8eaab66582e31d208dfc", - "RAP1_UNINDUCED_REP2_dupMatrix.txt:md5,7d96d6ddf1d12d43837b105865aeaafa", - "WT_REP1_dupMatrix.txt:md5,d90a112d68091e75ff3f6ddcdb0c1344", - "WT_REP2_dupMatrix.txt:md5,e97a3c8d2e606d7d4b40cd33eb0b96c4", - "RAP1_IAA_30M_REP1.biotype_counts_mqc.tsv:md5,5a7a4291e8ff6cc25a4eb72dfdf06b51", - "RAP1_IAA_30M_REP1.biotype_counts_rrna_mqc.tsv:md5,dde2de0cb90e10d0195c726f768e9941", - "RAP1_IAA_30M_REP1.featureCounts.tsv:md5,9cf6f9377ea65e3bdb16b55992028d66", - "RAP1_UNINDUCED_REP1.biotype_counts_mqc.tsv:md5,548023e639f8eb76f973a2f98bcbc82c", - "RAP1_UNINDUCED_REP1.biotype_counts_rrna_mqc.tsv:md5,845ff9059c72bc6722a8de69776e22bb", - "RAP1_UNINDUCED_REP1.featureCounts.tsv:md5,8293231dc69bf3f1b9cebe66a9b1d949", - "RAP1_UNINDUCED_REP2.biotype_counts_mqc.tsv:md5,2c0b5696582493f7a50259679982a6b3", - "RAP1_UNINDUCED_REP2.biotype_counts_rrna_mqc.tsv:md5,6d3fa4c88c7fe61f638e4624ad5e22f0", - "RAP1_UNINDUCED_REP2.featureCounts.tsv:md5,401bf7fc160ac0dcd68492356950408a", - "WT_REP1.biotype_counts_mqc.tsv:md5,d083ca421266ae2d4b3cd745b41ae110", - "WT_REP1.biotype_counts_rrna_mqc.tsv:md5,8ef76d717492ca23764938aee8ea33a9", - "WT_REP1.featureCounts.tsv:md5,f854df3eea742228a85eadce4f16fd4d", - "WT_REP2.biotype_counts_mqc.tsv:md5,c04c2936bbfac3bff284f96b7233b158", - "WT_REP2.biotype_counts_rrna_mqc.tsv:md5,12294618fe44df1e7f39348372dcb481", - "WT_REP2.featureCounts.tsv:md5,da2c6d621864e2f26958e2c299708c3e", - "coverage_profile_along_genes_(high).txt:md5,31ab137e75752225365bd3d89143dbd2", - "coverage_profile_along_genes_(low).txt:md5,eaceda909bf652b8301fa0ed1bba9ae1", - "coverage_profile_along_genes_(total).txt:md5,eaceda909bf652b8301fa0ed1bba9ae1", - "coverage_profile_along_genes_(high).txt:md5,93822686a53dd40d3ff426ddbfc9314e", - "coverage_profile_along_genes_(low).txt:md5,bd8d58c757e4122caee4b4e8df2f4b00", - "coverage_profile_along_genes_(total).txt:md5,bd8d58c757e4122caee4b4e8df2f4b00", - "coverage_profile_along_genes_(high).txt:md5,cdb2c00c43121e3beccd7f670b34e05e", - "coverage_profile_along_genes_(low).txt:md5,1a9405c8bd7c00f3be082bfebb90b6ed", - "coverage_profile_along_genes_(total).txt:md5,1a9405c8bd7c00f3be082bfebb90b6ed", - "coverage_profile_along_genes_(high).txt:md5,70c95fbc100f14911d2cc348bdff1587", - "coverage_profile_along_genes_(low).txt:md5,86e56ef794277bcf1e0d121a088b8581", - "coverage_profile_along_genes_(total).txt:md5,86e56ef794277bcf1e0d121a088b8581", - "coverage_profile_along_genes_(high).txt:md5,a73462b9ecbd1d2c45d7ca84b5f7925b", - "coverage_profile_along_genes_(low).txt:md5,7adc228bc15e344abb7938ea4d35a846", - "coverage_profile_along_genes_(total).txt:md5,7adc228bc15e344abb7938ea4d35a846", - "rsem.merged.gene_counts.tsv:md5,47f272199f24af4473c959df2a9149dc", - "rsem.merged.gene_tpm.tsv:md5,a197b2d131dea75a83f9c219c23fb7a0", - "rsem.merged.transcript_counts.tsv:md5,ffc75fd409d75edf5209e8e1af8ec8fc", - "rsem.merged.transcript_tpm.tsv:md5,b836618c69d111edf635ce7244ee85e5", - "RAP1_IAA_30M_REP1.infer_experiment.txt:md5,1f31ddae1f98e779e30d846cde3834de", - "RAP1_UNINDUCED_REP1.infer_experiment.txt:md5,a2a8e31dbd0ebd0c12f3f968ffd5391b", - "RAP1_UNINDUCED_REP2.infer_experiment.txt:md5,9ec058d3a4162fd1b4c6175e2106eef4", - "WT_REP1.infer_experiment.txt:md5,d55921c0084806cdf49b9bd8653c8e09", - "WT_REP2.infer_experiment.txt:md5,fe87600c55f433ba995fe18bed5cf5f1", - "e2t.ctab:md5,54dd6de2daa90e973f47524a738a3d69", - "e_data.ctab:md5,5dfd0678eefe33f2c45eea45f6262557", - "i2t.ctab:md5,dda3d3ccd7d4184d947c654ae73efb7b", - "i_data.ctab:md5,19a438db88bdb92228e64a0a8350adbd", - "e2t.ctab:md5,54dd6de2daa90e973f47524a738a3d69", - "e_data.ctab:md5,a02dec82f07185700cc237e617ecc809", - "i2t.ctab:md5,dda3d3ccd7d4184d947c654ae73efb7b", - "i_data.ctab:md5,addcf0f6836e0f81184d5ddaa525895f", - "e2t.ctab:md5,54dd6de2daa90e973f47524a738a3d69", - "e_data.ctab:md5,5354c397909a72a25607c550170e2874", - "i2t.ctab:md5,dda3d3ccd7d4184d947c654ae73efb7b", - "i_data.ctab:md5,389b41d0123509f18af9da9bb2e626cd", - "e2t.ctab:md5,54dd6de2daa90e973f47524a738a3d69", - "e_data.ctab:md5,282685569dc501a8769c98c0c2885378", - "i2t.ctab:md5,dda3d3ccd7d4184d947c654ae73efb7b", - "i_data.ctab:md5,daedcbf428f3912587722da1c5db50d1", - "e2t.ctab:md5,54dd6de2daa90e973f47524a738a3d69", - "e_data.ctab:md5,49e5912dedb709344c7a14b5980c1b40", - "i2t.ctab:md5,dda3d3ccd7d4184d947c654ae73efb7b", - "i_data.ctab:md5,7e81ace0a68bfe42482420b7275de195" - ] - ], - "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.6" - }, - "timestamp": "2025-08-12T12:46:35.67191347" - }, - "Params: --aligner star_rsem --use_sentieon_star - stub": { - "content": [ - 27, - { - "BBMAP_BBSPLIT": { - "bbmap": 39.18 - }, - "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.13 - }, - "GUNZIP_GTF": { - "gunzip": 1.13 - }, - "TRIMGALORE": { - "cutadapt": 4.9, - "pigz": 2.8, - "trimgalore": "0.6.10" - }, - "UNTAR_RSEM_INDEX": { - "untar": 1.34 - }, - "UNTAR_SALMON_INDEX": { - "untar": 1.34 - } - }, - [ - "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_rsem", - "multiqc/star_rsem/multiqc_data", - "multiqc/star_rsem/multiqc_plots", - "multiqc/star_rsem/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" - ], - [ - "genome_transcriptome.fasta:md5,d41d8cd98f00b204e9800998ecf8427e", - "genome_transcriptome.gtf:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.2" - }, - "timestamp": "2025-06-03T20:30:37.383920745" - } -} diff --git a/tests/skip_qc.nf.test.snap b/tests/skip_qc.nf.test.snap index 36841e45f..cdfc34319 100644 --- a/tests/skip_qc.nf.test.snap +++ b/tests/skip_qc.nf.test.snap @@ -236,7 +236,6 @@ "multiqc/star_salmon", "multiqc/star_salmon/multiqc_report.html", "multiqc/star_salmon/multiqc_report_data", - "multiqc/star_salmon/multiqc_report_data/BETA-multiqc.parquet", "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", @@ -253,6 +252,7 @@ "multiqc/star_salmon/multiqc_report_data/fastqc_trimmed_top_overrepresented_sequences_table.txt", "multiqc/star_salmon/multiqc_report_data/llms-full.txt", "multiqc/star_salmon/multiqc_report_data/multiqc.log", + "multiqc/star_salmon/multiqc_report_data/multiqc.parquet", "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", @@ -268,6 +268,7 @@ "multiqc/star_salmon/multiqc_report_data/multiqc_star.txt", "multiqc/star_salmon/multiqc_report_data/picard_MarkIlluminaAdapters_histogram.txt", "multiqc/star_salmon/multiqc_report_data/picard_MeanQualityByCycle_histogram.txt", + "multiqc/star_salmon/multiqc_report_data/picard_MeanQualityByCycle_histogram_1.txt", "multiqc/star_salmon/multiqc_report_data/picard_QualityScoreDistribution_histogram.txt", "multiqc/star_salmon/multiqc_report_data/picard_deduplication.txt", "multiqc/star_salmon/multiqc_report_data/salmon_plot.txt", @@ -815,4 +816,4 @@ }, "timestamp": "2025-08-12T12:29:14.739888067" } -} \ No newline at end of file +} diff --git a/tests/skip_trimming.nf.test.snap b/tests/skip_trimming.nf.test.snap index cd5327e3b..a95a80efe 100644 --- a/tests/skip_trimming.nf.test.snap +++ b/tests/skip_trimming.nf.test.snap @@ -182,7 +182,6 @@ "multiqc/star_salmon", "multiqc/star_salmon/multiqc_report.html", "multiqc/star_salmon/multiqc_report_data", - "multiqc/star_salmon/multiqc_report_data/BETA-multiqc.parquet", "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", @@ -198,6 +197,7 @@ "multiqc/star_salmon/multiqc_report_data/junction_saturation_novel.txt", "multiqc/star_salmon/multiqc_report_data/llms-full.txt", "multiqc/star_salmon/multiqc_report_data/multiqc.log", + "multiqc/star_salmon/multiqc_report_data/multiqc.parquet", "multiqc/star_salmon/multiqc_report_data/multiqc_citations.txt", "multiqc/star_salmon/multiqc_report_data/multiqc_data.json", "multiqc/star_salmon/multiqc_report_data/multiqc_dupradar.txt", @@ -223,6 +223,7 @@ "multiqc/star_salmon/multiqc_report_data/multiqc_star_salmon_deseq2_pca.txt", "multiqc/star_salmon/multiqc_report_data/picard_MarkIlluminaAdapters_histogram.txt", "multiqc/star_salmon/multiqc_report_data/picard_MeanQualityByCycle_histogram.txt", + "multiqc/star_salmon/multiqc_report_data/picard_MeanQualityByCycle_histogram_1.txt", "multiqc/star_salmon/multiqc_report_data/picard_QualityScoreDistribution_histogram.txt", "multiqc/star_salmon/multiqc_report_data/picard_deduplication.txt", "multiqc/star_salmon/multiqc_report_data/qualimap_gene_coverage_profile_Counts.txt", @@ -1272,4 +1273,4 @@ }, "timestamp": "2025-08-12T12:37:41.613639269" } -} \ No newline at end of file +} diff --git a/tests/star_rsem.nf.test.snap b/tests/star_rsem.nf.test.snap index 46d130dc4..f0f78f74f 100644 --- a/tests/star_rsem.nf.test.snap +++ b/tests/star_rsem.nf.test.snap @@ -1,7 +1,7 @@ { "Params: --aligner star_rsem": { "content": [ - 201, + 207, { "BBMAP_BBSPLIT": { "bbmap": 39.18 @@ -69,6 +69,10 @@ "RSEM_MERGE_COUNTS": { "sed": 4.7 }, + "RSEM_PREPAREREFERENCE_GENOME": { + "rsem": "1.3.1", + "star": "2.7.10a" + }, "RSEQC_BAMSTAT": { "rseqc": "5.0.2" }, @@ -114,6 +118,16 @@ "SE_TRANSCRIPT_UNIFIED": { "bioconductor-summarizedexperiment": "1.32.0" }, + "STAR_ALIGN": { + "gawk": "5.1.0", + "samtools": 1.21, + "star": "2.7.11b" + }, + "STAR_GENOMEGENERATE": { + "gawk": "5.1.0", + "samtools": 1.21, + "star": "2.7.11b" + }, "STRINGTIE_STRINGTIE": { "stringtie": "2.2.3" }, @@ -134,9 +148,6 @@ "UCSC_BEDGRAPHTOBIGWIG": { "ucsc": 469 }, - "UNTAR_RSEM_INDEX": { - "untar": 1.34 - }, "UNTAR_SALMON_INDEX": { "untar": 1.34 } @@ -210,7 +221,6 @@ "multiqc/star_rsem", "multiqc/star_rsem/multiqc_report.html", "multiqc/star_rsem/multiqc_report_data", - "multiqc/star_rsem/multiqc_report_data/BETA-multiqc.parquet", "multiqc/star_rsem/multiqc_report_data/cutadapt_filtered_reads_plot.txt", "multiqc/star_rsem/multiqc_report_data/cutadapt_trimmed_sequences_plot_3_Counts.txt", "multiqc/star_rsem/multiqc_report_data/cutadapt_trimmed_sequences_plot_3_Obs_Exp.txt", @@ -240,6 +250,7 @@ "multiqc/star_rsem/multiqc_report_data/junction_saturation_novel.txt", "multiqc/star_rsem/multiqc_report_data/llms-full.txt", "multiqc/star_rsem/multiqc_report_data/multiqc.log", + "multiqc/star_rsem/multiqc_report_data/multiqc.parquet", "multiqc/star_rsem/multiqc_report_data/multiqc_citations.txt", "multiqc/star_rsem/multiqc_report_data/multiqc_cutadapt.txt", "multiqc/star_rsem/multiqc_report_data/multiqc_data.json", @@ -263,10 +274,12 @@ "multiqc/star_rsem/multiqc_report_data/multiqc_samtools_stats.txt", "multiqc/star_rsem/multiqc_report_data/multiqc_software_versions.txt", "multiqc/star_rsem/multiqc_report_data/multiqc_sources.txt", + "multiqc/star_rsem/multiqc_report_data/multiqc_star.txt", "multiqc/star_rsem/multiqc_report_data/multiqc_star_rsem_deseq2_clustering.txt", "multiqc/star_rsem/multiqc_report_data/multiqc_star_rsem_deseq2_pca.txt", "multiqc/star_rsem/multiqc_report_data/picard_MarkIlluminaAdapters_histogram.txt", "multiqc/star_rsem/multiqc_report_data/picard_MeanQualityByCycle_histogram.txt", + "multiqc/star_rsem/multiqc_report_data/picard_MeanQualityByCycle_histogram_1.txt", "multiqc/star_rsem/multiqc_report_data/picard_QualityScoreDistribution_histogram.txt", "multiqc/star_rsem/multiqc_report_data/picard_deduplication.txt", "multiqc/star_rsem/multiqc_report_data/qualimap_gene_coverage_profile_Counts.txt", @@ -298,6 +311,8 @@ "multiqc/star_rsem/multiqc_report_data/samtools-idxstats-mapped-reads-plot_Raw_Counts.txt", "multiqc/star_rsem/multiqc_report_data/samtools-stats-dp.txt", "multiqc/star_rsem/multiqc_report_data/samtools_alignment_plot.txt", + "multiqc/star_rsem/multiqc_report_data/star_alignment_plot.txt", + "multiqc/star_rsem/multiqc_report_data/star_summary_table.txt", "multiqc/star_rsem/multiqc_report_plots", "multiqc/star_rsem/multiqc_report_plots/pdf", "multiqc/star_rsem/multiqc_report_plots/pdf/cutadapt_filtered_reads_plot-cnt.pdf", @@ -369,8 +384,11 @@ "multiqc/star_rsem/multiqc_report_plots/pdf/samtools-stats-dp.pdf", "multiqc/star_rsem/multiqc_report_plots/pdf/samtools_alignment_plot-cnt.pdf", "multiqc/star_rsem/multiqc_report_plots/pdf/samtools_alignment_plot-pct.pdf", + "multiqc/star_rsem/multiqc_report_plots/pdf/star_alignment_plot-cnt.pdf", + "multiqc/star_rsem/multiqc_report_plots/pdf/star_alignment_plot-pct.pdf", "multiqc/star_rsem/multiqc_report_plots/pdf/star_rsem_deseq2_clustering.pdf", "multiqc/star_rsem/multiqc_report_plots/pdf/star_rsem_deseq2_pca.pdf", + "multiqc/star_rsem/multiqc_report_plots/pdf/star_summary_table.pdf", "multiqc/star_rsem/multiqc_report_plots/png", "multiqc/star_rsem/multiqc_report_plots/png/cutadapt_filtered_reads_plot-cnt.png", "multiqc/star_rsem/multiqc_report_plots/png/cutadapt_filtered_reads_plot-pct.png", @@ -441,8 +459,11 @@ "multiqc/star_rsem/multiqc_report_plots/png/samtools-stats-dp.png", "multiqc/star_rsem/multiqc_report_plots/png/samtools_alignment_plot-cnt.png", "multiqc/star_rsem/multiqc_report_plots/png/samtools_alignment_plot-pct.png", + "multiqc/star_rsem/multiqc_report_plots/png/star_alignment_plot-cnt.png", + "multiqc/star_rsem/multiqc_report_plots/png/star_alignment_plot-pct.png", "multiqc/star_rsem/multiqc_report_plots/png/star_rsem_deseq2_clustering.png", "multiqc/star_rsem/multiqc_report_plots/png/star_rsem_deseq2_pca.png", + "multiqc/star_rsem/multiqc_report_plots/png/star_summary_table.png", "multiqc/star_rsem/multiqc_report_plots/svg", "multiqc/star_rsem/multiqc_report_plots/svg/cutadapt_filtered_reads_plot-cnt.svg", "multiqc/star_rsem/multiqc_report_plots/svg/cutadapt_filtered_reads_plot-pct.svg", @@ -513,8 +534,11 @@ "multiqc/star_rsem/multiqc_report_plots/svg/samtools-stats-dp.svg", "multiqc/star_rsem/multiqc_report_plots/svg/samtools_alignment_plot-cnt.svg", "multiqc/star_rsem/multiqc_report_plots/svg/samtools_alignment_plot-pct.svg", + "multiqc/star_rsem/multiqc_report_plots/svg/star_alignment_plot-cnt.svg", + "multiqc/star_rsem/multiqc_report_plots/svg/star_alignment_plot-pct.svg", "multiqc/star_rsem/multiqc_report_plots/svg/star_rsem_deseq2_clustering.svg", "multiqc/star_rsem/multiqc_report_plots/svg/star_rsem_deseq2_pca.svg", + "multiqc/star_rsem/multiqc_report_plots/svg/star_summary_table.svg", "pipeline_info", "pipeline_info/nf_core_rnaseq_software_mqc_versions.yml", "salmon", @@ -740,11 +764,26 @@ "star_rsem/featurecounts/WT_REP2.featureCounts.tsv", "star_rsem/featurecounts/WT_REP2.featureCounts.tsv.summary", "star_rsem/log", - "star_rsem/log/RAP1_IAA_30M_REP1.log", - "star_rsem/log/RAP1_UNINDUCED_REP1.log", - "star_rsem/log/RAP1_UNINDUCED_REP2.log", - "star_rsem/log/WT_REP1.log", - "star_rsem/log/WT_REP2.log", + "star_rsem/log/RAP1_IAA_30M_REP1.Log.final.out", + "star_rsem/log/RAP1_IAA_30M_REP1.Log.out", + "star_rsem/log/RAP1_IAA_30M_REP1.Log.progress.out", + "star_rsem/log/RAP1_IAA_30M_REP1.SJ.out.tab", + "star_rsem/log/RAP1_UNINDUCED_REP1.Log.final.out", + "star_rsem/log/RAP1_UNINDUCED_REP1.Log.out", + "star_rsem/log/RAP1_UNINDUCED_REP1.Log.progress.out", + "star_rsem/log/RAP1_UNINDUCED_REP1.SJ.out.tab", + "star_rsem/log/RAP1_UNINDUCED_REP2.Log.final.out", + "star_rsem/log/RAP1_UNINDUCED_REP2.Log.out", + "star_rsem/log/RAP1_UNINDUCED_REP2.Log.progress.out", + "star_rsem/log/RAP1_UNINDUCED_REP2.SJ.out.tab", + "star_rsem/log/WT_REP1.Log.final.out", + "star_rsem/log/WT_REP1.Log.out", + "star_rsem/log/WT_REP1.Log.progress.out", + "star_rsem/log/WT_REP1.SJ.out.tab", + "star_rsem/log/WT_REP2.Log.final.out", + "star_rsem/log/WT_REP2.Log.out", + "star_rsem/log/WT_REP2.Log.progress.out", + "star_rsem/log/WT_REP2.SJ.out.tab", "star_rsem/picard_metrics", "star_rsem/picard_metrics/RAP1_IAA_30M_REP1.markdup.sorted.MarkDuplicates.metrics.txt", "star_rsem/picard_metrics/RAP1_UNINDUCED_REP1.markdup.sorted.MarkDuplicates.metrics.txt", @@ -1175,7 +1214,7 @@ "fastqc_trimmed_per_sequence_quality_scores_plot.txt:md5,0f9834cc19f76dd5c87cf8cba7435a7c", "fastqc_trimmed_sequence_counts_plot.txt:md5,9fd642bdd1da354f296bb8092205608f", "fastqc_trimmed_sequence_duplication_levels_plot.txt:md5,0758257b497283b1ef28171e694db6db", - "multiqc_citations.txt:md5,5a68f7972ea275b21b12acdf43447dfb", + "multiqc_citations.txt:md5,eb19d85c883385624d8310f517901b7e", "multiqc_cutadapt.txt:md5,583b7b9ba76b26162bb9610ed746454b", "multiqc_fastqc_fastqc_raw.txt:md5,81c3c1a2575a1891a7f2a9637a0f2cc0", "multiqc_fastqc_fastqc_trimmed.txt:md5,54743154d0e8858980acffeb5b6f6a97", @@ -1242,6 +1281,11 @@ "WT_REP2.biotype_counts_mqc.tsv:md5,c04c2936bbfac3bff284f96b7233b158", "WT_REP2.biotype_counts_rrna_mqc.tsv:md5,12294618fe44df1e7f39348372dcb481", "WT_REP2.featureCounts.tsv:md5,da2c6d621864e2f26958e2c299708c3e", + "RAP1_IAA_30M_REP1.SJ.out.tab:md5,0a2ccd13ce40c6007cf24568f13af9b4", + "RAP1_UNINDUCED_REP1.SJ.out.tab:md5,275bbb2009c43d411fbbbd6636b5e9bc", + "RAP1_UNINDUCED_REP2.SJ.out.tab:md5,1eb030549d877ab7fa51fe1d632ffe09", + "WT_REP1.SJ.out.tab:md5,5292020e46d35c14354f13696bbf0ab0", + "WT_REP2.SJ.out.tab:md5,3fab08b47b8b3cab91ae91dec8750152", "coverage_profile_along_genes_(high).txt:md5,31ab137e75752225365bd3d89143dbd2", "coverage_profile_along_genes_(low).txt:md5,eaceda909bf652b8301fa0ed1bba9ae1", "coverage_profile_along_genes_(total).txt:md5,eaceda909bf652b8301fa0ed1bba9ae1", @@ -1257,10 +1301,10 @@ "coverage_profile_along_genes_(high).txt:md5,a73462b9ecbd1d2c45d7ca84b5f7925b", "coverage_profile_along_genes_(low).txt:md5,7adc228bc15e344abb7938ea4d35a846", "coverage_profile_along_genes_(total).txt:md5,7adc228bc15e344abb7938ea4d35a846", - "rsem.merged.gene_counts.tsv:md5,47f272199f24af4473c959df2a9149dc", - "rsem.merged.gene_tpm.tsv:md5,a197b2d131dea75a83f9c219c23fb7a0", - "rsem.merged.transcript_counts.tsv:md5,ffc75fd409d75edf5209e8e1af8ec8fc", - "rsem.merged.transcript_tpm.tsv:md5,b836618c69d111edf635ce7244ee85e5", + "rsem.merged.gene_counts.tsv:md5,990cdaf5071c9bfd3d2d99296feb68f3", + "rsem.merged.gene_tpm.tsv:md5,349f2184161d6b269a0f5c4da1dee07a", + "rsem.merged.transcript_counts.tsv:md5,3ca2bb5c22438e0bd104c9d052bc8241", + "rsem.merged.transcript_tpm.tsv:md5,f59e35398f30d49875e41bcc03d082ed", "RAP1_IAA_30M_REP1.infer_experiment.txt:md5,1f31ddae1f98e779e30d846cde3834de", "RAP1_UNINDUCED_REP1.infer_experiment.txt:md5,a2a8e31dbd0ebd0c12f3f968ffd5391b", "RAP1_UNINDUCED_REP2.infer_experiment.txt:md5,9ec058d3a4162fd1b4c6175e2106eef4", @@ -1290,13 +1334,13 @@ ], "meta": { "nf-test": "0.9.2", - "nextflow": "25.04.6" + "nextflow": "25.04.3" }, - "timestamp": "2025-08-12T12:46:35.67191347" + "timestamp": "2025-09-15T20:52:56.262347961" }, "Params: --aligner star_rsem - stub": { "content": [ - 27, + 28, { "BBMAP_BBSPLIT": { "bbmap": 39.18 @@ -1328,14 +1372,20 @@ "GUNZIP_GTF": { "gunzip": 1.13 }, + "RSEM_PREPAREREFERENCE_GENOME": { + "rsem": "1.3.1", + "star": "2.7.10a" + }, + "STAR_GENOMEGENERATE": { + "gawk": "5.1.0", + "samtools": 1.21, + "star": "2.7.11b" + }, "TRIMGALORE": { "cutadapt": 4.9, "pigz": 2.8, "trimgalore": "0.6.10" }, - "UNTAR_RSEM_INDEX": { - "untar": 1.34 - }, "UNTAR_SALMON_INDEX": { "untar": 1.34 } @@ -1389,8 +1439,8 @@ ], "meta": { "nf-test": "0.9.2", - "nextflow": "25.04.2" + "nextflow": "25.04.3" }, - "timestamp": "2025-06-03T20:30:37.383920745" + "timestamp": "2025-09-15T17:52:54.558516396" } -} +} \ No newline at end of file diff --git a/tests/umi.nf.test.snap b/tests/umi.nf.test.snap index 8c5bbfedf..fc7524acf 100644 --- a/tests/umi.nf.test.snap +++ b/tests/umi.nf.test.snap @@ -201,7 +201,6 @@ "multiqc/star_salmon", "multiqc/star_salmon/multiqc_report.html", "multiqc/star_salmon/multiqc_report_data", - "multiqc/star_salmon/multiqc_report_data/BETA-multiqc.parquet", "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", @@ -231,6 +230,7 @@ "multiqc/star_salmon/multiqc_report_data/junction_saturation_novel.txt", "multiqc/star_salmon/multiqc_report_data/llms-full.txt", "multiqc/star_salmon/multiqc_report_data/multiqc.log", + "multiqc/star_salmon/multiqc_report_data/multiqc.parquet", "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", @@ -2171,7 +2171,6 @@ "multiqc/hisat2", "multiqc/hisat2/multiqc_report.html", "multiqc/hisat2/multiqc_report_data", - "multiqc/hisat2/multiqc_report_data/BETA-multiqc.parquet", "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", @@ -2203,6 +2202,7 @@ "multiqc/hisat2/multiqc_report_data/junction_saturation_novel.txt", "multiqc/hisat2/multiqc_report_data/llms-full.txt", "multiqc/hisat2/multiqc_report_data/multiqc.log", + "multiqc/hisat2/multiqc_report_data/multiqc.parquet", "multiqc/hisat2/multiqc_report_data/multiqc_citations.txt", "multiqc/hisat2/multiqc_report_data/multiqc_cutadapt.txt", "multiqc/hisat2/multiqc_report_data/multiqc_data.json", @@ -2847,4 +2847,4 @@ }, "timestamp": "2025-01-28T15:38:40.145569546" } -} \ No newline at end of file +} diff --git a/tower.yml b/tower.yml index 7ce7e2dff..702240576 100644 --- a/tower.yml +++ b/tower.yml @@ -53,3 +53,5 @@ reports: display: "All samples STAR RSEM merged transcript raw counts" "**/star_rsem/rsem.merged.transcript_tpm.tsv": display: "All samples STAR RSEM merged transcript TPM counts" + "**/samplesheets/samplesheet_with_bams.csv": + display: "Samplesheet with BAM paths for reanalysis" diff --git a/workflows/rnaseq/assets/multiqc/multiqc_config.yml b/workflows/rnaseq/assets/multiqc/multiqc_config.yml index d5ab4e727..f34c955e6 100644 --- a/workflows/rnaseq/assets/multiqc/multiqc_config.yml +++ b/workflows/rnaseq/assets/multiqc/multiqc_config.yml @@ -1,7 +1,7 @@ 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. report_section_order: # Important checks and failures diff --git a/workflows/rnaseq/main.nf b/workflows/rnaseq/main.nf index 85c5bf3cf..d3a3ded0c 100755 --- a/workflows/rnaseq/main.nf +++ b/workflows/rnaseq/main.nf @@ -22,10 +22,10 @@ include { BAM_DEDUP_UMI as BAM_DEDUP_UMI_HISAT2 } from '../../subworkflows/nf-co 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' include { biotypeInGtf } from '../../subworkflows/local/utils_nfcore_rnaseq_pipeline' include { getInferexperimentStrandedness } from '../../subworkflows/local/utils_nfcore_rnaseq_pipeline' include { methodsDescriptionText } from '../../subworkflows/local/utils_nfcore_rnaseq_pipeline' +include { mapBamToPublishedPath } from '../../subworkflows/local/utils_nfcore_rnaseq_pipeline' /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -46,6 +46,7 @@ include { BRACKEN_BRACKEN as BRACKEN } from '../../modules/nf-core/bracken/brack include { MULTIQC } from '../../modules/nf-core/multiqc' 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' +include { SAMTOOLS_INDEX } from '../../modules/nf-core/samtools/index' // // SUBWORKFLOW: Consisting entirely of nf-core/modules @@ -103,6 +104,7 @@ workflow RNASEQ { ch_trim_status = Channel.empty() ch_map_status = Channel.empty() ch_strand_status = Channel.empty() + ch_percent_mapped = Channel.empty() // // Create channel from input file provided through params.input @@ -110,18 +112,44 @@ workflow RNASEQ { Channel .fromList(samplesheetToList(params.input, "${projectDir}/assets/schema_input.json")) .map { - meta, fastq_1, fastq_2 -> + meta, fastq_1, fastq_2, genome_bam, transcriptome_bam -> if (!fastq_2) { - return [ meta.id, meta + [ single_end:true ], [ fastq_1 ] ] + return [ meta.id, meta + [ single_end:true ], [ fastq_1 ], genome_bam, transcriptome_bam ] } else { - return [ meta.id, meta + [ single_end:false ], [ fastq_1, fastq_2 ] ] + return [ meta.id, meta + [ single_end:false ], [ fastq_1, fastq_2 ], genome_bam, transcriptome_bam ] } } .groupTuple() .map { samplesheet -> checkSamplesAfterGrouping(samplesheet) } - .set { ch_fastq } + .branch { + meta, reads, genome_bam, transcriptome_bam -> + bam: params.skip_alignment && (genome_bam || transcriptome_bam) + return [ meta, genome_bam, transcriptome_bam ] + fastq: reads.size() > 0 && reads[0] + return [ meta.findAll {it.key != 'percent_mapped'}, reads ] + } + .set { ch_input_branched } + + // Get inputs for FASTQ and BAM processing paths + + ch_fastq = ch_input_branched.fastq + ch_genome_bam = ch_input_branched.bam.map { meta, genome_bam, transcriptome_bam -> [ meta, genome_bam ] }.distinct() + ch_transcriptome_bam = ch_input_branched.bam.map { meta, genome_bam, transcriptome_bam -> [ meta, transcriptome_bam ] }.distinct() + + // Derive mapping percentages if supplied with input + + ch_percent_mapped = ch_input_branched.bam + .filter{ meta, genome_bam, transcriptome_bam -> meta.percent_mapped } + .map { meta, genome_bam, transcriptome_bam -> [ meta, meta.percent_mapped ] } + + // Index pre-aligned input BAM files + SAMTOOLS_INDEX ( + ch_genome_bam + ) + ch_genome_bam_index = params.bam_csi_index ? SAMTOOLS_INDEX.out.csi : SAMTOOLS_INDEX.out.bai + ch_versions = ch_versions.mix(SAMTOOLS_INDEX.out.versions.first()) // // Run RNA-seq FASTQ preprocessing subworkflow @@ -172,13 +200,10 @@ workflow RNASEQ { // // SUBWORKFLOW: Alignment with STAR and gene/transcript quantification with Salmon // - ch_genome_bam = Channel.empty() - 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') { + if (!params.skip_alignment && (params.aligner == 'star_salmon' || params.aligner == 'star_rsem')) { // Check if an AWS iGenome has been provided to use the appropriate version of STAR def is_aws_igenome = false if (params.fasta && params.gtf) { @@ -198,16 +223,16 @@ workflow RNASEQ { ch_fasta.map { [ [:], it ] }, params.use_sentieon_star ) - ch_genome_bam = ALIGN_STAR.out.bam - ch_genome_bam_index = ALIGN_STAR.out.bai - 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(ch_star_log.collect{it[1]}) - if (params.bam_csi_index) { - ch_genome_bam_index = ALIGN_STAR.out.csi - } + ch_genome_bam = ch_genome_bam.mix(ALIGN_STAR.out.bam) + ch_genome_bam_index = ch_genome_bam_index.mix(params.bam_csi_index ? ALIGN_STAR.out.csi : ALIGN_STAR.out.bai) + ch_transcriptome_bam = ch_transcriptome_bam.mix(ALIGN_STAR.out.bam_transcript) + ch_percent_mapped = ch_percent_mapped.mix(ALIGN_STAR.out.percent_mapped) + ch_unprocessed_bams = ch_genome_bam.join(ch_transcriptome_bam) + ch_star_log = ALIGN_STAR.out.log_final + ch_unaligned_sequences = ALIGN_STAR.out.fastq + ch_multiqc_files = ch_multiqc_files.mix(ch_star_log.collect{it[1]}) + ch_versions = ch_versions.mix(ALIGN_STAR.out.versions) // @@ -227,7 +252,7 @@ workflow RNASEQ { 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_genome_bam_index = params.bam_csi_index ? BAM_DEDUP_UMI_STAR.out.csi : BAM_DEDUP_UMI_STAR.out.bai ch_versions = ch_versions.mix(BAM_DEDUP_UMI_STAR.out.versions) ch_multiqc_files = ch_multiqc_files @@ -242,6 +267,30 @@ workflow RNASEQ { .mix(ALIGN_STAR.out.flagstat.collect{it[1]}) .mix(ALIGN_STAR.out.idxstats.collect{it[1]}) } + } + + if (params.aligner == 'star_rsem') { + + QUANTIFY_RSEM ( + ch_transcriptome_bam, + ch_rsem_index, + params.use_sentieon_star + ) + ch_multiqc_files = ch_multiqc_files.mix(QUANTIFY_RSEM.out.stat.collect{it[1]}) + ch_versions = ch_versions.mix(QUANTIFY_RSEM.out.versions) + + if (!params.skip_qc & !params.skip_deseq2_qc) { + DESEQ2_QC_RSEM ( + QUANTIFY_RSEM.out.merged_counts_gene, + ch_pca_header_multiqc, + ch_clustering_header_multiqc + ) + ch_multiqc_files = ch_multiqc_files.mix(DESEQ2_QC_RSEM.out.pca_multiqc.collect()) + ch_multiqc_files = ch_multiqc_files.mix(DESEQ2_QC_RSEM.out.dists_multiqc.collect()) + ch_versions = ch_versions.mix(DESEQ2_QC_RSEM.out.versions) + } + + } else if (params.aligner == 'star_salmon') { // // SUBWORKFLOW: Count reads from BAM alignments using Salmon @@ -274,42 +323,6 @@ workflow RNASEQ { } } - // - // SUBWORKFLOW: Alignment with STAR and gene/transcript quantification with RSEM - // - if (!params.skip_alignment && params.aligner == 'star_rsem') { - QUANTIFY_RSEM ( - ch_strand_inferred_filtered_fastq, - ch_rsem_index, - ch_fasta.map { [ [:], it ] }, - params.use_sentieon_star - ) - ch_genome_bam = QUANTIFY_RSEM.out.bam - ch_genome_bam_index = QUANTIFY_RSEM.out.bai - ch_star_log = QUANTIFY_RSEM.out.logs - ch_multiqc_files = ch_multiqc_files.mix(QUANTIFY_RSEM.out.stats.collect{it[1]}) - ch_multiqc_files = ch_multiqc_files.mix(QUANTIFY_RSEM.out.flagstat.collect{it[1]}) - ch_multiqc_files = ch_multiqc_files.mix(QUANTIFY_RSEM.out.idxstats.collect{it[1]}) - ch_multiqc_files = ch_multiqc_files.mix(ch_star_log.collect{it[1]}) - ch_multiqc_files = ch_multiqc_files.mix(QUANTIFY_RSEM.out.stat.collect{it[1]}) - - if (params.bam_csi_index) { - ch_genome_bam_index = QUANTIFY_RSEM.out.csi - } - ch_versions = ch_versions.mix(QUANTIFY_RSEM.out.versions) - - if (!params.skip_qc & !params.skip_deseq2_qc) { - DESEQ2_QC_RSEM ( - QUANTIFY_RSEM.out.merged_counts_gene, - ch_pca_header_multiqc, - ch_clustering_header_multiqc - ) - ch_multiqc_files = ch_multiqc_files.mix(DESEQ2_QC_RSEM.out.pca_multiqc.collect()) - ch_multiqc_files = ch_multiqc_files.mix(DESEQ2_QC_RSEM.out.dists_multiqc.collect()) - ch_versions = ch_versions.mix(DESEQ2_QC_RSEM.out.versions) - } - } - // // SUBWORKFLOW: Alignment with HISAT2 // @@ -320,14 +333,12 @@ workflow RNASEQ { ch_splicesites.map { [ [:], it ] }, ch_fasta.map { [ [:], it ] } ) - ch_genome_bam = FASTQ_ALIGN_HISAT2.out.bam - ch_genome_bam_index = FASTQ_ALIGN_HISAT2.out.bai + ch_genome_bam = ch_genome_bam.mix(FASTQ_ALIGN_HISAT2.out.bam) + ch_genome_bam_index = ch_genome_bam_index.mix(params.bam_csi_index ? FASTQ_ALIGN_HISAT2.out.csi : FASTQ_ALIGN_HISAT2.out.bai) + ch_unprocessed_bams = ch_genome_bam.map { meta, bam -> [ meta, bam, '' ] } ch_unaligned_sequences = FASTQ_ALIGN_HISAT2.out.fastq ch_multiqc_files = ch_multiqc_files.mix(FASTQ_ALIGN_HISAT2.out.summary.collect{it[1]}) - if (params.bam_csi_index) { - ch_genome_bam_index = FASTQ_ALIGN_HISAT2.out.csi - } ch_versions = ch_versions.mix(FASTQ_ALIGN_HISAT2.out.versions) // @@ -347,7 +358,7 @@ workflow RNASEQ { ) ch_genome_bam = BAM_DEDUP_UMI_HISAT2.out.bam - ch_genome_bam_index = BAM_DEDUP_UMI_HISAT2.out.bai + ch_genome_bam_index = params.bam_csi_index ? BAM_DEDUP_UMI_HISAT2.out.csi : BAM_DEDUP_UMI_HISAT2.out.bai ch_versions = ch_versions.mix(BAM_DEDUP_UMI_HISAT2.out.versions) ch_multiqc_files = ch_multiqc_files @@ -363,56 +374,61 @@ workflow RNASEQ { } } - // - // Filter channels to get samples that passed STAR minimum mapping percentage - // - if (!params.skip_alignment && params.aligner.contains('star')) { - ch_star_log - .map { meta, align_log -> [ meta ] + getStarPercentMapped(params, align_log) } - .set { ch_percent_mapped } - - // Save status for workflow summary - ch_map_status = ch_percent_mapped - .map { - meta, mapped, pass -> - return [ meta.id, pass ] - } + // Filter bam and index by percent mapped being present in the meta - ch_genome_bam - .join(ch_percent_mapped, by: [0]) - .map { meta, ofile, mapped, pass -> if (pass) [ meta, ofile ] } - .set { ch_genome_bam } - - ch_genome_bam_index - .join(ch_percent_mapped, by: [0]) - .map { meta, ofile, mapped, pass -> if (pass) [ meta, ofile ] } - .set { ch_genome_bam_index } - - ch_percent_mapped - .branch { meta, mapped, pass -> - pass: pass - return [ "$meta.id\t$mapped" ] - fail: !pass - return [ "$meta.id\t$mapped" ] - } - .set { ch_pass_fail_mapped } - - ch_pass_fail_mapped - .fail - .collect() - .map { - tsv_data -> - def header = ["Sample", "STAR uniquely mapped reads (%)"] - sample_status_header_multiqc.text + multiqcTsvFromList(tsv_data, header) - } - .set { ch_fail_mapping_multiqc } - ch_multiqc_files = ch_multiqc_files.mix(ch_fail_mapping_multiqc.collectFile(name: 'fail_mapped_samples_mqc.tsv')) - } + ch_genome_bam_bai_mapping = ch_genome_bam + .join(ch_genome_bam_index) + .join(ch_percent_mapped, remainder: true) + .map{ row -> + def (meta, bam, index) = row[0..2] + def percent_mapped = row.size() == 4 ? row[3] : null + def pass = percent_mapped != null ? percent_mapped >= params.min_mapped_reads.toFloat() : null + return [ meta, bam, index, percent_mapped, pass ] + } + .multiMap { meta, bam, index, percent_mapped, pass -> + bam: [ meta, bam, index, pass ] + percent_mapped: [ meta.id, percent_mapped ] + percent_mapped_pass: [ meta.id, percent_mapped, pass ] + status: [ meta.id, pass ] + } + + ch_percent_mapped = ch_genome_bam_bai_mapping.percent_mapped + + // Save mapping status for workflow summary where present + + ch_map_status = ch_genome_bam_bai_mapping.status + .filter { id, pass -> pass != null } + + // Save status for MultiQC report + ch_fail_mapping_multiqc = ch_genome_bam_bai_mapping.percent_mapped_pass + .filter { id, percent_mapped, pass -> pass != null && !pass } + .map { id, percent_mapped, pass -> [ "${id}\t${percent_mapped}" ] } + .collect() + .map { + tsv_data -> + def header = ["Sample", "STAR uniquely mapped reads (%)"] + sample_status_header_multiqc.text + multiqcTsvFromList(tsv_data, header) + } + .collectFile(name: 'fail_mapped_samples_mqc.tsv') + + ch_multiqc_files = ch_multiqc_files.mix(ch_fail_mapping_multiqc) + + // Where a percent mapping is present, use it to filter bam and index + + map_filtered_genome_bam_bai = ch_genome_bam_bai_mapping.bam + .filter { meta, bam, index, pass -> pass || pass == null } + .multiMap { meta, bam, index, pass -> + bam: [ meta, bam ] + index: [ meta, index ] + } + + ch_genome_bam = map_filtered_genome_bam_bai.bam + ch_genome_bam_index = map_filtered_genome_bam_bai.index // // MODULE: Run Preseq // - if (!params.skip_alignment && !params.skip_qc && !params.skip_preseq) { + if (!params.skip_qc && !params.skip_preseq) { PRESEQ_LCEXTRAP ( ch_genome_bam ) @@ -423,29 +439,26 @@ workflow RNASEQ { // // SUBWORKFLOW: Mark duplicate reads // - if (!params.skip_alignment && !params.skip_markduplicates && !params.with_umi) { + if (!params.skip_markduplicates && !params.with_umi) { BAM_MARKDUPLICATES_PICARD ( ch_genome_bam, ch_fasta.map { [ [:], it ] }, ch_fai.map { [ [:], it ] } ) ch_genome_bam = BAM_MARKDUPLICATES_PICARD.out.bam - ch_genome_bam_index = BAM_MARKDUPLICATES_PICARD.out.bai + ch_genome_bam_index = params.bam_csi_index ? BAM_MARKDUPLICATES_PICARD.out.csi : BAM_MARKDUPLICATES_PICARD.out.bai ch_multiqc_files = ch_multiqc_files.mix(BAM_MARKDUPLICATES_PICARD.out.stats.collect{it[1]}) ch_multiqc_files = ch_multiqc_files.mix(BAM_MARKDUPLICATES_PICARD.out.flagstat.collect{it[1]}) ch_multiqc_files = ch_multiqc_files.mix(BAM_MARKDUPLICATES_PICARD.out.idxstats.collect{it[1]}) ch_multiqc_files = ch_multiqc_files.mix(BAM_MARKDUPLICATES_PICARD.out.metrics.collect{it[1]}) - if (params.bam_csi_index) { - ch_genome_bam_index = BAM_MARKDUPLICATES_PICARD.out.csi - } ch_versions = ch_versions.mix(BAM_MARKDUPLICATES_PICARD.out.versions) } // // MODULE: STRINGTIE // - if (!params.skip_alignment && !params.skip_stringtie) { + if (!params.skip_stringtie) { STRINGTIE_STRINGTIE ( ch_genome_bam, ch_gtf @@ -457,7 +470,7 @@ workflow RNASEQ { // MODULE: Feature biotype QC using featureCounts // def biotype = params.gencode ? "gene_type" : params.featurecounts_group_type - if (!params.skip_alignment && !params.skip_qc && !params.skip_biotype_qc && biotype) { + if (!params.skip_qc && !params.skip_biotype_qc && biotype) { ch_gtf .map { biotypeInGtf(it, biotype) } @@ -487,7 +500,7 @@ workflow RNASEQ { // // MODULE: Genome-wide coverage with BEDTools // - if (!params.skip_alignment && !params.skip_bigwig) { + if (!params.skip_bigwig) { ch_genomecov_input = ch_genome_bam.map { meta, bam -> [ meta, bam, 1 ] } @@ -524,7 +537,7 @@ workflow RNASEQ { // // MODULE: Downstream QC steps // - if (!params.skip_alignment && !params.skip_qc) { + if (!params.skip_qc) { if (!params.skip_qualimap) { QUALIMAP_RNASEQ ( ch_genome_bam, @@ -752,6 +765,7 @@ workflow RNASEQ { } .flatten() .collectFile(name: 'name_replacement.txt', newLine: true) + .ifEmpty([]) MULTIQC ( ch_multiqc_files.collect(), @@ -764,6 +778,42 @@ workflow RNASEQ { ch_multiqc_report = MULTIQC.out.report } + // + // Generate samplesheet with BAM paths for future runs + // + + ch_samplesheet_with_bams = Channel.empty() + if (!params.skip_alignment && params.save_align_intermeds) { + // Create channel with original input info and BAM paths + ch_fastq.map { meta, reads -> [ meta.id, meta, reads ] } + .join(ch_unprocessed_bams.map { meta, genome_bam, transcriptome_bam -> [ meta.id, meta, genome_bam, transcriptome_bam ] }) + .join(ch_percent_mapped) + .transpose() + .map { id, fastq_meta, reads, meta, genome_bam, transcriptome_bam, percent_mapped -> + + // Handle BAM paths (same for all runs of this sample) + def genome_bam_published = meta.has_genome_bam ? + (meta.original_genome_bam ?: '') : + mapBamToPublishedPath(genome_bam, meta.id, params.aligner, params.outdir) + + def transcriptome_bam_published = meta.has_transcriptome_bam ? + (meta.original_transcriptome_bam ?: '') : + mapBamToPublishedPath(transcriptome_bam, meta.id, params.aligner, params.outdir) + + def fastq_1 = reads[0].toUriString() + def fastq_2 = reads.size() > 1 ? reads[1].toUriString() : '' + def mapped = percent_mapped != null ? percent_mapped : '' + + return "${meta.id},${fastq_1},${fastq_2},${meta.strandedness},${genome_bam_published},${mapped},${transcriptome_bam_published}" + } + .collectFile( + name: 'samplesheet_with_bams.csv', + storeDir: "${params.outdir}/samplesheets", + newLine: true, + seed: 'sample,fastq_1,fastq_2,strandedness,genome_bam,percent_mapped,transcriptome_bam' + ) + } + emit: trim_status = ch_trim_status // channel: [id, boolean] map_status = ch_map_status // channel: [id, boolean] diff --git a/workflows/rnaseq/nextflow.config b/workflows/rnaseq/nextflow.config index d46359838..7bd96fc31 100644 --- a/workflows/rnaseq/nextflow.config +++ b/workflows/rnaseq/nextflow.config @@ -25,7 +25,7 @@ includeConfig "../../subworkflows/nf-core/fastq_qc_trim_filter_setstrandedness/n // STAR Salmon alignment options // -if (!params.skip_alignment && params.aligner == 'star_salmon') { +if (params.aligner == 'star_salmon') { process { withName: '.*:QUANTIFY_STAR_SALMON:SALMON_QUANT' { ext.args = { params.extra_salmon_quant_args ?: '' } @@ -200,132 +200,130 @@ if (!params.skip_alignment && params.aligner == 'star_salmon') { // General alignment options // -if (!params.skip_alignment) { - process { - withName: 'NFCORE_RNASEQ:RNASEQ:.*:BAM_SORT_STATS_SAMTOOLS:BAM_STATS_SAMTOOLS:.*' { - ext.prefix = { "${meta.id}.sorted.bam" } - publishDir = [ - path: { "${params.outdir}/${params.aligner}/samtools_stats" }, - mode: params.publish_dir_mode, - pattern: "*.{stats,flagstat,idxstats}" - ] - } +process { + withName: 'NFCORE_RNASEQ:RNASEQ:.*:BAM_SORT_STATS_SAMTOOLS:BAM_STATS_SAMTOOLS:.*' { + ext.prefix = { "${meta.id}.sorted.bam" } + publishDir = [ + path: { "${params.outdir}/${params.aligner}/samtools_stats" }, + mode: params.publish_dir_mode, + pattern: "*.{stats,flagstat,idxstats}" + ] + } - withName: 'NFCORE_RNASEQ:RNASEQ:.*:BAM_SORT_STATS_SAMTOOLS:SAMTOOLS_SORT' { - ext.prefix = { "${meta.id}.sorted" } - publishDir = [ - path: { ( ['star_salmon','hisat2'].contains(params.aligner) && - ( params.save_align_intermeds || ( !params.with_umi && params.skip_markduplicates ) ) - ) || params.save_align_intermeds || params.skip_markduplicates ? "${params.outdir}/${params.aligner}" : params.outdir }, - mode: params.publish_dir_mode, - pattern: "*.bam", - saveAs: { ( ['star_salmon','hisat2'].contains(params.aligner) && - ( params.save_align_intermeds || ( !params.with_umi && params.skip_markduplicates ) ) - ) || params.save_align_intermeds || params.skip_markduplicates ? it : null } - ] - } + withName: 'NFCORE_RNASEQ:RNASEQ:.*:BAM_SORT_STATS_SAMTOOLS:SAMTOOLS_SORT' { + ext.prefix = { "${meta.id}.sorted" } + publishDir = [ + path: { ( ['star_salmon','hisat2'].contains(params.aligner) && + ( params.save_align_intermeds || ( !params.with_umi && params.skip_markduplicates ) ) + ) || params.save_align_intermeds || params.skip_markduplicates ? "${params.outdir}/${params.aligner}" : params.outdir }, + mode: params.publish_dir_mode, + pattern: "*.bam", + saveAs: { ( ['star_salmon','hisat2'].contains(params.aligner) && + ( params.save_align_intermeds || ( !params.with_umi && params.skip_markduplicates ) ) + ) || params.save_align_intermeds || params.skip_markduplicates ? it : null } + ] + } - withName: 'NFCORE_RNASEQ:RNASEQ:.*:BAM_SORT_STATS_SAMTOOLS:SAMTOOLS_INDEX' { - ext.args = { params.bam_csi_index ? '-c' : '' } - publishDir = [ - path: { ( ['star_salmon','hisat2'].contains(params.aligner) && - ( params.save_align_intermeds || ( !params.with_umi && params.skip_markduplicates ) ) - ) || params.save_align_intermeds || params.skip_markduplicates ? "${params.outdir}/${params.aligner}" : params.outdir }, - mode: params.publish_dir_mode, - pattern: "*.{bai,csi}", - saveAs: { ( ['star_salmon','hisat2'].contains(params.aligner) && - ( params.save_align_intermeds || ( !params.with_umi && params.skip_markduplicates ) ) - ) || params.save_align_intermeds || params.skip_markduplicates ? it : null } - ] - } + withName: 'NFCORE_RNASEQ:RNASEQ:.*:BAM_SORT_STATS_SAMTOOLS:SAMTOOLS_INDEX' { + ext.args = { params.bam_csi_index ? '-c' : '' } + publishDir = [ + path: { ( ['star_salmon','hisat2'].contains(params.aligner) && + ( params.save_align_intermeds || ( !params.with_umi && params.skip_markduplicates ) ) + ) || params.save_align_intermeds || params.skip_markduplicates ? "${params.outdir}/${params.aligner}" : params.outdir }, + mode: params.publish_dir_mode, + pattern: "*.{bai,csi}", + saveAs: { ( ['star_salmon','hisat2'].contains(params.aligner) && + ( params.save_align_intermeds || ( !params.with_umi && params.skip_markduplicates ) ) + ) || params.save_align_intermeds || params.skip_markduplicates ? it : null } + ] } +} - if (params.with_umi && ['star_salmon','hisat2'].contains(params.aligner)) { - process { +if (params.with_umi && ['star_salmon','hisat2'].contains(params.aligner)) { + process { - 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_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_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()} + } - // Use the same umi_dedup prefix for umitools and umicollapse + // Use the same umi_dedup prefix for umitools and umicollapse - withName: '.*:BAM_DEDUP_STATS_SAMTOOLS_UMI(COLLAPSE|TOOLS)_GENOME:UMI(COLLAPSE|TOOLS_DEDUP)' { - ext.prefix = { "${meta.id}.umi_dedup.sorted" } - } + withName: '.*:BAM_DEDUP_STATS_SAMTOOLS_UMI(COLLAPSE|TOOLS)_GENOME:UMI(COLLAPSE|TOOLS_DEDUP)' { + ext.prefix = { "${meta.id}.umi_dedup.sorted" } + } - // Publishing logic for umitools: + // Publishing logic for umitools: - withName: '.*:BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS_GENOME:UMITOOLS_DEDUP' { - publishDir = [ - [ - path: { params.save_align_intermeds || params.save_umi_intermeds ? "${params.outdir}/${params.aligner}" : params.outdir }, - mode: params.publish_dir_mode, - pattern: '*.bam', - saveAs: { params.save_align_intermeds || params.save_umi_intermeds ? it : null } - ], - [ - path: { "${params.outdir}/${params.aligner}/umitools/genomic_dedup_log" }, - mode: params.publish_dir_mode, - pattern: '*.log' - ], - [ - path: { "${params.outdir}/${params.aligner}/umitools" }, - mode: params.publish_dir_mode, - pattern: '*.tsv' - ] + withName: '.*:BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS_GENOME:UMITOOLS_DEDUP' { + publishDir = [ + [ + path: { params.save_align_intermeds || params.save_umi_intermeds ? "${params.outdir}/${params.aligner}" : params.outdir }, + mode: params.publish_dir_mode, + pattern: '*.bam', + saveAs: { params.save_align_intermeds || params.save_umi_intermeds ? it : null } + ], + [ + path: { "${params.outdir}/${params.aligner}/umitools/genomic_dedup_log" }, + mode: params.publish_dir_mode, + pattern: '*.log' + ], + [ + path: { "${params.outdir}/${params.aligner}/umitools" }, + mode: params.publish_dir_mode, + pattern: '*.tsv' ] - } - - // Publishing logic for umicollapse + ] + } - withName: '.*:BAM_DEDUP_STATS_SAMTOOLS_UMICOLLAPSE_GENOME:UMICOLLAPSE' { - publishDir = [ - [ - path: { params.save_align_intermeds || params.save_umi_intermeds ? "${params.outdir}/${params.aligner}" : params.outdir }, - mode: params.publish_dir_mode, - pattern: '*.bam', - saveAs: { params.save_align_intermeds || params.save_umi_intermeds ? it : null } - ], - [ - path: { "${params.outdir}/${params.aligner}/umicollapse/genomic_dedup_log" }, - mode: params.publish_dir_mode, - pattern: '*.log' - ] - ] - } + // Publishing logic for umicollapse - 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 = [ + withName: '.*:BAM_DEDUP_STATS_SAMTOOLS_UMICOLLAPSE_GENOME:UMICOLLAPSE' { + publishDir = [ + [ path: { params.save_align_intermeds || params.save_umi_intermeds ? "${params.outdir}/${params.aligner}" : params.outdir }, mode: params.publish_dir_mode, - pattern: '*.{bai,csi}', + pattern: '*.bam', saveAs: { params.save_align_intermeds || params.save_umi_intermeds ? it : null } - ] - } - - 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" }, + ], + [ + path: { "${params.outdir}/${params.aligner}/umicollapse/genomic_dedup_log" }, mode: params.publish_dir_mode, - pattern: '*.{stats,flagstat,idxstats}' + pattern: '*.log' ] - } + ] + } + + 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 = [ + path: { params.save_align_intermeds || params.save_umi_intermeds ? "${params.outdir}/${params.aligner}" : params.outdir }, + mode: params.publish_dir_mode, + pattern: '*.{bai,csi}', + saveAs: { params.save_align_intermeds || params.save_umi_intermeds ? it : null } + ] + } + + 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" }, + mode: params.publish_dir_mode, + pattern: '*.{stats,flagstat,idxstats}' + ] } } } @@ -333,7 +331,7 @@ if (!params.skip_alignment) { // // bigWig coverage options // -if (!params.skip_alignment && !params.skip_bigwig) { +if (!params.skip_bigwig) { process { withName: 'BEDTOOLS_GENOMECOV_FW' { ext.prefix = { meta.strandedness == 'reverse' ? meta.id + '.reverse' : meta.id + '.forward' } @@ -389,7 +387,7 @@ if (!params.skip_alignment && !params.skip_bigwig) { // DESeq2 QC options // -if (!params.skip_alignment && params.aligner == 'star_salmon') { +if (params.aligner == 'star_salmon') { if (!params.skip_qc & !params.skip_deseq2_qc) { process { withName: 'DESEQ2_QC_STAR_SALMON' { @@ -410,7 +408,7 @@ if (!params.skip_alignment && params.aligner == 'star_salmon') { } } -if (!params.skip_alignment && params.aligner == 'star_rsem') { +if (params.aligner == 'star_rsem') { if (!params.skip_qc & !params.skip_deseq2_qc) { process { withName: 'DESEQ2_QC_RSEM' {