From efafd5bce956526eddbd58102fac7968922a0ee3 Mon Sep 17 00:00:00 2001 From: nschcolnicov Date: Thu, 28 Nov 2024 20:53:43 +0000 Subject: [PATCH] Fixed test profiles --- .github/workflows/ci.yml | 106 +-------------- conf/test_full.config | 18 --- nextflow.config | 3 - tests/test.nf.test | 17 ++- tests/test_build.nf.test | 19 ++- tests/test_build_stub.nf.test | 2 +- tests/test_cosmic.nf.test | 48 ++++++- tests/test_stub.nf.test | 19 ++- tests/test_stub.nf.test.snap | 237 ++++++++++++++++++++++++++++++++++ 9 files changed, 342 insertions(+), 127 deletions(-) delete mode 100644 conf/test_full.config diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b12d844e..2e06ffab 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,5 +1,5 @@ name: nf-core CI - +# This workflow runs the pipeline with the minimal test dataset to check that it completes without any syntax errors on: push: branches: @@ -26,9 +26,10 @@ concurrency: cancel-in-progress: true jobs: - test_with_test_profile: + test: name: "${{ matrix.NXF_VER }} | ${{ matrix.test_profile }} | ${{ matrix.compute_profile }}" - if: github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/rnafusion') + # Only run on push if this is the nf-core dev branch (merged PRs) + if: "${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/rnafusion') }}" runs-on: ubuntu-latest strategy: fail-fast: false @@ -40,11 +41,12 @@ jobs: - "test_stub" - "test_build_stub" compute_profile: - - "conda" - "docker" - "singularity" + - "conda" isMaster: - ${{ github.base_ref == 'master' }} + # Exclude conda and singularity on dev exclude: - isMaster: false compute_profile: "conda" @@ -114,101 +116,7 @@ jobs: - name: Publish Test Report uses: mikepenz/action-junit-report@v3 - if: always() - with: - report_paths: test.xml - annotate_only: true - - test_with_secret_test_profile: - name: "${{ matrix.NXF_VER }} | ${{ matrix.secret_test_profile }} | ${{ matrix.compute_profile }}" - if: github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/rnafusion') - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - NXF_VER: - - "24.04.2" - - "latest-everything" - secret_test_profile: - - "test" - - "test_build" - - "test_cosmic" - compute_profile: - - "conda" - - "docker" - - "singularity" - isMaster: - - ${{ github.base_ref == 'master' }} - exclude: - - isMaster: false - compute_profile: "conda" - - isMaster: false - compute_profile: "singularity" - steps: - - name: Check out pipeline code - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4 - with: - fetch-depth: 0 - - - name: Set up Nextflow - uses: nf-core/setup-nextflow@v2 - with: - version: "${{ matrix.NXF_VER }}" - - - name: Set up Apptainer - if: matrix.compute_profile == 'singularity' - uses: eWaterCycle/setup-apptainer@main - - - name: Set up Singularity - if: matrix.compute_profile == 'singularity' - run: | - mkdir -p $NXF_SINGULARITY_CACHEDIR - mkdir -p $NXF_SINGULARITY_LIBRARYDIR - - - name: Set up Miniconda - if: matrix.compute_profile == 'conda' - uses: conda-incubator/setup-miniconda@a4260408e20b96e80095f42ff7f1a15b27dd94ca # v3 - with: - miniconda-version: "latest" - auto-update-conda: true - conda-solver: libmamba - channels: conda-forge,bioconda - - - name: Set up Conda - if: matrix.compute_profile == 'conda' - run: | - echo $(realpath $CONDA)/condabin >> $GITHUB_PATH - echo $(realpath python) >> $GITHUB_PATH - - - name: Clean up Disk space - uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1 - - - uses: actions/setup-python@v4 - with: - python-version: "3.11" - architecture: "x64" - - - name: Install pdiff to see diff between nf-test snapshots - run: | - python -m pip install --upgrade pip - pip install pdiff - - - uses: nf-core/setup-nf-test@v1 - with: - version: ${{ env.NFT_VER }} - - - name: Run Tests (${{matrix.NXF_VER}} | ${{matrix.secret_test_profile}} | ${{matrix.compute_profile}}) - run: | - nf-test test \ - --ci \ - --tag ${{matrix.secret_test_profile}} \ - --profile "+${{ matrix.compute_profile }}" \ - --junitxml=test.xml \ - --debug --verbose - - - name: Publish Test Report - uses: mikepenz/action-junit-report@v3 - if: always() + if: always() # always run even if the previous step fails with: report_paths: test.xml annotate_only: true diff --git a/conf/test_full.config b/conf/test_full.config deleted file mode 100644 index 46744560..00000000 --- a/conf/test_full.config +++ /dev/null @@ -1,18 +0,0 @@ -/* -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Nextflow config file for running full-size tests -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Defines input files and everything required to run a full size pipeline test. - Use as follows: - nextflow run nf-core/sarek -profile test_full, --outdir ----------------------------------------------------------------------------------------- -*/ - -params { - config_profile_name = 'Full test profile' - config_profile_description = 'Full test dataset to check pipeline function' - - // Input data for full size test - input = 'https://raw.githubusercontent.com/nf-core/test-datasets/rnafusion/testdata/human/samplesheet_valid.csv' - all = true - } diff --git a/nextflow.config b/nextflow.config index 10c24ab7..0bc56380 100644 --- a/nextflow.config +++ b/nextflow.config @@ -228,9 +228,6 @@ profiles { test_cosmic { includeConfig 'conf/test_cosmic.config' } - test_full { - includeConfig 'conf/test_full.config' - } gitpod { executor.name = 'local' diff --git a/tests/test.nf.test b/tests/test.nf.test index c2d7c23c..f5680728 100644 --- a/tests/test.nf.test +++ b/tests/test.nf.test @@ -48,8 +48,23 @@ nextflow_pipeline { } then { + // stable_name: All files + folders in ${params.outdir}/ with a stable name + // Ignore files with timestamps in their names + def stable_name = getAllFilesFromDir(params.outdir, relative: true, includeDir: true, ignore: ['pipeline_info/*.{html,json,txt}']) + // stable_path: All files in ${params.outdir}/ with stable content + def stable_path = getAllFilesFromDir(params.outdir, ignoreFile: 'tests/.nftignore') assertAll( - { assert workflow.success } + { assert workflow.success}, + { assert snapshot( + // Number of successful tasks + workflow.trace.succeeded().size(), + // pipeline versions.yml file for multiqc from which Nextflow version is removed because we tests pipelines on multiple Nextflow versions + removeNextflowVersion("$outputDir/pipeline_info/nf_core_pipeline_software_mqc_versions.yml"), + // All stable path name, with a relative path + stable_name, + // All files with stable contents + stable_path + ).match() } ) } } diff --git a/tests/test_build.nf.test b/tests/test_build.nf.test index 74438b61..ef18e7e1 100644 --- a/tests/test_build.nf.test +++ b/tests/test_build.nf.test @@ -5,7 +5,7 @@ nextflow_pipeline { profile "test_build" tag "pipeline" tag "pipeline_rnafusion" - tag "build" + tag "test_build" test("test_build with fastp_trim") { @@ -48,8 +48,23 @@ nextflow_pipeline { } then { + // stable_name: All files + folders in ${params.outdir}/ with a stable name + // Ignore files with timestamps in their names + def stable_name = getAllFilesFromDir(params.outdir, relative: true, includeDir: true, ignore: ['pipeline_info/*.{html,json,txt}']) + // stable_path: All files in ${params.outdir}/ with stable content + def stable_path = getAllFilesFromDir(params.outdir, ignoreFile: 'tests/.nftignore') assertAll( - { assert workflow.success } + { assert workflow.success}, + { assert snapshot( + // Number of successful tasks + workflow.trace.succeeded().size(), + // pipeline versions.yml file for multiqc from which Nextflow version is removed because we tests pipelines on multiple Nextflow versions + removeNextflowVersion("$outputDir/pipeline_info/nf_core_pipeline_software_mqc_versions.yml"), + // All stable path name, with a relative path + stable_name, + // All files with stable contents + stable_path + ).match() } ) } } diff --git a/tests/test_build_stub.nf.test b/tests/test_build_stub.nf.test index 741c3328..cfb70351 100644 --- a/tests/test_build_stub.nf.test +++ b/tests/test_build_stub.nf.test @@ -6,7 +6,7 @@ nextflow_pipeline { options "-stub" // TODO remove once the pipeline is fixed tag "pipeline" tag "pipeline_rnafusion" - tag "build" + tag "test_build_stub" test("stub test_build with fastp_trim") { diff --git a/tests/test_cosmic.nf.test b/tests/test_cosmic.nf.test index ec657573..ffa1e489 100644 --- a/tests/test_cosmic.nf.test +++ b/tests/test_cosmic.nf.test @@ -48,8 +48,54 @@ nextflow_pipeline { } then { + // stable_name: All files + folders in ${params.outdir}/ with a stable name + // Ignore files with timestamps in their names + def stable_name = getAllFilesFromDir(params.outdir, relative: true, includeDir: true, ignore: ['pipeline_info/*.{html,json,txt}']) + // stable_path: All files in ${params.outdir}/ with stable content + def stable_path = getAllFilesFromDir(params.outdir, ignoreFile: 'tests/.nftignore') + assertAll( + { assert workflow.success}, + { assert snapshot( + // Number of successful tasks + workflow.trace.succeeded().size(), + // pipeline versions.yml file for multiqc from which Nextflow version is removed because we tests pipelines on multiple Nextflow versions + removeNextflowVersion("$outputDir/pipeline_info/nf_core_pipeline_software_mqc_versions.yml"), + // All stable path name, with a relative path + stable_name, + // All files with stable contents + stable_path + ).match() } + ) + } + } + + test("test cosmic no fastp trim build") { + + when { + params { + outdir = "$outputDir" + fastp_trim = false + } + } + + then { + // stable_name: All files + folders in ${params.outdir}/ with a stable name + // Ignore files with timestamps in their names + def stable_name = getAllFilesFromDir(params.outdir, relative: true, includeDir: true, ignore: ['pipeline_info/*.{html,json,txt}']) + // stable_path: All files in ${params.outdir}/ with stable content + def stable_path = getAllFilesFromDir(params.outdir, ignoreFile: 'tests/.nftignore') assertAll( - { assert workflow.success } + { assert workflow.success}, + { assert snapshot( + // Number of successful tasks + workflow.trace.succeeded().size(), + // pipeline versions.yml file for multiqc from which Nextflow version is removed because we tests pipelines on multiple Nextflow versions + removeNextflowVersion("$outputDir/pipeline_info/nf_core_pipeline_software_mqc_versions.yml"), + // All stable path name, with a relative path + stable_name, + // All files with stable contents + stable_path + ).match() } ) } } diff --git a/tests/test_stub.nf.test b/tests/test_stub.nf.test index 3f41fd95..b2ad98ce 100644 --- a/tests/test_stub.nf.test +++ b/tests/test_stub.nf.test @@ -6,7 +6,7 @@ nextflow_pipeline { options "-stub" // TODO remove once the pipeline is fixed tag "pipeline" tag "pipeline_rnafusion" - tag "test" + tag "test_stub" test("stub test with fastp trim") { @@ -55,8 +55,23 @@ nextflow_pipeline { } then { + // stable_name: All files + folders in ${params.outdir}/ with a stable name + // Ignore files with timestamps in their names + def stable_name = getAllFilesFromDir(params.outdir, relative: true, includeDir: true, ignore: ['pipeline_info/*.{html,json,txt}']) + // stable_path: All files in ${params.outdir}/ with stable content + def stable_path = getAllFilesFromDir(params.outdir, ignoreFile: 'tests/.nftignore') assertAll( - { assert workflow.success } + { assert workflow.success}, + { assert snapshot( + // Number of successful tasks + workflow.trace.succeeded().size(), + // pipeline versions.yml file for multiqc from which Nextflow version is removed because we tests pipelines on multiple Nextflow versions + removeNextflowVersion("$outputDir/pipeline_info/nf_core_pipeline_software_mqc_versions.yml"), + // All stable path name, with a relative path + stable_name, + // All files with stable contents + stable_path + ).match() } ) } } diff --git a/tests/test_stub.nf.test.snap b/tests/test_stub.nf.test.snap index 3dac38de..c49cc3d8 100644 --- a/tests/test_stub.nf.test.snap +++ b/tests/test_stub.nf.test.snap @@ -1,4 +1,241 @@ { + "stub test no fastp trim": { + "content": [ + 17, + { + "ARRIBA_ARRIBA": { + "arriba": "2.4.0" + }, + "FASTP": { + "fastp": "0.23.4" + }, + "FASTQC": { + "fastqc": "0.12.1" + }, + "FASTQC_FOR_FASTP": { + "fastqc": "0.12.1" + }, + "FUSIONCATCHER": { + "fusioncatcher": 1.33 + }, + "FUSIONREPORT": { + "fusion_report": "2.1.5" + }, + "GATK4_MARKDUPLICATES": { + "gatk4": "4.5.0.0", + "samtools": "1.19.2" + }, + "PICARD_COLLECTINSERTSIZEMETRICS": { + "picard": "3.2.0-1-g3948afb6b" + }, + "PICARD_COLLECTRNASEQMETRICS": { + "picard": "3.2.0-1-g3948afb6b" + }, + "SAMTOOLS_INDEX_FOR_STARFUSION": { + "samtools": 1.21 + }, + "STARFUSION": { + "STAR-Fusion": "1.7.0" + }, + "STAR_FOR_ARRIBA": { + "star": "2.7.10a", + "samtools": 1.18, + "gawk": "5.1.0" + }, + "STAR_FOR_STARFUSION": { + "star": "2.7.10a", + "samtools": 1.18, + "gawk": "5.1.0" + }, + "STRINGTIE_MERGE": { + "stringtie": "2.2.1" + }, + "STRINGTIE_STRINGTIE": { + "stringtie": "2.2.1" + }, + "Workflow": { + "nf-core/rnafusion": "v4.0.0dev" + } + }, + [ + "arriba", + "arriba/test.arriba.fusions.discarded.tsv", + "arriba/test.arriba.fusions.tsv", + "fastp", + "fastp/test.fastp.html", + "fastp/test.fastp.json", + "fastp/test.fastp.log", + "fastp/test_1.fastp.fastq.gz", + "fastp/test_2.fastp.fastq.gz", + "fastqc", + "fastqc/test.html", + "fastqc/test.zip", + "fastqc_for_fastp", + "fastqc_for_fastp/test_trimmed.html", + "fastqc_for_fastp/test_trimmed.zip", + "fusioncatcher", + "fusioncatcher/test.fusioncatcher.fusion-genes.txt", + "fusioncatcher/test.fusioncatcher.log", + "fusioncatcher/test.fusioncatcher.summary.txt", + "fusionreport", + "fusionreport/test", + "fusionreport/test/AAA_BBB.html", + "fusionreport/test/test.fusionreport.tsv", + "fusionreport/test/test.fusionreport_filtered.tsv", + "fusionreport/test/test.fusions.csv", + "fusionreport/test/test.fusions.json", + "fusionreport/test/test_fusionreport_index.html", + "multiqc", + "multiqc/multiqc_data", + "multiqc/multiqc_plots", + "multiqc/multiqc_report.html", + "picard", + "picard/test.bai", + "picard/test.bam", + "picard/test.bam.metrics", + "picard/test.cram", + "picard/test.cram.crai", + "picard/test.rna_metrics", + "picard/test_collectinsertsize.pdf", + "picard/test_collectinsertsize.txt", + "pipeline_info", + "pipeline_info/nf_core_pipeline_software_mqc_versions.yml", + "salmon", + "salmon/test", + "salmon/test_lib_format_counts.json", + "salmon/test_meta_info.json", + "star_for_arriba", + "star_for_arriba/test.Aligned.sortedByCoord.out.bam", + "star_for_arriba/test.Aligned.unsort.out.bam", + "star_for_arriba/test.Chimeric.out.junction", + "star_for_arriba/test.Log.final.out", + "star_for_arriba/test.Log.out", + "star_for_arriba/test.Log.progress.out", + "star_for_arriba/test.ReadsPerGene.out.tab", + "star_for_arriba/test.SJ.out.tab", + "star_for_arriba/test.Signal.UniqueMultiple.str1.out.bg", + "star_for_arriba/test.Signal.UniqueMultiple.str1.out.wig", + "star_for_arriba/test.out.sam", + "star_for_arriba/test.sortedByCoord.out.bam", + "star_for_arriba/test.tab", + "star_for_arriba/test.toTranscriptome.out.bam", + "star_for_arriba/test.unmapped_1.fastq.gz", + "star_for_arriba/test.unmapped_2.fastq.gz", + "star_for_arriba/testXd.out.bam", + "star_for_starfusion", + "star_for_starfusion/test.Aligned.sortedByCoord.out.bam", + "star_for_starfusion/test.Aligned.unsort.out.bam", + "star_for_starfusion/test.Chimeric.out.junction", + "star_for_starfusion/test.Log.final.out", + "star_for_starfusion/test.Log.out", + "star_for_starfusion/test.Log.progress.out", + "star_for_starfusion/test.ReadsPerGene.out.tab", + "star_for_starfusion/test.SJ.out.tab", + "star_for_starfusion/test.Signal.UniqueMultiple.str1.out.bg", + "star_for_starfusion/test.Signal.UniqueMultiple.str1.out.wig", + "star_for_starfusion/test.out.sam", + "star_for_starfusion/test.sortedByCoord.out.bam", + "star_for_starfusion/test.sortedByCoord.out.bam.bai", + "star_for_starfusion/test.tab", + "star_for_starfusion/test.toTranscriptome.out.bam", + "star_for_starfusion/test.unmapped_1.fastq.gz", + "star_for_starfusion/test.unmapped_2.fastq.gz", + "star_for_starfusion/testXd.out.bam", + "starfusion", + "starfusion/test.starfusion.abridged.coding_effect.tsv", + "starfusion/test.starfusion.abridged.tsv", + "starfusion/test.starfusion.fusion_predictions.tsv", + "stringtie", + "stringtie/[:]", + "stringtie/[:]/stringtie.merged.gtf", + "stringtie/test.ballgown", + "stringtie/test.coverage.gtf", + "stringtie/test.gene.abundance.txt", + "stringtie/test.transcripts.gtf" + ], + [ + "test.arriba.fusions.discarded.tsv:md5,f50b84b1db4b83ba62ec1deacc69c260", + "test.arriba.fusions.tsv:md5,f50b84b1db4b83ba62ec1deacc69c260", + "test.fastp.html:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.fastp.json:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.fastp.log:md5,d41d8cd98f00b204e9800998ecf8427e", + "test_1.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_2.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test.html:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.zip:md5,d41d8cd98f00b204e9800998ecf8427e", + "test_trimmed.html:md5,d41d8cd98f00b204e9800998ecf8427e", + "test_trimmed.zip:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.fusioncatcher.fusion-genes.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.fusioncatcher.log:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.fusioncatcher.summary.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "AAA_BBB.html:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.fusionreport.tsv:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.fusionreport_filtered.tsv:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.fusions.csv:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.fusions.json:md5,d41d8cd98f00b204e9800998ecf8427e", + "test_fusionreport_index.html:md5,d41d8cd98f00b204e9800998ecf8427e", + "multiqc_report.html:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.bai:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.bam.metrics:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.cram:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.cram.crai:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.rna_metrics:md5,d41d8cd98f00b204e9800998ecf8427e", + "test_collectinsertsize.pdf:md5,d41d8cd98f00b204e9800998ecf8427e", + "test_collectinsertsize.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "test_lib_format_counts.json:md5,d41d8cd98f00b204e9800998ecf8427e", + "test_meta_info.json:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.Aligned.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.Aligned.unsort.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.Chimeric.out.junction:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.Log.final.out:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.Log.out:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.Log.progress.out:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.ReadsPerGene.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.SJ.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.Signal.UniqueMultiple.str1.out.bg:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.Signal.UniqueMultiple.str1.out.wig:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.out.sam:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.tab:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.toTranscriptome.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.unmapped_1.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test.unmapped_2.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "testXd.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.Aligned.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.Aligned.unsort.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.Chimeric.out.junction:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.Log.final.out:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.Log.out:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.Log.progress.out:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.ReadsPerGene.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.SJ.out.tab:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.Signal.UniqueMultiple.str1.out.bg:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.Signal.UniqueMultiple.str1.out.wig:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.out.sam:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.sortedByCoord.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.sortedByCoord.out.bam.bai:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.tab:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.toTranscriptome.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.unmapped_1.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test.unmapped_2.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "testXd.out.bam:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.starfusion.abridged.coding_effect.tsv:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.starfusion.abridged.tsv:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.starfusion.fusion_predictions.tsv:md5,d41d8cd98f00b204e9800998ecf8427e", + "stringtie.merged.gtf:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.ballgown:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.coverage.gtf:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.gene.abundance.txt:md5,d41d8cd98f00b204e9800998ecf8427e", + "test.transcripts.gtf:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "24.10.2" + }, + "timestamp": "2024-11-28T20:52:57.507025672" + }, "stub test with fastp trim": { "content": [ 17,