コード例 #1
0
ファイル: docking_mpi.py プロジェクト: lightdock/lightdock
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
コード例 #2
0
ファイル: docking_mpi.py プロジェクト: brianjimenez/lightdock
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