Skip to content

Changelog

1.4.6 (2024-10-08)

Bug Fixes

  • properly solve DAG workflow for nonsegmented matched-ref samples (02a821a)

1.4.5 (2024-09-25)

Bug Fixes

  • incorrect renaming of matched references in non-segmented mode (c42740e)

1.4.4 (2024-09-16)

Bug Fixes

  • remove intel channel from selfupdater repositories (43fe508)

Dependencies

  • reorder and add details to the conda dependency files for compatibility with strict_channel_priority in conda config (dc9b993)

1.4.3 (2024-07-03)

Dependencies

  • Remove 'intel' channel from conda environments (a2e918a)

1.4.2 (2024-04-03)

Dependencies

  • update AmpliGone to version 1.3.1 (b6a92c8)

1.4.1 (2024-03-22)

Bug Fixes

  • resolve pandas FutureWarning for integer casting on a series with a single element (bb76d06)

Dependencies

  • update AmpliGone to version 1.3.0 (6f28568)
  • update python and pysam version in Consensus conda environment (18e4ffb)

1.4.0 (2023-09-18)

Features

  • add "NONE" input for primers and gff's support to the match_ref process (1581c78)
  • add all the match_ref analysis scripts (1581c78)
  • add the match_ref snakemake workflow (1581c78)
  • add the match_reference process (1581c78)
  • only initiate the match_ref wrapping process whenever it is set on the commandline or through the samplesheet (1581c78)

Bug Fixes

  • add fix for unformatted printed message (98386c1)
  • enforce a "None" string instead of a Nonetype used for reference prep (f4f7490)
  • ensure "match-ref" and "segmented" columns are always added to samplesheet (98386c1)
  • ensure a string value like "NA" will not be interpreted as NaN in pandas.read_csv() (ecaca5e)
  • pad the number in primer names in the amplicon_coverages script so the amplicons are sorted correctly (cab3a8c)
  • solve index out of range bug in amplicon_coverages script (ca95a8a)
  • suppress the strict-channel-priorities logmessage from snakemake (1654891)
  • workaround to make sure the found segments can properly be 'exploded' in the resulting dataframe (9db4a42)

Dependencies

  • remove anaconda channel from selfupdating method (3db1cfb)
  • remove the anaconda and defaults channels as providers in conda environment recipes, set nodefaults (08ed236)
  • replace gffpandas in script to AminoExtract functions (599da1f)
  • update AminoExtract to version 0.3.1 (08e4a22)
  • use a forked/patched version of gffpandas instead of the pypi version (circumvent a bug in the original repo) (08e4a22)

Documentation

  • update the documentation site to represent the new match-ref and segmented arguments both on commandline and and in samplesheet (94c5ca0)
  • updated docstring for function check_samplesheet_rows() (98386c1)

1.3.1 (2023-05-26)

Bug Fixes

  • enforce absolute paths for files given through the samplesheet (40889bf)

Dependencies

  • use only snakemake-minimal as workaround for protobuf error in py3.11 (47c70db)

1.3.0 (2023-05-03)

Features

  • addition of proper logging functionality for the ViroConstrictor package (20a952b)
  • replace snakemake logging output through our own log handler for unified output (20a952b)

