Skip to content

Releases: B-UMMI/chewBBACA

v3.3.5

18 Apr 09:39
Compare
Choose a tag to compare
  • Added function to check if input files passed to the CreateSchema and AlleleCall modules have unique prefixes longer than 30 characters (the prefix includes everything in the basename before the first .). The process prints a message with the list of input files with a prefix longer than 30 characters and exits.

  • Fixed issue in the AlleleCall module when running in mode 1 (trying to write the file with the list of invalid CDSs, but the data is not available when running in mode 1).

  • Added more tests and improved test scripts.

  • Simplified the help message for all modules.

v3.3.4

17 Apr 09:20
Compare
Choose a tag to compare
  • Improved BLAST exception capturing.

  • CreateSchema and Allelecall exit if input files include blank spaces in the filename.

  • Removed global variable that could lead to issues during multiprocessing.

v3.3.3

23 Feb 12:14
Compare
Choose a tag to compare
  • Fixed warning related with BLASTp --seqidlist parameter. For BLAST>=2.9, the TXT file with the sequence IDs is converted to binary format with blastdb_aliastool.

  • The Bio.Application modules are deprecated and might be removed from future Biopython versions. Modified the function that calls MAFFT so that it uses the subprocess module instead of Bio.Align.Applications.MafftCommandline. Changed the Biopython version requirement to >=1.79.

  • Added a pyproject.toml configuration file and simplified the instructions in setup.py. The use of setup.py as a command line tool is deprecated and the pyproject.toml configuration file allows to install and build packages through the recommended method.

  • Updated the Dockerfile to install chewBBACA with python3 -m pip install . instead of the deprecated python setup.py install command.

  • Removed FASTA header integer conversion before running BLASTp. This was done to avoid a warning from BLAST related to sequence header length exceeding 50 characters.

  • The seqids and coordinates of the CDSs closest to contig tips are stored in a dictionary during gene prediction to simplify LOTSC and PLOT5/3 determination (in many cases this reduces runtime by ~20%).

  • Limited the number of values stored in memory while creating the results_contigsInfo.tsv and results_alleles.tsv output files to reduce memory usage.

  • Adding data to the FASTA and TSV files for the missing classes per locus instead of storing the complete per input data to reduce memory usage.

  • The data for novel alleles is saved to files to reduce memory usage.

  • Fixed the in-frame stop codon count values displayed in the reports created by the SchemaEvaluator module.

  • The UniprotFinder module now exits cleanly if the output directory already exists.

  • Improved info printed to the stdout by the CreateSchema and AlleleCall modules, added comments, and changed variable names to better match data being stored.

v3.3.2

16 Jan 11:46
Compare
Choose a tag to compare
  • Changed FASTA file validation to reduce memory usage.

  • Removed legacy schema conversion. Users should use the PrepExternalSchema module to adapt schemas created with chewBBACA<=2.1.0.

  • Added prints about output files created by the PrepExternalSchema module.

v3.3.1

03 Nov 14:41
Compare
Choose a tag to compare
  • Fixed issue leading to errors during allele calling if it was running in default mode (4) and all CDSs were classified before representative determination.

  • Fixed schema name assignment in the DownloadSchema module.

  • Fixed bug related to gene prediction parallelization when running Pyrodigal in meta mode.

v3.3.0 - Rwookrrorro

13 Oct 09:36
Compare
Choose a tag to compare

Added the AlleleCallEvaluator module. This module generates an interactive HTML report for the allele calling results. The report provides summary statistics to evaluate results per sample and per locus (with the possibility to provide a TSV file with loci annotations to include on a table). The report includes components to display a heatmap representing the loci presence-absence matrix, a heatmap representing the distance matrix based on allelic differences and a Neighbor-Joining tree based on the MSA of the core genome loci.

Additional changes

  • Added pyrodigal for gene prediction. This simplified the processing of the gene prediction results and reduced runtime.
  • Fixed an issue where the AlleleCall module would try to create results files for excluded inputs.
  • Fixed exception capturing during multiprocessing when using Python>=3.11.
  • Fixed PLOT5/3 identification when coding sequences are in the reverse strand.
  • Fixed computation of the representative self-scores when performing allele calling for a subset of the loci in a schema (would only compute the self-scores for the subset of loci if the "self_scores" file had still not been created).
  • Fixed issue related to the classification of single EXC/INF and single/multiple ASM/ALM (would classify some inputs as NIPH instead of EXC/INF).
  • Fixed issue related to protein exact match classification when multiple pre-computed PROTEINtable files include the same protein hash.
  • Changed the -i, --input-files parameter in the PrepExternalSchema and UniprotFinder modules to -g, --schema-directory and added the --gl, --genes-list parameter to enable adapting or annotating a subset of the loci in the schema.

v3.2.0 - Wroshyr

29 Sep 10:58
Compare
Choose a tag to compare

New version of the SchemaEvaluator module. The updated version fixes several issues related to outdated dependencies that led to errors in the previous version. The new version also includes new features and components. Read the docs page to know more about the latest version of the SchemaEvaluator module.

Additional changes

  • Updated the link to the UniProt FTP used by the UniprotFinder module.
  • Added the .fas file extension to the list of file extensions accepted by chewBBACA. chewBBACA accepts genome assemblies and external schemas with FASTA files that use any of the following file extensions: .fasta, .fna, .ffn, .fa and .fas. The FASTA files created by chewBBACA use the .fasta extension.
  • Fixed an issue in the PrepExternalSchema module where it would only detect FASTA files if they ended with the .fasta extension.
  • Added the --size-filter parameter to the PrepExternalSchema module to define if the adaptation process should filter out alleles based on the minimum length and size threshold values.
  • Added the --output-novel parameter to the AlleleCall module. If this parameter is used, the AlleleCall module creates a FASTA file with the novel alleles inferred during the allele calling. This file is created even if the --no-inferred parameter is used and the novel alleles are not added to the schema.

