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
Molecule
instead 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_PARALLELIZE
is nowSCINE_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 asBondStereopermutator::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
- 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
ChiralStatePreservation
enum member fromNone
toDoNotPreserve
(the former is a reserved keyword) - Better automatic type signature annotations in docstrings
- Altered name of
Deprecated
Graph
propertiesN
andB
for the number of atoms and the number of bonds have been deprecated in favor of newV
andE
properties in order to match complexity annotations and single-letter object propertiesStereopermutatorList
methodtry_remove
is deprecated in favor ofremove
, which now behaves astry_remove
would (no throwing).- Several
AtomStereopermutator
methods have been deprecated in favor of refactors with other function arguments not tightly coupled to theGraph
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 aninterpret.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
- Is supplement to
- https://github.com/qcscine/molassembler/tree/1.1.0 (URL)