From 16826eea27d7392ce09fae5ca17b9efab6d4ca0a Mon Sep 17 00:00:00 2001 From: "Maxime U. Garcia" Date: Tue, 23 Jun 2026 15:12:55 +0200 Subject: [PATCH 01/24] Bump version to 1.0.0 --- .nf-core.yml | 2 +- assets/multiqc_config.yml | 6 ++---- nextflow.config | 2 +- ro-crate-metadata.json | 44 ++++++++++++++++++++++++++++----------- 4 files changed, 36 insertions(+), 18 deletions(-) diff --git a/.nf-core.yml b/.nf-core.yml index c04be09d..748d09f2 100644 --- a/.nf-core.yml +++ b/.nf-core.yml @@ -21,4 +21,4 @@ template: name: rnadnavar org: nf-core outdir: . - version: "1.0" + version: "1.0.0" diff --git a/assets/multiqc_config.yml b/assets/multiqc_config.yml index 66a00e5b..ceed9a4d 100644 --- a/assets/multiqc_config.yml +++ b/assets/multiqc_config.yml @@ -3,9 +3,7 @@ custom_logo_url: https://github.com/nf-core/rnadnavar/ custom_logo_title: "nf-core/rnadnavar" report_comment: > - This report has been generated by the nf-core/rnadnavar - analysis pipeline. For information about how to interpret these results, please see the - documentation. + This report has been generated by the nf-core/rnadnavar analysis pipeline. For information about how to interpret these results, please see the documentation. report_section_order: "nf-core-rnadnavar-methods-description": order: -1000 @@ -59,7 +57,7 @@ extra_fn_clean_exts: pattern: "^.*.(md|recal).mosdepth.(global|region).dist" module: mosdepth -sample_names_replace_regex: True +sample_names_replace_regex: true sample_names_replace: "\\.[0-9]{4}$": ".md" # should match ".0001" but only at the end of strings for module Markduplicates/EstimateLibraryComplexity module: picard diff --git a/nextflow.config b/nextflow.config index 56e4c13f..68463e52 100644 --- a/nextflow.config +++ b/nextflow.config @@ -397,7 +397,7 @@ manifest { mainScript = 'main.nf' defaultBranch = 'master' nextflowVersion = '!>=25.10.4' - version = '1.0' + version = '1.0.0' doi = '' } diff --git a/ro-crate-metadata.json b/ro-crate-metadata.json index e177b051..041a3dfe 100644 --- a/ro-crate-metadata.json +++ b/ro-crate-metadata.json @@ -22,7 +22,7 @@ "@id": "./", "@type": "Dataset", "creativeWorkStatus": "Stable", - "datePublished": "2026-04-30T13:32:58+00:00", + "datePublished": "2026-06-23T13:10:48+00:00", "description": "

\n \n \n \"nf-core/rnadnavar\"\n \n

