Releases: lich-uct/molpher-lib
Releases · lich-uct/molpher-lib
v0.0.0b3
Molpher-lib Changelog
Current Version: 0.0.0b3
Previous Version: 0.0.0b2
New Features
- the tree now has a
sourceandtargetattributes which contain SMILES strings of the source and target structures
Changes
- the
./deps/build_deps.shscript is now retired and removed- use the conda build environment instead (its current snapshot is always saved in
environment.yml) - the environment can be supplied to cmake via the CONDA_PREFIX environment variable (automatically set when
conda activate {env}is run)
- use the conda build environment instead (its current snapshot is always saved in
- because RDKit dropped Python 2 support, Python 2 conda packages will no longer be built for molpher-lib
- simplified conda package build
- use
conda-forgeas the main channel for dependencies (also necessary to specify duringconda install), README changed accordingly - the atom types incorporated into generated structures now follow realistic distribution derived from ChEMBL
- this affect the
AddAtom,InterlayAtomandMutateAtomoperators
- this affect the
Fixes
v0.0.0b2
Previous version: 0.0.0b1
Changes
- implemented a basic pathfinder for quick customized searches (
molpher.algorithms.pathfinders.BasicPathfinder) - dependencies were updated (the code should work fine with RDKit 2018.03.1, Boost 1.65 and TBB 2018 U3)
- all dependencies are now linked dynamically
- conda environment libraries can now be searched during cmake configuration by setting the
CONDA_PREFIXenvironment variable - conda packages now depend on tbb, rdkit and boost libraries from anaconda repositories both during build time and runtime
- the unit tests binary is now included in the
CMakeLists.txtfile and it can also be installed with the project - SWIG was updated to version 3.0.12
- other small optimizations of the build process
- the
MorphingOperatorinterface was implemented and tested in both Python and C++AddAtomoperator class was added that adheres to this interfaceRemoveAtomoperator class was added that adheres to this interfaceAddBondoperator class was added that adheres to this interfaceRemoveBondoperator class was added that adheres to this interfaceMutateAtomoperator class was added that adheres to this interfaceInterlayAtomoperator class was added that adheres to this interfaceContractBond(originally BondContraction) operator class was added that adheres to this interfaceRerouteBond(originally BondReroute) operator class was added that adheres to this interface
- the
Molpherclass was created and can now be used to aggregate operators and generate random morphs of a structure (can use multiple threads) ExplorationTreeandGenerateMorphsOperoperation now use the newMolpherinterface to facilitate explorationExplorationTreeandGenerateMorphsOperare also able to take instances ofMorphCollector, which can be used to explore and/or modify morphs right after they are generatedMolpherMolcan be used to get all neighbors of an atom with thegetNeighbors(int idx)methodMolpherMolcan be initialized from an MDL MOL block (using thefromMolBlock()static method) and from and RDKit molecule (using theotherparameter in its constructor)MolpherMolcan readily be converted to an RDKit molecule with theasRDMol()methodMolpherMolhas thelockAtomsfunction to lock multiple atoms at once using either a vector of indices or a SMARTS patternExplorationTreehas a newfetchPathTomethod, which backtracks from the given structure and returns the sequence ofMolpherMolinstances that lead to its creation, starting from the source molecule.
Fixes
- number of linked dependencies was reduced and unused libraries are now not linked