v3.0.0 - Shyriiwook

14 Dec 16:54
Compare
Choose a tag to compare

New implementation of the AlleleCall process. The new implementation was developed to reduce execution time, improve accuracy and provide more detailed results. It uses available computational resources more efficiently to allow for analyses with thousands of strains in a laptop. This new version is fully compatible with schemas created with previous versions.

AlleleCall changes

  • The new implementation avoids redundant comparisons through the identification of the set of distinct CDSs in the input files. The classification for a distinct CDS is propagated to classify all input genomes that contain the CDS.
  • Implemented a clustering step based on minimizers to cluster the translated CDSs. This step complements the alignment-based strategy with BLASTp to increase computational efficiency and classification accuracy.
  • The AlleleCall process has 4 execution modes (1: only exact matches at DNA level; 2: exact matches at DNA and Protein level; 3: exact matches and minimizer-based clustering to find similar alleles with BSR > 0.7; 4: runs the full process to find exact matches and all matches with BSR >= 0.6).
  • Files with information about loci length modes (loci_modes) and the self-alignment raw score for the representative alleles (short/self_scores) are pre-computed and automatically updated (the process no longer creates and updates a file with the self-alignment raw score per locus).
  • The process creates the pre_computed folder to store files with hash tables that are used to speedup exact matching and avoid running the step to translate the schema alleles in every run.
  • Added the --cds parameter to accept FASTA files with CDSs (one FASTA file per genome) and skip gene prediction with Prodigal.
  • Users can control the addition of novel alleles to the schema with the --no-inferred parameter.
  • Added the --output-unclassified parameter to write a FASTA file (unclassified_sequences.fasta) with the distinct CDSs that were not classified in a run.
  • Added the --output-missing parameter to write a FASTA file (missing_classes.fasta) and a TSV file with information about the classified sequences that led to a locus being classified as ASM, ALM, PLOT3, PLOT5, LOTSC, NIPH, NIPHEM and PAMA.
  • Added the --no-cleanup parameter to keep the temporary folder with intermediate files created during a run.
  • Removed the --contained, --force-reset, --store-profiles (to be reimplemented in a future release), --json and --verbose parameters.
  • The --force-continue parameter no longer allows users to continue a run that was interrupted. This parameter is now used to ignore warnings and prompts about missing configuration files and the usage of multiple argument values per parameter.
  • The allelic profiles in the results_alleles.tsv file can be hashed by providing the --hash-profiles parameter and a valid hash type as argument (hash algorithms available from the hashlib library and crc32 and adler32 from the zlib library).
  • The process creates a TSV file, cds_coordinates.tsv, with the genomic coordinates for all CDSs identified in the input files.
  • The process creates a TSV file, loci_summary_stats.tsv, with summary statistics for loci classifications.
  • The process no longer creates the RepeatedLoci.txt file. It now creates the paralogous_counts.tsv and paralogous_loci.tsv files with more detailed information about the loci identified as paralogous.
  • The PLNF class is attributed in modes 1, 2 and 3 to indicate that a more thorough analysis might have found a match for the loci that were not found (LNF).
  • CDSs that match several loci are classified as PAMA.
  • Bugfix for PLOT3, PLOT5 and LOTSC classification types. LOTSC classification was not always attributed when a contig was smaller than the matched representative allele and some PLOT5 cases were classified as LOTSC. LOTSC cases counted as exact matches in the results_statistics.tsv file.

Additional changes

  • The UniprotFinder allows users to search for annotations through UniProt's SPARQL endpoint or based on matches against UniProt's reference proteomes or both.
  • Bugfix for an issue in the UniprotFinder module that was leading to errors when the data returned by UniProt's SPARQL endpoint only contained one set of annotation terms.
  • Bugfix for an issue in the UniprotFinder module that was preventing the annotations from being written to the output file.
  • Bugfix for an issue in the map_async_parallelizer function that led to high memory usage.
  • Implemented and changed several functions in the modules included in the utils folder to optimize code reusability, reduce runtime and peak memory usage, especially for large schemas and datasets (these changes affect mostly the CreateSchema and AlleleCall modules).
  • Updated function docstrings and added comments.

v2.7.0 - Aarrr wwgggh waah

17 Mar 01:42
ef487f8
Compare
Choose a tag to compare

New implementation of the CreateSchema process. This new implementation significantly reduces execution time. It is designed to enable schema creation based on hundreds or thousands of assemblies on a laptop. The schemas generated by the new implementation are fully compatible with previous versions.

Additional changes

  • Improved detection of invalid inputs (inputs that do not contain coding sequences (CDSs), that contain invalid sequences/characters, empty files, etc).
  • New parameter --pm allows users to set Prodigal's execution mode. The single mode is the default mode. Use the meta mode for input files that have less than 100kbp (e.g.: plasmids, viruses).
  • CreateSchema accepts a single or several FASTA files with CDSs if the --CDS option is included in the command. This option skips the gene prediction step with Prodigal and creates a schema seed based on the CDSs in the input files.
  • AlleleCall can automatically detect parameter values previously used with a schema. Users only need to provide values for the -i, -g and -o parameters.

v2.6.0 - Yyyuurrrrrrruuunghh

09 Mar 14:36
Compare
Choose a tag to compare

The SchemaEvaluator module was refactored due to unsupported dependencies that were not allowing the report generation. The style of the report is similar to what can be found on Chewie-NS.

More in-depth information about the module can be found on its wiki page.