Recent Releases of chewbbaca
chewbbaca - v3.4.2
Fixed issue in the ExtractCgMLST module related to using the deprecated Plotly titlefont attribute. Support for the titlefont attribute was dropped in Plotly v6.0.0. The ExtractCgMLST module would exit with an error and fail to generate the HTML plot if Plotly >= v6.0.0 was installed.
The LoadSchema module no longer queries UniProt's SPARQL endpoint to retrieve annotations. The current implementation was failing to retrieve annotations. Users should use the UniprotFinder module or the annotation functionalities provided by Schema Refinery to annotate the schema loci and create a TSV file with annotations to submit to Chewie-NS.
- HTML
Published by rfm-targa 6 months ago
chewbbaca - v3.4.1
- Changed the
-max_target_seqsvalue used by the select_representatives function to the square of the number of potential new representative alleles or to a minimum of 100. This change tries to fix an issue where BLASTp would not report the self-alignment for some alleles because it reached the limit of the number of alignments to report before reporting all self-alignments (e.g. for very large datasets, the number of potential new representatives may lead to a number of alignments that exceeds the value passed to-max_target_seqs).
- HTML
Published by rfm-targa 7 months ago
chewbbaca - v3.3.8
Added support for genetic codes 2, 3, 5, 6, 9, 10, 12-16, 21-25 (complete list available here). Values passed to
--t,--translation-tableare ignored if a training file is used. The CreateSchema, AlleleCall and PrepExternalSchema modules use the genetic code used to create the training file.Fixed issue related to data about CDSs close to the contig tips not being available if input FASTA files contain CDSs and
--cdsis used.Fixed issue in the AlleleCallEvaluator module related to entirely numeric columns.
- HTML
Published by rfm-targa over 1 year ago
chewbbaca - v3.3.6
Added support for translation tables different than 11 to UniprotFinder and AlleleCallEvaluator.
Added check for legacy schemas that include files terminating in
bsr.txt. The AlleleCall module warns users that the schema needs to be adapted and exits.Changed the
max_targetsvalue in UniprotFinder to avoid BLASTp warning when aligning schema representative alleles against proteomes.Fixed an issue in the AlleleCallEvaluator module when using
--no-paand--no-dm.The AlleleCallEvaluator module no longer tries to compute the distance matrix, MSA, and tree if the cgMLST is composed of 0 loci.
Fixed an issue in RemoveGenes where it would not get the first ID in the input list.
Updated Dockerfile. Using pip to install chewBBACA instead of downloading source from GitHub.
- HTML
Published by rfm-targa over 1 year ago
chewbbaca - v3.3.5
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.
- HTML
Published by rfm-targa almost 2 years ago
chewbbaca - v3.3.3
Fixed warning related with BLASTp
--seqidlistparameter. For BLAST>=2.9, the TXT file with the sequence IDs is converted to binary format withblastdb_aliastool.The
Bio.Applicationmodules are deprecated and might be removed from future Biopython versions. Modified the function that calls MAFFT so that it uses the subprocess module instead ofBio.Align.Applications.MafftCommandline. Changed the Biopython version requirement to >=1.79.Added a
pyproject.tomlconfiguration file and simplified the instructions insetup.py. The use ofsetup.pyas a command line tool is deprecated and thepyproject.tomlconfiguration 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 deprecatedpython setup.py installcommand.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.tsvandresults_alleles.tsvoutput 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
UniprotFindermodule 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.
- HTML
Published by rfm-targa almost 2 years ago
chewbbaca - v3.3.2
Changed FASTA file validation to reduce memory usage.
Removed legacy schema conversion. Users should use the
PrepExternalSchemamodule to adapt schemas created with chewBBACA<=2.1.0.Added prints about output files created by the
PrepExternalSchemamodule.
- HTML
Published by rfm-targa about 2 years ago
chewbbaca - v3.3.1
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.
- HTML
Published by rfm-targa over 2 years ago
chewbbaca - v3.3.0 - Rwookrrorro
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-filesparameter in the PrepExternalSchema and UniprotFinder modules to-g,--schema-directoryand added the--gl,--genes-listparameter to enable adapting or annotating a subset of the loci in the schema.
- HTML
Published by rfm-targa over 2 years ago
chewbbaca - v3.2.0 - Wroshyr
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
.fasfile 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,.faand.fas. The FASTA files created by chewBBACA use the.fastaextension. - Fixed an issue in the PrepExternalSchema module where it would only detect FASTA files if they ended with the
.fastaextension. - Added the
--size-filterparameter 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-novelparameter 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-inferredparameter is used and the novel alleles are not added to the schema.
- HTML
Published by rfm-targa over 2 years ago
chewbbaca - Shyriiwook
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_computedfolder 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
--cdsparameter 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-inferredparameter. - Added the
--output-unclassifiedparameter to write a FASTA file (unclassified_sequences.fasta) with the distinct CDSs that were not classified in a run. - Added the
--output-missingparameter 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-cleanupparameter 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),--jsonand--verboseparameters. - The
--force-continueparameter 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.tsvfile can be hashed by providing the--hash-profilesparameter 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.txtfile. It now creates theparalogous_counts.tsvandparalogous_loci.tsvfiles 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.tsvfile.
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 mapasyncparallelizer function that led to high memory usage.
- Implemented and changed several functions in the modules included in the
utilsfolder 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.
- HTML
Published by rfm-targa about 3 years ago
chewbbaca - Aarrr wwgggh waah
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
--pmallows users to set Prodigal's execution mode. Thesinglemode is the default mode. Use themetamode for input files that have less than 100kbp (e.g.: plasmids, viruses). CreateSchemaaccepts a single or several FASTA files with CDSs if the--CDSoption 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.AlleleCallcan automatically detect parameter values previously used with a schema. Users only need to provide values for the-i,-gand-oparameters.
- HTML
Published by rfm-targa almost 5 years ago
chewbbaca - Yyyuurrrrrrruuunghh
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.
- HTML
Published by rfm-targa almost 5 years ago
chewbbaca - Caretaker
Release with version 2.5.5
Changes since last release with version 2.1.0 include:
We've developed Chewie-NS, a Nomenclature Server that is based on the TypOn ontology and integrates with chewBBACA to provide access to gene-by-gene typing schemas and to allow a common and global allelic nomenclature to be maintained.
To allow all users to interact with Chewie-NS, we've implemented the following set of modules:
LoadSchema: enables upload of new schemas to Chewie-NS.DownloadSchema: enables download of any schema from Chewie-NS.SyncSchema: compares local schemas, previously downloaded from Chewie-NS, with the remote versions in Chewie-NS to download and add new alleles to local schemas, submit new alleles to update remote schemas and ensure that a common allele identifier nomenclature is maintained.NSStats: retrieves basic information about species and schemas in Chewie-NS.
The documentation includes information about the integration with chewBBACA and how to run the new LoadSchema, DownloadSchema, SyncSchema and NSStats processes. Chewie-NS source code is freely available and deployment of local instances can be easily achieved through Docker Compose.
This version also includes other changes:
- The
AlleleCallprocess will detect if a schema was created with previous chewBBACA versions and ask users if they wish to convert the schema to the latest version. The conversion process will not alter your schema files, it will simply add configuration files and copy the Prodigal training file to the schema's directory. You can force schema conversion with the--fcargument. - The Prodigal training file used to create the schema will be included in the schema's directory and can be automatically detected by the
AlleleCallprocess. - Schemas created with the
CreateSchemaprocess or adapted with thePrepExternalSchemaretain information about parameters values (BLAST Score Ratio, Prodigal training file, genetic code, minimum sequence length and sequence size variation threshold) and users are advised to keep performing allele call with those parameters values to ensure consistent results and provide the possibility of schema upload to the Chewie-NS. The AlleleCall process detects if a user provides parameters values that differ from the original values and requests confirmation before proceeding (you may force execution with the--fcargument). - The AlleleCall process creates a SQLite database in the schema's directory that is used to store the allelic profiles determined with that schema.
- Further optimizations in the
PrepExternalSchemaprocess.
- HTML
Published by rfm-targa over 5 years ago
chewbbaca - Mimban
Release with version 2.1.0. Changes since last release with version 2.0.5 include: - New PrepExternalSchema process implementation; - New argument options in the AlleleCall process (--CDS, --st) and a timestamp is added to new alleles names; - New argument option in the CreateSchema process (--CDS); - ExtractCgMLST process optimization; - Prodigal training files included in the package; - Bug correction;
- HTML
Published by rfm-targa almost 6 years ago