Skip to content
Tags give the ability to mark specific points in history as being important
  • 6-1-1
    This is bug fix release 6.1.1.
    
    This release fixes some issues identified in antiSMASH 6.1.0:
    
    * Duplicate CDS detection had false positives in unrelated CDS features.
    * Some long CDS locus tags had spaces inserted when reading via biopython,
      causing failures on reloading antiSMASH results. Spaces are now stripped from
      locus tags.
    * Unpinned python dependencies were causing some issues for some users. These
      dependencies are now all pinned.
    * Output zip files were created with owner-only read permissions by default. This
      has changed to owner, group, and others having read permissions on the zip
      file.
    
    Some code de-duplication was also included.
    
    Detailed changes since 6.1.0:
    
    Kai Blin (2):
          secmet: Reduce the risk of crc32 collisions in duplicate CDS location detection
          main: Make sure the output zipfile has sane permissions
    
    Simon Shaw (4):
          secmet: remove unnecessary code for finding child CDS features for new regions
          secmet: handle biopython introducing spaces into locus tags
          chore: pin dependencies
    
  • 6-1-0
    antiSMASH 6.1.0
    
    Introduces a new visualisation for NRPS/PKS modules along with new NRPS/PKS domains.
    Updates reference databases for clustercompare's MIBiG comparison, and Pfam
    detection modules.
    
    Also includes a number of fixes and other small improvements
    
    Detailed changes since 6.0.0:
    
    Kai Blin (6):
          nrps_pks_domains: Also detect thiocysteine lyase domains as described in doi:10.1038/s41467-021-25798-8
          secmet: Allow None for the Feature.overlaps_with() check
          chore: Don't create dummy CDSes with the exact same location in the modules tests
          secmet: ensure that we don't add two CDSes with the exact same location
          secmet: Fix locus tag duplicates even if the conflicting CDSes only overlap with a gene feature of the same name
          outputs/html: Honour output_basename in the HTML page title
    
    Simon Shaw (97):
          download_databases: fix database dir not propagating to prepare_data
          lanthipeptides: deconflict prepeptide feature name
          sactipeptides: deconflict prepeptide feature name
          thiopeptides: deconflict prepeptide feature name
          lassopeptides: lassopeptides: deconflict prepeptide feature name
          clusterblast: fix crash on sideloaded regions with no CDS
          chore: pin biopython version to avoid incompatibility
          secmet: move frameshift function to secmet.locations
          secmet: fix translation generation of frameshifted CDSes
          common.gff_parser: keep all features found in GFF inputs
          chore: handle deprecations in jinja2 >= 3.0
          html: embed mask SVGs in CSS to avoid CORS on local files
          common.record_processing: catch bad qualifier warnings early
          pfam2go: update Pfam GO mapping
          common.pfamdb: make logging messages consistent
          download_databases: update Pfam latest to 34.0
          clusterblast: adjust tests to handle newer diamond versions
          html: shrink javascript data size
          html: allow body detail divs to have scroll bars if necessary
          html: add structure for visualisation-only submodules
          html: use collapsers for Pfam/Tigrfam/GO details in sidepanel
          html: update antismash.js to 0.10.0
          html: expand pfam drawing to cover all HMMer results
          html: default generic domain view to expanded mode
          nrps_pks_domains: include DH2 as a modification domain
          nrps_pks_domains: annotate subtypes on ModularDomain where possible
          nrps_pks_domains: add carnitine-AT domain
          nrps_pks_domains: add accessor for module components
          nrps_pks_domains: merge additional modules in split-CDS modules when relevant
          nrps_pks_domains: include more domains in modules when relevant
          nrps_pks_domains: don't register modules containing only a single domain
          nrps_pks_domains: add SH domains in module/double carrier protein handling
          nrps_pks_domains: add a public method to get CSS and abbreviations for domains
          nrps_pks_domains: fix ModularDomain being modified post-creation by nrps_pks
          nrps_pks_domains: include TIGR01720 as a special domain in modules
          cluster_compare: use a minimal and updatable database for integration tests
          nrps_pks: add candidate kind to layer
          nrps_pks: make result schema version public
          nrps_pks: use starter/final module status instead of specific domains
          html: add modular domain 'bubble' visualiser
          secmet: add members for area product category/categories
          hmm_detection: pass product category to created protoclusters
          chore: change 'will_handle()' to also take categories
          hmm_detection: fix linaridin category and add description
          html: allow fallback to rule category for CSS if no CSS for product
          rrefinder: use product categories to test if a cluster is a RiPP
          sideloader: add string functions for result types
          sideloader: pass full record through to result generation
          sideloader: require all sideloaded areas to have at least one CDS
          config: add an action for splitting comma separated lists in args
          sideloader: add options for creating arbitrary subregions around CDSes by name
          main: auto-import analysis modules
          genefinding: move from 'detection' namespace to 'support'
          main: automatically detect, import, and use detection modules
          main: split --list-plugins into sections based on detection stage
          main: remove unreachable returns and raises
          chore: handle pylint 'consider-using-with' message where possible
          chore: consistently use 'from ... import ...' style
          chore: remove unused imports and context handlers
          clusterblast: clean up test file read logic
          hmm_detection: remove code for python < 3.5 from tests
          hmm_detection: add missing docstrings for categories
          common.hmm_rule_parser: fix accidental concatenation in test strings
          cluster_compare: fix ineffective order scaling test
          html: fix variable name shadowing import name
          secmet: remove shadowed import in region
          secmet: add missing docstring to AntismashDomain subtype handling
          chore: style pass for misc pylint 2.10 messages
          chore: update pinned pylint version to 2.10.2
          html,common.layers: fix circular import
          full_hmmer: fix missing typing in data rebuild script
          chore: satisfy flake8 whitespace
          nrps_pks_domains: remove code duplication in tests
          cassis: break circular dependency on config constants
          chore: update mypy to 0.910
          chore: bump version to 6.1.0
          chore: add a github action for comparing pull requests
          chore: use more permissive mode for linting action
          domain_identification: prevent cross-CDS modules forming when interrupted
          html: update antismash.js to 0.10.1
          html: fix crash when regions contain no protoclusters
          html: add test for records without protoclusters
          nrps_pks: fix non-colinear CDS ordering when cross-CDS modules are involved
          nrps_pks: fix polymer formation duplicating monomers from cross-CDS modules
          nrps_pks: don't include chained CDS features in domain-docking count limit
          html: truncate cross-CDS modules in bubble view when not fully in candidate
          html: update antismash.js to 0.11.0
          html: fix hybrid region CSS
          sactipeptides: remove unused genbank in tests
          lanthipeptides: avoid duplication of found CDS features
          sactipeptides: avoid duplication of found CDS features
          thiopeptides: avoid duplication of found CDS features
          lassopeptides: avoid duplication of found CDS features
          cluster_compare: change data sources in MIBiG DB building
          cluster_compare: fix MIBiG DB generation for 'Other' subclass
          cluster_compare: don't include post-detection gene functions in databases
          download_databases: update clustercompare database version
  • 6-0-1
    This is the bugfix release 6.0.1.
    
    This release fixes three issues identified in antiSMASH 6.0.0:
    
    * The download_database script didn't propagate the database dir to the
      prepare_data step.
    * When using sideloading, subregions not containing any CDSes would crash
      clusterblast.
    * In regions containing multiple RiPP protoclusters, if two of the RiPP
      modules decided that a specific ORF was a potential prepeptide, this would
      trigger a name conflict for the newly created prepeptide annotation feature.
    
    This release also works around the newly released Biopython 1.79 changing the
    way WGS master record sequences are annotated and breaking our WGS master
    record detection. 6.0.x releases will keep using Biopython 1.78.
    
    Detailed changes:
    
    Kai Blin (1):
          chore: bump version to 6.0.1
    
    Simon Shaw (7):
          download_databases: fix database dir not propagating to prepare_data
          lanthipeptides: deconflict prepeptide feature name
          sactipeptides: deconflict prepeptide feature name
          thiopeptides: deconflict prepeptide feature name
          lassopeptides: lassopeptides: deconflict prepeptide feature name
          clusterblast: fix crash on sideloaded regions with no CDS
          chore: pin biopython version to avoid incompatibility
    
  • 6-0-0
    antiSMASH 6.0.0
    
    The antiSMASH team is happy to announce the stable release of antiSMASH 6.0.0.
    antiSMASH 6.0.0 increases the number of detected BGC types to 71, adds a new
    cluster comparison algorithm, a TIGRFam detection module, and many other
    smaller changes. For details, see the [antiSMASH 6
    paper](https://doi.org/10.1093/nar/gkab335).
    
    Detailed changes:
    
    Alexander Kloosterman (3):
          common.hmmer: allow for disabling cut-tc in searches
          common.pfamdb: make logging message generic
          rrefinder: add RREfinder module
    
    Kai Blin (48):
          nrps_pks_domains: Fix off-by-one errors in featute/motif translation calculations
          nrps/pks: Don't crash in orderfinder if there's no complete module
          main: More control over output filenames
          chore: bump antiSMASH version to 6.0.0alpha1
          clusterblast: Properly detect magic value used during Docker lite image build
          chore: Use the most current base image for the docker dev image
          config: Bump version number in config file to allow for concurrent as5/6 installs
          common: Relax legal identifier rules to support '2OG-FeII_Oxy' as a profile name
          common/hmm_rule_parser: Detect all rule keywords in is_a_rule_keyword() check
          common/hmm_rule_parser: Add CATEGORY keyword to allow classifying protoclusters by MIBiG category
          hmm_detection: Ensure rule categories are valid
          hmm_detection: Add prodigiosin rule to pick up Serratia-style prodigiosin clusters
          html: Allow downloading region SVGs
          nrps_pks_domains: Allow downloading NRPS/PKS domain SVG
          html: Allow downloading Pfam domain SVGs
          html: Allow downloading the record overview SVGs
          tigrfam: Add new TIGRFam detection module
          html: Show PFAM and TIGR domain hits in gene details
          chore: update .gitignores
          hmm_detection: Use new alias system to simplify PKS rules
          hmm_detection: Add rule for non-alpha poly-amino acid (NAPAA) clusters
          hmm_detection: Add cluster rule for pyrrolidines
          hmm_detection: Rename TfuA-related to thioamitides
          hmm_detection: Rename 'fused' to 'guanidinotides'
          hmm_detection: Also try to identify clusters based on RREFinder profiles
          hmm_detection: LAPs can also contain an E1 type enzyme
          hmm_detection: TIGR03678 is the patellamide-style precursor, a cyanobactin
          hmm_detection: Rename 'bacteriocin' type to 'RiPP-like'
          hmm_detection: change LAP rule to avoid false positives in cyanobactin
          hmm_detection: our old 'head_to_tail' type is covered by 'sactipeptide' now
          hmm_detection: Add detection rule new ranthipeptide cluster type
          hmm_detection: Move some LAP-related profiles from RiPP-like to LAP
          html: Lipolanthines are sort of lanthipeptides, so colour them like that
          hmm_detection: detect lanthipeptide class already at cluster detection stage
          hmm_detection: Detect redox cofactors like PQQ and mycofactocin
          hmm_detection: Change glycocins to CATEGORY RiPP
          rrefinder: Update list of RiPP products
          secmet: ds-DNA is also a valid molecule type
          common: Give a better error message when non-JSON inputs are passed to --reuse-results
          hmm_detection: TIGR03793 detects proteusin precursors, move to the appropriate rule
          hmm_detection: Avoid false positive ranthipeptide calls on thiopeptides
          hmm_detection: Add detection rule for epipeptides
          hmm_detection: Add rule for cyclic lactone autoinducers
          hmm_detection: Add rule to detect spliceotide clusters
          hmm_detection: Allow filtering supported cluster types by category
          rrefinder: Dynamically get list of RiPP products from rule parser
          hmm_detection: Drop a dubious part of the NRPS rule for causing false positives
          chore: bump version to 6.0.0
    
    Simon Shaw (86):
          html: add an option to start the overview in compact mode
          clusterblast,download_databases: update clusterblast to antiSMASH-DB v3
          clusterblast: catch older formats of clusterblast database
          chore: pin mypy version for consistent type checking
          download_databases: remove unnecessary typing ignore
          chore: remove all obsolete or typing related unused-import ignores
          chore: convert all comment type hints to python 3.7 style hints
          common.hmmer: convert hit dict to dataclass
          genefinding: fix options test with no checks
          chore: style pass
          chore: upgrade pylint version
          common.logs: handle newer pytest changing caplog behaviour
          chore: handle biopython's removal of Alphabet in 1.78 and update
          chore: bump minimum python version to 3.7
          clusterfinder: remove module and references to it
          secmet: remove probabilities from PfamDomains, Regions and Subregions
          download_databases: remove Pfam27 as a downloaded database
          clusterblast: fix SVG drawing for inputs with '.' accessions
          clusterblast: add test for docker runtime mount processing
          config: fix incorrect executables arg placeholder
          chore: update mypy to a py3.8 compatible version
          chore: fix implied removal of 'no cover' pragma for coverage
          common.hmmer: fix incorrect end coordinate adjustment
          common.test: add a record id option for DummyRecord
          common.pfamdb: add gathering cutoffs from profiles
          common.hmmer: filter overlapping hits by default
          common.hmmer: make HmmerResults regeneration consistent with ModuleResults
          html: remove unused and redundant cog_annotations.txt
          html: add Pfam visualisation
          secmet: change AntismashDomain to be a generic subclassable feature
          secmet: add passthrough for domain arg for AntismashDomain
          secmet: order the results of get_unique_protoclusters()
          secmet: add sideload variants of protoclusters and subregions
          secmet: exclude sideloaded detection rules from candidates
          html: pass a full region instance rather than parts
          html: make 'unknown' an actual CSS class
          html: handle sideloaded CDS collections differently
          config: add an arg action for comma separated paths
          sideloader: add module for importing external annotations
          common.hmm_rule_parser: annotate outside protoclusters if in subregions
          html: update antismash.js to 0.7.0
          common.hmmer: remove unnecessarily specific logging
          secmet: handle biopython inserting spaces in long domain names
          secmet: remove the option to set CDS sec_met qualifier to None
          common.serialiser: convert result JSON before truncating existing file
          chore: change 'make clean' to be more generic with diamond databases
          clusterblast: move diamond db checks to common.subprocessing.diamond
          secmet: add a contains method to CDSCollection
          html: add per-module custom JS data exporting
          cluster_compare: add new cluster comparison module
          html: update antismash.js to 0.8.0
          html: update javascript to 0.8.1
          common.hmmer: fix documentation on build_hits
          sideloader: fix incomplete help for command line arg
          rrefinder: fix naming duplications for features
          rrefinder: fix hits duplicating in overlapping protoclusters
          common.hmm_rule_parser: fix an incorrect type
          common.hmm_rule_parser: fix incorrect behaviour with 'not'
          tigerfam: account for docker-mounted database dirs
          cluster_compare: account for docker-mounted database dirs
          html: update javascript to 0.8.2
          subprocessing: fix broken f-string in diamond errors
          download_databases: update to clusterblast database with fungi
          common.hmm_rule_parser: fix negative score test/check
          common.hmm_rule_parser: make naming test more obvious when failing
          common.hmm_rule_parser: add ability to create and use aliases
          common.hmm_rule_parser: remove inferiors on overlap, not just contains
          common.json: add support to JS datatypes for multi-CDS modules
          secmet: fix sorting in multi-CDS modules
          secmet: add extra tests for multi-CDS modules
          secmet: restrict multi-CDS Modules to having matching strands
          secmet: add a protein location fetch per parent for modules
          html: update antismash.js to 0.9.0
          nrps_pks_domains: detect modules involving multiple CDS features
          secmet: improve reporting for non-integer codon_start qualifiers
          common.serialiser: include summary of record areas in JSON
          html: silence FutureWarnings for pyScss
          genefinding: handle unspecified genefinding error more cleanly
          secmet: recognise lower-case DNA as valid record type
          common.record_processing: avoid crashes when inputs contain formatters
          sideload: improve error messages for invalid/unsuitable JSON
          chore: add dev wiki link to CONTRIBUTING.md
          chore: fix out of date minimum python version in CONTRIBUTING.md
          chore: remove aS5 specific numbering from Dockerfile
          custom_typing: include missing __iter__ prototype
          common.record_processing: handle bug in macOS py3.8+ pickling config
    
  • 5-2-0
    This is release 5.2.0 of antiSMASH.
    
    Highlights are:
    * added detection for lanthidine clusters
    * improved detection of thioamide-NRP clusters
    * updates the default PFAM database to 32.0, with matching GO term update
    * updates the clusterblast database to the antiSMASH-DB version 3
    * PKS candidate clusters with products determined by non-colinear gene ordering now record and show the order used
    * a new command line option `--html-start-compact`, which defaults the HTML overview to the compact view
    
    **NOTE:** As the antiSMASH-DB links have changed slightly to be more future proof, the clusterblast database format has also changed slightly to take advantage of that. It is necessary to update the clusterblast database at the same time as updating to 5.2 from previous versions.
    This can be done by running the command `download-databases` when antiSMASH is installed in your environment (or `antismash/download-databases.py` in the source directory). There is also a direct download of the database tarball available [here](https://dl.secondarymetabolites.org/releases/clusterblast/clusterblast_20201012.tar.xz).
    
    Detailed changes:
    
    Kai Blin (11):
          nrps_pks_domains: Also detect SMART PKS_PP domain as ACP
          main: Bump the antiSMASH version logging line to INFO level
          chore: Bump version to 5.2.0
          common: Fix the java version detection when _JAVA_OPTIONS are set
          config: fix alternative fasttree executable spelling
          hmm_detection: Improve thioamide-NRP rules to pick up more clusters
          detection: Add detection rule for lanthidines
          chore: Pin Biopython to 1.76, as 1.77 refuses to work with still support Python 3.5
          nrps_pks_domains: Fix off-by-one errors in featute/motif translation calculations
          nrps/pks: Don't crash in orderfinder if there's no complete module
          main: More control over output filenames
    
    Simon Shaw (40):
          secmet: fix region genbank outputs not adjusting locations in qualifiers
          nrps_pks_domains: allow AT and CP without KS to be complete module
          nrps_pks_domains: only allow condensationless modules to be complete if first in a CDS
          common.record_processing: include record id in error message
          html: remove duplicate mod-kr CSS rule
          secmet: handle genbank conversions introducing spaces into aSDomains
          *peptides: import joblib directly for future scikit-learn versions
          secmet: replace minimock usage with unittest
          lassopeptides: replace minimock usage with unittest
          active_site_finder: replace minimock usage with unittest
          t2pks: replace minimock usage with unittest
          nrps_pks: replace minimock usage with unittest
          clusterblast: replace minimock usage with unittest
          cassis: replace minimock usage with unittest
          antismash.test: remove unnecessary mocking
          pfam2go: replace minimock usage with unittest
          nrps_pks: replace minimock usage with unittest
          cluster_hmmer: replace minimock usage with unittest
          full_hmmer: replace minimock usage with unittest
          lanthipeptides: replace minimock usage with unittest
          thiopeptides: replace minimock usage with unittest
          antismash.test: replace minimock usage with unittest
          chore: remove minimock as a test dependency
          secmet: remove list inheritance from NRPSPKSQualifier
          secmet: improve error message for invalid translation table qualifiers
          common: only check relevant parts in RODEO's sklearn version check
          hmm_detection: find more transAT-PKS clusters
          pfam2go: update GO mapping
          download_databases: update to 32.0 for latest Pfam database
          common.record_processing: conditionally allow long record identifiers
          clusterfinder: fix subregions being added twice
          thiopeptides: fix results regeneration for extra ORFs
          t2pks: only use CDSs completely within the protocluster
    
  • 5-1-2
    This is release 5.1.2 of antiSMASH.
    
    5.1.2 is mainly a bugfix release, dealing with a number of issues reported
    since our 5.1.1 release. Highlights are:
    
    * Better error messages on invalid inputs
    * improved compatibility with future sklearn versions
    * fixes for Bioconda-related issues
    
    Detailed changes:
    
    Kai Blin (2):
          common: Fix the java version detection when _JAVA_OPTIONS are set
          chore: bump version to 5.1.2
    
    Simon Shaw (23):
          common.record_processing: include record id in error message
          html: remove duplicate mod-kr CSS rule
          secmet: handle genbank conversions introducing spaces into aSDomains
          *peptides: import joblib directly for future scikit-learn versions
          secmet: replace minimock usage with unittest
          lassopeptides: replace minimock usage with unittest
          active_site_finder: replace minimock usage with unittest
          t2pks: replace minimock usage with unittest
          nrps_pks: replace minimock usage with unittest
          clusterblast: replace minimock usage with unittest
          cassis: replace minimock usage with unittest
          antismash.test: remove unnecessary mocking
          pfam2go: replace minimock usage with unittest
          nrps_pks: replace minimock usage with unittest
          cluster_hmmer: replace minimock usage with unittest
          full_hmmer: replace minimock usage with unittest
          lanthipeptides: replace minimock usage with unittest
          thiopeptides: replace minimock usage with unittest
          antismash.test: replace minimock usage with unittest
          chore: remove minimock as a test dependency
          secmet: remove list inheritance from NRPSPKSQualifier
          secmet: improve error message for invalid translation table qualifiers
          common: only check relevant parts in RODEO's sklearn version check
    
  • 5-1-1
    This is the bugfix release 5.1.1
    
    This relase fixes some corner cases in the module detection and other minor
    issues.
    
    Detailed changes:
    
    Kai Blin (3):
          nrps_pks_domains: Also detect SMART PKS_PP domain as ACP
          main: Bump the antiSMASH version logging line to INFO level
          chore: bump version to 5.1.1
    
    Simon Shaw (3):
          secmet: fix region genbank outputs not adjusting locations in qualifiers
          nrps_pks_domains: allow AT and CP without KS to be complete module
          nrps_pks_domains: only allow condensationless modules to be complete if first in a CDS
    
  • 5-1-0
    antiSMASH 5.1.0
    
    Introduces NRPS/PKS modules, a new TfuA-related RiPP cluster type, and a new
    fungal PKS domain. The knownclusterblast database has been updated to the
    latest MIBiG release (2.0).
    
    Detailed changes since 5.0.0:
    
    Kai Blin (6):
          chore: Add config for no-response probot plugin
          hmm_detection: Adjust Chal_sti_synth_* profile cutoffs to cutoff values given in files
          detection: Add TfuA-related clusters
          nrps_pks_domains: Identify fungal non-reducing PKS product template (PT) domains
          secmet: Python 3.7 no longer escapes :
          chore: use os.path.realpath to fix path tests on OSX
    
    Simon Shaw (96):
          clusterblast: fix SVG colouring missing when hits have same accession
          clusterblast: don't exclude self-hits in SVGs for subclusterblast
          nrps_pks_domains: add a trusted cutoff for Enedyne_KS to match other KSs
          common.record_processing: include NRPS_PKS qualifier in stripping step
          common.record_processing: use secmet stripping function after conversion
          html: update antismash.js to 0.4.2
          common.hmmer: remove broken check
          secmet: restrict protocluster products to same style as ruleset
          common.record_processing: differentiate between no records found and records too small
          hmm_detection: improve reuse handling of strictness option
          html: hide detection rule section when no rule-based clusters present
          secmet: always pass through a Seq to Record's inner SeqRecord
          html: make output less horrific for slow loading or missing CSS
          common.record_processing: fix loss of record annotations with --start or --end
          main: improve genbank meta-comment annotation
          common.record_processing,gff_parser: read GFF input only once for features
          common.record_processing: log error details when present for bad GFFs
          html: use correct header border colour based on variant
          config: allow testing error messages from arg parsing
          config: add an arg action to ensure paths are readable
          config,*: use path actions where appropriate
          clusterblast: fix SVGs generating with extra end anchor links
          nrps_pks_domains: don't create an empty HTML tab, similar to monomers/compounds
          html: update antismash.js to 0.4.3
          __main__: change git version to use source dir, not working dir
          html: fix header/footer images with overridden sizes
          html: update antismash.js to 0.4.4
          secmet: alter genefunction tool priority
          html: change resistance gene visualisation to a marker under the gene
          html: add a symbol based legend macro
          html: change resistance and TTA legends to use their symbols
          secmet: add a test for gene function qualifier conversion
          secmet: track child core location for candidate clusters
          secmet: allow sorting comparisons of features and locations
          secmet: prevent orphaning and inconsistent grouping of protoclusters
          setup.py: fix pytest version to solve coverage issues
          antismash.test: shift global --check-prereqs unit test to integration
          chore: silence deprecation warnings within pyScss during testing
          chore: re-silence Cython warnings silenced by numpy and unsilenced by pytest
          hmm_detection: log strictness level
          html: add hmm_detection strictness to overview page
          secmet: handle biopython/genbank conversions losing spaces in qualifiers
          secmet: handle bad codon errors in CDS translation
          secmet: fix outdated docstring
          secmet: include record ID in text for bad locations
          html: use a serif font for CDS names
          html: fix single pixel header tab underline in edge
          config: don't report 'does not exist' if the target is a directory
          secmet: fix candidate creation issue with multiple fully-contained non-hybrids
          chore: clean pickled classifiers and add them to ignore
          chore: silence mypy errors in externally provided code
          common.external: add a simplified pickle function for rodeo
          lanthipeptides: rebuild classifier in prepare_data
          lassopeptides: rebuild classifier in prepare_data
          thiopeptides: rebuild classifier in prepare_data
          sactipeptides: rebuild classifier in prepare_data
          chore: unpin scikit-learn version
          lassopeptides: change to standard copyright/license header
          common.test: bring in more helper classes from secmet
          common.hmmscan_refinement: allow comparisons and hashing of HMMResult
          secmet: add missing SubRegion __slots__
          secmet: fix cdscollection typing issue
          secmet: make from_biopython conversion interface consistent
          secmet: make Record's adding of biopython features consistent
          secmet: simplify postponed feature logic
          secmet: add support for explicit int conversion in parse_format
          secmet: support subtypes in NRPS/PKS domains
          secmet: enforce Domains having locus tag and protein location
          html,nrps_pks_domains: move styling and abbreviating domains from javascript to CSS/python
          common.json: add abbreviations for Aminotran domains
          common.json: don't colour ACPS domains
          html: make heights of single feature domain SVGs and all feature SVGs match
          nrps_pks: remove unnecessary END from SMILES set
          nrps_pks: fix pks smiles replacement being overeager
          nrps_pks_domains: remove duplicate add_to_record
          secmet: add Module feature
          nrps_pks_domains,nrps_pks: add module identification and visualisation
          nrps_pks_domains: add PP-binding as a fallback for *CP profiles
          nrps_pks_domains: show a question mark on HTML modules if unknown substrate
          nrps_pks: use lower case for smiles to reduce duplication
          nrps_pks: assign smiles even if only one monomer is present
          nrps_pks: update SMILES values and format
          html: reduce size of serif CDS names in NRPS domains tab
          nrps_pks: display Stachelhaus codes with serif font
          nrps_pks_domains: fix error message using incorrect count
          nrps_pks_domains: move DummyHMMResult to common test helpers
          nrps_pks_domains: consolidate matching of PKS_KS domains to their subtypes
          nrps_pks: fix error with X monomer substitutions
          secmet: fix inconsistent sorting in interleaved candidate construction
          nrps_pks: add SMILES parser/reconstructor
          nrps_pks: add methylation logic
          nrps_pks: refactor SMILES generation
          common.hmmer: catch missing hmmpress before attempts to use it
          clusterblast: catch missing diamond before attempting to use it
          antismash.test: ensure check-prereqs fails gracefully
          chore: bump version to 5.1.0
    
    Zach Charlop-Powers(2):
          Remove Unused Args from Function Docs
          Use os.makedirs instead of os.mkdir
  • 5-0-0
    antiSMASH 5.0.0
    
    The antiSMASH team is happy to announce the stable release of antiSMASH 5.0.0.
    antiSMASH 5.0.0 is a large-scale rewrite to migrate to Python 3, and detailed
    changes are too numerous to list here. For a high-level overview, see the
    [antiSMASH 5 features list](https://docs.antismash.secondarymetabolites.org/antiSMASH5features/)
    or see the [antiSMASH 5 paper](http://doi.org/c568).
    
    Detailed changes since 5.0.0rc1:
    
    Kai Blin (18):
          args: Print the correct version in the help output.
          subprocessing: get rid of trailing newline in diamond version string
          subprocessing: Add command to get the blastp release version
          main: Print versions of the found CLI tools
          subprocessing: Add function to get version of makeblastdb
          subprocessing: Allow getting the muscle binary version
          subprocessing: Allow getting the prodigal binary version
          subprocessing: Allow getting the java binary version
          subprocessing: Allow getting the meme/fimo binary versions
          subprocessing: Allow getting the hmmpfam2 binary version
          subprocessing: Only run hmmpfam2 in multithreading mode when the build supports it
          subprocessing: Allow getting the hmmpress binary version
          subprocessing: Allow getting the hmmsearch binary version
          subprocessing: Allow getting the hmmscan binary version
          subprocessing: check if hmmscan supports multithreading via the help output
          hmmdetection: Add cluster rule for thioamide-containing NRPs
          hmmdetection: Add support for tropodithietic acid like clusters
          chore: Bump version to 5.0.0
    
    Simon Shaw (58):
          clusterblast: add check for outdated diamond databases
          clusterblast: use a mock database for testing general CB
          clusterblast: add a constant for data location instead of always regenerating
          clusterblast: use a mock database for testing known CB
          clusterblast: remove newly redundant case in test code
          clusterblast: remove TODO by improving docstring
          clusterblast: remove code made obselete by new databases
          subprocessing: fix java version testing
          secmet: forbid conversion of records with features outside sequence
          secmet: use a more meaningful bad location message
          common.gff_parser: remove unnecessary arguments
          common.record_processing: remove cds uniqueness check, covered by secmet
          secmet: add extra test for reverse compound locations
          secmet: treat locations that are completely unordered as errors
          secmet: reraise errors from location splitting as secmet input errors
          secmet: forbid overlapping exons (but allow frameshifts)
          common.record_processing: consider GFF reading as part of input parsing
          common.record_processing: re-parallelise GFF parsing
          secmet: allow reversing of reverse strand exons
          secmet: add a function for all feature location validation
          secmet: reraise feature conversion errors as secmet input errors
          clusterblast: remove unused arguments
          clusterblast: style pass
          common.hmm_rule_parser: remove unused variables
          html: style pass
          genefunctions: style pass
          secmet: avoid a pylint complaint on comparing len to zero
          common.subprocessing: allow execute to function without args being parsed first
          config: fix cyclic import for version information
          secmet: style pass
          cassis: check version of fimo/meme
          antismash/test: clean up config building
          nrps_pks: fix some pylint issues
          chore: silence some overeager pylint issues
          hmm_detection: style pass
          common.subprocessing: split subprocessing into separate files
          config: store executable names deterministically
          secmet: remove small exons restriction
          common.record_processing: convert some biopython warnings to exceptions
          common.record_processing: extract the strict parsing into a separate function
          common.record_processing: prevent biopython ignoring unparsable locations
          secmet: simplify overlapping exons check to shared stop codons
          main: update removal of region genbank files
          secmet: deduplicate code
          config.executables: don't store names if no path could be found
          config.executables: add an alternate name for fasttree
          cassis: remove print statements
          secmet: change subregion 'anchor' to more generic 'label'
          clusterblast: handle single core runs and file splitting
          subprocessing: make threading support check for hmmpfam2 more robust
          subprocessing: remove caching for hmmpfam2 help
          secmet: fix protocluster cores not annotating tool
          secmet: change to 1-indexing in region genbanks to match record
          common.test.helpers: rework to use more thorough record stripping/regen
          secmet: add regeneration for NRPS/PKS qualifier
          secmet: add NRPS/PKS qualifier to biopython conversions
          nrps_pks_domains: use the correct KS subtypes for CDS classification
          nrps_pks_domains: fix glycopeptide NRPS prediction
    
  • 5-0-0rc1