Merged
Conversation
…annotating with no flags."
…eated in create_consensus_panel.py
Implemented parallel processing of VEP annotation through configurable chunking: - Added `panel_sites_chunk_size` parameter (default: 0, no chunking) - When >0, splits sites file into chunks for parallel VEP annotation - Uses bash `split` command for efficient chunking with preserved headers - Modified SITESFROMPOSITIONS module: - Outputs multiple chunk files (*.sites4VEP.chunk*.tsv) instead of single file - Logs chunk configuration and number of chunks created - Chunk size configurable via `ext.chunk_size` in modules.config - Updated CREATE_PANELS workflow: - Flattens chunks with `.transpose()` for parallel processing - Each chunk gets unique ID for VEP tracking - Merges chunks using `collectFile` with header preservation - Added SORT_MERGED_PANEL module: - Sorts merged panels by chromosome and position (genomic order) - Prevents "out of order" errors in downstream BED operations - Applied to both compact and rich annotation outputs - Enhanced logging across chunking pipeline: - SITESFROMPOSITIONS: reports chunk_size and number of chunks created - POSTPROCESS_VEP_ANNOTATION: shows internal chunk_size and expected chunks - CUSTOM_ANNOTATION_PROCESSING: displays chr_chunk_size and processing info Configuration: - `panel_sites_chunk_size`: controls file chunking (0=disabled) - `panel_postprocessing_chunk_size`: internal memory management - `panel_custom_processing_chunk_size`: internal chromosome chunking Benefits: - Parallelizes VEP annotation for large panels - Reduces memory footprint per task - Maintains genomic sort order for downstream tools
* add negative regions to subgenic generation - tested * update naming to complement
* include mut_density_qc compile - not tested * annotate failing omegas * improve functionalities of script - add more plots * handle subgenic omega computations proper plotting generation * remove unnecessary function * minor update to variability plotting - skip clustermap if not enough groups - add synonymous
- following what Fede (federica.brando@irbbarcelona.org) did in the PR #153
- Also adding a new feature to extract flagged regions to a bed file. - Adding wrapper function to clean-up main. e On branch 118-reapply-mask-discarded-mutation
e Your branch is ahead of 'origin/118-reapply-mask-discarded-mutation' by 1 commit.
- add output as pipeline in 'module.config' - add output in `filtermaf` module - add output in the `mutationpreprocessing`subworkflow
* add updated compute mutdensity script * add subworkflow enrichpanels (untested) * fix missing input channel enrichpanels * fix components enrichpanels * fix variable * fix permissions compute_mutdensity.py changed * update expand regions outputs to panel names * remove redundant DNA2PROTEINMAPPING step * updates and fixes in synmutdensity * fix bug subgenic definitions - update naming - update omega container * update omega version definition - add proper CPU definition in estimator * apply review suggestions - not tested * fix mut density bug after review * update previous fix --------- Co-authored-by: rochamorro1 <rocio.chamorro@irbbarcelona.org>
…all species, and add shell injection protection (#393) * Initial plan * Update plotting to work with any available selection data - Modified workflows/deepcsa.nf to allow plotting when ANY selection method is available (changed && to ||) - Updated plot_selectionsideplots.py to check file existence before loading data - Added graceful handling of missing data files with informative warnings - Script now dynamically determines which tracks to plot based on available data - No plots generated if no data files are found Co-authored-by: FerriolCalvet <38539786+FerriolCalvet@users.noreply.github.com> * Add safety checks for empty tracks and None figure - Added check in plot_all_positive_selection to handle n_tracks == 0 - Added check to avoid saving figure when None is returned - Improved robustness when no data is available Co-authored-by: FerriolCalvet <38539786+FerriolCalvet@users.noreply.github.com> * Remove homo_sapiens species requirement from plotting and DNA2PROTEINMAPPING - Removed homo_sapiens check from plotting condition (line 548) - Removed homo_sapiens check from DNA2PROTEINMAPPING (line 232) - DNA2PROTEINMAPPING now runs for all species - Added comprehensive unit tests for plot_selectionsideplots.py - Tests cover file existence checks, dynamic track selection, and edge cases Co-authored-by: FerriolCalvet <38539786+FerriolCalvet@users.noreply.github.com> * add within gene saturation script * make saturation plots optional * update schema * update qcs and saturation - mutdensityqc works without requiring omega - integrated plotting for saturation of subgenic regions * update plot saturation - works when not all data is available * Add shell injection protection to samplesheet validation - Enhanced sample name validation in check_samplesheet.py - Only allow alphanumeric characters, underscores, hyphens, and dots - Prevent sample names starting with hyphen (flag injection) - Block shell metacharacters: semicolons, dollar signs, backticks, pipes, ampersands, redirects, quotes, slashes - Added comprehensive test suite (15 tests) in test_check_samplesheet.py - Prevents command injection attacks via malicious sample names in samplesheet Co-authored-by: FerriolCalvet <38539786+FerriolCalvet@users.noreply.github.com> * update tests location --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: FerriolCalvet <38539786+FerriolCalvet@users.noreply.github.com> Co-authored-by: FerriolCalvet <ferriolcalvet@gmail.com>
- fix remaining linting
* Initial plan * Add plot_vaf_depth.py script and Nextflow module Co-authored-by: FerriolCalvet <38539786+FerriolCalvet@users.noreply.github.com> * Add documentation for VAF vs depth plots Co-authored-by: FerriolCalvet <38539786+FerriolCalvet@users.noreply.github.com> * Add example script for VAF depth plots Co-authored-by: FerriolCalvet <38539786+FerriolCalvet@users.noreply.github.com> * Add comprehensive implementation summary Co-authored-by: FerriolCalvet <38539786+FerriolCalvet@users.noreply.github.com> * Refactor: Split VAF depth plots into independent modules - Created separate scripts for VAF/mutation density (with hyperbolic curves) and selection metrics (without) - Created independent Nextflow modules for each plot type - Added PLOT_DEPTH_RELATIONSHIPS subworkflow to integrate modules - Connected subworkflow to main workflow with plot_depth_relationships parameter - Removed hyperbolic curves from omega and OncodriveFML plots as requested Co-authored-by: FerriolCalvet <38539786+FerriolCalvet@users.noreply.github.com> * Fix: Correct channel handling and remove old module - Fixed subworkflow to use per-sample mutation density channels - Removed old vaf_depth module and script - Simplified channel joining logic in subworkflow - Extract depth_per_gene file from depths output Co-authored-by: FerriolCalvet <38539786+FerriolCalvet@users.noreply.github.com> * Update documentation to reflect module split and independence - Updated vaf_depth_plots.md to document two independent modules - Clarified that hyperbolic curves only appear in VAF/mutation density plots - Updated example script to show separate usage of each module - Added clear distinction between modules with and without hyperbolic curves Co-authored-by: FerriolCalvet <38539786+FerriolCalvet@users.noreply.github.com> * working update - still plots to be polished * add plotting QCs at single mutation level * fix bugs after testing * add qc of individual mutations -not tested * add mutation counts per sample plot - not tested * fix bug after testing * Apply suggestion from @FerriolCalvet --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
- thanks @bkohrn for reporting it
…g in VEP annotation and adjust related schema defaults. Linting fixes
- increase test cpus
This reverts commit 19239f5.
TESTS: testing with small bladder set
add bbgregressions
- Modified nextflow.config to include general reference paths and skip validation for specific parameters. - Increased resource limits for processes to accommodate VEP execution. - Changed panel_sites_chunk_size to 0 and disabled parameter validation. - Added new input_maf.csv file with sample and VCF path data for testing.
…SVEPPANEL Dev chunk optimization postprocessveppanel
- tests working with external files, pending omega
Add minor fixes
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR includes several updates mainly related to:
AI updates