Bug Fixes

  • always use the absolute path of given files when parsing from the commandline options (a5b56e5)
  • change certainty values of match_preset_name() function to be explicitly floating points to ensure correct datatypes in downstream check (a74249c)
  • change preset fallback certainty threshold to be slightly more conservative (7542c46)
  • clean-handling of mamba solver mismatching (i.e. CDN mismatch with upstream) (680730b)
  • ensure variables for preset-warning fallbacks are properly set when no fallbackwarnings have to be logged (d7ddf0a)
  • print the sample key instead of dictionary contents in non-existing reference error log (f8c7a12)
  • Properly show all preset-fallback warnings instead of just the first in the index (48662db)
  • suppress snakemake logging output (workaround for https://github.com/snakemake/snakemake/issues/2089) (20a952b)
  • ensure samples_df and samples_dict always contain the same information (20a952b)

Documentation

  • add citation and DOI information to readme and documentation site (a2cf117)
  • add explanatory docstrings to various functions (0e1a368)
  • fix typo in installation docs (acc30d9)
  • update documentation with dedicated page for presets (7b2a66f)
  • updated manual with links to more detailed presets functionality explanation page (7b2a66f)
  • updated mkdocs configuration to include new page (7b2a66f)
  • updated mkdocs configuration to include the direct copy-button for code blocks (7b2a66f)

Code Refactoring

  • Use a generic (__main__.py) top level entry-point instead of the named ViroConstrictor.py entrypoint (20a952b)
  • re-structure argument parsing functionalities into its own class (20a952b)
  • re-structure snakemake run-information and config functionalities into its own class (20a952b)
  • remove old shell stdout-coloring method with the rich library (20a952b)
  • simplify several functions to ensure a properly defined return (20a952b)
  • Use f-strings more consistently for i.e. string concatenation with variables (20a952b)
  • add type-hints to all functions (20a952b)

Miscellaneous Chores

Dependencies

  • change biopython version to 1.81 (6bd437a)
  • change openpyxl version to 3.1.* (6bd437a)
  • change pandas version to 2.0.* (6bd437a)
  • change snakemake version to 7.25.* in base environment (6bd437a)
  • change urllib3 version to be more lenient (1.26.*) (6bd437a)
  • pin AminoExtract version to 0.2.1 (6bd437a)
  • use more lenient package requirements in setup.py to allow for both py3.10 and py3.11 builds (944f39d)

1.2.6 (2023-03-16)

Bug Fixes

  • add amino-acid names as a tuple to allow for hashing (9f002c7)

Dependencies

  • allow for more lenient snakemake versioning >=7.15.2 in base environment (adc6051)

1.2.5 (2023-03-14)

Dependencies

  • update AmpliGone to version 1.2.1 (7abaedd)
  • update minimal mamba version to 1.0.0 (7ad5fe8)

Documentation

  • add information badges to readme (53e818f)
  • update installation instructions in docs (da57e82)

1.2.4 (2023-03-02)

Dependencies

  • use conda for installing aminoextract instead of pip (1855470)

1.2.3 (2023-03-01)

Bug Fixes

  • allow input fastq files that contain multiple dots (07994a2)
  • ensure compability between the Influenza preset and illumina short read data (9a9f1d9)
  • ensure match_preset_name() actually returns all required values (d49f238)
  • update permissions for GH-actions workflows (1f760ba)

Documentation

  • add citations file (1f760ba)
  • update installation instructions for new environment file and environment creation with Mamba (84183a7)

Dependencies

  • add python-magic version 0.4.27 to environment (84183a7)
  • pin version of AminoExtract to 0.2.1 (84183a7)

1.2.2 (2023-01-24)

Bug Fixes

  • correctly parse presets when using a samplesheet (2ca2149)
  • make the ViroConstrictor main entrypoint less case sensitive (43b27aa)

1.2.1 (2023-01-19)

Bug Fixes

  • correction in argument parser to avoid a NoneType AttributeError when all required information is passed through commandline options (f2acedf)

Dependencies

  • correct the rich version in all base environment files (f2acedf)

1.2.0 (2023-01-18)

Features

  • add option to filted for minimum aligned length in clipper.py (d06caf5)
  • add option to filter spliced reads in clipper.py (d06caf5)
  • add support for working with presets for specific viral targets (29bfa3c)

Bug Fixes

  • add .gff3 file extension as allowed to features flag (b4fdf5d)
  • change Clipper settings to a per-platform config per preset (3d952bb)
  • change the minimal alignment length in clipper.py to be a percentage of the reference length (68597e8)
  • correct minimum aligned read length default value (60b9230)
  • Fix extension checking for input files (6c4f91e)
  • set snakemake keepgoing to True as a default (0076d52)
  • use the correct columns of input BED file when there are more columns given than necessary (56b5259)
  • workaround for Argument list too long error when parsing complex workflows (2835c44)

Performance Improvements

  • change make_pickle rule to localrule (f41cc01)
  • change threads in local execution mode to improve parallel performance (869c81a)

Dependencies

  • add Rich as a dependency with version 13.. (e63cac7)
  • update AmpliGone to version 1.2.0 (dfb22f1)

Documentation

  • update documentation to include presets functionalities (adc5265)

1.1.0 (2022-12-06)

Features

  • add base of functionality to translate and write amino acid sequences (25884b7)
  • translate and extract aminoacids sequences for multiple targets (657aaff)

Bug Fixes

  • add the missing "FORWARD" and "REVERSE" primer keywords (74b92c6)
  • change found features to np.nan if input reference and features file don't match (3e812e4)
  • circumvent issue where null values cause problems in data translation steps (6007fca)
  • correctly parse amino acids that have a name with a dot in it (3e14dd5)
  • make sure all required info is present when no gff files are given (d589989)

Documentation

  • clarify some sections in the docs (9bc4171)
  • fix broken links (9bc4171)
  • update documentation to match new functionality (9bc4171)

Dependencies

  • add AminoExtract to dependency list (acb378e)
  • change minimal python version to 3.10 (acb378e)
  • pin AminoExtract version to v0.2.0 (cce1cf9)
  • pin AminoExtract version to v0.2.1 (c0e869f)
  • update TrueConsense to v0.5.0 and change rules accordingly (af15b9c)
  • update TrueConsense version to 0.5.1 (b1a61e4)

1.0.4 (2022-11-01)

Bug Fixes

  • cleanly exit vcf_to_tsv.py script when vcf is empty after filtering (037467b)
  • replace bcftools with python script to avoid bcftools shared libraries error (eefaead)

Dependencies

  • remove bcftools as a dependency (eefaead)
  • remove the entire Mutations environment as it is no longer necessary (eefaead)

1.0.3 (2022-10-12)

Dependencies

  • pin snakemake to version 7.15.2 for dependency compatibility (0914b56)
  • set snakemake 7.15.2 as a minimal version in setup.py (0914b56)

1.0.2 (2022-08-15)

Dependencies

  • update AmpliGone to version 1.1.0 (153719d)
  • update included snakemake version to 7.12.x (e59edf9)
  • use the bioconda channel to install AmpliGone instead of pip (0f1fd65)

1.0.1 (2022-04-26)

Bug Fixes

  • correctly exit amplicon_coverage calc when only one side of an amplicon could be found combined with low coverage samples (aa77006)
  • ensure the split reference sequences are always in uppercase (fcf034c)

1.0.0 (2022-04-14)

⚠ BREAKING CHANGES

  • Use a single coverage level during analysis, defaults to 30 (6d6fc01)
  • add support for per-sample analysis settings with an input samplesheet in Excel, TSV or CSV format (a0b726)
  • Add support for BED files in amplicon_covs (ece3dfa)
  • Use BED files as output of AmpliGone (79fd23)
  • Update to python version 3.10 in base environments. (minimal required version = 3.8) (184328)
  • Use a single coverage level for TrueConsense (e5701b9a)

Features

  • flexible snakemake rule_all based on samplesheet inputs (93ad0c)
  • use the snakemake Paramspace for wildcard generation (94d1738)
  • Add remove_adapters_p1 to all (64c9069)
  • Add remove_adapters_p2 and qc_filter to all (a89560)
  • Add prepare_primers (6dc7c9)
  • Add prepare_gff rule (a0bc0fb)
  • Re-add ampligone (89cc2a0)
  • Re-add qc_post to multiqc (45c0d12)
  • Re-add TrueConsense (44f36c1)
  • Re-add concat_seq (ab229de)
  • Re-add tsv output (5bf10aa)
  • Re-add breadth of coverage to snakefile (003b2f)
  • Re-add amplicon_cov (6f6088)
  • Correctly handle missing inputs in samplesheet (aa6995)
  • re-add illumina support in new workflow structure (8eb400)
  • add fastP stats to multiqc report (19627f)

Bug Fixes

  • Add option to not give primers on cli (e4c054c)
  • Check combination of samplesheet and cli args (e4c054c)
  • Fix broken snakefile (a704c5e)
  • Add .bed as filetype for primers (f16556)
  • Make prodigal and prepare_gff unique (761337)
  • Fix aggregation outputs to rule all (2269340)
  • Fix restructuring of results folder (76fda46)
  • group concatenated files in correct results subfolders (f3f1d9e)
  • Make sure all post_qc is added in multiqc (b51f0ce)
  • Remove excess bracket in various log&bench rules (4a5e96c)
  • add logs for calculate_amplicon_cov rule (fbd2c1c)
  • always use absolute path for input reference, primer and features files (fa68a7a)
  • always provide absolute path for input fastq files (0303244)
  • Raise error if fasta contains invalid char (5209a7b)
  • Bump minimum snakemake version (a31b503)
  • change multiqc memory requirements to 'high' (05b9db3)
  • filter input primer bedfile to only output matching refID bedfile (c2b9c0c)

Code Refactoring

  • move version to init file (e4c054c)
  • Remove empty.primers (bfe0044)
  • use the snakemake Paramspace wildcards in the multiQC aggregation (1204b09)
  • add the "extract_refs.py" script to repo (5a7ea4)
  • move multiqc input function to top of snakefile (1134bb)
  • use new prepare_primers rule in new structure (4d06939)
  • use new prepare_gffs rule with the new structure (537d09)
  • add basic gff filter script (09ada9)
  • Refactor with bottum up approach (682cafa)
  • Rename Sample to sample (a6c0e48)
  • Change to wc_pattern (214e21)
  • Switch wc_pattern to wc_folder (40d4d2e)
  • Remove threads: 1 as it is default (5cd6ca6)
  • Make wildcard notation consistent (8fe4f7e)
  • Re-ordering of code (b3d891)
  • Remove mincov variable in snakefile (5bb47a9)
  • change used fonts in the generated report to accomodate fpdf2 (5bb91d1)
  • merge if statement blocks to singular condition (7b2882f)
  • simplify boolean returns (615d2cf)
  • use new expression for conditional in samplesheet generator (8ca585a)

Dependencies

  • update AmpliGone to version 1.0.1 (e4c054c)
  • update TrueConsense version to v0.4.0 (e4c054c)
  • use Pypi for AmpliGone installation instead of building from source (e4c054c)
  • add python3.7 to the Alignment env for improved env-stability (d87c746)
  • update snakemake to lenient version 7.3 (56d8fe)

Documentation

  • Add information for primer bed support (e4c054c)
  • update docs for multi-target analysis (e4c054c)
  • update documentation for new ViroConstrictor functions (e4c054c)
  • update installation command for python3.10 (e4c054c)
  • update documentation index page with correct required snakemake version (e4c054c)
  • Add explanatory docstring to CheckSampleProperties function (4a552ad)
  • Add explanatory docstrings to all functions in ViroConstrictor.parser (b09f4d)
  • Add explanatory docstrings to all functions in ViroConstrictor.runconfigs (2ff8185)
  • Add explanatory docstrings to all functions in ViroConstrictor.samplesheet (a1e7093)
  • Add explanatory docstrings to all functions in ViroConstrictor.userprofile (30ec8af8)
  • Add explanatory docstrings to all functions in ViroConstrictor.validatefasta (c199d7c9)
  • Add error message for samplesheet duplicates (efa0761)

0.4.2 (2022-04-12)

Bug Fixes

  • limit the self-updater to only update minor and patch versions (f864f55)

0.4.1 (2022-03-08)

Bug Fixes

  • correct the memory assignment and threads for RemovePrimers job when no primers are given (a9ebe02)

0.4.0 (2022-02-04)

Features

  • add an adjustable mismatch rate for the primer search (7fc4265)
  • dynamically set usable cpus/threads in local execution mode (1ec85bb)
  • Write a short report with the used/configured settings of the analysis (0c46366)

Bug Fixes

  • add missing --skip-updates flag (f360161)
  • corrected update function parameters (7f37d90)
  • finish an analysis when empty input fastq files are given (d178587)
  • properly exit with right exit codes and print closing message (f1bbe13)

Performance Improvements

  • tweak read qc filtering settings (b3aab5a)
  • use adjusted mm2 mapping settings in nanopore-mode (c027daa)

Dependencies

  • add FPDF version 1.7.2 to dependency lists (cfcd9ee)
  • add lenient version requirements to mamba (07ebfcc)
  • add urllib3 v1.26 to dependency list for the auto-updater (cfcd9ee)
  • change biopython version in python setupfile (07ebfcc)
  • change pysam to lenient versioning (cfcd9ee)
  • inlcude conda (lenient) version 4.11.x in main env for compatibility (cfcd9ee)
  • pin pysamstats version to 1.1.2 (cfcd9ee)
  • pin tqdm (lenient) version to 4.62.x (cfcd9ee)
  • pin TrueConsense to version 0.3.0 (cfcd9ee)
  • remove pysamstats from 'clean' environment (cfcd9ee)
  • update AmpliGone 0.4.0 → 0.4.1 (ea06728)
  • update AmpliGone 0.4.1 → 0.4.3 (af62d22)
  • update AmpliGone version 0.2.3 → 0.4.0 (cfcd9ee)
  • update bcftools 1.12 → 1.14 (cfcd9ee)
  • update bedtools 2.29.2 → 2.30.0 (cfcd9ee)
  • update biopython 1.78 → 1.79 (cfcd9ee)
  • update fastp 0.20.1 → 0.23.2 (cfcd9ee)
  • update fastqc 0.11.8 → 0.11.9 (cfcd9ee)
  • update minimap2 & mappy 2.17 → 2.24 (cfcd9ee)
  • update multiqc 1.9 → 1.11 (cfcd9ee)
  • update pandas 1.2.3 → 1.3.5 (cfcd9ee)
  • update parmap 1.5.2 → 1.5.3 (cfcd9ee)
  • update PyYaml 5.4.1 → 6.0 (cfcd9ee)
  • update samtools 1.11 → 1.14 (cfcd9ee)
  • update seqkit 0.14.0 → 2.1.0 (cfcd9ee)
  • update snakemake 6.4.1 → 6.13.1 (cfcd9ee)

Documentation

  • add importance of primer name and number to docs (7107398)
  • include primer mismatch rate flag to documentation (531f526)
  • update installation instructions (5944d22)

0.3.0 (2021-11-15)

Features

  • allow ViroConstrictor to update itself to latest release (11ad616)
  • flexible memory requirements per workflow job (7c189cd)

Bug Fixes

  • change consensus calling to a 'mid' cpu-task (3094b78)

0.2.3 (2021-11-03)

Documentation

  • add explanatory comments to docs config (f3e05ec)

0.2.2 (2021-11-03)

Bug Fixes

  • change amplicon covs script to complete with empty input #5 (6900638)
  • complete workflow with primers set to NONE (47becf8)
  • use 'map-ont' mm2 preset in nanopore workflow (f89d5cf)