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
anddefaults
channels as providers in conda environment recipes, setnodefaults
(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
andsamples_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 namedViroConstrictor.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¶
- empty commit (84a34b9)
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¶
Documentation¶
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¶
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)