Changelog format to use:
YYYY-MM-DD John Doe
* Big Change 1:
<reasoning here>
* Another Change 2:
<reasoning here>
2026-03-16 Manavalan Gajapathy
- Refactors workflow to make project level subdir name a config based one.
- Adds arg
--project_level_qc_dirto the runner script
2026-03-10 Manavalan Gajapathy
- Refactors QuaC to add native support to QC fastq files using FastQC and Fastq Screen.
- FastQC and Fastq Screen commands used are based on those in the
small_variant_caller_pipeline. Tool versions were upgraded and switched from container+conda env to container-only set up.
- FastQC and Fastq Screen commands used are based on those in the
- Rule
multiqc_rename_configwas brought in as well from thesmall_variant_caller_pipeline. --include_prior_qcis still used but only for Picard markduplicates.- Updates conda env to run quac. Switched from
snakemake-minimalto fullsnakemakefor pandas. - Updates input data set up and configs for system testing.
- Updates docs.
2025-05-06 Manavalan Gajapathy
- Refactors QuaC for use with parabricks-based small variant caller pipeline, which does not produce trimmed fastqs.
- Updates Sample config files: column
fastqc_trimmedwas removed and columnfastqc_rawwas renamed tofastq
2024-07-08 Brandon Wilk
- Makes minor bug fix for issue #95 found in the test run detection logging function
2023-10-09 Manavalan Gajapathy
- Makes minor documentation updates - updating citation info, adding JOSS badge and updating zenodo badge to use generic DOI
- Merges
joss_manuscriptto themasterbranch to bring it up to date.
2023-10-06 Manavalan Gajapathy
- Adds documentation on providing sample filepaths via user-provided sample config file due to recent PRs #87, #88, #89 and #90 (closes #86).
- Adds documentation on editing thresholds in the QuaC-Watch config file (closes #85)
2023-10-05 Manavalan Gajapathy
- Refactors to accept sample filepaths via user-provided sample config file, when
--allow_sample_renamingis used (#86)
2023-10-05 Manavalan Gajapathy
- Refactors to accept sample filepaths via user-provided sample config file, when
--include_prior_qcis used (#86) - Adds a test sample config file that includes priorQC filepaths
2023-10-05 Manavalan Gajapathy
- Refactors to accept sample filepaths via user-provided sample config file. Only for exome mode in minimal manner (w/o --include_prior_qc, --allow_sample_renaming) (#86)
- Adds a test sample config file
- Refactors to get capture bed file as input from the sample configfile
2023-10-05 Manavalan Gajapathy
- Refactors to accept sample filepaths via user-provided sample config file. Only for WGS mode in minimal manner (w/o --include_prior_qc, --allow_sample_renaming) (#86)
- Adds sample config file to use with system testing datasets -
.test/configs/no_priorQC/sample_config/project_2samples.tsv. This provides map of sample name to their VCF and BAM filepaths. - Refactors use of
--sample_configarg to work with this config file as input - Deprecates args
--project_nameand--projects_path - Modifies workflow to use the new input setup
- Updates README concerning the changes made
2023-07-17 Manavalan Gajapathy
- Minor updates to documentation.
2023-07-16 Manavalan Gajapathy
- Updates doc based on users feedback.
2023-06-30 Manavalan Gajapathy
- Merges
joss_manuscriptto themasterbranch to bring it up to date.
2023-06-22 Manavalan Gajapathy
- Refactors CLI script to accounting for user's environment specific slurm args requirements when submitting job to slurm (#76)
- Removes CLI option
--rerun_failedand instead configures it via snakemake-slurm profile (src/slurm/slurm_profile/config.yaml) - Removes
--subtasks_slurm optionand--snakemake_slurmas they were redundant - Checks if tool dependencies are available in user environment.
- Adds
timeresource toconfigs/snakemake_cluster_config.json - Removes PR trigger from system testing github actions.
- Tests if singularity is working as expected in user machine
2023-05-31 Manavalan Gajapathy
- Adds system testing as github actions workflow
2023-05-18 Manavalan Gajapathy
- Constructs snakemake's
sbatchcommand using args and values from cluster config file supplied via--cluster_config. - Updates doc to include cluster config as a requirement
2023-05-09 Manavalan Gajapathy
- Adds a verification step in the CLI wrapper script to check if the file/dirpaths to be mounted to singularity already exist as expected (#71)
- Resolves dirpaths of datasets in the workflow config file to obtain their full path
2023-04-10 Manavalan Gajapathy
- Refactors snakemake pipeline to fully run jobs in direct singularity containers. No more creation of conda environment using singularity containers! (#69)
2023-04-04 Manavalan Gajapathy
- Retires use of cheaha-specific env variable $USER_SCRATCH
- Auto-creates user-provided dir structures for
--outdir,--tmp_dir, and--log_dir
2023-03-01 Manavalan Gajapathy
- Decouples readme.md from readthedocs setup
2023-02-28 Manavalan Gajapathy
- Adds license
- Bugfix: Changes github PR template filepath
2023-01-31 Manavalan Gajapathy
Restructures the docs to make it clearer to non-Cheaha users, updates documentation to reflect recent CLI option changes, and hosts docs publicly using readthedocs.
Readme.mdhas grown bigger and became difficult to navigate. Especially for non-Cheaha users. So documentation in readme.md is now restructured to break into multiple files and is now easier to consume.- Makes the doc generic to non-Cheaha users
- Identifies parts of the docs that are specific to Cheaha or CGDS users
- Updates doc to reflect changes made in #59
- Now hosts doc for "Sample QC review system".
- Uses mkdocs to create static site for documentation.
- Hosts QuaC docs using ReadTheDocs
- Migrates Gitlab MR template to Github PR template
- Adds github action to identify broken links in markdown files
2023-01-27 Manavalan Gajapathy
In efforts to make the repo generic to non-cheaha users, following changes were made:
- Removes default quac_watch_config as it can lead to errors (#39)
- Makes slurm schedule as dependency; now quac can be run locally. Local run is the default and
--use_slurmallows running snakemake-triggered jobs in slurm. (#57) - Allows users to define custom slurm partitions and time limits via workflow configs (#58)
- Updates median insert size threshold in quac-watch config (#54)
2023-01-20 Manavalan Gajapathy
As part of making QuaC publicly available, following updates were made to make it more generic to the environment and user friendly:
- Removes prerun QC from small variant caller pipeline as requirement to QuaC (closes #45)
- Explicitly defines conda environments (closes #49)
- Uses container solution for
covvizinstallation instead of conda to avoid pip based installation (closes #52) - Removes git submodules and instead saves their local copy to repo (closes #53)
- Loads singularity module loading prior to executing the runner script
- Uses minimal snakemake instead of full-featured snakemake (closes #56)
2022-04-07 Manavalan Gajapathy
- Previously hardcoded hardware resources for snakemake rules can now be supplied via
configs/workflow.yaml(closes #48) - Modified multiqc conda env config to use explicit dependencies to get around installation issues (closes #47)
2021-06-08 Manavalan Gajapathy
- Bugfix: Fixes error when there is only one sample in input ped file (#34)
- Adds system-testing for such only-one-sample-in-input setup (#35).
2021-05-28 Manavalan Gajapathy
- QuaC is heavily reworked to be a companion pipeline to small variant caller pipeline and will now perform most of the QC analyses for WGS/WES data. While the small caller pipeline will still run few QC tools (for pragmatic reasons), QuaC will now take over the heavylifting of QC, including the QC-checkup, which is now called as QuaC-Watch.
- Runs in containerized environment using Singularity.
- QuaC can perform both sample-level and project-level QC. This is the major reason why it was decided to separate QC from small-variant caller pipeline, as it could only perform single-sample QC.
- More QC tools were added
- For QC checkup (ie. QuaC-Watch), QuaC now heavily expands to vcf metrics and adds significant amount of QC thresholds for bam metrics.
- QuaC's input are output from the small variant caller pipeline, and former's output will fit seemlessly with the latter's output.
- QuaC accepts pedigree file as input. A dummy pedigree file creator script is provided, which will be handy until phenotips is made available to us.
- System-level testing is added
2021-03-16 Manavalan Gajapathy
- Creates QuaC workflow, which can run somalier, mosdepth, indexcov, covviz and verifybamid2
- Uses pedigree file as input
- Makes it production ready.