Source code for schrodinger.pipeline.compiled_functions
"""
Code for pipeline that should only be distibuted in compiled form.
"""
from pymmlibs import mmpipeline_initialize
[docs]def pipeline_init_wrapper(stage_jobs):
    # for LIGPREP-1732
    from schrodinger.pipeline.stages import ligprep as ligprep_stage_module
    from schrodinger.pipeline.stages import phase as phase_stage_module
    ligprep_stages = []
    phase_stage_present = False
    for stagejob in stage_jobs:
        if isinstance(stagejob.stageobj, ligprep_stage_module.LigPrepStage):
            ligprep_stages.append(stagejob.stageobj)
        if isinstance(stagejob.stageobj, phase_stage_module.DBManageStage):
            phase_stage_present = True
    if phase_stage_present and len(ligprep_stages) == 1:
        return mmpipeline_initialize()
    else:
        return None