There is a newer version of the record available.

Published December 15, 2021 | Version 1.1.0
Software Open

qcscine/molassembler: Release 1.1.0

  • 1. Laboratory of Physical Chemistry, ETH Zurich

Description

Added

  • Molecule:
    • Bond stereopermutator addition and removal functions
    • Manual atom stereopermutator thermalization control
  • Graph: Added modifying functions to the interface for stand-alone class use
  • Graph algorithms

    • Ranking equivalent groups and ranking distinct atoms algorithms exploiting ranking results to classify chemical equivalence.
    • Shortest path generator between vertices in the graph
    • Edit distance. Algorithm to calculate minimal set of vertex and edge alterations to transform one graph into another.
    • Reaction edit distance. Variation of the graph edit distance algorithm that conserves element types. Also adds an associated function that plots the edits.
  • Conformer deduplication: More Relabeler-related functions

  • Experimental SMILES emitter: IO/SmilesEmitter.h
  • Limited support for periodic boundary conditions via Utils::PeriodicSystem. Periodic systems can be interpreted, canonicalized and serialized, but not conformer generated. Ranking across boundaries is yet unsupported.
  • Python bindings:

    • Added modifying functions to Graph
    • Direct copying support for Molecule instead of via pickling
    • Added build-time generation of typing stubs with pybind11-stubgen

Changed

  • Graph and Molecule are now implementations of a common interface for graph information and modification. This interface might be expanded in the future.
  • More colorful graphviz rendering for elements
  • Conan: Better integration with community packages. No longer require full CMake from all dependencies but follow conan packaging philosophy <https://github.com/conan-io/conan-center-index/blob/master/docs/faqs.md#why-are-cmake-findconfig-files-and-pkg-config-files-not-packaged>_.
  • CMake: option MOLASSEMBLER_PARALLELIZE is now SCINE_PARALLELIZE to follow SCINE convention.
  • Interpretations without bond orders infer bond orders in binary fashion from Utils' BondDetector instead of from UFF parameters
  • Bond stereopermutator alignment: BondStereopermutator::Alignment::BetweenEclipsedAndStaggered now generates the same amount of alignments as BondStereopermutator::Alignment::Eclipsed, not twice as many.
  • Auxiliary library Temple

    • Refactor map to be able to apply it to tuples and arrays, too.
    • Clean up ContainerTraits.h
  • SMILES parser

    • Parsing errors as part of exception string, not written to stdout
    • Perfect matching of aromatic subgraphs, error reporting
    • Fix valence filling bug for atom types with multiple valid valences
  • Python bindings

    • Altered name of ChiralStatePreservation enum member from None to DoNotPreserve (the former is a reserved keyword)
    • Better automatic type signature annotations in docstrings

Deprecated

  • Graph properties N and B for the number of atoms and the number of bonds have been deprecated in favor of new V and E properties in order to match complexity annotations and single-letter object properties
  • StereopermutatorList method try_remove is deprecated in favor of remove, which now behaves as try_remove would (no throwing).
  • Several AtomStereopermutator methods have been deprecated in favor of refactors with other function arguments not tightly coupled to the Graph class, permitting stand-alone class use

Removed

  • Several constant global data variables in the private API have been replaced with stateless functions or function-local caches.
  • Constexpr shape property generation: It was clang-only and provided no tangible performance benefits. Best code is no code. Got rid of a few global variables in the process.

Fixed

  • Conformer generation: Removed an incorrect check for non-terminal vertices without an atom stereopermutator failing in some haptic cases
  • Permutator propagation:

    • Fixed missing propagation of atom stereopermutator placement and re-keying the atom stereopermutator map in StereopermutatorList
    • Add missing propagation of bond stereopermutator state on vertex removal
    • Trial stereopermutation vertex links weren't permuted along with the site indices
  • Directed conformer generation: Fixed incorrect precondition check with unassigned stereopermutators

  • Python bindings' interpret.interpret has been renamed to an interpret.molecules overload as originally intended.
  • Shape mapping generator between the same two shapes did not return the identity mapping

Files

qcscine/molassembler-1.1.0.zip

Files (3.7 MB)

Name Size Download all
md5:ac26a1545b6a6ba5eddbe1a1678bb0ea
3.7 MB Preview Download

Additional details

Related works