Published December 15, 2021
| Version 1.1.0
Software
Open
qcscine/molassembler: Release 1.1.0
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
Moleculeinstead of via pickling - Added build-time generation of typing stubs with pybind11-stubgen
- Added modifying functions to
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_PARALLELIZEis nowSCINE_PARALLELIZEto 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::BetweenEclipsedAndStaggerednow generates the same amount of alignments asBondStereopermutator::Alignment::Eclipsed, not twice as many. -
Auxiliary library
Temple- Refactor
mapto be able to apply it to tuples and arrays, too. - Clean up
ContainerTraits.h
- Refactor
-
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
ChiralStatePreservationenum member fromNonetoDoNotPreserve(the former is a reserved keyword) - Better automatic type signature annotations in docstrings
- Altered name of
Deprecated
GraphpropertiesNandBfor the number of atoms and the number of bonds have been deprecated in favor of newVandEproperties in order to match complexity annotations and single-letter object propertiesStereopermutatorListmethodtry_removeis deprecated in favor ofremove, which now behaves astry_removewould (no throwing).- Several
AtomStereopermutatormethods have been deprecated in favor of refactors with other function arguments not tightly coupled to theGraphclass, 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.interprethas been renamed to aninterpret.moleculesoverload 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
- Is supplement to
- https://github.com/qcscine/molassembler/tree/1.1.0 (URL)