Skip to content

New release: v1.0.0 Ter#377

Merged
FerriolCalvet merged 38 commits intomainfrom
dev
Oct 8, 2025
Merged

New release: v1.0.0 Ter#377
FerriolCalvet merged 38 commits intomainfrom
dev

Conversation

@FerriolCalvet
Copy link
Collaborator

  • add plotting selection, saturation, qc
  • add tests init
  • update some input definitions, with new parameters
  • add Nanoseq masks

FerriolCalvet and others added 30 commits July 30, 2025 14:35
* remove all molecules definition

- we force the input to be provided with the AM fields in the VCF
- not tested

* update dNdS variables definition

* add definition of run modes as profiles

- not tested

* update domain information definition

* remove unused profiles

* fix bug in vcf2maf
- define domains file in structural configs

* update oncodrive3d container

* update domain BEDfile generation
- new mandatory param domains_file
- update docs for domain and for features
- expand regions handling with click

* remove reference to all_duplex_counts
- in case AM not available we define the same as duplex
* add first version of  check contamination step

- missing plotting outputs
- missing summary table of contamination comparisons

* store figures and tsv properly

* fix copilot suggestion
* plotting wishlist

- subworkflow definition
- shortlisting plots to add

missing:
- nf scripts for the modules
- python scripts for the plots

* add raw version of supplementary figure plotting

* update omega plotting

* plotting update: omega & needles & stacked

* update plotting cohort plots working

* clean code
list inputs

* saturation data loading working

* gene saturation all tracks working with TP53

* tested additional complementary plots

missing:
- handle sample information input files
- handle reference datasets
- handle multiple genes

* update gene saturation inputs from pipeline

- not tested
- pending to decide creation of unique_splice_sites

* Squashed commit of the following:

commit 10c12aa
Author: FerriolCalvet <ferriolcalvet@gmail.com>
Date:   Thu Jul 24 12:35:40 2025 +0200

    update gnomAD threshold to 0.001

    - ignore errors in omega plot

commit 31e741e
Author: FerriolCalvet <ferriolcalvet@gmail.com>
Date:   Tue Jul 22 18:34:11 2025 +0200

    update description and fix broken link

commit 7b0fd9b
Merge: 72dc4d9 cb18adc
Author: Ferriol Calvet <38539786+FerriolCalvet@users.noreply.github.com>
Date:   Sun Jul 20 22:34:46 2025 +0200

    Merge pull request #315 from bbglab/dev

commit cb18adc
Author: FerriolCalvet <ferriolcalvet@gmail.com>
Date:   Sat Jul 19 12:40:39 2025 +0200

    fix bug in mut density & update omega container

commit 1b4a52d
Author: FerriolCalvet <ferriolcalvet@gmail.com>
Date:   Tue Jul 15 15:52:07 2025 +0200

    fix broken path for test_real

