def set_scoring_function(parser, receptor, ligand, minion_id): """Set scoring function and docking models""" scoring_functions = [] adapters = [] if parser.args.scoring_function and os.path.exists( parser.args.scoring_function): # Multiple scoring functions found functions = ScoringConfiguration.parse_file( parser.args.scoring_function) else: if parser.args.scoring_function: functions = {parser.args.scoring_function: '1.0'} else: functions = {DEFAULT_SCORING_FUNCTION: '1.0'} for scoring_function, weight in functions.items(): log.info("[Minion %d] Loading scoring function..." % minion_id) scoring_function_module = "lightdock.scoring.%s.driver" % scoring_function module = importlib.import_module(scoring_function_module) log.info("[Minion %d] Using %s scoring function" % (minion_id, module.DefinedScoringFunction.__name__)) CurrentScoringFunction = getattr(module, "DefinedScoringFunction") CurrentModelAdapter = getattr(module, "DefinedModelAdapter") receptor_restraints = ligand_restraints = None try: receptor_restraints = parser.args.receptor_restraints['active'] except: pass try: ligand_restraints = parser.args.ligand_restraints['active'] except: pass adapter = CurrentModelAdapter(receptor, ligand, receptor_restraints, ligand_restraints) scoring_function = CurrentScoringFunction(weight) adapters.append(adapter) scoring_functions.append(scoring_function) log.info("[Minion %d] Done." % minion_id) return scoring_functions, adapters
def set_scoring_function(parser, receptor, ligand, minion_id): """Set scoring function and docking models""" scoring_functions = [] adapters = [] if parser.args.scoring_function and os.path.exists(parser.args.scoring_function): # Multiple scoring functions found functions = ScoringConfiguration.parse_file(parser.args.scoring_function) else: if parser.args.scoring_function: functions = {parser.args.scoring_function: '1.0'} else: functions = {DEFAULT_SCORING_FUNCTION: '1.0'} for scoring_function, weight in functions.iteritems(): log.info("[Minion %d] Loading scoring function..." % minion_id) scoring_function_module = "lightdock.scoring.%s.driver" % scoring_function module = importlib.import_module(scoring_function_module) log.info("[Minion %d] Using %s scoring function" % (minion_id, module.DefinedScoringFunction.__name__)) CurrentScoringFunction = getattr(module, "DefinedScoringFunction") CurrentModelAdapter = getattr(module, "DefinedModelAdapter") receptor_restraints = ligand_restraints = None try: receptor_restraints = parser.args.receptor_restraints['active'] except: pass try: ligand_restraints = parser.args.ligand_restraints['active'] except: pass adapter = CurrentModelAdapter(receptor, ligand, receptor_restraints, ligand_restraints) scoring_function = CurrentScoringFunction(weight) adapters.append(adapter) scoring_functions.append(scoring_function) log.info("[Minion %d] Done." % minion_id) return scoring_functions, adapters