from molpher.algorithms.operations import FindClosest
from molpher.algorithms.pathfinders import BasicPathfinder
from molpher.core.operations import *
[docs]class ClassicPathFinder(BasicPathfinder):
"""
:param settings: settings to use in the search
:type settings: `Settings`
A callable class which implements the original molpher algorithm as published in [1]_.
.. [1] Hoksza D., Škoda P., Voršilák M., Svozil D. (2014) Molpher: a software framework for systematic chemical space exploration. J Cheminform. 6:7.
`PubMed <http://www.ncbi.nlm.nih.gov/pubmed/24655571>`_, `DOI <http://www.jcheminf.com/content/6/1/7>`_
"""
[docs] def __init__(self, settings):
super(ClassicPathFinder, self).__init__(settings, [
GenerateMorphsOper()
, SortMorphsOper()
, FilterMorphsOper(settings.verbose)
, ExtendTreeOper()
, PruneTreeOper()
])
self.find_closest = FindClosest()
"""instance of `FindClosest` that holds the molecule currently closest to target"""