All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
DeepSomaticvariant caller
8.2.0 - 2025-05-01
- Use
methods.setup_process_afterscript()for process logs - Output pipeline parameters to log directory using
store_object_as_json - Add
panel_of_normals_vcffor MuTect2. - Add
a_mini-all-tools-vcf-inputtonftest - Add option to input VCFs for intersection
- Add VAF stripplot for variant overlaps across tools
- Remove cluster paths from README
- Avoid VAF divide by zero error
- Switch to generalized resource handling
- Update NFTest paths
- Fix single tool run logic
- Update PipeVal 4.0.0-rc.2 -> 5.1.0
- Update GATK 4.5.0.0 -> 4.6.1.0
- Update bam_readcount 0.8.0 -> 1.0.1
- Update MuSE 2.0.4 -> MuSE 2.1.2
- Update BCFtools 1.17 -> 1.21
- Update NFtest for new tool versions
- Set VAF plot y-limit based on max adjusted VAF
- Increase convert_BAM2Pileup memory allocation
- Avoid warning when run without panel of normals
8.1.0 - 2024-05-15
- Add workflow to build and publish documentation to GitHub Pages
- Add workflow to run Nextflow configuration regression tests
- Add one regression test
- Add workflow to respond to "/fix-tests" comments
- Update M64 resource allocations
- Update resource allocations
- Grant explicit permissions for Nextflow configuration test workflow
- Update Nextflow configuration test workflows
8.0.0 - 2024-01-29
Strelka2retry triggered by error code1- Pass reference index to
SomaticSniperprocesses - Use external
indexFilefunction - Update submodules
- Update GATK
v4.4.0.0tov4.5.0.0 - add
F8.config
8.0.0-rc.1 - 2023-12-13
- Sample names sanitized for all output
- Sample names parsed from input BAMs
- Update
MuSEtov2.0.4 - Resource limit check now from submodule
- Add BigDecimal to
check_if_numbervalidation
7.0.0 - 2023-10-18
- Use
bzip2directly for compression
7.0.0-rc.2 - 2023-10-05
- Add .github/CODEOWNERS
- Add check for MuSE or Mutect2 on F2 node
- Resource allocations changed for F32 and F72
- Update
MuSEtov2.0.3 - Reorder all VCFs before intersection
- Move
filter_VCF_BCFtoolstocommon.nf - Fix blarchive compression log output directory
- Delay readcount compression until original file is no longer needed
7.0.0-rc.1 - 2023-08-28
- Custom resource allocation updates through configuration parameters
- Add assertions to
nftest - Add compression of
SomaticSniperbam-readcountoutput and move tointermediatedirectory - Add
ncbi_buildparameter - Add conversion of concatenated VCF to MAF
- Add concatenation of consensus variants to one VCF
- Add variant intersection Venn diagram
- Add regions filter to variant intersections
- Add second BCFtools step to create full presence/absence variant table (including private)
- Add workflow to create a
consensus.vcfthat includes SNVs found by two or more variant callers - Add
fix_sample_names_VCF, tumor and normal sample IDs from input BAMs used in output VCFs - Add
split_VCF_bcftoolstoMutect2workflow, separating SNVs, MNVs and Indels
- Update plot-venn.R to work with all numbers of algorithms greater than two
- Fix CPU allocation behavior with Docker
- Remove redundant directories in Intersect log output directories
- Change compression of intersect MAF file to bzip2
- Update
README.md - Use
set_envfrompipeline-Nextflow-config - Update resource allocation to include new processes
- Reconfigure
intersect_regionsto use all contigs exceptdecoy - Reconfigure
call_regionstointersect_regions - Update to BCFtools v1.17
- Keep
bam-readcountoutput inSomaticSniperQC folder - Update
MuSEtov2.0.2 - Update to use sample ID from input BAM files (single tumor/normal BAM input only)
- Use BCFtools to compress PASS variants instead of bgzip
- Use BCFtools to extract PASS variants instead of awk
- Update to use external
run_validate_PipeVal
6.0.0 - 2023-04-05
- Add Mutect2 flow chart
- Add plantUML action and MuSE flow chart
- Add NF-test
- Update LearnReadOrientationModel allocated memory and cpus
- Update to GATK v4.4.0.0
- Update
MuSEretry add memory to 48GB - Changed
output_dirtooutput_dir_base(methods.configandmain.nf)
- Specify empty string as default for bgzip and tabix extra args
6.0.0-rc.1 - 2023-02-08
- Add QC output
filteringStats.tsvfrom Mutect2's processrun_FilterMutectCalls_GATK. - Add
contamination_tableinput toinput.yaml. Contamination estimate table was generated from CalculateContamination from GATK.
- Update
README: add Pipeline Steps and Tool descriptions - Update to use
set_resources_allocationfrom pipeline-Nextflow-config repo - Update SAMtools to v1.16.1
- Switch Docker Hub images to GitHub packages.
- Remove redundant directories in log output directories and intermediate directories.
- Specify
task.indexin log output directories.
5.0.0 - 2022-10-04
- Add retry.config using git submodule from pipeline-Nextflow-config to enable processes to retry with more memory.
- Add MuSE workflow.
- Add
pipeline-release.yamlto workflow.
- Change index_VCF_tabix process using git submodule from pipeline-Nextflow-module.
- Standardize output filenames using
generate_standardized_filenamemodule from pipeline-Nextflow-module. - Change the
input.yamlstructure to allow separate sample_ids for normal and tumor BAMs.
4.0.1 - 2022-06-24
- Update PR template.
- Fix the bug with M64 detection.
- Fix the bug with interval list input.
4.0.0 - 2022-06-13
- Update
README.mdto apply the recent changes. - Update the YAML input structure.
- Add the decoy file for
params.germline_resource_gnomad_vcf.
4.0.0-rc.1 - 2022-05-13
- Add Mutect2's multiple samples option into the pipeline.
- Add germline resource to Mutect2.
- Add
--callRegionoption to Stelka2 algorithm. - Add Manta and Strelka2's intermediate files.
- Add schema.config using git submodule from pipeline-Nextflow-config to check if params are valid.
- Change the input files to YAML and template.config.
- Change the
sample_nametosample_id. - Standardize the repository structure.
3.0.0 - 2022-03-01
- Add tumor_only_mode in mutect2 options.
- Add Mutect2's orientation bias filter.
- Update .gitignore to exclude molecular files.
- Update F72.config to increase the compute efficiency.
3.0.0-rc.1 - 2022-01-07
- Standardize the output directory.
- Standardize timestamp according to ISO8601.
- Update PipeVal to 2.1.6.
- Rename Docker images and remove Dockerfiles.
- Apply the config file standardization.
- Update GATK to 4.2.4.1 to address Log4j critical vulnerability GHSA-jfh8-c2jp-5v3q and other newly discovered log4j2 vulnerabilities.
2.1.1 - 2021-10-15
- Add groups to docker run options.
- Deprecate version 2.1.0.
- Add missing lines of checksum process.
2.1.0 - 2021-10-13
- Save logs for the Somaticsniper workflows.
- Add GPL2 license.
- Add pipeline information to the main script.
- Add the checksum file for the final output.
- Add the config file for F32 node.
- Update the GATK version from 4.2.0 to 4.2.2.
- Standardize process names.
- Change config filenames to F2, F72, and M64.
2.0.0 - 2021-08-19
- Add pattern to strelka2's filter_vcf_pass publishDir.
- Allow multiple algorithms to run in one pipeline run.
- Fix nextflow.config throwing Exception: string interpolation required double quotes.
1.5.0 - 2021-06-18
- Specify extra arguments for all GATK commands in the Mutect2 workflow.
- Add steps to index and compress final VCF files.
- Mutect2 calls are now scattered by intervals split using GATK SplitIntervals.
- Non-canonical regions will be called by default when using Mutect2.
- Update branch name in CICD-base.yaml from master to main.
1.4.0 - 2021-04-27
- Save logs for the Strelka2 and Mutect2 workflows.
- Create and backfill CHANGELOG.
- Mutect2 calls are now scattered by chromosomes.
1.3.0 - 2021-04-05
- Add the Mutect2 algorithm.
1.2.0 - 2021-03-11
- Add the strelka2 algorithm.
- Index files are assumed to exist in the same directory as bam/reference files.
1.1.0 - 2021-02-16
- Pipeline rewritten in DSL2.
- Docker run as user.
1.0.0 - 2020-11-24
- Fix bug to correctly filter pileup file in varFilter step.
0.0.1-beta - 2020-11-12
- The is the first beta release of the call-sSNV pipeline. It implements only 1 SNV caller, somatic sniper. Input and output validation and dynamic resource allocation is implemented.