\n\n[![Open in GitHub Codespaces](https://img.shields.io/badge/Open_In_GitHub_Codespaces-black?labelColor=grey&logo=github)](https://github.com/codespaces/new/nf-core/rnadnavar)\n[![GitHub Actions CI Status](https://github.com/nf-core/rnadnavar/actions/workflows/nf-test.yml/badge.svg)](https://github.com/nf-core/rnadnavar/actions/workflows/nf-test.yml)\n[![GitHub Actions Linting Status](https://github.com/nf-core/rnadnavar/actions/workflows/linting.yml/badge.svg)](https://github.com/nf-core/rnadnavar/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/rnadnavar/results)[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.XXXXXXX-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.XXXXXXX)\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%A525.10.4-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-4.0.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/4.0.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/rnadnavar)\n\n[![Get help on Slack](http://img.shields.io/badge/slack-nf--core%20%23rnadnavar-4A154B?labelColor=000000&logo=slack)](https://nfcore.slack.com/channels/rnadnavar)[![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\nThe **nf-core/rnadnavar** is a bioinformatics best-practice\nanalysis pipeline for RNA somatic mutation detection\nable to perform in parallel.\n\nInitially designed for cancer research, the pipeline\nuses different variant calling algorithms and applies a\nconsensus approach. A final filtering stage, should\nprovide a set of annotated somatic variants.\n\nThe pipeline is built using [Nextflow](https://www.nextflow.io), a workflow tool to run tasks across\nmultiple compute infrastructures in a very portable\nmanner. It uses Docker/Singularity containers making\ninstallation trivial and results highly reproducible.\nThe [Nextflow DSL2](https://www.nextflow.io/docs/latest/dsl2.html) implementation of this\npipeline uses one container per process which makes it\nmuch easier to maintain and update software\ndependencies. Where possible, these processes have been\nsubmitted to and installed from [nf-core/modules](https://github.com/nf-core/modules) in order to make them available to all nf-core pipelines, and to everyone within the Nextflow community!\n\n## Pipeline summary\n\nDepending on the options and samples provided, the\npipeline will run different tasks. This is controlled\nmainly through `--step` and `--tools` parameters. This\nis a summary of the possible tasks to run with the pipeline:\n\n- Quality control and trimming (enabled by\n `--trim_fastq` and runs [`FastQC`](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/) and\n [`fastp`](https://github.com/OpenGene/fastp))\n- Map Reads to Reference (BWA-mem, BWA-mem2, dragmap\n and/or STAR)\n- GATK preprocessing for DNA and RNA bulk sequencing\n samples (`GATK MarkDuplicates`, `GATK SplitNCigarReads`,`GATK\nBaseRecalibrator` and `GATK ApplyBQSR`)\n- Summarise alignment statistics (`samtools stats`, `mosdepth`)\n- Variant calling (enabled with `--tools`)\n - `Mutect2`\n - `Strelka2`\n - `SAGE`\n- Annotation with `VEP` (enabled with `--tools` adding\n `vep`)\n- Normalisation of VCFs with VT (enabled with `--tools`\n adding `normalisation`)\n- Transformation of VCF to MAF and consensus of variant\n calling results (enabled with `--tools` adding\n `consensus`)\n- Filtering of MAF files applying optional gnomad,\n whitelisting and blacklisting (enabled with `--tools`\n adding `filtering`)\n- Realignment step where reads from regions where a variant\n was found will be extracted and re-processed, only for\n RNA due to higher levels of background noise (enabled\n with `--tools` adding `realignment`).\n- Filtering of MAF files specific for RNA (enabled with\n `--tools` adding `rna_filtering`)\n\n

\n \n

\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/get_started/environment_setup/overview) on how to set-up Nextflow. Make sure to [test your setup](https://nf-co.re/docs/get_started/run-your-first-pipeline) with `-profile test` before running the workflow on actual data.\n\n### Key requirements for the analysis\n\n- RNA tumor samples must be associated with a DNA normal sample using the same patient ID. DNA tumour sample is optional.\n- Sample types are specified with status: 0 (normal DNA), 1 (tumor DNA), 2 (tumor RNA)\n- Reference files are required for the analysis.\n\n### Quick Start\n\nThe typical command for running the pipeline is:\n\n```bash\nnextflow run nf-core/rnadnavar \\\n -r \\\n -profile \\\n --input samplesheet.csv \\\n --outdir \\\n --genome \\\n --tools \n```\n\n### Pipeline Steps\n\nThe pipeline can start from different entry points but `tools` need to be specified to run. If you are planning to run the pipeline by stages please read [usage](docs/usage.md#starting-from-different-steps).\n\n### Input requirements\n\nYou will need to create a samplesheet with information about the samples you want to analyze. The samplesheet must be a comma-separated file with a header row.\n\nEssential columns are:\n\n- `patient` - Unique patient identifier\n- `status` - Sample type (0/1/2)\n- `sample` - Unique sample identifier\n- And one of these options:\n - if variant calling is going to be performed of these three options should be an input (_note that this is included in the `realignment` step by default_):\n - `fastq_1`, `fastq_2` - Paths to paired-end FASTQ files (for raw data) (this also needs `lane` column)\n - `bam`,`bai` - Paths to BAM files and indices (for pre-aligned data)\n - `cram`,`crai` - Paths to CRAM files and indices (for pre-aligned data)\n - if the starting step is from `consensus` and no `realignment` will be performed (add `--skip_tools 'realignment'` to your command or params file) then the input are VCF/MAF:\n - `caller` - Caller used to generate that MAF (to annotate it during the consensus approach)\n - `maf` - Paths to MAF file\n - if `realignment` is desired then please add `normal_id` and take a look to [usage](docs/usage.md#starting-from-different-steps).\n\nExamples CSVs:\n\nStarting from `mapping`:\n\n```csv\npatient,sample,status,lane,fastq_1,fastq_2\nPT1,DNA_NORMAL_SAMPLE,0,LX,DNA_NORMAL_SAMPLE_L002_R1_001.fastq.gz,DNA_NORMAL_SAMPLE1_L002_R2_001.fastq.gz\nPT1,DNA_TUMOUR_SAMPLE,1,LX,DNA_TUMOUR_SAMPLE_L002_R1_001.fastq.gz,DNA_TUMOUR_SAMPLE_L002_R2_001.fastq.gz\nPT1,RNA_TUMOUR_SAMPLE,2,LX,RNA_TUMOUR_SAMPLE_L002_R1_001.fastq.gz,RNA_TUMOUR_SAMPLE_L002_R2_001.fastq.gz\n```\n\nStarting from `consensus` no realignment:\n\n```csv\npatient,sample,status,caller,maf\nPT1,RNA_TUMOUR_SAMPLE_1,2,mutect,DNA_TUMOUR_SAMPLE_1.mutect.maf\nPT1,RNA_TUMOUR_SAMPLE_1,2,strelka,RNA_TUMOUR_SAMPLE_1.strelka.maf\nPT1,RNA_TUMOUR_SAMPLE_2,2,mutect,DNA_TUMOUR_SAMPLE_2.mutect.maf\nPT1,RNA_TUMOUR_SAMPLE_2,2,strelka,RNA_TUMOUR_SAMPLE_2.strelka.maf\n```\n\n### Parameters\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/running/run-pipelines#using-parameter-files).\n\nFor more details and further functionality, please refer to the [usage documentation](https://nf-co.re/rnadnavar/usage) and the [parameter documentation](https://nf-co.re/rnadnavar/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/rnadnavar/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/rnadnavar/output).\n\n## Credits\n\nThe nf-core/rnadnavar was originally written by Raquel\nManzano Garcia at Cancer Research UK Cambridge Institute\nwith the continuous support of [Maxime U Garcia](https://github.com/maxulysse). The\nworkflow is based on\n[RNA-MuTect](https://github.com/broadinstitute/RNA_MUTECT_1.0-1) which was\noriginally published by [Yizhak, _et al_ 2019 (Science)](https://www.science.org/doi/10.1126/science.aaw0726)\n\nWe thank the following people for their assistance in the development of this pipeline:\nTBC\n\n## Contributions and Support\n\nIf you would like to contribute to this pipeline, please see the [contributing guidelines](docs/CONTRIBUTING.md).\n\nFor further information or help, don't hesitate to get in touch on the [Slack `#rnadnavar` channel](https://nfcore.slack.com/channels/rnadnavar) (you can join with [this invite](https://nf-co.re/join/slack)).\n\n## Citations\n\n\n\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": [ { @@ -105,7 +105,7 @@ }, "mentions": [ { - "@id": "#0cbe3024-7cdb-4a23-b245-1d12d74686bc" + "@id": "#3f3038cb-095e-474e-9a17-7bf2e513f0a8" } ], "name": "nf-core/rnadnavar" @@ -132,13 +132,18 @@ "SoftwareSourceCode", "ComputationalWorkflow" ], + "author": [ + { + "@id": "https://orcid.org/0000-0002-5124-8992" + } + ], "contributor": [ { - "@id": "#b83fe962-2f49-4ab2-a961-2aeab15b1c81" + "@id": "https://orcid.org/0000-0003-2827-9261" } ], "dateCreated": "", - "dateModified": "2026-04-30T13:32:58Z", + "dateModified": "2026-06-23T15:10:48Z", "dct:conformsTo": "https://bioschemas.org/profiles/ComputationalWorkflow/1.0-RELEASE/", "keywords": [ "nf-core", @@ -147,6 +152,11 @@ "license": [ "MIT" ], + "maintainer": [ + { + "@id": "https://orcid.org/0000-0002-5124-8992" + } + ], "name": [ "nf-core/rnadnavar" ], @@ -158,10 +168,10 @@ }, "url": [ "https://github.com/nf-core/rnadnavar", - "https://nf-co.re/rnadnavar/1.0/" + "https://nf-co.re/rnadnavar/1.0.0/" ], "version": [ - "1.0" + "1.0.0" ] }, { @@ -177,11 +187,11 @@ "version": "!>=25.10.4" }, { - "@id": "#0cbe3024-7cdb-4a23-b245-1d12d74686bc", + "@id": "#3f3038cb-095e-474e-9a17-7bf2e513f0a8", "@type": "TestSuite", "instance": [ { - "@id": "#99946831-907d-42e4-91be-e34e4b90e4e0" + "@id": "#8bdbe8dd-b50d-4edb-b2ce-dbe52a93e7e0" } ], "mainEntity": { @@ -190,7 +200,7 @@ "name": "Test suite for nf-core/rnadnavar" }, { - "@id": "#99946831-907d-42e4-91be-e34e4b90e4e0", + "@id": "#8bdbe8dd-b50d-4edb-b2ce-dbe52a93e7e0", "@type": "TestInstance", "name": "GitHub Actions workflow for testing nf-core/rnadnavar", "resource": "repos/nf-core/rnadnavar/actions/workflows/nf-test.yml", @@ -329,10 +339,20 @@ "url": "https://nf-co.re/" }, { - "@id": "#b83fe962-2f49-4ab2-a961-2aeab15b1c81", + "@id": "https://orcid.org/0000-0002-5124-8992", + "@type": "Person", + "affiliation": "Cancer Research UK", + "email": "Raquel.ManzanoGarcia@cruk.cam.ac.uk", + "name": "Raquel Manzano Garcia", + "url": "https://github.com/RaqManzano" + }, + { + "@id": "https://orcid.org/0000-0003-2827-9261", "@type": "Person", - "email": "rm889@cam.ac.uk", - "name": "Raquel Manzano" + "affiliation": "Seqera", + "email": "maxime.garcia@seqera.io", + "name": "Maxime U Garcia", + "url": "https://github.com/maxulysse" } ] } \ No newline at end of file From 7f9894ce04a568d89c9231abdef54f31b003f0ba Mon Sep 17 00:00:00 2001 From: "Maxime U. Garcia" Date: Tue, 23 Jun 2026 15:14:25 +0200 Subject: [PATCH 02/24] Fix typo in nextflow.config header --- nextflow.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nextflow.config b/nextflow.config index 68463e52..18b0107c 100644 --- a/nextflow.config +++ b/nextflow.config @@ -2,7 +2,7 @@ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nf-core/rnadnavar Nextflow config file ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Dbam_laign.configefault config options for all compute environments + Default config options for all compute environments ---------------------------------------------------------------------------------------- */ From 354a4169d24df89615e5295253f827e69b0fc79a Mon Sep 17 00:00:00 2001 From: "Maxime U. Garcia" Date: Tue, 23 Jun 2026 15:17:26 +0200 Subject: [PATCH 03/24] Consolidate CHANGELOG for 1.0.0 release --- CHANGELOG.md | 133 +++++++++++++-------------------------------------- 1 file changed, 34 insertions(+), 99 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2b6adabe..9db6133d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,12 +3,27 @@ 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). -## v1.0dev - [2026-06-23] +## 1.0.0 - [2026-06-23] + +Initial release of nf-core/rnadnavar. ### `Added` +- RNA and DNA integrated analysis pipeline for somatic mutation detection +- Support for multiple variant callers (Mutect2, Strelka2, SAGE) +- Comprehensive preprocessing with GATK4 best practices +- VEP annotation and filtering capabilities +- Consensus variant calling approach +- RNA-specific filtering and realignment steps +- MultiQC reporting and quality control +- Support for both BWA-MEM and STAR alignment - Added support for optional Mutect2 force-calling inputs (`mutect2_alleles` and `mutect2_alleles_tbi`) - Added `conf/empty.config` to support strict-syntax-safe config loading +- Added full pipeline nf-test (`test_full.nf.test`) and test snapshots +- Added VCF simple test data for annotation testing +- Added GitHub Actions for automated testing with nf-test +- Added support for multiple template versions (3.2.0, 3.2.1, 3.3.1) +- Restored rnadnavar logo in pipeline output with color support ### `Fixed` @@ -23,6 +38,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Fixed non-deterministic nf-test outputs and updated snapshots accordingly - Fixed `includeConfig` handling in `nextflow.config` for newer Nextflow strict syntax - Fixed VEP cache initialisation and updated unzip-dependent wiring +- Fixed help text and documentation URLs +- Fixed pipeline-specific parameter descriptions in schema +- Fixed workflow path references and documentation links +- Fixed consensus module caller value to avoid warnings +- Fixed VEP cache handling and empty RNA edits processing +- Fixed issue with run_consensus.R plotting +- **Major Fix**: Resolved ConcurrentModificationException error from Java processes +- Fixed local module implementations and configurations +- Fixed subworkflow naming and structure issues +- Fixed SAGE variant caller integration and configuration +- Fixed nf-core subworkflow integrations ### `Changed` @@ -33,111 +59,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Updated local GATK and Picard integrations, including restored patches for `picard/filtersamreads` and `gatk4/splitncigarreads` - Replaced deprecated tabix usage with current htslib-based handling where appropriate - Updated nf-test plugin configuration and test snapshots - -### `Removed` - -- Removed obsolete tabix modules and deprecated module usage paths -- Removed leftover config and workflow parameters no longer used after the template/module refresh (for example `hook_url`) - ---- - -## v1.0dev - [2025-08-12] - -### `Added` - -- Added full pipeline nf-test (`test_full.nf.test`) -- Added test snapshots -- Restored rnadnavar logo in pipeline output with color support - -### `Fixed` - -- Fixed help text and documentation URLs -- Fixed pipeline-specific parameter descriptions in schema -- Fixed workflow path references and documentation links -- Fixed consensus module caller value to avoid warnings -- Fixed VEP cache handling and empty RNA edits processing -- Fixed issue with run_consensus.R plotting - -### `Changed` - - Cleaned up code formatting and style across configuration files - Updated test configurations and `.nftignore` files -- Improved subworkflow organization and consistency (typos, remove unused code blocks, spacing, comments, readability) +- Improved subworkflow organization and consistency - Massive speed up to run_consensus.R - Migrated consensus module from custom Docker container to Seqera Wave containers +- Updated all nf-core modules to latest versions +- Updated template to nf-core/tools version 3.3.1 +- Updated GitHub workflows and CI/CD configurations +- Updated Nextflow minimum version requirement from >=23.04.0 to >=24.04.2 ### `Removed` +- Removed obsolete tabix modules and deprecated module usage paths +- Removed leftover config and workflow parameters no longer used after the template/module refresh (for example `hook_url`) - Cleaned up unused VCFlib and VT variant processing modules - Removed obsolete module configurations and test files - ---- - -## v1.0dev - [2025-08-01] - -### `Added` - -- Added VCF simple test data for annotation testing -- Added comprehensive nf-test framework integration -- Added GitHub Actions for automated testing with nf-test -- Added support for multiple template versions (3.2.0, 3.2.1, 3.3.1) - -### `Fixed` - -- **Major Fix**: Resolved ConcurrentModificationException error from Java processes -- Fixed local module implementations and configurations -- Fixed subworkflow naming and structure issues -- Fixed indentation and formatting issues across multiple files -- Fixed redundancies in workflow logic -- Fixed SAGE variant caller integration and configuration -- Fixed local utilities and helper functions -- Fixed nf-core subworkflow integrations - -### `Changed` - -- **Massive Module Update**: Updated all nf-core modules to latest versions including: - - bcftools/sort and bcftools/stats - - BWA, BWA-MEM2, and DRAGMAP aligners - - GATK4 modules (applybqsr, baserecalibrator) - - FastQC, FastP, and other QC tools - - VEP annotation modules - - All associated test files and metadata -- Updated VEP cache version parameter from string '110' to integer 110 -- Cleaned up main workflow structure and organization -- Cleaned up local subworkflows and removed redundant code -- Cleaned up configuration files and parameter definitions -- Updated template to nf-core/tools version 3.3.1 -- Reorganized and cleaned up local modules -- Updated GitHub workflows and CI/CD configurations -- Added new configuration parameters: `help_full`, `show_hidden`, `trace_report_suffix`, `modules_testdata_base_path` -- Improved parameter organization and formatting in nextflow.config - -### `Dependencies` - -- Updated all nf-core modules to their latest stable versions -- Updated container images and Conda environments for all processes -- **Updated Nextflow minimum version requirement from >=23.04.0 to >=24.04.2** -- Updated nf-core template to version 3.3.1 - -### `Deprecated` - - Removed redundant workflow components -- Cleaned up deprecated configuration parameters -- Removed obsolete test configurations - ---- - -## Initial Release - -Initial release of nf-core/rnadnavar, created with the [nf-core](https://nf-co.re/) template. - -### `Added` - -- RNA and DNA integrated analysis pipeline for somatic mutation detection -- Support for multiple variant callers (Mutect2, Strelka2, SAGE) -- Comprehensive preprocessing with GATK4 best practices -- VEP annotation and filtering capabilities -- Consensus variant calling approach -- RNA-specific filtering and realignment steps -- MultiQC reporting and quality control -- Support for both BWA-MEM and STAR alignment From e879fb15632b0d1c7c0c6504f3949eccf7c8a845 Mon Sep 17 00:00:00 2001 From: Raquel Manzano Date: Tue, 23 Jun 2026 14:24:12 +0100 Subject: [PATCH 04/24] fix parameters names --- conf/test_full.config | 6 +++--- nextflow.config | 10 +++++----- nextflow_schema.json | 8 ++++---- subworkflows/local/vcf_consensus/main.nf | 2 +- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/conf/test_full.config b/conf/test_full.config index 8157da69..14bf8d05 100644 --- a/conf/test_full.config +++ b/conf/test_full.config @@ -36,9 +36,9 @@ params { germline_resource = "https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/reference/chr7_hg38/af-only-gnomad.hg38.chr7.mini2.vcf.gz" no_intervals = true gtf = 'https://raw.githubusercontent.com/nf-core/test-datasets/rnadnavar/reference/chr7_hg38/gencode.v36.annotation.chr7.mini.gtf' - sage_highconfidence = 'https://github.com/nf-core/test-datasets/raw/rnadnavar/resources/hmftools/variants/HighConfidence.38.bed.gz' - sage_actionablepanel = 'https://github.com/nf-core/test-datasets/raw/rnadnavar/resources/hmftools/variants/ActionableCodingPanel.38.bed.gz' - sage_knownhotspots = 'https://github.com/nf-core/test-datasets/raw/rnadnavar/resources/hmftools/variants/KnownHotspots.somatic.38.vcf.gz' + sage_high_confidence = 'https://github.com/nf-core/test-datasets/raw/rnadnavar/resources/hmftools/variants/HighConfidence.38.bed.gz' + sage_actionable_panel = 'https://github.com/nf-core/test-datasets/raw/rnadnavar/resources/hmftools/variants/ActionableCodingPanel.38.bed.gz' + sage_known_hotspots = 'https://github.com/nf-core/test-datasets/raw/rnadnavar/resources/hmftools/variants/KnownHotspots.somatic.38.vcf.gz' sage_ensembl_dir = 'https://github.com/nf-core/test-datasets/raw/rnadnavar/resources/hmftools/common/sage_ensembl.zip' vep_cache = 'https://github.com/nf-core/test-datasets/raw/rnadnavar/resources/vep/vep_hs.zip' vep_cache_version = 999 diff --git a/nextflow.config b/nextflow.config index 18b0107c..5e6b6e32 100644 --- a/nextflow.config +++ b/nextflow.config @@ -68,7 +68,7 @@ params { save_split_fastqs = false // Variant calling - defaultvariantcallers = "sage,strelka,mutect2" // Default variant callers + default_variant_callers = "sage,strelka,mutect2" // Default variant callers no_intervals = false intervals = null nucleotides_per_second = 200000 // Default interval size @@ -84,9 +84,9 @@ params { pon_tbi = null mutect2_alleles = null mutect2_alleles_tbi = null - sage_actionablepanel = null - sage_highconfidence = null - sage_knownhotspots = null + sage_actionable_panel = null + sage_high_confidence = null + sage_known_hotspots = null sage_custom_args = "-validation_stringency LENIENT" sage_resource_dir = null sage_ensembl_dir = null @@ -378,7 +378,7 @@ manifest { contributors = [ [ name: 'Raquel Manzano Garcia', - affiliation: 'Cancer Research UK', + affiliation: 'Cancer Research UK Cambridge Institute', email: 'Raquel.ManzanoGarcia@cruk.cam.ac.uk', github: '@RaqManzano', contribution: ['author', 'maintainer'], diff --git a/nextflow_schema.json b/nextflow_schema.json index 1ccd3e2f..e1f298e0 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -485,7 +485,7 @@ "default": "", "fa_icon": "fas fa-toolbox", "properties": { - "defaultvariantcallers": { + "default_variant_callers": { "type": "string", "default": "sage,strelka,mutect2", "fa_icon": "fas fa-play", @@ -550,19 +550,19 @@ "help_text": "Must be provided together with `--mutect2_alleles`.", "hidden": true }, - "sage_highconfidence": { + "sage_high_confidence": { "type": "string", "fa_icon": "fas fa-file", "description": "Bed file with known high confidence used as input in Sage variant caller", "hidden": true }, - "sage_actionablepanel": { + "sage_actionable_panel": { "type": "string", "fa_icon": "fas fa-file", "description": "Bed file with ac actionable list of variants used as input in Sage variant caller", "hidden": true }, - "sage_knownhotspots": { + "sage_known_hotspots": { "type": "string", "fa_icon": "fas fa-file", "description": "Known hotspots used as input in Sage variant caller", diff --git a/subworkflows/local/vcf_consensus/main.nf b/subworkflows/local/vcf_consensus/main.nf index 7e72dfa8..375f5745 100644 --- a/subworkflows/local/vcf_consensus/main.nf +++ b/subworkflows/local/vcf_consensus/main.nf @@ -40,7 +40,7 @@ workflow VCF_CONSENSUS { } def tools_list if (realignment || (params.step in ['consensus', 'annotate','filtering', 'rna_filtering'] && params.tools && params.tools.split(',').contains("realignment")) ) { - tools_list = params.defaultvariantcallers.split(',').toList().unique() + tools_list = params.default_variant_callers.split(',').toList().unique() } else { tools_list = params.tools.split(',').toList().findAll { it in ['sage', 'strelka', 'mutect2'] }.unique() } From cca049f6be3e429f687cd9bbb9057e46ab40c0a5 Mon Sep 17 00:00:00 2001 From: Raquel Manzano Date: Tue, 23 Jun 2026 14:31:32 +0100 Subject: [PATCH 05/24] fix parameters names --- subworkflows/local/bam_variant_calling_somatic_sage/main.nf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/subworkflows/local/bam_variant_calling_somatic_sage/main.nf b/subworkflows/local/bam_variant_calling_somatic_sage/main.nf index 727769c3..8641162b 100644 --- a/subworkflows/local/bam_variant_calling_somatic_sage/main.nf +++ b/subworkflows/local/bam_variant_calling_somatic_sage/main.nf @@ -44,9 +44,9 @@ workflow BAM_VARIANT_CALLING_SOMATIC_SAGE { SAGE( cram_intervals, sage_ensembl, - Channel.fromPath(params.sage_highconfidence).collect().map{ it -> [ [ id:it[0].baseName ], it ] }, - Channel.fromPath(params.sage_actionablepanel).collect().map{ it -> [ [ id:it[0].baseName ], it ] }, - Channel.fromPath(params.sage_knownhotspots).collect().map{ it -> [ [ id:it[0].baseName ], it ] }, + Channel.fromPath(params.sage_high_confidence).collect().map{ it -> [ [ id:it[0].baseName ], it ] }, + Channel.fromPath(params.sage_actionable_panel).collect().map{ it -> [ [ id:it[0].baseName ], it ] }, + Channel.fromPath(params.sage_known_hotspots).collect().map{ it -> [ [ id:it[0].baseName ], it ] }, fasta, fasta_fai, dict) From 7bde7e6a7de47c4653732aaae6a2066aca4e6949 Mon Sep 17 00:00:00 2001 From: Raquel Manzano Date: Tue, 23 Jun 2026 14:31:40 +0100 Subject: [PATCH 06/24] remove unused params --- nextflow.config | 4 ---- nextflow_schema.json | 25 ------------------------- 2 files changed, 29 deletions(-) diff --git a/nextflow.config b/nextflow.config index 5e6b6e32..4b160e4c 100644 --- a/nextflow.config +++ b/nextflow.config @@ -41,7 +41,6 @@ params { star_twopass = true star_ignore_sjdbgtf = false // Ignore GTF file while creating index or alignment by STAR star_max_memory_bamsort = 0 // STAR parameter limitBAMsortRAM to specify maximum RAM for sorting BAM - star_bins_bamsort = 50 // STAR parameter outBAMsortingBinsN to specify number of bins for sorting BAM star_max_collapsed_junc = 1000000 // STAR parameter limitOutSJcollapsed to specify max number of collapsed junctions seq_center = null seq_platform = 'ILLUMINA' // Required for preparing for BAM headers for GATK to work @@ -88,17 +87,14 @@ params { sage_high_confidence = null sage_known_hotspots = null sage_custom_args = "-validation_stringency LENIENT" - sage_resource_dir = null sage_ensembl_dir = null joint_mutect2 = false // if true, enables patient-wise multi-sample somatic variant calling // GATK intervallist parameters - gatk_interval_scatter_count = 25 ignore_soft_clipped_bases = true // Variant annotation tools = null // No default Variant_Calling or Annotation tools - genesplicer = null // genesplicer disabled within VEP dbnsfp = null // No dbnsfp processed file dbnsfp_consequence = null // No default consequence for dbnsfp plugin dbnsfp_fields = "rs_dbSNP,HGVSc_VEP,HGVSp_VEP,1000Gp3_EAS_AF,1000Gp3_AMR_AF,LRT_score,GERP++_RS,gnomAD_exomes_AF" // Default fields for dbnsfp plugin diff --git a/nextflow_schema.json b/nextflow_schema.json index e1f298e0..1fd07bd6 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -184,12 +184,6 @@ "description": "Option to limit RAM when sorting BAM file. Value to be specified in bytes. If 0, will be set to the genome index size.", "help_text": "This parameter specifies the maximum available RAM (bytes) for sorting BAM during STAR alignment." }, - "star_bins_bamsort": { - "type": "integer", - "default": 50, - "description": "Specifies the number of genome bins for coordinate-sorting", - "help_text": "This parameter specifies the number of bins to be used for coordinate sorting during STAR alignment step." - }, "star_max_collapsed_junc": { "type": "integer", "default": 1000000, @@ -492,13 +486,6 @@ "description": "Variant callers used to generate calls", "help_text": "Name of variant calling tools separated by commans used to generate VCF/MAF input files." }, - "remove_duplicates": { - "type": "boolean", - "fa_icon": "fas fa-hammer", - "description": "Specify whether to remove duplicates from the BAM during Picard MarkDuplicates step.", - "help_text": "Specify true for removing duplicates from BAM file during Picard MarkDuplicates step.", - "hidden": false - }, "no_intervals": { "type": "boolean", "fa_icon": "fas fa-ban", @@ -511,12 +498,6 @@ "help_text": "To speed up preprocessing and variant calling processes, the execution is parallelized across a reference chopped into smaller pieces.\n\nParts of preprocessing and variant calling are done by these intervals, the different resulting files are then merged.\nThis can parallelize processes, and push down wall clock time significantly.\n\nWe are aligning to the whole genome, and then run Base Quality Score Recalibration and Variant Calling on the supplied regions.\n\n**Whole Genome Sequencing:**\n\nThe (provided) intervals are chromosomes cut at their centromeres (so each chromosome arm processed separately) also additional unassigned contigs.\n\nWe are ignoring the `hs37d5` contig that contains concatenated decoy sequences.\n\nThe calling intervals can be defined using a .list or a BED file.\nA .list file contains one interval per line in the format `chromosome:start-end` (1-based coordinates).\nA BED file must be a tab-separated text file with one interval per line.\nThere must be at least three columns: chromosome, start, and end (0-based coordinates).\nAdditionally, the score column of the BED file can be used to provide an estimate of how many seconds it will take to call variants on that interval.\nThe fourth column remains unused.\n\n```\n|chr1|10000|207666|NA|47.3|\n```\nThis indicates that variant calling on the interval chr1:10001-207666 takes approximately 47.3 seconds.\n\nThe runtime estimate is used in two different ways.\nFirst, when there are multiple consecutive intervals in the file that take little time to compute, they are processed as a single job, thus reducing the number of processes that needs to be spawned.\nSecond, the jobs with largest processing time are started first, which reduces wall-clock time.\nIf no runtime is given, a time of 1000 nucleotides per second is assumed. See `-nucleotides_per_second` on how to customize this.\nActual figures vary from 2 nucleotides/second to 30000 nucleotides/second.\nIf you prefer, you can specify the full path to your reference genome when you run the pipeline:\n\n> **NB** If none provided, will be generated automatically from the FASTA reference\n> **NB** Use --no_intervals to disable automatic generation.\n\n**Targeted Sequencing:**\n\nThe recommended flow for targeted sequencing data is to use the workflow as it is, but also provide a `BED` file containing targets for all steps using the `--intervals` option. In addition, the parameter `--wes` should be set.\nIt is advised to pad the variant calling regions (exons or target) to some extent before submitting to the workflow.\n\nThe procedure is similar to whole genome sequencing, except that only BED file are accepted. See above for formatting description.\nAdding every exon as an interval in case of `WES` can generate >200K processes or jobs, much more forks, and similar number of directories in the Nextflow work directory. These are appropriately grouped together to reduce number of processes run in parallel (see above and `--nucleotides_per_second` for details). \nFurthermore, primers and/or baits are not 100% specific, (certainly not for MHC and KIR, etc.), quite likely there going to be reads mapping to multiple locations.\nIf you are certain that the target is unique for your genome (all the reads will certainly map to only one location), and aligning to the whole genome is an overkill, it is actually better to change the reference itself.", "description": "Path to target bed file in case of whole exome or targeted sequencing or intervals file." }, - "gatk_interval_scatter_count": { - "type": "integer", - "default": 25, - "description": "Number of times the gene interval list to be split in order to run GATK haplotype caller in parallel", - "help_text": "Set this parameter to decide the number of splits for the gene interval list file." - }, "pon": { "type": "string", "fa_icon": "fas fa-file", @@ -652,12 +633,6 @@ "hidden": true, "help_text": "For details, see [here](https://github.com/konradjk/loftee)." }, - "genesplicer": { - "type": "boolean", - "fa_icon": "fas fa-database", - "description": "Enable the use of the VEP genesplicer plugin.", - "help_text": "For details, see [here](https://ccb.jhu.edu/software/genesplicer/)." - }, "vep_spliceai": { "type": "boolean", "fa_icon": "fas fa-database", From 6a954558741a770d5b31705e7625bd1de26f4cd9 Mon Sep 17 00:00:00 2001 From: Raquel Manzano Date: Tue, 23 Jun 2026 14:40:29 +0100 Subject: [PATCH 07/24] fix parameters names --- modules/local/sage/main.nf | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/modules/local/sage/main.nf b/modules/local/sage/main.nf index 17381e27..e62e6428 100644 --- a/modules/local/sage/main.nf +++ b/modules/local/sage/main.nf @@ -10,9 +10,9 @@ process SAGE { input: tuple val(meta), path(input_normal), path(input_index_normal), path(input_tumor), path(input_index_tumor), path(intervals) tuple val(meta1), path(ensembl_dir) - tuple val(meta2), path(sage_highconfidence) - tuple val(meta3), path(sage_actionablepanel) - tuple val(meta4), path(sage_knownhotspots) + tuple val(meta2), path(sage_high_confidence) + tuple val(meta3), path(sage_actionable_panel) + tuple val(meta4), path(sage_known_hotspots) tuple val(meta5), path(fasta) tuple val(meta6), path(fai) tuple val(meta7), path(dict) @@ -48,9 +48,9 @@ process SAGE { -ref_genome $fasta \\ -threads $task.cpus \\ -tumor ${meta.tumor_id} -tumor_bam ${input_tumor} \\ - -high_confidence_bed ${sage_highconfidence} \\ - -panel_bed ${sage_actionablepanel} \\ - -hotspots ${sage_knownhotspots} \\ + -high_confidence_bed ${sage_high_confidence} \\ + -panel_bed ${sage_actionable_panel} \\ + -hotspots ${sage_known_hotspots} \\ $reference \\ $interval \\ $ensembl_data_dir \\ @@ -71,9 +71,9 @@ process SAGE { -threads $task.cpus \\ -tumor ${meta.tumor_id} \\ -tumor_bam ${input_tumor} \\ - -high_confidence_bed ${sage_highconfidence} \\ - -panel_bed ${sage_actionablepanel} \\ - -hotspots ${sage_knownhotspots} \\ + -high_confidence_bed ${sage_high_confidence} \\ + -panel_bed ${sage_actionable_panel} \\ + -hotspots ${sage_known_hotspots} \\ $ensembl_data_dir \\ $reference \\ $args From 52447884e3e29bb50915f59a52594b93bbfae8cb Mon Sep 17 00:00:00 2001 From: Raquel Manzano Date: Tue, 23 Jun 2026 14:58:51 +0100 Subject: [PATCH 08/24] fix affiliations --- nextflow.config | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/nextflow.config b/nextflow.config index 4b160e4c..ab361dae 100644 --- a/nextflow.config +++ b/nextflow.config @@ -67,7 +67,7 @@ params { save_split_fastqs = false // Variant calling - default_variant_callers = "sage,strelka,mutect2" // Default variant callers + default_variant_callers = "sage,strelka,mutect2" // Default variant callers no_intervals = false intervals = null nucleotides_per_second = 200000 // Default interval size @@ -375,14 +375,12 @@ manifest { [ name: 'Raquel Manzano Garcia', affiliation: 'Cancer Research UK Cambridge Institute', - email: 'Raquel.ManzanoGarcia@cruk.cam.ac.uk', github: '@RaqManzano', contribution: ['author', 'maintainer'], orcid: '0000-0002-5124-8992' ],[ name: 'Maxime U Garcia', - affiliation: 'Seqera', - email: 'maxime.garcia@seqera.io', + affiliation: 'National Genomics Infrastructure', github: '@maxulysse', contribution: ['contributor'], orcid: '0000-0003-2827-9261' From 3f8c91c168ee0d1953dd49685156cd57896de634 Mon Sep 17 00:00:00 2001 From: Raquel Manzano Date: Tue, 23 Jun 2026 14:59:16 +0100 Subject: [PATCH 09/24] remove old pytests --- tests/test_annotation.yml | 8 -------- tests/test_bamcsiindex.yml | 10 ---------- tests/test_removeduplicates.yml | 13 ------------- tests/test_skipbasecalib.yml | 11 ----------- 4 files changed, 42 deletions(-) delete mode 100644 tests/test_annotation.yml delete mode 100644 tests/test_bamcsiindex.yml delete mode 100644 tests/test_removeduplicates.yml delete mode 100644 tests/test_skipbasecalib.yml diff --git a/tests/test_annotation.yml b/tests/test_annotation.yml deleted file mode 100644 index 58d6b6f1..00000000 --- a/tests/test_annotation.yml +++ /dev/null @@ -1,8 +0,0 @@ -- name: Run VEP - command: nextflow run main.nf -profile test,docker --tools vep --skip_tools 'multiqc' - tags: - - annotation - - vep - files: - - path: results/variant_annotation/GM12878/GM12878_VEP.ann.vcf.gz - - path: results/variant_annotation/GM12878/GM12878_VEP.ann.vcf.gz.tbi diff --git a/tests/test_bamcsiindex.yml b/tests/test_bamcsiindex.yml deleted file mode 100644 index 06fb817f..00000000 --- a/tests/test_bamcsiindex.yml +++ /dev/null @@ -1,10 +0,0 @@ -- name: Run pipeline with bam_csi_index for large genomes - command: nextflow run main.nf -profile test,docker --bam_csi_index - tags: - - bamcsiindex - files: - - path: results/reports/multiqc_report.html - - path: results/preprocessing/GM12878/GM12878.markdup.sorted.bam - - path: results/preprocessing/GM12878/GM12878.markdup.sorted.bam.csi - - path: results/variant_calling/GM12878/GM12878.haplotypecaller.vcf.gz - - path: results/variant_calling/GM12878/GM12878.haplotypecaller.vcf.gz.csi diff --git a/tests/test_removeduplicates.yml b/tests/test_removeduplicates.yml deleted file mode 100644 index 8889ad6a..00000000 --- a/tests/test_removeduplicates.yml +++ /dev/null @@ -1,13 +0,0 @@ -- name: Run pipeline with duplicate reads removed - command: nextflow run main.nf -profile test,docker --remove_duplicates true - tags: - - removeduplicates - - preprocessing - files: - - path: results/reports/multiqc_report.html - - path: results/preprocessing/GM12878/GM12878.recal.bam - - path: results/preprocessing/GM12878/GM12878.recal.bam.bai - - path: results/variant_calling/GM12878/GM12878.haplotypecaller.vcf.gz - - path: results/variant_calling/GM12878/GM12878.haplotypecaller.vcf.gz.tbi - - path: results/variant_calling/GM12878/GM12878.haplotypecaller.filtered.vcf.gz - - path: results/variant_calling/GM12878/GM12878.haplotypecaller.filtered.vcf.gz.tbi diff --git a/tests/test_skipbasecalib.yml b/tests/test_skipbasecalib.yml deleted file mode 100644 index 6c2ccc03..00000000 --- a/tests/test_skipbasecalib.yml +++ /dev/null @@ -1,11 +0,0 @@ -- name: Run pipeline without base calibration step - command: nextflow run main.nf -profile test,docker --skip_tools 'baserecalibrator' - tags: - - skipbasecalib - - preprocessing - files: - - path: results/reports/multiqc_report.html - - path: results/variant_calling/GM12878/GM12878.haplotypecaller.vcf.gz - - path: results/variant_calling/GM12878/GM12878.haplotypecaller.vcf.gz.tbi - - path: results/variant_calling/GM12878/GM12878.haplotypecaller.filtered.vcf.gz - - path: results/variant_calling/GM12878/GM12878.haplotypecaller.filtered.vcf.gz.tbi From 3acc013f74f88f8cf6406fe09e23d3becf38f5ef Mon Sep 17 00:00:00 2001 From: Raquel Manzano Date: Tue, 23 Jun 2026 14:59:35 +0100 Subject: [PATCH 10/24] add nf-core vcf2maf --- modules/nf-core/vcf2maf/environment.yml | 8 ++ modules/nf-core/vcf2maf/main.nf | 69 ++++++++++ modules/nf-core/vcf2maf/meta.yml | 60 +++++++++ modules/nf-core/vcf2maf/tests/main.nf.test | 143 +++++++++++++++++++++ 4 files changed, 280 insertions(+) create mode 100644 modules/nf-core/vcf2maf/environment.yml create mode 100644 modules/nf-core/vcf2maf/main.nf create mode 100644 modules/nf-core/vcf2maf/meta.yml create mode 100644 modules/nf-core/vcf2maf/tests/main.nf.test diff --git a/modules/nf-core/vcf2maf/environment.yml b/modules/nf-core/vcf2maf/environment.yml new file mode 100644 index 00000000..4e617a0a --- /dev/null +++ b/modules/nf-core/vcf2maf/environment.yml @@ -0,0 +1,8 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + - bioconda::ensembl-vep=113.3 + - bioconda::vcf2maf=1.6.22 diff --git a/modules/nf-core/vcf2maf/main.nf b/modules/nf-core/vcf2maf/main.nf new file mode 100644 index 00000000..2bc4495d --- /dev/null +++ b/modules/nf-core/vcf2maf/main.nf @@ -0,0 +1,69 @@ +process VCF2MAF { + + tag "$meta.id" + label 'process_low' + + // WARN: Version information not provided by tool on CLI. Please update version string below when bumping container versions. + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/7c/7cbf9421f0bee23a93a35c5d0c7166ac1e89a40008d8e474cecfddb93226bf65/data': + 'community.wave.seqera.io/library/ensembl-vep_vcf2maf:2d40b60b4834af73' }" + + input: + tuple val(meta), path(vcf) // Use an uncompressed VCF file! + path fasta // Required + path vep_cache // Required for VEP running. A default of /.vep is supplied. + + output: + tuple val(meta), path("*.maf"), emit: maf + path "versions.yml" , emit: versions + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def vep_cache_cmd = vep_cache ? "--vep-data $vep_cache" : "" // If VEP is present, it will find it and add it to commands otherwise blank + def VERSION = '1.6.22' // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions. + """ + if [ "$vep_cache" ]; then + VEP_CMD="--vep-path \$(dirname \$(type -p vep))" + VEP_VERSION=\$(echo -e "\\n ensemblvep: \$( echo \$(vep --help 2>&1) | sed 's/^.*Versions:.*ensembl-vep : //;s/ .*\$//')") + else + VEP_CMD="" + VEP_VERSION="" + fi + + vcf2maf.pl \\ + $args \\ + \$VEP_CMD \\ + $vep_cache_cmd \\ + --ref-fasta $fasta \\ + --input-vcf $vcf \\ + --output-maf ${prefix}.maf + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + vcf2maf: $VERSION\$VEP_VERSION + END_VERSIONS + """ + + stub: + def prefix = task.ext.prefix ?: "${meta.id}" + def VERSION = '1.6.22' // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions. + """ + if [ "$vep_cache" ]; then + VEP_VERSION=\$(echo -e "\\n ensemblvep: \$( echo \$(vep --help 2>&1) | sed 's/^.*Versions:.*ensembl-vep : //;s/ .*\$//')") + else + VEP_VERSION="" + fi + + touch ${prefix}.maf + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + vcf2maf: $VERSION\$VEP_VERSION + END_VERSIONS + """ +} diff --git a/modules/nf-core/vcf2maf/meta.yml b/modules/nf-core/vcf2maf/meta.yml new file mode 100644 index 00000000..a1a05128 --- /dev/null +++ b/modules/nf-core/vcf2maf/meta.yml @@ -0,0 +1,60 @@ +name: "vcf2maf" +description: vcf2maf +keywords: + - vcf + - maf + - annotation +tools: + - "vcf2maf": + description: | + "Convert a VCF into a MAF where each variant is annotated to only one of all possible gene isoforms using vcf2maf. vcf2maf is designed to work with VEP, so it is recommended to have VEP and vcf2maf installed when running this module. Running VEP requires a VEP cache to be present. It is recommended to set the --species and --ncbi-build in ext.args (use the module config). If you wish to skip VEP, add `--inhibit-vep` to ext.args. It may also be necessary to set --tumor-id and --normal-id for correct parsing of the VCF." + homepage: "https://github.com/mskcc/vcf2maf" + documentation: "https://github.com/mskcc/vcf2maf" + tool_dev_url: "https://github.com/mskcc/vcf2maf" + doi: "10.5281/zenodo.593251" + licence: ["Apache-2.0"] + identifier: "" +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - vcf: + type: file + description: | + vcf to convert to MAF format. Must be uncompressed. + ontologies: [] + - fasta: + type: file + description: | + Path to reference genome fasta file. + ontologies: [] + - vep_cache: + type: file + description: | + Path to VEP cache dir. Required for correct running of VEP. + ontologies: [] +output: + maf: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.maf": + type: file + description: MAF file produced from VCF + pattern: "*.maf" + ontologies: [] + versions: + - versions.yml: + type: file + description: File containing software versions + pattern: "versions.yml" + ontologies: + - edam: http://edamontology.org/format_3750 # YAML +authors: + - "@adamrtalbot" +maintainers: + - "@adamrtalbot" diff --git a/modules/nf-core/vcf2maf/tests/main.nf.test b/modules/nf-core/vcf2maf/tests/main.nf.test new file mode 100644 index 00000000..472e235e --- /dev/null +++ b/modules/nf-core/vcf2maf/tests/main.nf.test @@ -0,0 +1,143 @@ +nextflow_process { + name "Test Process VCF2MAF" + + process "VCF2MAF" + script "../main.nf" + + tag "modules" + tag "modules_nfcore" + tag "vcf2maf" + tag "untar" + + setup { + run("UNTAR") { + script "../../../../modules/nf-core/untar/main.nf" + process { + """ + input[0] = [ + [ id:'test_genome_vep' ], + file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/vep_cache_113.tar.gz", checkIfExists: true) + ] + """ + } + } + } + + test("Run without VEP") { + + config "./nextflow.config" + + when { + params { + module_args = '--ncbi-build GRCh38 --species homo_sapiens --inhibit-vep' + } + process { + """ + input[0] = [ + [ id:'test'], // meta map + file(params.modules_testdata_base_path + "genomics/homo_sapiens/illumina/gvcf/test.genome.vcf", checkIfExists: true) + ] + input[1] = file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/genome.fasta", checkIfExists: true) + input[2] = [] + """ + } + } + then { + assertAll( + { assert process.success }, + { assert snapshot( + path(process.out.maf[0][1]).readLines()[5..131], + process.out.versions, + path(process.out.versions[0]).readLines() + ).match() }, + ) + } + } + + test("Run with VEP"){ + + config "./nextflow.config" + + when { + params { + module_args = "--ncbi-build GRCh38 --species homo_sapiens" + } + process { + """ + input[0] = [ + [ id:'test'], // meta map + file(params.modules_testdata_base_path + "genomics/homo_sapiens/illumina/gvcf/test.genome.vcf", checkIfExists: true) + ] + input[1] = [ file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/genome.fasta", checkIfExists: true) ] + input[2] = UNTAR.out.untar.map { it[1] } + """ + } + } + + then{ + assertAll( + { assert process.success }, + { assert path(process.out.maf[0][1]).readLines().size() == 2 }, // no variants, only header lines + { assert snapshot(process.out.versions, path(process.out.versions[0]).readLines()).match() } + ) + } + } + + test("Run without VEP - stub") { + + options "-stub" + + when { + process { + """ + input[0] = [ + [ id:'test'], // meta map + file(params.modules_testdata_base_path + "genomics/homo_sapiens/illumina/gvcf/test.genome.vcf", checkIfExists: true) + ] + input[1] = [ file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/genome.fasta", checkIfExists: true) ] + input[2] = [] + """ + } + } + then { + assertAll( + { assert process.success }, + { assert snapshot( + process.out, + path(process.out.versions[0]).readLines() + ).match() + }, + ) + } + } + + test("Run with VEP - stub"){ + + options "-stub" + + when { + process { + """ + input[0] = [ + [ id:'test'], // meta map + file(params.modules_testdata_base_path + "genomics/homo_sapiens/illumina/gvcf/test.genome.vcf", checkIfExists: true) + ] + input[1] = [ file(params.modules_testdata_base_path + "genomics/homo_sapiens/genome/genome.fasta", checkIfExists: true) ] + input[2] = UNTAR.out.untar.map { it[1] } + """ + } + } + + then{ + assertAll( + { assert process.success }, + { assert snapshot( + process.out, + path(process.out.versions[0]).readLines() + ).match() + }, + ) + } + } + +} From f37cdeaedc7c89102722dad9c2b7d704ed3739b9 Mon Sep 17 00:00:00 2001 From: Raquel Manzano Date: Tue, 23 Jun 2026 14:59:47 +0100 Subject: [PATCH 11/24] add nf-core vcf2maf --- .../nf-core/vcf2maf/tests/main.nf.test.snap | 239 ++++++++++++++++++ modules/nf-core/vcf2maf/tests/nextflow.config | 7 + 2 files changed, 246 insertions(+) create mode 100644 modules/nf-core/vcf2maf/tests/main.nf.test.snap create mode 100644 modules/nf-core/vcf2maf/tests/nextflow.config diff --git a/modules/nf-core/vcf2maf/tests/main.nf.test.snap b/modules/nf-core/vcf2maf/tests/main.nf.test.snap new file mode 100644 index 00000000..f0062a0e --- /dev/null +++ b/modules/nf-core/vcf2maf/tests/main.nf.test.snap @@ -0,0 +1,239 @@ +{ + "Run with VEP - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.maf:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + "versions.yml:md5,999ed581957e1a97cf9a483e5cc65d05" + ], + "maf": [ + [ + { + "id": "test" + }, + "test.maf:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions": [ + "versions.yml:md5,999ed581957e1a97cf9a483e5cc65d05" + ] + }, + [ + "\"VCF2MAF\":", + " vcf2maf: 1.6.22", + " ensemblvep: 113.0" + ] + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.2" + }, + "timestamp": "2024-12-11T16:01:35.707312" + }, + "Run with VEP": { + "content": [ + [ + "versions.yml:md5,999ed581957e1a97cf9a483e5cc65d05" + ], + [ + "\"VCF2MAF\":", + " vcf2maf: 1.6.22", + " ensemblvep: 113.0" + ] + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.1" + }, + "timestamp": "2024-12-11T15:50:59.184221" + }, + "Run without VEP - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.maf:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + "versions.yml:md5,f3398fb1c4621649331dca91212dac23" + ], + "maf": [ + [ + { + "id": "test" + }, + "test.maf:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions": [ + "versions.yml:md5,f3398fb1c4621649331dca91212dac23" + ] + }, + [ + "\"VCF2MAF\":", + " vcf2maf: 1.6.22" + ] + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.2" + }, + "timestamp": "2024-12-11T15:49:39.498519" + }, + "Run without VEP": { + "content": [ + [ + "Unknown\t0\t.\tGRCh38\tchr22\t1955\t1955\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t1955", + "Unknown\t0\t.\tGRCh38\tchr22\t1957\t1957\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tGTA\t.\t.\t\t\t\t\t\t\t\t\t\t1957", + "Unknown\t0\t.\tGRCh38\tchr22\t1958\t1958\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTAA\t.\t.\t\t\t\t\t\t\t\t\t\t1958", + "Unknown\t0\t.\tGRCh38\tchr22\t1959\t1959\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tAAA\t.\t.\t\t\t\t\t\t\t\t\t\t1959", + "Unknown\t0\t.\tGRCh38\tchr22\t1960\t1960\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tAAT\t.\t.\t\t\t\t\t\t\t\t\t\t1960", + "Unknown\t0\t.\tGRCh38\tchr22\t1962\t1962\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTCA\t.\t.\t\t\t\t\t\t\t\t\t\t1962", + "Unknown\t0\t.\tGRCh38\tchr22\t1963\t1963\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCAT\t.\t.\t\t\t\t\t\t\t\t\t\t1963", + "Unknown\t0\t.\tGRCh38\tchr22\t1964\t1964\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tATC\t.\t.\t\t\t\t\t\t\t\t\t\t1964", + "Unknown\t0\t.\tGRCh38\tchr22\t1965\t1965\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTCT\t.\t.\t\t\t\t\t\t\t\t\t\t1965", + "Unknown\t0\t.\tGRCh38\tchr22\t1966\t1966\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t1966", + "Unknown\t0\t.\tGRCh38\tchr22\t1967\t1967\t+\tTargeted_Region\tINS\tG\tG\t\t\t\tTUMOR\tNORMAL\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTGT\t.\t.\t\t\t\t\t\t\t\t\t\t1967", + "Unknown\t0\t.\tGRCh38\tchr22\t1982\t1982\t+\tTargeted_Region\tSNP\tA\tA\tG\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tGAA\trs7287620\t176.64\t\t\t\t\t\t\t\t\t\t1982", + "Unknown\t0\t.\tGRCh38\tchr22\t1983\t1983\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tAAA\t.\t.\t\t\t\t\t\t\t\t\t\t1983", + "Unknown\t0\t.\tGRCh38\tchr22\t2103\t2103\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tATC\t.\t.\t\t\t\t\t\t\t\t\t\t2103", + "Unknown\t0\t.\tGRCh38\tchr22\t2104\t2104\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTCC\t.\t.\t\t\t\t\t\t\t\t\t\t2104", + "Unknown\t0\t.\tGRCh38\tchr22\t2105\t2105\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCCT\t.\t.\t\t\t\t\t\t\t\t\t\t2105", + "Unknown\t0\t.\tGRCh38\tchr22\t2107\t2107\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTCT\t.\t.\t\t\t\t\t\t\t\t\t\t2107", + "Unknown\t0\t.\tGRCh38\tchr22\t2108\t2108\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCTC\t.\t.\t\t\t\t\t\t\t\t\t\t2108", + "Unknown\t0\t.\tGRCh38\tchr22\t2111\t2111\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTCT\t.\t.\t\t\t\t\t\t\t\t\t\t2111", + "Unknown\t0\t.\tGRCh38\tchr22\t2114\t2114\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tGAA\t.\t.\t\t\t\t\t\t\t\t\t\t2114", + "Unknown\t0\t.\tGRCh38\tchr22\t2115\t2115\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tAAA\t.\t.\t\t\t\t\t\t\t\t\t\t2115", + "Unknown\t0\t.\tGRCh38\tchr22\t2118\t2118\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTCA\t.\t.\t\t\t\t\t\t\t\t\t\t2118", + "Unknown\t0\t.\tGRCh38\tchr22\t2123\t2123\t+\tTargeted_Region\tSNP\tC\tC\tG\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tGCG\t.\t33.97\t\t\t\t\t\t\t\t\t\t2123", + "Unknown\t0\t.\tGRCh38\tchr22\t2124\t2124\t+\tTargeted_Region\tINS\tG\tG\t\t\t\tTUMOR\tNORMAL\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCGC\t.\t.\t\t\t\t\t\t\t\t\t\t2124", + "Unknown\t0\t.\tGRCh38\tchr22\t2717\t2717\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t2717", + "Unknown\t0\t.\tGRCh38\tchr22\t2722\t2722\t+\tTargeted_Region\tINS\tG\tG\t\t\t\tTUMOR\tNORMAL\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTGT\t.\t.\t\t\t\t\t\t\t\t\t\t2722", + "Unknown\t0\t.\tGRCh38\tchr22\t2723\t2723\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tGTT\t.\t.\t\t\t\t\t\t\t\t\t\t2723", + "Unknown\t0\t.\tGRCh38\tchr22\t2724\t2724\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTTA\t.\t.\t\t\t\t\t\t\t\t\t\t2724", + "Unknown\t0\t.\tGRCh38\tchr22\t2725\t2725\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTAA\t.\t.\t\t\t\t\t\t\t\t\t\t2725", + "Unknown\t0\t.\tGRCh38\tchr22\t2837\t2837\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tATA\t.\t.\t\t\t\t\t\t\t\t\t\t2837", + "Unknown\t0\t.\tGRCh38\tchr22\t2838\t2838\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTAA\t.\t.\t\t\t\t\t\t\t\t\t\t2838", + "Unknown\t0\t.\tGRCh38\tchr22\t2908\t2908\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTAA\t.\t.\t\t\t\t\t\t\t\t\t\t2908", + "Unknown\t0\t.\tGRCh38\tchr22\t2909\t2909\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tAAA\t.\t.\t\t\t\t\t\t\t\t\t\t2909", + "Unknown\t0\t.\tGRCh38\tchr22\t2910\t2910\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tAAA\t.\t.\t\t\t\t\t\t\t\t\t\t2910", + "Unknown\t0\t.\tGRCh38\tchr22\t2911\t2911\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tAAC\t.\t.\t\t\t\t\t\t\t\t\t\t2911", + "Unknown\t0\t.\tGRCh38\tchr22\t2912\t2912\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tACT\t.\t.\t\t\t\t\t\t\t\t\t\t2912", + "Unknown\t0\t.\tGRCh38\tchr22\t3120\t3120\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTAC\t.\t.\t\t\t\t\t\t\t\t\t\t3120", + "Unknown\t0\t.\tGRCh38\tchr22\t3121\t3121\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tACC\t.\t.\t\t\t\t\t\t\t\t\t\t3121", + "Unknown\t0\t.\tGRCh38\tchr22\t3122\t3122\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCCC\t.\t.\t\t\t\t\t\t\t\t\t\t3122", + "Unknown\t0\t.\tGRCh38\tchr22\t3125\t3125\t+\tTargeted_Region\tINS\tG\tG\t\t\t\tTUMOR\tNORMAL\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tAGA\t.\t.\t\t\t\t\t\t\t\t\t\t3125", + "Unknown\t0\t.\tGRCh38\tchr22\t3127\t3127\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tATC\t.\t.\t\t\t\t\t\t\t\t\t\t3127", + "Unknown\t0\t.\tGRCh38\tchr22\t3140\t3140\t+\tTargeted_Region\tSNP\tA\tA\tG\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tAAG\t.\t37.31\t\t\t\t\t\t\t\t\t\t3140", + "Unknown\t0\t.\tGRCh38\tchr22\t3141\t3141\t+\tTargeted_Region\tINS\tG\tG\t\t\t\tTUMOR\tNORMAL\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tAGT\t.\t.\t\t\t\t\t\t\t\t\t\t3141", + "Unknown\t0\t.\tGRCh38\tchr22\t3145\t3145\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t3145", + "Unknown\t0\t.\tGRCh38\tchr22\t3191\t3191\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTCA\t.\t.\t\t\t\t\t\t\t\t\t\t3191", + "Unknown\t0\t.\tGRCh38\tchr22\t3192\t3192\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCAG\t.\t.\t\t\t\t\t\t\t\t\t\t3192", + "Unknown\t0\t.\tGRCh38\tchr22\t3197\t3197\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTTT\t.\t.\t\t\t\t\t\t\t\t\t\t3197", + "Unknown\t0\t.\tGRCh38\tchr22\t3201\t3201\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tATT\t.\t.\t\t\t\t\t\t\t\t\t\t3201", + "Unknown\t0\t.\tGRCh38\tchr22\t3208\t3208\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTAG\t.\t.\t\t\t\t\t\t\t\t\t\t3208", + "Unknown\t0\t.\tGRCh38\tchr22\t3210\t3210\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tGTA\t.\t.\t\t\t\t\t\t\t\t\t\t3210", + "Unknown\t0\t.\tGRCh38\tchr22\t3218\t3218\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tAAA\t.\t.\t\t\t\t\t\t\t\t\t\t3218", + "Unknown\t0\t.\tGRCh38\tchr22\t3219\t3219\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tAAA\t.\t.\t\t\t\t\t\t\t\t\t\t3219", + "Unknown\t0\t.\tGRCh38\tchr22\t3266\t3266\t+\tTargeted_Region\tSNP\tT\tT\tC\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTTT\trs4008589\t481.06\t\t\t\t\t\t\t\t\t\t3266", + "Unknown\t0\t.\tGRCh38\tchr22\t3267\t3267\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTTA\t.\t.\t\t\t\t\t\t\t\t\t\t3267", + "Unknown\t0\t.\tGRCh38\tchr22\t3303\t3303\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCAC\t.\t.\t\t\t\t\t\t\t\t\t\t3303", + "Unknown\t0\t.\tGRCh38\tchr22\t3304\t3304\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tACT\t.\t.\t\t\t\t\t\t\t\t\t\t3304", + "Unknown\t0\t.\tGRCh38\tchr22\t3305\t3305\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t3305", + "Unknown\t0\t.\tGRCh38\tchr22\t3309\t3309\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t3309", + "Unknown\t0\t.\tGRCh38\tchr22\t3310\t3310\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTAG\t.\t.\t\t\t\t\t\t\t\t\t\t3310", + "Unknown\t0\t.\tGRCh38\tchr22\t3318\t3318\t+\tTargeted_Region\tINS\tG\tG\t\t\t\tTUMOR\tNORMAL\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTGC\t.\t.\t\t\t\t\t\t\t\t\t\t3318", + "Unknown\t0\t.\tGRCh38\tchr22\t3321\t3321\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTTA\t.\t.\t\t\t\t\t\t\t\t\t\t3321", + "Unknown\t0\t.\tGRCh38\tchr22\t3352\t3352\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTTC\t.\t.\t\t\t\t\t\t\t\t\t\t3352", + "Unknown\t0\t.\tGRCh38\tchr22\t3355\t3355\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTTT\t.\t.\t\t\t\t\t\t\t\t\t\t3355", + "Unknown\t0\t.\tGRCh38\tchr22\t3356\t3356\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTTC\t.\t.\t\t\t\t\t\t\t\t\t\t3356", + "Unknown\t0\t.\tGRCh38\tchr22\t3366\t3366\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tATT\t.\t.\t\t\t\t\t\t\t\t\t\t3366", + "Unknown\t0\t.\tGRCh38\tchr22\t3374\t3374\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTAG\t.\t.\t\t\t\t\t\t\t\t\t\t3374", + "Unknown\t0\t.\tGRCh38\tchr22\t3375\t3375\t+\tTargeted_Region\tINS\tG\tG\t\t\t\tTUMOR\tNORMAL\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tAGA\t.\t.\t\t\t\t\t\t\t\t\t\t3375", + "Unknown\t0\t.\tGRCh38\tchr22\t3376\t3376\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tGAT\t.\t.\t\t\t\t\t\t\t\t\t\t3376", + "Unknown\t0\t.\tGRCh38\tchr22\t3378\t3378\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTCG\t.\t.\t\t\t\t\t\t\t\t\t\t3378", + "Unknown\t0\t.\tGRCh38\tchr22\t3379\t3379\t+\tTargeted_Region\tINS\tG\tG\t\t\t\tTUMOR\tNORMAL\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCGG\t.\t.\t\t\t\t\t\t\t\t\t\t3379", + "Unknown\t0\t.\tGRCh38\tchr22\t3382\t3382\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCCA\t.\t.\t\t\t\t\t\t\t\t\t\t3382", + "Unknown\t0\t.\tGRCh38\tchr22\t3386\t3386\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tGCA\t.\t.\t\t\t\t\t\t\t\t\t\t3386", + "Unknown\t0\t.\tGRCh38\tchr22\t3387\t3387\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCAG\t.\t.\t\t\t\t\t\t\t\t\t\t3387", + "Unknown\t0\t.\tGRCh38\tchr22\t3391\t3391\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tAAC\t.\t.\t\t\t\t\t\t\t\t\t\t3391", + "Unknown\t0\t.\tGRCh38\tchr22\t3393\t3393\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t3393", + "Unknown\t0\t.\tGRCh38\tchr22\t3394\t3394\t+\tTargeted_Region\tINS\tG\tG\t\t\t\tTUMOR\tNORMAL\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTGA\t.\t.\t\t\t\t\t\t\t\t\t\t3394", + "Unknown\t0\t.\tGRCh38\tchr22\t3395\t3395\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tGAA\t.\t.\t\t\t\t\t\t\t\t\t\t3395", + "Unknown\t0\t.\tGRCh38\tchr22\t3396\t3396\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tAAC\t.\t.\t\t\t\t\t\t\t\t\t\t3396", + "Unknown\t0\t.\tGRCh38\tchr22\t3397\t3397\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tACC\t.\t.\t\t\t\t\t\t\t\t\t\t3397", + "Unknown\t0\t.\tGRCh38\tchr22\t3398\t3398\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCCT\t.\t.\t\t\t\t\t\t\t\t\t\t3398", + "Unknown\t0\t.\tGRCh38\tchr22\t3399\t3399\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t3399", + "Unknown\t0\t.\tGRCh38\tchr22\t3400\t3400\t+\tTargeted_Region\tINS\tG\tG\t\t\t\tTUMOR\tNORMAL\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTGA\t.\t.\t\t\t\t\t\t\t\t\t\t3400", + "Unknown\t0\t.\tGRCh38\tchr22\t3401\t3401\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tGAT\t.\t.\t\t\t\t\t\t\t\t\t\t3401", + "Unknown\t0\t.\tGRCh38\tchr22\t3402\t3402\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tATT\t.\t.\t\t\t\t\t\t\t\t\t\t3402", + "Unknown\t0\t.\tGRCh38\tchr22\t3403\t3403\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTTT\t.\t.\t\t\t\t\t\t\t\t\t\t3403", + "Unknown\t0\t.\tGRCh38\tchr22\t3404\t3404\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t3404", + "Unknown\t0\t.\tGRCh38\tchr22\t3405\t3405\t+\tTargeted_Region\tINS\tG\tG\t\t\t\tTUMOR\tNORMAL\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTGT\t.\t.\t\t\t\t\t\t\t\t\t\t3405", + "Unknown\t0\t.\tGRCh38\tchr22\t3406\t3406\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tGTT\t.\t.\t\t\t\t\t\t\t\t\t\t3406", + "Unknown\t0\t.\tGRCh38\tchr22\t3407\t3407\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTTT\t.\t.\t\t\t\t\t\t\t\t\t\t3407", + "Unknown\t0\t.\tGRCh38\tchr22\t3409\t3409\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTTT\t.\t.\t\t\t\t\t\t\t\t\t\t3409", + "Unknown\t0\t.\tGRCh38\tchr22\t3410\t3410\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTTT\t.\t.\t\t\t\t\t\t\t\t\t\t3410", + "Unknown\t0\t.\tGRCh38\tchr22\t3411\t3411\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTTT\t.\t.\t\t\t\t\t\t\t\t\t\t3411", + "Unknown\t0\t.\tGRCh38\tchr22\t3413\t3413\t+\tTargeted_Region\tSNP\tT\tT\tG\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTTG\t.\t78.64\t\t\t\t\t\t\t\t\t\t3413", + "Unknown\t0\t.\tGRCh38\tchr22\t3414\t3414\t+\tTargeted_Region\tINS\tG\tG\t\t\t\tTUMOR\tNORMAL\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTGA\t.\t.\t\t\t\t\t\t\t\t\t\t3414", + "Unknown\t0\t.\tGRCh38\tchr22\t3418\t3418\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTCA\t.\t.\t\t\t\t\t\t\t\t\t\t3418", + "Unknown\t0\t.\tGRCh38\tchr22\t3421\t3421\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCCT\t.\t.\t\t\t\t\t\t\t\t\t\t3421", + "Unknown\t0\t.\tGRCh38\tchr22\t3422\t3422\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCTA\t.\t.\t\t\t\t\t\t\t\t\t\t3422", + "Unknown\t0\t.\tGRCh38\tchr22\t3423\t3423\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTAG\t.\t.\t\t\t\t\t\t\t\t\t\t3423", + "Unknown\t0\t.\tGRCh38\tchr22\t3632\t3632\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tGCT\t.\t.\t\t\t\t\t\t\t\t\t\t3632", + "Unknown\t0\t.\tGRCh38\tchr22\t3633\t3633\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t3633", + "Unknown\t0\t.\tGRCh38\tchr22\t3635\t3635\t+\tTargeted_Region\tINS\tG\tG\t\t\t\tTUMOR\tNORMAL\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tGGA\t.\t.\t\t\t\t\t\t\t\t\t\t3635", + "Unknown\t0\t.\tGRCh38\tchr22\t3636\t3636\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tGAA\t.\t.\t\t\t\t\t\t\t\t\t\t3636", + "Unknown\t0\t.\tGRCh38\tchr22\t3637\t3637\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tAAG\t.\t.\t\t\t\t\t\t\t\t\t\t3637", + "Unknown\t0\t.\tGRCh38\tchr22\t3645\t3645\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTCC\t.\t.\t\t\t\t\t\t\t\t\t\t3645", + "Unknown\t0\t.\tGRCh38\tchr22\t4466\t4466\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tGAT\t.\t.\t\t\t\t\t\t\t\t\t\t4466", + "Unknown\t0\t.\tGRCh38\tchr22\t4488\t4488\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tACT\t.\t.\t\t\t\t\t\t\t\t\t\t4488", + "Unknown\t0\t.\tGRCh38\tchr22\t4489\t4489\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCTT\t.\t.\t\t\t\t\t\t\t\t\t\t4489", + "Unknown\t0\t.\tGRCh38\tchr22\t4494\t4494\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCCA\t.\t.\t\t\t\t\t\t\t\t\t\t4494", + "Unknown\t0\t.\tGRCh38\tchr22\t4495\t4495\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCAG\t.\t.\t\t\t\t\t\t\t\t\t\t4495", + "Unknown\t0\t.\tGRCh38\tchr22\t4499\t4499\t+\tTargeted_Region\tINS\tG\tG\t\t\t\tTUMOR\tNORMAL\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tGGT\t.\t.\t\t\t\t\t\t\t\t\t\t4499", + "Unknown\t0\t.\tGRCh38\tchr22\t4500\t4500\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tGTT\t.\t.\t\t\t\t\t\t\t\t\t\t4500", + "Unknown\t0\t.\tGRCh38\tchr22\t4501\t4501\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTTT\t.\t.\t\t\t\t\t\t\t\t\t\t4501", + "Unknown\t0\t.\tGRCh38\tchr22\t4502\t4502\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTTG\t.\t.\t\t\t\t\t\t\t\t\t\t4502", + "Unknown\t0\t.\tGRCh38\tchr22\t4503\t4503\t+\tTargeted_Region\tINS\tG\tG\t\t\t\tTUMOR\tNORMAL\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTGG\t.\t.\t\t\t\t\t\t\t\t\t\t4503", + "Unknown\t0\t.\tGRCh38\tchr22\t4508\t4508\t+\tTargeted_Region\tINS\tG\tG\t\t\t\tTUMOR\tNORMAL\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTGC\t.\t.\t\t\t\t\t\t\t\t\t\t4508", + "Unknown\t0\t.\tGRCh38\tchr22\t4576\t4576\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tATG\t.\t.\t\t\t\t\t\t\t\t\t\t4576", + "Unknown\t0\t.\tGRCh38\tchr22\t4579\t4579\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tGAA\t.\t.\t\t\t\t\t\t\t\t\t\t4579", + "Unknown\t0\t.\tGRCh38\tchr22\t4580\t4580\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tAAA\t.\t.\t\t\t\t\t\t\t\t\t\t4580", + "Unknown\t0\t.\tGRCh38\tchr22\t4583\t4583\t+\tTargeted_Region\tINS\tG\tG\t\t\t\tTUMOR\tNORMAL\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tAGC\t.\t.\t\t\t\t\t\t\t\t\t\t4583", + "Unknown\t0\t.\tGRCh38\tchr22\t4585\t4585\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCTC\t.\t.\t\t\t\t\t\t\t\t\t\t4585", + "Unknown\t0\t.\tGRCh38\tchr22\t4586\t4586\t+\tTargeted_Region\tINS\tC\tC\t\t\t\tTUMOR\tNORMAL\tC\tC\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTCA\t.\t.\t\t\t\t\t\t\t\t\t\t4586", + "Unknown\t0\t.\tGRCh38\tchr22\t4587\t4587\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCAT\t.\t.\t\t\t\t\t\t\t\t\t\t4587", + "Unknown\t0\t.\tGRCh38\tchr22\t4598\t4598\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCTG\t.\t.\t\t\t\t\t\t\t\t\t\t4598", + "Unknown\t0\t.\tGRCh38\tchr22\t4599\t4599\t+\tTargeted_Region\tINS\tG\tG\t\t\t\tTUMOR\tNORMAL\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTGA\t.\t.\t\t\t\t\t\t\t\t\t\t4599", + "Unknown\t0\t.\tGRCh38\tchr22\t4605\t4605\t+\tTargeted_Region\tINS\tG\tG\t\t\t\tTUMOR\tNORMAL\tG\tG\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tTGT\t.\t.\t\t\t\t\t\t\t\t\t\t4605", + "Unknown\t0\t.\tGRCh38\tchr22\t4606\t4606\t+\tTargeted_Region\tINS\tT\tT\t\t\t\tTUMOR\tNORMAL\tT\tT\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tGTC\t.\t.\t\t\t\t\t\t\t\t\t\t4606", + "Unknown\t0\t.\tGRCh38\tchr22\t4608\t4608\t+\tTargeted_Region\tINS\tA\tA\t\t\t\tTUMOR\tNORMAL\tA\tA\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.\tCAA\t.\t.\t\t\t\t\t\t\t\t\t\t4608" + ], + [ + "versions.yml:md5,f3398fb1c4621649331dca91212dac23" + ], + [ + "\"VCF2MAF\":", + " vcf2maf: 1.6.22" + ] + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.2" + }, + "timestamp": "2024-12-11T15:52:16.957598" + } +} diff --git a/modules/nf-core/vcf2maf/tests/nextflow.config b/modules/nf-core/vcf2maf/tests/nextflow.config new file mode 100644 index 00000000..8d77c853 --- /dev/null +++ b/modules/nf-core/vcf2maf/tests/nextflow.config @@ -0,0 +1,7 @@ +process { + + withName: 'VCF2MAF' { + ext.args = params.module_args + } + +} From 959b5a0631883a9a0235489e4e3a44bb005f2e76 Mon Sep 17 00:00:00 2001 From: Raquel Manzano Date: Tue, 23 Jun 2026 15:16:24 +0100 Subject: [PATCH 12/24] add nf-core vcf2maf --- modules.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules.json b/modules.json index a68f0fd6..a754d169 100644 --- a/modules.json +++ b/modules.json @@ -320,6 +320,11 @@ "git_sha": "1c43a7e22f04cf19c9f9d3de7e7e5a3addd9382a", "installed_by": ["modules"] }, + "vcf2maf": { + "branch": "master", + "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", + "installed_by": ["modules"] + }, "vcftools": { "branch": "master", "git_sha": "6d46786420b4d7bc88eba026eb389c0c5535d120", From b6ba3f522cb762c7004b14d64167ec3128ef5d40 Mon Sep 17 00:00:00 2001 From: Raquel Manzano Date: Tue, 23 Jun 2026 15:16:54 +0100 Subject: [PATCH 13/24] swap local vcf2maf for nf-core version --- subworkflows/local/vcf_consensus/main.nf | 51 ++++++++++++++++++++---- 1 file changed, 44 insertions(+), 7 deletions(-) diff --git a/subworkflows/local/vcf_consensus/main.nf b/subworkflows/local/vcf_consensus/main.nf index 375f5745..4ba3052a 100644 --- a/subworkflows/local/vcf_consensus/main.nf +++ b/subworkflows/local/vcf_consensus/main.nf @@ -3,7 +3,8 @@ // // For all modules here: // A when clause condition is defined in the conf/modules.config to determine if the module should be run -include { VCF2MAF } from '../../../modules/local/vcf2maf/vcf2maf/main' +include { GUNZIP as GUNZIP_VCF2MAF } from '../../../modules/nf-core/gunzip/main' +include { VCF2MAF } from '../../../modules/nf-core/vcf2maf/main' include { RUN_CONSENSUS } from '../../../modules/local/consensus/main' include { RUN_CONSENSUS as RUN_CONSENSUS_RESCUE } from '../../../modules/local/consensus/main' // Create samplesheets to restart from consensus @@ -26,6 +27,8 @@ workflow VCF_CONSENSUS { mafs_from_varcal_dna = Channel.empty() consensus_maf = Channel.empty() + fasta_for_consensus = fasta.map { _meta, fa -> fa } + if (params.step == 'consensus' && !realignment) vcf_to_consensus = input_sample if ((params.step in ['mapping', 'markduplicates', 'splitncigar', @@ -44,9 +47,27 @@ workflow VCF_CONSENSUS { } else { tools_list = params.tools.split(',').toList().findAll { it in ['sage', 'strelka', 'mutect2'] }.unique() } - // First we transform the maf to MAF - VCF2MAF(vcf_to_consensus_type.vcf.map{metaVCF -> [metaVCF[0], metaVCF[1]]}, - fasta) + // The nf-core vcf2maf module only accepts uncompressed VCF input, so + // decompress here while preserving metadata and keeping plain VCFs untouched. + vcf_for_vcf2maf = vcf_to_consensus_type.vcf + .map { entry -> [entry[0], entry[1]] } + .branch { meta, vcf_file -> + gzipped: vcf_file.name.endsWith('.gz') + plain: !vcf_file.name.endsWith('.gz') + } + + GUNZIP_VCF2MAF(vcf_for_vcf2maf.gzipped) + versions = versions.mix(GUNZIP_VCF2MAF.out.versions_gunzip) + + vcf_for_vcf2maf = vcf_for_vcf2maf.plain + .mix(GUNZIP_VCF2MAF.out.gunzip) + + // First convert VCF inputs to MAF. + VCF2MAF( + vcf_for_vcf2maf, + fasta_for_consensus, + Channel.value([]) // empty vep - we already call it independently + ) maf_to_consensus = VCF2MAF.out.maf .mix(vcf_to_consensus_type.maf) .map { meta, maf -> @@ -195,9 +216,25 @@ workflow VCF_CONSENSUS { vcf: it[0].data_type == "vcf" maf: it[0].data_type == "maf" } - // First we transform the vcf to MAF - VCF2MAF(vcf_to_consensus_type.vcf.map{metaVCF -> [metaVCF[0], metaVCF[1]]}, - fasta) + vcf_for_vcf2maf = vcf_to_consensus_type.vcf + .map { entry -> [entry[0], entry[1]] } + .branch { meta, vcf_file -> + gzipped: vcf_file.name.endsWith('.gz') + plain: !vcf_file.name.endsWith('.gz') + } + + GUNZIP_VCF2MAF(vcf_for_vcf2maf.gzipped) + versions = versions.mix(GUNZIP_VCF2MAF.out.versions_gunzip) + + vcf_for_vcf2maf = vcf_for_vcf2maf.plain + .mix(GUNZIP_VCF2MAF.out.gunzip) + + // First convert VCF inputs to MAF. + VCF2MAF( + vcf_for_vcf2maf, + fasta_for_consensus, + Channel.value([]) // empty vep - we already call it independently + ) consensus_maf = VCF2MAF.out.maf.mix(vcf_to_consensus_type.maf) versions = versions.mix(VCF2MAF.out.versions) From 5245ac6baac5c12fab97f7f6ae361da1104062cc Mon Sep 17 00:00:00 2001 From: Raquel Manzano Date: Tue, 23 Jun 2026 15:17:17 +0100 Subject: [PATCH 14/24] simplified sage local module --- modules/local/sage/main.nf | 36 +++++++----------------------------- 1 file changed, 7 insertions(+), 29 deletions(-) diff --git a/modules/local/sage/main.nf b/modules/local/sage/main.nf index e62e6428..e717deea 100644 --- a/modules/local/sage/main.nf +++ b/modules/local/sage/main.nf @@ -28,8 +28,9 @@ process SAGE { def args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" def reference = input_normal ? "-reference ${meta.normal_id} -reference_bam ${input_normal}" : "" - def interval_cmd = intervals ? "INTER=\$(sed -E 's/\\s+0\\s+/\\t1\\t/g' $intervals | sed 's/\t/:/g' | paste -s -d ';')": "" - def interval = intervals ? "-specific_regions \$INTER": "" + def interval_prep = intervals ? "INTER=\$(sed -E 's/\\s+0\\s+/\\t1\\t/g' $intervals | sed 's/\t/:/g' | paste -s -d ';')" : "" + def interval_arg = intervals ? "-specific_regions \$INTER" : "" + def interval_notice = intervals ? "echo \"[WARNING] If no reads in the intervals from $intervals, sage won't work\"" : "" def ensembl_data_dir = ensembl_dir ? "-ensembl_data_dir ${ensembl_dir}": "" def avail_mem = 3072 if (!task.memory) { @@ -37,34 +38,11 @@ process SAGE { } else { avail_mem = task.memory.giga } - if (intervals){ """ - echo "[WARNING] If no reads in the intervals from $intervals, sage won't work" + ${interval_notice} export _JAVA_OPTIONS="-Xmx${avail_mem}g" - ${interval_cmd} + ${interval_prep} - SAGE \\ - -out ${prefix}.vcf \\ - -ref_genome $fasta \\ - -threads $task.cpus \\ - -tumor ${meta.tumor_id} -tumor_bam ${input_tumor} \\ - -high_confidence_bed ${sage_high_confidence} \\ - -panel_bed ${sage_actionable_panel} \\ - -hotspots ${sage_known_hotspots} \\ - $reference \\ - $interval \\ - $ensembl_data_dir \\ - $args - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - SAGE: \$(grep 'Sage version' .command.log | cut -d " " -f6) - END_VERSIONS - """ - - } else { - """ - export _JAVA_OPTIONS="-Xmx${avail_mem}g" SAGE \\ -out ${prefix}.vcf \\ -ref_genome $fasta \\ @@ -74,8 +52,9 @@ process SAGE { -high_confidence_bed ${sage_high_confidence} \\ -panel_bed ${sage_actionable_panel} \\ -hotspots ${sage_known_hotspots} \\ - $ensembl_data_dir \\ + $interval_arg \\ $reference \\ + $ensembl_data_dir \\ $args cat <<-END_VERSIONS > versions.yml @@ -83,7 +62,6 @@ process SAGE { SAGE: \$(SAGE 2>&1 | grep 'Sage version' | cut -d " " -f6) END_VERSIONS """ - } stub: prefix = task.ext.prefix ?: "${meta.id}" From 8b325ebaf186b308f96fbe4894e27487ed3020eb Mon Sep 17 00:00:00 2001 From: Raquel Manzano Date: Tue, 23 Jun 2026 15:19:11 +0100 Subject: [PATCH 15/24] remove local vcf2maf --- modules/local/vcf2maf/vcf2maf/main.nf | 39 ------------------- modules/local/vcf2maf/vcf2maf/meta.yml | 52 -------------------------- 2 files changed, 91 deletions(-) delete mode 100644 modules/local/vcf2maf/vcf2maf/main.nf delete mode 100644 modules/local/vcf2maf/vcf2maf/meta.yml diff --git a/modules/local/vcf2maf/vcf2maf/main.nf b/modules/local/vcf2maf/vcf2maf/main.nf deleted file mode 100644 index 4beecf6a..00000000 --- a/modules/local/vcf2maf/vcf2maf/main.nf +++ /dev/null @@ -1,39 +0,0 @@ -process VCF2MAF { - tag "$meta.id" - label 'process_low' - - conda "bioconda::vcf2maf=1.6.21" - container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/vcf2maf:1.6.21--hdfd78af_0' : - 'biocontainers/vcf2maf:1.6.21--hdfd78af_0' }" - - input: - tuple val(meta), path(vcf) - tuple val(meta2), path(fasta) - - output: - tuple val(meta), path("*.maf") , emit: maf - path "versions.yml" , emit: versions - - when: - task.ext.when == null || task.ext.when - - script: - def args = task.ext.args ?: '' - def prefix = task.ext.prefix ?: "${meta.id}" - def vcf_decompressed = vcf.baseName.minus(".gz") - def VERSION = '1.6.21' // Version information not provided by tool on CLI - """ - gzip -d $vcf -c > ${vcf_decompressed} - vcf2maf.pl \\ - --input-vcf ${vcf_decompressed} \\ - --output-maf ${prefix}.maf \\ - --ref-fasta $fasta \\ - $args - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - vcf2maf: $VERSION - END_VERSIONS - """ -} diff --git a/modules/local/vcf2maf/vcf2maf/meta.yml b/modules/local/vcf2maf/vcf2maf/meta.yml deleted file mode 100644 index 91b2a0b0..00000000 --- a/modules/local/vcf2maf/vcf2maf/meta.yml +++ /dev/null @@ -1,52 +0,0 @@ -name: vcf2maf -description: Converts vcf to maf -keywords: - - vcf2maf - - VCF - - MAF - - variant calling -tools: - - vcf2maf: - description: To convert a VCF into a MAF, each variant must be mapped to only one of all possible gene transcripts/isoforms that it might affect. - homepage: https://github.com/mskcc/vcf2maf - documentation: https://github.com/mskcc/vcf2maf - tool_dev_url: https://github.com/mskcc/vcf2maf - doi: "10.5281/zenodo.593251" - licence: ["Apache-2.0"] - -input: - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. [ id:'test', single_end:false ] - - vcf: - type: file - description: The VCF/BCF file to be decomposed - pattern: "*.{vcf.gz,vcf,bcf}" - - meta2: - type: map - description: | - Groovy Map containing sample information - e.g. [ id:'test', single_end:false ] - - fasta: - type: file - description: Input genome fasta file - -output: - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. [ id:'test', single_end:false ] - - version: - type: file - description: File containing software versions - pattern: "versions.yml" - - maf: - type: file - description: MAF file - pattern: "*.{maf.gz}" - -authors: - - "@RaqManzano" From c1b39181a696171c721760f015500575976883a9 Mon Sep 17 00:00:00 2001 From: Raquel Manzano Date: Tue, 23 Jun 2026 15:22:56 +0100 Subject: [PATCH 16/24] refractor generic params of maf_rna_filtering and add cite about rna pon --- bin/filter_rna_mutations.py | 36 ++++++++++----------- conf/modules/filtering/maf_filtering.config | 14 ++++---- modules/local/maf_rna_filtering/main.nf | 2 +- nextflow.config | 10 +++--- nextflow_schema.json | 22 ++++++------- 5 files changed, 42 insertions(+), 42 deletions(-) diff --git a/bin/filter_rna_mutations.py b/bin/filter_rna_mutations.py index 14be8281..356ef282 100755 --- a/bin/filter_rna_mutations.py +++ b/bin/filter_rna_mutations.py @@ -18,15 +18,15 @@ def argparser(): parser = argparse.ArgumentParser(description="") parser.add_argument("--maf", help="Input MAF file") parser.add_argument("--maf_realign", help="Input MAF file after a second pass") - parser.add_argument("--pon2", help="Path to optional second binary pon") - parser.add_argument("--pon", help="Path to binary pon") + parser.add_argument("--secondary-pon", dest="secondary_pon", help="Path to optional secondary RNA PoN binary generated for RNA-specific filtering (see DOI: 10.1016/j.cels.2018.03.002)") + parser.add_argument("--reference-pon", dest="reference_pon", help="Path to primary RNA PoN binary generated for RNA-specific filtering (see DOI: 10.1016/j.cels.2018.03.002)") parser.add_argument("--whitelist", help="BED file with variants to keep (CHROM POS REF ALT)") parser.add_argument("--output", help="output file name") parser.add_argument("--out_suffix", help="Suffix for intermediate output", default="withRNAfilters") - parser.add_argument("--ref", help="FASTA - e.g. HG38") - parser.add_argument("--refname", help="e.g. hg38", default="hg38") - parser.add_argument("--ref2", help="FASTA - e.g. hg19 (hs37d5)") - parser.add_argument("--refname2", help="e.g. HG19", default="hg19") + parser.add_argument("--reference-fasta", dest="reference_fasta", help="Primary reference FASTA - e.g. hg38") + parser.add_argument("--reference-name", dest="reference_name", help="Primary reference name - e.g. hg38", default="hg38") + parser.add_argument("--secondary-reference-fasta", dest="secondary_reference_fasta", help="Secondary reference FASTA - e.g. hg19 (hs37d5)") + parser.add_argument("--secondary-reference-name", dest="secondary_reference_name", help="Secondary reference name - e.g. hg19", default="hg19") parser.add_argument("--rnaedits", help="BED file(s) with known RNA editing events separated by space", nargs="+", default=[]) parser.add_argument("--thr", default=-2.8) parser.add_argument("--chain", help="Chain file") @@ -115,16 +115,16 @@ def extract_coords(df): return coords -def run_capy(M, pon, ref, thr, chroms, suffix="_hg38", refname2="hg19"): +def run_capy(M, pon, reference_fasta, thr, chroms, suffix="_hg38", secondary_reference_name="hg19"): """ Runs CApy with RNA PoN generated with tokenizer (https://github.com/getzlab/aggregate_tokens_files_TOOL) """ print("- Running CApy" + suffix) chrom = "Chromosome" start = "Start_Position" - if refname2: - chrom += "_" + refname2 - start += "_" + refname2 + if secondary_reference_name: + chrom += "_" + secondary_reference_name + start += "_" + secondary_reference_name # Remove alt contigs M = M[M[chrom].isin(chroms)] # Perform string replacements and type casting @@ -138,7 +138,7 @@ def run_capy(M, pon, ref, thr, chroms, suffix="_hg38", refname2="hg19"): M = M.astype({"chr": "int32", "pos": "int32"}) M.reset_index(inplace=True, drop=True) # Get PoN scores - pon_scores = mut.filter_mutations_against_token_PoN(M=M, ponfile=pon, ref=ref) + pon_scores = mut.filter_mutations_against_token_PoN(M=M, ponfile=pon, ref=reference_fasta) assert len(pon_scores) == M.shape[0], "PoN scores are not same length as nrow" # Create a DataFrame with the necessary columns including PoN scores and threshold pon_scores_df = pd.DataFrame({ @@ -239,14 +239,14 @@ def main(): if calls.empty: results[idx] = calls continue - if "Chromosome"+args.refname2 in calls.columns: - calls.drop(["Chromosome"+args.refname2, "Start_Position"+args.refname2], axis=1, inplace=True) + if "Chromosome"+args.secondary_reference_name in calls.columns: + calls.drop(["Chromosome"+args.secondary_reference_name, "Start_Position"+args.secondary_reference_name], axis=1, inplace=True) # RNA panel of normals - if args.pon2 is not None and args.chain is not None and args.ref2 is not None: - calls = add_coords2_with_liftover(calls, chain_file=args.chain,ref1=args.refname,ref2=args.refname2) - calls = run_capy(M=calls, pon=args.pon2, ref=args.ref2, thr=args.thr, suffix='_'+args.refname2, chroms=chroms, refname2=args.refname2) - if args.pon: - calls = run_capy(M=calls, pon=args.pon, ref=args.ref, thr=args.thr, suffix='_'+args.refname, chroms=chroms, refname2=False) + if args.secondary_pon is not None and args.chain is not None and args.secondary_reference_fasta is not None: + calls = add_coords2_with_liftover(calls, chain_file=args.chain,ref1=args.reference_name,ref2=args.secondary_reference_name) + calls = run_capy(M=calls, pon=args.secondary_pon, reference_fasta=args.secondary_reference_fasta, thr=args.thr, suffix='_'+args.secondary_reference_name, chroms=chroms, secondary_reference_name=args.secondary_reference_name) + if args.reference_pon: + calls = run_capy(M=calls, pon=args.reference_pon, reference_fasta=args.reference_fasta, thr=args.thr, suffix='_'+args.reference_name, chroms=chroms, secondary_reference_name=False) # Annotate known RNA editing if args.rnaedits: rnadbs = check_rnaediting(args.rnaedits) diff --git a/conf/modules/filtering/maf_filtering.config b/conf/modules/filtering/maf_filtering.config index 06d59fcb..3334fc36 100644 --- a/conf/modules/filtering/maf_filtering.config +++ b/conf/modules/filtering/maf_filtering.config @@ -31,13 +31,13 @@ process { // maf filtering withName: 'RNA_FILTERING' { ext.prefix = {"${meta.id}.rna_filt"} - ext.args = { [params.rnaedits? "--rnaedits ${params.rnaedits}" : "", - params.rna_pon? "--pon ${params.rna_pon}" : "", - params.chain? "--chain ${params.chain}" : "", - params.fasta2? "--ref2 ${params.fasta2}" : "", - params.rna_pon2? "--pon2 ${params.rna_pon2}" : "", - params.refname2? "--refname2 ${params.refname2}" : "", - params.refname? "--refname ${params.refname}" : "" + ext.args = { [params.rnaedits? "--rnaedits ${params.rnaedits}" : "", + params.reference_pon? "--reference-pon ${params.reference_pon}" : "", + params.chain? "--chain ${params.chain}" : "", + params.secondary_reference_fasta? "--secondary-reference-fasta ${params.secondary_reference_fasta}" : "", + params.secondary_pon? "--secondary-pon ${params.secondary_pon}" : "", + params.secondary_reference_name? "--secondary-reference-name ${params.secondary_reference_name}" : "", + params.reference_name? "--reference-name ${params.reference_name}" : "" ].join(' ').trim() } publishDir = [ diff --git a/modules/local/maf_rna_filtering/main.nf b/modules/local/maf_rna_filtering/main.nf index a0d5223f..92ae3624 100644 --- a/modules/local/maf_rna_filtering/main.nf +++ b/modules/local/maf_rna_filtering/main.nf @@ -23,7 +23,7 @@ process RNA_FILTERING { """ filter_rna_mutations.py \\ --maf $maf \\ - --ref $fasta \\ + --reference-fasta $fasta \\ --output ${prefix}.maf \\ $maf_realign_opt \\ $args diff --git a/nextflow.config b/nextflow.config index ab361dae..6e6fb4f8 100644 --- a/nextflow.config +++ b/nextflow.config @@ -121,11 +121,11 @@ params { blacklist = null rnaedits = null chain = null - rna_pon = null - rna_pon2 = null - fasta2 = null - refname2 = null - refname = null + reference_pon = null + secondary_pon = null + secondary_reference_fasta = null + secondary_reference_name = null + reference_name = null // MultiQC options multiqc_config = null diff --git a/nextflow_schema.json b/nextflow_schema.json index 1fd07bd6..b0ffa33b 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -740,32 +740,32 @@ "chain": { "type": "string", "fa_icon": "fas fa-database", - "description": "Chain file to do liftover - only if `rna_pon2` is provided" + "description": "Chain file to do liftover - only if `secondary_pon` is provided" }, - "rna_pon": { + "reference_pon": { "type": "string", "fa_icon": "fas fa-database", - "description": "Path to RNA PoN" + "description": "Path to the primary RNA PoN used for RNA-specific filtering (see DOI: 10.1016/j.cels.2018.03.002)" }, - "rna_pon2": { + "secondary_pon": { "type": "string", "fa_icon": "fas fa-database", - "description": "Path to second RNA PoN" + "description": "Path to the optional secondary RNA PoN used for RNA-specific filtering (see DOI: 10.1016/j.cels.2018.03.002)" }, - "fasta2": { + "secondary_reference_fasta": { "type": "string", "fa_icon": "fas fa-database", - "description": "Path to second fasta file - only is `rna_pon2` provided" + "description": "Path to the optional secondary reference FASTA - only if `secondary_pon` is provided" }, - "refname2": { + "secondary_reference_name": { "type": "string", "fa_icon": "fas fa-database", - "description": "RNA filtering - name of the second reference being used (e.g. HG19) - only if `rna_pon2` is provided" + "description": "RNA filtering - name of the secondary reference being used (e.g. hg19) - only if `secondary_pon` is provided" }, - "refname": { + "reference_name": { "type": "string", "fa_icon": "fas fa-database", - "description": "RNA filtering - name of the reference being used (e.g. HG38)" + "description": "RNA filtering - name of the primary reference being used (e.g. hg38)" } } }, From cca605daabb5265a66be8e6d38248a4dd5e00f10 Mon Sep 17 00:00:00 2001 From: Raquel Manzano Date: Tue, 23 Jun 2026 16:01:48 +0100 Subject: [PATCH 17/24] update test snapshot --- tests/default.nf.test.snap | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/tests/default.nf.test.snap b/tests/default.nf.test.snap index 83e383af..742dbc33 100644 --- a/tests/default.nf.test.snap +++ b/tests/default.nf.test.snap @@ -38,6 +38,9 @@ "gatk4": "4.6.2.0", "samtools": 1.21 }, + "GUNZIP_VCF2MAF": { + "gunzip": 1.13 + }, "INDEX_CRAM": { "samtools": "1.23.1" }, @@ -65,7 +68,7 @@ "xz": "5.8.3" }, "VCF2MAF": { - "vcf2maf": "1.6.21" + "vcf2maf": "1.6.22" }, "VCFTOOLS_TSTV_COUNT": { "vcftools": "0.1.16" @@ -88,6 +91,9 @@ "filtering/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.filtered.maf", "filtering/TCRBOA7-T_vs_TCRBOA7-N", "filtering/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.filtered.maf", + "gunzip", + "gunzip/TCRBOA7-T-RNA_vs_TCRBOA7-N.strelka.variants.vcf", + "gunzip/TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.vcf", "pipeline_info", "pipeline_info/nf_core_rnadnavar_software_mqc_versions.yml", "preprocessing", @@ -218,10 +224,12 @@ "variant_calling/strelka/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.vcf.gz.tbi" ], [ - "TCRBOA7-T-RNA_vs_TCRBOA7-N.strelka.maf:md5,954ff0d996607a59669af9bc8dadea56", - "TCRBOA7-T_vs_TCRBOA7-N.strelka.maf:md5,fae7532e022765fcbeaf2f1419a2139f", - "TCRBOA7-T-RNA_vs_TCRBOA7-N.filtered.maf:md5,184db72b9501f2d16e44cf1f478c29f2", - "TCRBOA7-T_vs_TCRBOA7-N.filtered.maf:md5,84d4dafe5b00520c66adf090208e8f5c", + "TCRBOA7-T-RNA_vs_TCRBOA7-N.strelka.maf:md5,134af46701ef1c95e9d13aaeec0322c9", + "TCRBOA7-T_vs_TCRBOA7-N.strelka.maf:md5,6efd9ef36183c28087d42a4177bc447d", + "TCRBOA7-T-RNA_vs_TCRBOA7-N.filtered.maf:md5,209d4978f0f9f0690f356e735a8356bd", + "TCRBOA7-T_vs_TCRBOA7-N.filtered.maf:md5,92d160b5d6e426a84e8abbac77f6e06c", + "TCRBOA7-T-RNA_vs_TCRBOA7-N.strelka.variants.vcf:md5,d9f4a5dcc0c6cf46e6a4579dcc1adbf3", + "TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.vcf:md5,b0554e0b8f8428354a98c7e59f93e5ff", "TCRBOA7-N.recal.table:md5,4771abf3f2f413562282d88d16fd6ad0", "TCRBOA7-T-RNA.recal.table:md5,18cf3ff38a750f9ee8b82ede645a5bf8", "TCRBOA7-T.recal.table:md5,9730abf3cc295cdab573dde542116517", @@ -259,7 +267,7 @@ "TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.TsTv.qual:md5,29da677ef4e152719905df4b2b7cb798" ] ], - "timestamp": "2026-06-23T10:34:23.013144078", + "timestamp": "2026-06-23T15:35:28.725966111", "meta": { "nf-test": "0.9.5", "nextflow": "26.04.3" From 378bd6422a0f4a3465cce6c00d8e7d4397964ad3 Mon Sep 17 00:00:00 2001 From: "Maxime U. Garcia" Date: Wed, 24 Jun 2026 14:33:19 +0200 Subject: [PATCH 18/24] try pixi --- modules/local/consensus/main.nf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/local/consensus/main.nf b/modules/local/consensus/main.nf index 12fc6b1b..0a34e35c 100644 --- a/modules/local/consensus/main.nf +++ b/modules/local/consensus/main.nf @@ -4,7 +4,7 @@ process RUN_CONSENSUS { conda "${moduleDir}/environment.yml" container "${workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container - ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/ed/ed5e97c2fc53fb46675998f4f5472807f217043994cd4f490b0eb8887c31ceed/data' + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/ed/0003a3962c416b4c458909d28e343758adf347e614507137b70ac5e4a3c094bb/data' : 'community.wave.seqera.io/library/bioconductor-complexheatmap_bioconductor-rtracklayer_r-data.table_r-dplyr_pruned:b2d4632cc9bf5c6e'}" input: From fa7e94b5c4b08d24ee0eb192f6916e31ce0491e9 Mon Sep 17 00:00:00 2001 From: "Maxime U. Garcia" Date: Wed, 24 Jun 2026 14:45:21 +0200 Subject: [PATCH 19/24] fix path --- modules/local/consensus/main.nf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/local/consensus/main.nf b/modules/local/consensus/main.nf index 0a34e35c..e0044afe 100644 --- a/modules/local/consensus/main.nf +++ b/modules/local/consensus/main.nf @@ -4,7 +4,7 @@ process RUN_CONSENSUS { conda "${moduleDir}/environment.yml" container "${workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container - ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/ed/0003a3962c416b4c458909d28e343758adf347e614507137b70ac5e4a3c094bb/data' + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/00/0003a3962c416b4c458909d28e343758adf347e614507137b70ac5e4a3c094bb/data' : 'community.wave.seqera.io/library/bioconductor-complexheatmap_bioconductor-rtracklayer_r-data.table_r-dplyr_pruned:b2d4632cc9bf5c6e'}" input: From 4bb87708e0d61ec3a6481455210a40981dc902b5 Mon Sep 17 00:00:00 2001 From: Raquel Manzano Date: Wed, 24 Jun 2026 13:46:45 +0100 Subject: [PATCH 20/24] remove leftover params --- nextflow.config | 1 - nextflow_schema.json | 6 ------ 2 files changed, 7 deletions(-) diff --git a/nextflow.config b/nextflow.config index 6e6fb4f8..10a76abd 100644 --- a/nextflow.config +++ b/nextflow.config @@ -49,7 +49,6 @@ params { save_align_intermeds = false hisat2_build_memory = "200.GB" splicesites = null - remove_duplicates = false save_mapped = false // Mapped BAMs not saved hisat2_index = null dragmap = null diff --git a/nextflow_schema.json b/nextflow_schema.json index b0ffa33b..96e7acb2 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -555,12 +555,6 @@ "description": "Directory or tar.gz to ensembl cache for SAGE", "hidden": true }, - "sage_resource_dir": { - "type": "string", - "fa_icon": "fas fa-file", - "description": "Directory or tar.gz file to SAGE resources", - "hidden": true - }, "sage_custom_args": { "type": "string", "fa_icon": "fas fa-file", From 04da826dc5f0b182f02b516f37058cefbaaf851f Mon Sep 17 00:00:00 2001 From: Raquel Manzano Date: Wed, 24 Jun 2026 13:59:27 +0100 Subject: [PATCH 21/24] add hisat2 `--temp-directory` option --- conf/modules/alignment/bam_align.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/modules/alignment/bam_align.config b/conf/modules/alignment/bam_align.config index 654070c4..3100344d 100644 --- a/conf/modules/alignment/bam_align.config +++ b/conf/modules/alignment/bam_align.config @@ -139,7 +139,7 @@ process { // bam_align // HISAT2 for realignment withName: '.*:FASTQ_ALIGN_HISAT2:HISAT2_ALIGN' { ext.prefix = {"${meta.sample}"} - ext.args = {meta.status < 2 ? "--met-stderr --new-summary --no-spliced-alignment" : "--met-stderr --new-summary " } + ext.args = {meta.status < 2 ? "--temp-directory \${PWD} --met-stderr --new-summary --no-spliced-alignment" : "--temp-directory \${PWD} --met-stderr --new-summary " } publishDir = [ [ path: { "${params.outdir}/report/hisat2/${meta.patient}/${meta.id}" }, From 0bf2558edac0facd8b63ea4fe5c17d7c74178557 Mon Sep 17 00:00:00 2001 From: Raquel Manzano Date: Wed, 24 Jun 2026 14:58:17 +0100 Subject: [PATCH 22/24] update test_full snapshot --- tests/test_full.nf.test.snap | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/tests/test_full.nf.test.snap b/tests/test_full.nf.test.snap index cfc98b91..151411c3 100644 --- a/tests/test_full.nf.test.snap +++ b/tests/test_full.nf.test.snap @@ -218,7 +218,7 @@ }, "Run with -profile test_full": { "content": [ - 165, + 174, { "BCFTOOLS_STATS": { "bcftools": "1.23.1" @@ -268,6 +268,9 @@ "GUNZIP_FASTA": { "gunzip": 1.13 }, + "GUNZIP_VCF2MAF": { + "gunzip": 1.13 + }, "HISAT2_BUILD": { "hisat2": "2.2.2" }, @@ -338,7 +341,7 @@ "7za": 16.02 }, "VCF2MAF": { - "vcf2maf": "1.6.21" + "vcf2maf": "1.6.22" }, "VCFTOOLS_TSTV_COUNT": { "vcftools": "0.1.16" @@ -350,7 +353,7 @@ "vt": "2015.11.10" }, "Workflow": { - "nf-core/rnadnavar": "v1.0" + "nf-core/rnadnavar": "v1.0.0" } }, [ @@ -459,6 +462,15 @@ "filtering/TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_vs_TCRBOA7-N.filtered.maf", "gunzip", "gunzip/GRCh38.d1.vd1.chr7.mini.fa", + "gunzip/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.mutect2.filtered.dec.norm_VEP.ann.vcf", + "gunzip/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.sage.dec.norm_VEP.ann.vcf", + "gunzip/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.strelka.variants.dec.norm_VEP.ann.vcf", + "gunzip/TCRBOA7-T-RNA_vs_TCRBOA7-N.mutect2.filtered.dec.norm_VEP.ann.vcf", + "gunzip/TCRBOA7-T-RNA_vs_TCRBOA7-N.sage.dec.norm_VEP.ann.vcf", + "gunzip/TCRBOA7-T-RNA_vs_TCRBOA7-N.strelka.variants.dec.norm_VEP.ann.vcf", + "gunzip/TCRBOA7-T_vs_TCRBOA7-N.mutect2.filtered.dec.norm_VEP.ann.vcf", + "gunzip/TCRBOA7-T_vs_TCRBOA7-N.sage.dec.norm_VEP.ann.vcf", + "gunzip/TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.dec.norm_VEP.ann.vcf", "normalised", "normalised/mutect2", "normalised/mutect2/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign", @@ -701,7 +713,7 @@ "variant_calling/strelka/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.vcf.gz.tbi" ] ], - "timestamp": "2026-06-23T10:41:03.709931404", + "timestamp": "2026-06-24T14:10:32.564739057", "meta": { "nf-test": "0.9.5", "nextflow": "26.04.3" From 8a2c28cc91a536a24e548c6cb1e3bbb6acc61bd5 Mon Sep 17 00:00:00 2001 From: Raquel Manzano Date: Wed, 24 Jun 2026 15:34:22 +0100 Subject: [PATCH 23/24] disable gunzip vcf2maf publishDir --- conf/modules/consensus/vcf_consensus.config | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/conf/modules/consensus/vcf_consensus.config b/conf/modules/consensus/vcf_consensus.config index a5fe0112..6b74d813 100644 --- a/conf/modules/consensus/vcf_consensus.config +++ b/conf/modules/consensus/vcf_consensus.config @@ -15,6 +15,13 @@ process { // consensus + withName: "GUNZIP_VCF2MAF" { + // No need to publish decompress VCF, this is just an intermediary step + publishDir = [ + enabled: false + ] + } + withName: "VCF2MAF" { ext.args = { [ "--inhibit-vep", From 5a5e87f22a65ed1cd4418b5841bb6084c94c01c7 Mon Sep 17 00:00:00 2001 From: Raquel Manzano Date: Wed, 24 Jun 2026 22:27:24 +0100 Subject: [PATCH 24/24] remove gunzip from snapshots --- tests/default.nf.test.snap | 7 +------ tests/test_full.nf.test.snap | 11 +---------- 2 files changed, 2 insertions(+), 16 deletions(-) diff --git a/tests/default.nf.test.snap b/tests/default.nf.test.snap index 742dbc33..49ea1418 100644 --- a/tests/default.nf.test.snap +++ b/tests/default.nf.test.snap @@ -91,9 +91,6 @@ "filtering/TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T-RNA_vs_TCRBOA7-N.filtered.maf", "filtering/TCRBOA7-T_vs_TCRBOA7-N", "filtering/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.filtered.maf", - "gunzip", - "gunzip/TCRBOA7-T-RNA_vs_TCRBOA7-N.strelka.variants.vcf", - "gunzip/TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.vcf", "pipeline_info", "pipeline_info/nf_core_rnadnavar_software_mqc_versions.yml", "preprocessing", @@ -228,8 +225,6 @@ "TCRBOA7-T_vs_TCRBOA7-N.strelka.maf:md5,6efd9ef36183c28087d42a4177bc447d", "TCRBOA7-T-RNA_vs_TCRBOA7-N.filtered.maf:md5,209d4978f0f9f0690f356e735a8356bd", "TCRBOA7-T_vs_TCRBOA7-N.filtered.maf:md5,92d160b5d6e426a84e8abbac77f6e06c", - "TCRBOA7-T-RNA_vs_TCRBOA7-N.strelka.variants.vcf:md5,d9f4a5dcc0c6cf46e6a4579dcc1adbf3", - "TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.vcf:md5,b0554e0b8f8428354a98c7e59f93e5ff", "TCRBOA7-N.recal.table:md5,4771abf3f2f413562282d88d16fd6ad0", "TCRBOA7-T-RNA.recal.table:md5,18cf3ff38a750f9ee8b82ede645a5bf8", "TCRBOA7-T.recal.table:md5,9730abf3cc295cdab573dde542116517", @@ -267,7 +262,7 @@ "TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.TsTv.qual:md5,29da677ef4e152719905df4b2b7cb798" ] ], - "timestamp": "2026-06-23T15:35:28.725966111", + "timestamp": "2026-06-24T16:27:52.752451937", "meta": { "nf-test": "0.9.5", "nextflow": "26.04.3" diff --git a/tests/test_full.nf.test.snap b/tests/test_full.nf.test.snap index 151411c3..2bd9fca6 100644 --- a/tests/test_full.nf.test.snap +++ b/tests/test_full.nf.test.snap @@ -462,15 +462,6 @@ "filtering/TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N_with_TCRBOA7-T-RNA_vs_TCRBOA7-N.filtered.maf", "gunzip", "gunzip/GRCh38.d1.vd1.chr7.mini.fa", - "gunzip/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.mutect2.filtered.dec.norm_VEP.ann.vcf", - "gunzip/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.sage.dec.norm_VEP.ann.vcf", - "gunzip/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign.strelka.variants.dec.norm_VEP.ann.vcf", - "gunzip/TCRBOA7-T-RNA_vs_TCRBOA7-N.mutect2.filtered.dec.norm_VEP.ann.vcf", - "gunzip/TCRBOA7-T-RNA_vs_TCRBOA7-N.sage.dec.norm_VEP.ann.vcf", - "gunzip/TCRBOA7-T-RNA_vs_TCRBOA7-N.strelka.variants.dec.norm_VEP.ann.vcf", - "gunzip/TCRBOA7-T_vs_TCRBOA7-N.mutect2.filtered.dec.norm_VEP.ann.vcf", - "gunzip/TCRBOA7-T_vs_TCRBOA7-N.sage.dec.norm_VEP.ann.vcf", - "gunzip/TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.dec.norm_VEP.ann.vcf", "normalised", "normalised/mutect2", "normalised/mutect2/TCRBOA7-T-RNA_realign_vs_TCRBOA7-N_realign", @@ -713,7 +704,7 @@ "variant_calling/strelka/TCRBOA7-T_vs_TCRBOA7-N/TCRBOA7-T_vs_TCRBOA7-N.strelka.variants.vcf.gz.tbi" ] ], - "timestamp": "2026-06-24T14:10:32.564739057", + "timestamp": "2026-06-24T16:38:39.016235561", "meta": { "nf-test": "0.9.5", "nextflow": "26.04.3"