commit db6d640
Author: Ferriol Calvet <38539786+FerriolCalvet@users.noreply.github.com>
Date:   Fri Jul 11 15:50:45 2025 +0200

    Allow gene selection in consensus (#316)

    * update consensus building to filter genes

    - add consensus compliance param
    - add list of genes param
    - NOT tested

    * tested gene filter implementation

    - consensus panels implemented in polars
    - allowing subset for specific genes

commit b92c2b9
Author: FerriolCalvet <ferriolcalvet@gmail.com>
Date:   Thu Jul 10 23:56:47 2025 +0200

    add metro map

commit 11fb1c5
Author: FerriolCalvet <ferriolcalvet@gmail.com>
Date:   Thu Jul 10 08:25:31 2025 +0200

    update description in main README

commit 628f282
Author: Ferriol Calvet <38539786+FerriolCalvet@users.noreply.github.com>
Date:   Mon Jul 7 19:14:21 2025 +0200

    Add more complete docs (#306)

    * first doc update

    * update in usage documentation

    - list params
    - list structural parameters and files

    * backbone of output docs

    * update usage description with custom sets of mutations

    * fix headers

    * docs: Update usage with vep information

    * update output description

    * update order of usage information

    * update distribution of information in the docs

    * fix typo in docs/output.md
    * fix markdown linting

    * remove unnecessary validation params from config

    - REQUIRES TESTING

    * remove remaining references to download VEP cache

    * update dag format to mmd

    * update in usage

    * update documentation of file formatting and some params

    * add examples in file formatting docs

    * apply review comments

    * remove Nextflow parameters section

    * minor fix in nextflow.config

    ---------

    Co-authored-by: Miquel L. Grau <miguel.grau@irbbarcelona.org>

commit 72dc4d9
Author: FerriolCalvet <ferriolcalvet@gmail.com>
Date:   Mon Jul 7 15:53:47 2025 +0200

    temporary LICENSE definition

commit 14c5246
Author: Ferriol Calvet <38539786+FerriolCalvet@users.noreply.github.com>
Date:   Fri Jun 27 11:19:45 2025 +0200

    fix bug in panel_annotation (#313)

    reimplement it with click solved the problem
    - only_canonical boolean working
    - not tested

commit 764782a
Author: Ferriol Calvet <38539786+FerriolCalvet@users.noreply.github.com>
Date:   Thu Jun 26 23:23:05 2025 +0200

    Update mutation rate to mutation density (#307)

    * rename mutrate to mut density

    - reimplement with click
    - partial renaming
    - simplification of sample_name logic

    * full update of mutation rate to mutation density

    * define other_sample_SNP based on all VAF

    * update mutation density functions

    - clean code
    - add explanation on mutation density

    * apply review changes

commit aae8f0b
Author: Ferriol Calvet <38539786+FerriolCalvet@users.noreply.github.com>
Date:   Thu Jun 26 10:49:00 2025 +0200

    Ensure POSTPROCESSVEPPANEL in output (#311)

    * fix relative mutabilities output

    * explicitly define postprocessveppanel outdir

    * force outputting postprocesspanel

    * update storing fixes

commit dd25b9b
Merge: 05c80ee 26d5d9b
Author: Ferriol Calvet <38539786+FerriolCalvet@users.noreply.github.com>
Date:   Wed Jun 4 23:09:29 2025 +0200

    Merge pull request #303 from bbglab/dev

    First pre-release merge

commit 05c80ee
Merge: ea9a301 e06218a
Author: Ferriol Calvet <38539786+FerriolCalvet@users.noreply.github.com>
Date:   Tue Apr 29 10:30:23 2025 +0200

    Merge pull request #289 from bbglab/tmp-dev

    First release

commit e06218a
Merge: 7559d7f ea9a301
Author: Ferriol Calvet <38539786+FerriolCalvet@users.noreply.github.com>
Date:   Tue Apr 29 10:11:05 2025 +0200

    Merge branch 'main' into tmp-dev

commit ea9a301
Author: FerriolCalvet <ferriolcalvet@gmail.com>
Date:   Thu Jul 25 16:05:10 2024 +0200

    update schema

* update stacked plot needles

* minor fixes after merge

- NOT WORKING

* update linewidth and size

- add mutation types

* fix plot saturation within pipeline
- collect sitecomparisons
- remove reference to ddg. requires external
- fix input unique to keep header and minimal information
- tested and works

* fix o3d logs output

* plot multiple genes, not only TP53

* apply review suggestions

- temporary solution to domain information loading

* update domain definition and plotting

- subset domains to in_panel ones
- update domain name definition
- plotting modules works
- missing autoexons plot
- update signatures output

* - separate generation of depth per exon
- add general error handling to all plotting modules
- generate exons bedfile within panel

* batch update of exon definitions

- use correct exons definition
- update custom bedfile name
- not tested

* fix exons panel generation

* add error handling to omega plot
* Mutability-adjusted mutation density calculation

* Fix: module out variable not matching subworkflow

* Several small fixes: bug in tuple variable

* Permisson error in python script

* Fix unnecessary output argument in python script

* Fix typo in "depths_df" variable name

* Fix sample name variable in python script

* Missing sample_name in correction factor function

* Adjust output filename in script for consistency

* Keep the index (genes) when writing the output

* New logfoldchange plots as an output

* Fix syntax typo in python script

* Fix import

* Fix import seaborn

* integration of new mutation density to deepCSA (#339)

* connect mut_density with pipeline's utils

* apply changes from PR #338

* fix bug introduced in reviewing

* add samplename to output files

* add name to index for storing

* keep current directory structure of outputs

- mutdensityadj contains new mutation density results
-mutdensity keeps having the old computation

---------

Co-authored-by: Ferriol Calvet <38539786+FerriolCalvet@users.noreply.github.com>
Co-authored-by: FerriolCalvet <ferriolcalvet@gmail.com>
* first pas update of sigrofiler DBS and ID signatures.

* update sigprofiler matrix generator

- clean unused files
- reorder module imports
- not tested
* samples with no mutations are not analyzed individually

- same happens with groups that have less than a the chosen number of muts
- set minimum to 0
- NOT tested

* fix typo in parameter name
* parse position in read and add filter for repetitive and fixed position

- test pending

* reimplement input handling with click
- update python and nf scripts

* fix test_real profile

* minor update to reporting of repetitive mapping variants
* update definition of input for grouping samples

- remove confusing logic of JSON like string
- separate it in two steps

* test updated feature group input information
* minor update in plot selection

* partial update in plot depths

* compile all omegas into a single file

* add secondary y axis in needle plot with proportion

- not tested

* update saturation plots to include domain selection summary

* fix bug in heatmap

* really fix the bug and add clustermap

* update plotting maf with click

* working version of explore variability

* fix bug in plot saturation

- add sample loading function to utils
- neutral update since nothing changed in activation of params
- not working since container is missing
- also updated annotatedepth container for testing
* add mutdensities qc

* test python script works

* updated workflow mutdensitiesqc

* fix subworkflow path issue

* updated container

* update deepcsa core container in all modules

---------

Co-authored-by: FerriolCalvet <ferriolcalvet@gmail.com>
Co-authored-by: Ferriol Calvet <38539786+FerriolCalvet@users.noreply.github.com>
* lint all configs

* update LICENSE to AGPLv3 modified

* add gnomad freq threshold definition

* update INDEL size from 100 to 50

* update LICENSE to normal GPL3
…ups (#366)

* init plotting groups

* needle plots and selection working for groups

- add param to plot only cohort or all custom groups
- update groups.json generation

missing:
- pass site comparison plots & test saturation

* fix saturation plots working for groups

- fix domain selection plotting as png not pdf
* fix remove creation of empty MAFs

* address #337
* add globalloc synonymous numbers qc
- added all the plots and correlation computations of obs. vs estimated numbers of synonymous mutations

* update omega syn qc
- working version with plots and tsv outputs
* fix bug in redefinition of exons and domains

- now if a subgenic element is partially covered, it is still included in the expanded file, before it was not
Missing:
-documentation

* add docs

* fix bug in end coordinate when matching

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* update hdp_wrapper container

* add ignore strategy to compare signatures step

* add tmp fixes configs
* feature: add nanoseq masks to FILTERS

This commit adds the posibility of using nanoseq masks
in deepCSA.
New parameters are added both in nextflow_schema and nextflow
config.
No major other  changes are made as nanoseq masks use the same
script as FILTEREXONS and FILTERPANELS.

* feature: add click to handle inputs

These changes are copied from branch input-with-click,
more specifically from commit 0af42a9.

* refactor: add positive parameter

When using filterbed.py, if using positive you filter
positions in the bed file and when using negative
you filter positions not in the bed file. This commit
adjusts the parameters in nanoseq filters to adjust
to this behaviour.

* refactor: implement with click and add positive parameter

The click implementation is usefull to add the
--positive flag for those bed files with the
positive = true parameter in the modules.conf

* refactor: import nanoseq files in subworkflow

This commits moves the import from the main
workflow to the MUTATION_PREPROCESSING subworkflow.
This is cleaner and easier to maintain.

* docs: add nanoseq masks paths

* refactor: remove debug printing

* refactor: move publish dir instructions

Improve clarity.

* refactor: move nanoseq masks paths to cluster configuration

* refactor: simplify definitions and avoid non-intended output

To avoid non-intended output, we define filtername empty if not
defined instead of "covered".

* refactor: unify filters into one and remove non canonical chromosomes

The functions negative_filter_panel_regions and positive_filter_panel_regions
have been unified into one function: filter_panel. The logic is exactly the
same.
A new function is created to remove non canonical chromosomes
in the positions dataframe (from the bed file). Non canonical
chromosomes were giving problems when merging with sample_maf
as "chr" was not detected.

* refactor: apply nanoseq masks individually with cleaner channel management

The if statement for the nanoseq masks has been divided
to handle them individually, in case only one is provided.

Also, assigning a value to a channel twive is avoided by
adding "else" statements.

* refactor: add one liner to create filtered maf panels variable

Taking into account if nanoseq masks were applied.

* refactor: add one liner to create filtered maf panels variable

Taking into account if nanoseq masks were applied.

* minor update in mut preprocessing style

- fix paths in test_real
- update order of variables in schema

---------

Co-authored-by: FerriolCalvet <ferriolcalvet@gmail.com>
* first definition of tests

- to be tested

* add first semi-working version of pipeline level tests

* add first module testing for EXPANDREGIONS

- testing focussed in PPM1D gene
- confirm preferred behaviour for this process if omega_withingene is true, but no option of subgenic element definition is activated it fails
- stub mode set up pending

* tests working for EXPANDREGIONS

* update snapshot

* minor python fixes

* changes after PR review
FerriolCalvet and others added 4 commits September 30, 2025 09:12
- add also gnomAD_SNP
- add documentation on Nanoseq masks
- add adjusted mutation density explanation
- rename subworkflow directory
@FerriolCalvet FerriolCalvet changed the title New release New release: v1.0.0 Oct 6, 2025
@FerriolCalvet FerriolCalvet requested a review from Copilot October 6, 2025 15:31
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR prepares the v1.0.0 release by adding plotting summaries/QC, signature matrix generation, NanoSeq masks, parameter schema updates, and initial nf-test coverage.

  • Add cohort/group plotting subworkflows (summary, saturation, inter-individual variability) and QC plots for mutation densities and omega global/local sanity checks
  • Introduce NanoSeq SNP/noise masks and new input/config parameters; rework several modules’ CLIs and containers to 0.0.2-alpha
  • Add initial nf-test tests and config; wire new adjusted mutational density and signatures (MAF→VCF → SigProfiler MatrixGenerator)

Reviewed Changes

Copilot reviewed 117 out of 156 changed files in this pull request and generated 21 comments.

Show a summary per file
File Description
workflows/tests/deepcsa.nf.test Adds first pipeline-level nf-test (minimal run)
workflows/deepcsa.nf Wires new subworkflows (plotting summary/QC), adjusted mutdensity, signatures VCF/matrix, and NanoSeq integration
tests/nextflow.config Test profile/config for nf-test (params, singularity, executor)
test_data/modules/PPM1D_exons.bed4.bed Test fixtures for EXPAND_REGIONS
test_data/modules/PPM1D_domains.bed4.bed Test fixtures for EXPAND_REGIONS
subworkflows/local/signatures_hdp/main.nf Hdp extraction subworkflow cleanup
subworkflows/local/signatures/main.nf Integration of HDP extraction path
subworkflows/local/plottingsummary/main.nf New summary plotting subworkflow (selection, saturation, variability)
subworkflows/local/plotting_qc/main.nf New QC plotting subworkflow (mutdensity QC)
subworkflows/local/omega/main.nf Adds global/local omega evaluation, site comparison wiring, and all-results collection
subworkflows/local/mutationpreprocessing/main.nf Adds NanoSeq masks, contamination check, grouped output, and improved plotting selection
subworkflows/local/mutatedcells/vaf/main.nf Clean up conditional
subworkflows/local/dnds/main.nf Moves covariates/refs loading inside subworkflow
subworkflows/local/createpanels/main.nf Domain annotation input now comes from params.domains_file; emits domains info TSV
subworkflows/local/adjmutdensity/main.nf New adjusted mutational density subworkflow
nf-test.config nf-test harness configuration
nextflow_schema.json Adds/renames parameters (groups, domains_file, omega_subgenic_bedfile, plot_only_allsamples, NanoSeq masks, gnomad_af_threshold, etc.)
nextflow.config Defaults for new params, profiles refactor, tmp quick fixes include
modules/local/writemaf/main.nf Bump core container to 0.0.2-alpha
modules/local/vcf2maf/main.nf Switch to new CLI (args)
modules/local/table2groups/main.nf New CLI options (unique identifier, groups list); container bump
modules/local/subsetmaf/main.nf Optional output; min_mutations support
modules/local/sitesfrompositions/main.nf Container bump
modules/local/signatures/sigprofiler/matrixgenerator/main.nf New module for SigProfiler MatrixGenerator
modules/local/signatures/sigprofiler/extractor/main.nf Not in use (documented); placeholder
modules/local/signatures/musical/main.nf Not in use (documented); placeholder
modules/local/signatures/msighdp/main.nf Not in use (documented); minor cleanups
modules/local/signatures/hdp/process_results/main.nf Switch container to hdp_wrapper
modules/local/signatures/hdp/prepareinput/main.nf Switch container to hdp_wrapper
modules/local/signatures/hdp/normalize_sigs/main.nf Switch container to hdp_wrapper
modules/local/signatures/hdp/compare_sigs/main.nf Switch container to hdp_wrapper
modules/local/sig_matrix_concat/main.nf Container bump
modules/local/select_mutdensity/main.nf Container bump
modules/local/runregressions/main.nf Container bump
modules/local/process_annotation/panelcustom/main.nf Container bump
modules/local/process_annotation/panel/main.nf Container bump
modules/local/process_annotation/mutations_custom/main.nf Container bump
modules/local/process_annotation/mutations/main.nf Update CLI to add gnomAD threshold and flags; container bump
modules/local/process_annotation/domain/main.nf Emit domains TSV; container bump
modules/local/plot/selection_metrics/main.nf Update CLI usage/outdir; container bump
modules/local/plot/saturation/main.nf New saturation plot process
modules/local/plot/qc/mutation_densities/main.nf New mutdensity QC plot process
modules/local/plot/qc/globalloc_synonymous/main.nf New omega syn QC plot process
modules/local/plot/omega/main.nf Update CLI/outdir; container bump
modules/local/plot/needles/main.nf Update CLI/outdir; container bump
modules/local/plot/mutations_summary/main.nf Update CLI and JSON filters; container bump
modules/local/plot/interindividual_variability/main.nf New variability plot process
modules/local/plot/depths_summary/main.nf Container bump
modules/local/mutations2sbs/main.nf Container bump
modules/local/mutation_matrix/main.nf Container bump
modules/local/mutated_genomes_from_vaf/main.nf Optional output; container bump
modules/local/mut_density/main.nf New module to compute adjusted mut density
modules/local/mergemafs/main.nf Container bump
modules/local/maf2vcf/main.nf New MAF→VCF module
modules/local/indels/main.nf Container bump
modules/local/group_genes/main.nf Container bump
modules/local/filtermaf/main.nf Container bump
modules/local/filterbed/main.nf New CLI with positive filter support; container bump
modules/local/expand_regions/tests/... Adds nf-test for EXPAND_REGIONS
modules/local/expand_regions/main.nf Refactor inputs for domains/exons/custom; container bump
modules/local/downsample/mutations/main.nf Container bump
modules/local/downsample/depths/main.nf Container bump
modules/local/dnds/preprocess/main.nf Container bump
modules/local/dna2protein/main.nf Adds depths input; emits per-exon depths and exon BED; container bump
modules/local/createpanels/consensus/main.nf Genes subset default fix
modules/local/contamination/main.nf New contamination check module
modules/local/computemutdensity/main.nf Container bump
modules/local/compute_trinucleotide/main.nf Container bump
modules/local/compute_profile/main.nf Container bump
modules/local/compute_mutability/main.nf Container bump
modules/local/combine_sbs/main.nf Container bump
modules/local/blacklistmuts/main.nf Container bump
modules/local/bbgtools/sitecomparison/main.nf Container bump
modules/local/bbgtools/oncodrive3d/run/main.nf Use bbglab/oncodrive3d and version capture; log pattern tweak
modules/local/bbgtools/oncodrive3d/preprocessing/main.nf Container bump
modules/local/bbgtools/oncodrive3d/plot_chimerax/main.nf Version capture fix
modules/local/bbgtools/oncodrive3d/plot/main.nf Use bbglab/oncodrive3d and version capture; log pattern tweak
docs/... Updates to usage, tools rationale, formats, issues, README
conf/... Many config/profile updates, new modes, tmp fixes, tool configs, domain file and masks wiring
nf-test.config Config for nf-test
LICENSE Replaces placeholder license with AGPL notice
CITATIONS.md Adds sources/tools references

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@FerriolCalvet FerriolCalvet changed the title New release: v1.0.0 New release: v1.0.0 Ter Oct 6, 2025
@FerriolCalvet FerriolCalvet requested a review from Copilot October 7, 2025 21:04
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 117 out of 156 changed files in this pull request and generated 9 comments.

Comments suppressed due to low confidence (1)

nextflow_schema.json:592

  • Corrected spelling of 'Comma-separeted' to 'Comma-separated'.
                "selected_genes": {
                    "type": "string",
                    "description": "Comma-separeted list of genes to focus the analysis",
                    "fa_icon": "fas fa-book",

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@FerriolCalvet FerriolCalvet added this to the Development phase 1 milestone Oct 7, 2025
@FerriolCalvet FerriolCalvet merged commit e409639 into main Oct 8, 2025
@FerriolCalvet FerriolCalvet deleted the dev branch October 12, 2025 13:00
FerriolCalvet added a commit that referenced this pull request Oct 14, 2025
commit e7ace44
Author: Ferriol Calvet <38539786+FerriolCalvet@users.noreply.github.com>
Date:   Fri Oct 10 09:44:35 2025 +0200

    v1.0.0 fixes (#380)

    * fix syntax of optional

    - fix ambiguity in features list definition

    * remove optional input definition

commit e409639
Merge: 14640cd 1a61fc9
Author: Ferriol Calvet <38539786+FerriolCalvet@users.noreply.github.com>
Date:   Wed Oct 8 15:09:55 2025 +0200

    Merge pull request #377 from bbglab/dev

    New release: v1.0.0 Ter

commit 1a61fc9
Author: FerriolCalvet <ferriolcalvet@gmail.com>
Date:   Wed Oct 8 11:25:01 2025 +0200

    update documentation tackling several issues

commit cc808de
Author: FerriolCalvet <ferriolcalvet@gmail.com>
Date:   Wed Oct 8 10:23:45 2025 +0200

    update naming of summary mutation plots

commit 2ab4e65
Author: FerriolCalvet <ferriolcalvet@gmail.com>
Date:   Tue Oct 7 23:15:35 2025 +0200

    fix typos and make inputs of expand regions optional

commit 6bb325e
Author: FerriolCalvet <ferriolcalvet@gmail.com>
Date:   Tue Oct 7 23:03:33 2025 +0200

    apply review suggestions

commit 872809d
Merge: 2ac1bdb 14640cd
Author: Ferriol Calvet <38539786+FerriolCalvet@users.noreply.github.com>
Date:   Sun Oct 5 16:07:02 2025 +0200

    Merge branch 'main' into dev

commit 2ac1bdb
Author: FerriolCalvet <ferriolcalvet@gmail.com>
Date:   Sat Oct 4 17:52:17 2025 +0200

    add tools' explanation in docs

    - add adjusted mutation density explanation
    - rename subworkflow directory

commit 275bd68
Author: FerriolCalvet <ferriolcalvet@gmail.com>
Date:   Fri Oct 3 23:16:31 2025 +0200

    update features groups documentation

commit 67a902e
Author: FerriolCalvet <ferriolcalvet@gmail.com>
Date:   Tue Sep 30 09:12:55 2025 +0200

    add nanoseq masks to default filtering

    - add also gnomAD_SNP
    - add documentation on Nanoseq masks

commit b06e900
Author: Ferriol Calvet <38539786+FerriolCalvet@users.noreply.github.com>
Date:   Mon Sep 29 09:17:47 2025 +0200

    add test setup and first tests (#375)

    * first definition of tests

    - to be tested

    * add first semi-working version of pipeline level tests

    * add first module testing for EXPANDREGIONS

    - testing focussed in PPM1D gene
    - confirm preferred behaviour for this process if omega_withingene is true, but no option of subgenic element definition is activated it fails
    - stub mode set up pending

    * tests working for EXPANDREGIONS

    * update snapshot

    * minor python fixes

    * changes after PR review

commit 7caf653
Author: FerriolCalvet <ferriolcalvet@gmail.com>
Date:   Thu Sep 25 16:43:38 2025 +0200

    update deepCSA diagram

commit 8fa7998
Author: Marta Huertas <97596516+m-huertasp@users.noreply.github.com>
Date:   Thu Sep 25 16:31:39 2025 +0200

    Add Nanoseq masks as filters (#374)

    * feature: add nanoseq masks to FILTERS

    This commit adds the posibility of using nanoseq masks
    in deepCSA.
    New parameters are added both in nextflow_schema and nextflow
    config.
    No major other  changes are made as nanoseq masks use the same
    script as FILTEREXONS and FILTERPANELS.

    * feature: add click to handle inputs

    These changes are copied from branch input-with-click,
    more specifically from commit 0af42a9.

    * refactor: add positive parameter

    When using filterbed.py, if using positive you filter
    positions in the bed file and when using negative
    you filter positions not in the bed file. This commit
    adjusts the parameters in nanoseq filters to adjust
    to this behaviour.

    * refactor: implement with click and add positive parameter

    The click implementation is usefull to add the
    --positive flag for those bed files with the
    positive = true parameter in the modules.conf

    * refactor: import nanoseq files in subworkflow

    This commits moves the import from the main
    workflow to the MUTATION_PREPROCESSING subworkflow.
    This is cleaner and easier to maintain.

    * docs: add nanoseq masks paths

    * refactor: remove debug printing

    * refactor: move publish dir instructions

    Improve clarity.

    * refactor: move nanoseq masks paths to cluster configuration

    * refactor: simplify definitions and avoid non-intended output

    To avoid non-intended output, we define filtername empty if not
    defined instead of "covered".

    * refactor: unify filters into one and remove non canonical chromosomes

    The functions negative_filter_panel_regions and positive_filter_panel_regions
    have been unified into one function: filter_panel. The logic is exactly the
    same.
    A new function is created to remove non canonical chromosomes
    in the positions dataframe (from the bed file). Non canonical
    chromosomes were giving problems when merging with sample_maf
    as "chr" was not detected.

    * refactor: apply nanoseq masks individually with cleaner channel management

    The if statement for the nanoseq masks has been divided
    to handle them individually, in case only one is provided.

    Also, assigning a value to a channel twive is avoided by
    adding "else" statements.

    * refactor: add one liner to create filtered maf panels variable

    Taking into account if nanoseq masks were applied.

    * refactor: add one liner to create filtered maf panels variable

    Taking into account if nanoseq masks were applied.

    * minor update in mut preprocessing style

    - fix paths in test_real
    - update order of variables in schema

    ---------

    Co-authored-by: FerriolCalvet <ferriolcalvet@gmail.com>

commit 42c85f6
Author: Ferriol Calvet <38539786+FerriolCalvet@users.noreply.github.com>
Date:   Thu Sep 25 12:37:10 2025 +0200

    Update container for HDP signature extraction (#362)

    * update hdp_wrapper container

    * add ignore strategy to compare signatures step

    * add tmp fixes configs

commit 5b9ed08
Author: Ferriol Calvet <38539786+FerriolCalvet@users.noreply.github.com>
Date:   Fri Sep 19 21:45:57 2025 +0200

    fix bug in redefinition of panel with subgenic elements (#373)

    * fix bug in redefinition of exons and domains

    - now if a subgenic element is partially covered, it is still included in the expanded file, before it was not
    Missing:
    -documentation

    * add docs

    * fix bug in end coordinate when matching

    * Apply suggestions from code review

    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

    ---------

    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

commit 3d8fe1f
Author: Ferriol Calvet <38539786+FerriolCalvet@users.noreply.github.com>
Date:   Wed Sep 17 20:00:41 2025 +0200

    Add globalloc synonymous numbers QC (#370)

    * add globalloc synonymous numbers qc
    - added all the plots and correlation computations of obs. vs estimated numbers of synonymous mutations

    * update omega syn qc
    - working version with plots and tsv outputs

commit 03a69f6
Author: Ferriol Calvet <38539786+FerriolCalvet@users.noreply.github.com>
Date:   Tue Sep 16 10:39:30 2025 +0200

    fix bug that outputted empty maf files (#367)

    * fix remove creation of empty MAFs

    * address #337

commit 3fb032d
Author: FerriolCalvet <ferriolcalvet@gmail.com>
Date:   Sat Sep 13 11:14:47 2025 +0200

    add minor fix to plotting needles for groups

commit 9adbe74
Author: Ferriol Calvet <38539786+FerriolCalvet@users.noreply.github.com>
Date:   Sat Sep 13 11:05:11 2025 +0200

    Allow the option to plot selection and saturation at the level of groups (#366)

    * init plotting groups

    * needle plots and selection working for groups

    - add param to plot only cohort or all custom groups
    - update groups.json generation

    missing:
    - pass site comparison plots & test saturation

    * fix saturation plots working for groups

    - fix domain selection plotting as png not pdf

commit 14640cd
Author: FerriolCalvet <ferriolcalvet@gmail.com>
Date:   Mon Jul 28 18:01:31 2025 +0200

    minor updates documentation related
FerriolCalvet added a commit that referenced this pull request Oct 23, 2025
* add profile concatenation and cosine sim plotting

-not tested

* fix concat profiles working
- separated plots for samples and groups

* Squashed commit of the following:

commit e7ace44
Author: Ferriol Calvet <38539786+FerriolCalvet@users.noreply.github.com>
Date:   Fri Oct 10 09:44:35 2025 +0200

    v1.0.0 fixes (#380)

    * fix syntax of optional

    - fix ambiguity in features list definition

    * remove optional input definition

commit e409639
Merge: 14640cd 1a61fc9
Author: Ferriol Calvet <38539786+FerriolCalvet@users.noreply.github.com>
Date:   Wed Oct 8 15:09:55 2025 +0200

    Merge pull request #377 from bbglab/dev

    New release: v1.0.0 Ter

commit 1a61fc9
Author: FerriolCalvet <ferriolcalvet@gmail.com>
Date:   Wed Oct 8 11:25:01 2025 +0200

    update documentation tackling several issues

commit cc808de
Author: FerriolCalvet <ferriolcalvet@gmail.com>
Date:   Wed Oct 8 10:23:45 2025 +0200

    update naming of summary mutation plots

commit 2ab4e65
Author: FerriolCalvet <ferriolcalvet@gmail.com>
Date:   Tue Oct 7 23:15:35 2025 +0200

    fix typos and make inputs of expand regions optional

commit 6bb325e
Author: FerriolCalvet <ferriolcalvet@gmail.com>
Date:   Tue Oct 7 23:03:33 2025 +0200

    apply review suggestions

commit 872809d
Merge: 2ac1bdb 14640cd
Author: Ferriol Calvet <38539786+FerriolCalvet@users.noreply.github.com>
Date:   Sun Oct 5 16:07:02 2025 +0200

    Merge branch 'main' into dev

commit 2ac1bdb
Author: FerriolCalvet <ferriolcalvet@gmail.com>
Date:   Sat Oct 4 17:52:17 2025 +0200

    add tools' explanation in docs

    - add adjusted mutation density explanation
    - rename subworkflow directory

commit 275bd68
Author: FerriolCalvet <ferriolcalvet@gmail.com>
Date:   Fri Oct 3 23:16:31 2025 +0200

    update features groups documentation

commit 67a902e
Author: FerriolCalvet <ferriolcalvet@gmail.com>
Date:   Tue Sep 30 09:12:55 2025 +0200

    add nanoseq masks to default filtering

    - add also gnomAD_SNP
    - add documentation on Nanoseq masks

commit b06e900
Author: Ferriol Calvet <38539786+FerriolCalvet@users.noreply.github.com>
Date:   Mon Sep 29 09:17:47 2025 +0200

    add test setup and first tests (#375)

    * first definition of tests

    - to be tested

    * add first semi-working version of pipeline level tests

    * add first module testing for EXPANDREGIONS

    - testing focussed in PPM1D gene
    - confirm preferred behaviour for this process if omega_withingene is true, but no option of subgenic element definition is activated it fails
    - stub mode set up pending

    * tests working for EXPANDREGIONS

    * update snapshot

    * minor python fixes

    * changes after PR review

commit 7caf653
Author: FerriolCalvet <ferriolcalvet@gmail.com>
Date:   Thu Sep 25 16:43:38 2025 +0200

    update deepCSA diagram

commit 8fa7998
Author: Marta Huertas <97596516+m-huertasp@users.noreply.github.com>
Date:   Thu Sep 25 16:31:39 2025 +0200

    Add Nanoseq masks as filters (#374)

    * feature: add nanoseq masks to FILTERS

    This commit adds the posibility of using nanoseq masks
    in deepCSA.
    New parameters are added both in nextflow_schema and nextflow
    config.
    No major other  changes are made as nanoseq masks use the same
    script as FILTEREXONS and FILTERPANELS.

    * feature: add click to handle inputs

    These changes are copied from branch input-with-click,
    more specifically from commit 0af42a9.

    * refactor: add positive parameter

    When using filterbed.py, if using positive you filter
    positions in the bed file and when using negative
    you filter positions not in the bed file. This commit
    adjusts the parameters in nanoseq filters to adjust
    to this behaviour.

    * refactor: implement with click and add positive parameter

    The click implementation is usefull to add the
    --positive flag for those bed files with the
    positive = true parameter in the modules.conf

    * refactor: import nanoseq files in subworkflow

    This commits moves the import from the main
    workflow to the MUTATION_PREPROCESSING subworkflow.
    This is cleaner and easier to maintain.

    * docs: add nanoseq masks paths

    * refactor: remove debug printing

    * refactor: move publish dir instructions

    Improve clarity.

    * refactor: move nanoseq masks paths to cluster configuration

    * refactor: simplify definitions and avoid non-intended output

    To avoid non-intended output, we define filtername empty if not
    defined instead of "covered".

    * refactor: unify filters into one and remove non canonical chromosomes

    The functions negative_filter_panel_regions and positive_filter_panel_regions
    have been unified into one function: filter_panel. The logic is exactly the
    same.
    A new function is created to remove non canonical chromosomes
    in the positions dataframe (from the bed file). Non canonical
    chromosomes were giving problems when merging with sample_maf
    as "chr" was not detected.

    * refactor: apply nanoseq masks individually with cleaner channel management

    The if statement for the nanoseq masks has been divided
    to handle them individually, in case only one is provided.

    Also, assigning a value to a channel twive is avoided by
    adding "else" statements.

    * refactor: add one liner to create filtered maf panels variable

    Taking into account if nanoseq masks were applied.

    * refactor: add one liner to create filtered maf panels variable

    Taking into account if nanoseq masks were applied.

    * minor update in mut preprocessing style

    - fix paths in test_real
    - update order of variables in schema

    ---------

    Co-authored-by: FerriolCalvet <ferriolcalvet@gmail.com>

commit 42c85f6
Author: Ferriol Calvet <38539786+FerriolCalvet@users.noreply.github.com>
Date:   Thu Sep 25 12:37:10 2025 +0200

    Update container for HDP signature extraction (#362)

    * update hdp_wrapper container

    * add ignore strategy to compare signatures step

    * add tmp fixes configs

commit 5b9ed08
Author: Ferriol Calvet <38539786+FerriolCalvet@users.noreply.github.com>
Date:   Fri Sep 19 21:45:57 2025 +0200

    fix bug in redefinition of panel with subgenic elements (#373)

    * fix bug in redefinition of exons and domains

    - now if a subgenic element is partially covered, it is still included in the expanded file, before it was not
    Missing:
    -documentation

    * add docs

    * fix bug in end coordinate when matching

    * Apply suggestions from code review

    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

    ---------

    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

commit 3d8fe1f
Author: Ferriol Calvet <38539786+FerriolCalvet@users.noreply.github.com>
Date:   Wed Sep 17 20:00:41 2025 +0200

    Add globalloc synonymous numbers QC (#370)

    * add globalloc synonymous numbers qc
    - added all the plots and correlation computations of obs. vs estimated numbers of synonymous mutations

    * update omega syn qc
    - working version with plots and tsv outputs

commit 03a69f6
Author: Ferriol Calvet <38539786+FerriolCalvet@users.noreply.github.com>
Date:   Tue Sep 16 10:39:30 2025 +0200

    fix bug that outputted empty maf files (#367)

    * fix remove creation of empty MAFs

    * address #337

commit 3fb032d
Author: FerriolCalvet <ferriolcalvet@gmail.com>
Date:   Sat Sep 13 11:14:47 2025 +0200

    add minor fix to plotting needles for groups

commit 9adbe74
Author: Ferriol Calvet <38539786+FerriolCalvet@users.noreply.github.com>
Date:   Sat Sep 13 11:05:11 2025 +0200

    Allow the option to plot selection and saturation at the level of groups (#366)

    * init plotting groups

    * needle plots and selection working for groups

    - add param to plot only cohort or all custom groups
    - update groups.json generation

    missing:
    - pass site comparison plots & test saturation

    * fix saturation plots working for groups

    - fix domain selection plotting as png not pdf

commit 14640cd
Author: FerriolCalvet <ferriolcalvet@gmail.com>
Date:   Mon Jul 28 18:01:31 2025 +0200

    minor updates documentation related

* minor updates in plotting settings

* fix naming
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants