schrodinger.stepper.sideinputs module

Utility steps for creating side inputs in stepper workflows.

For example, in a workflow with steps A, B, C, and D, a ForkStep and JoinStep can be set up so that all outputs from A are passed along to D. This allows outputs from A to get to D even if B or C would normally filter those inputs.

Example:

class MyWorkflow(stepper.Chain):
    def buildChain(self):
        a = A()
        self.addStep(a)
        fork = ForkStep(step=a)
        self.addStep(fork)
        self.addStep(B())
        self.addStep(C())
        self.addStep(JoinStep(fork=fork))
        self.addStep(D())
class schrodinger.stepper.sideinputs.ForkStep(step)

Bases: schrodinger.stepper.stepper.UnbatchedReduceStep

A step to save some inputs to be reprocessed again. See the module docstring for more info and an example.

__init__(step)

See class docstring for info on the different constructor arguments.

reduceFunction(inps)
getPipeFilename()
report(prefix='')

Report the settings and batch settings for this step.

class schrodinger.stepper.sideinputs.JoinStep(*args, **kwargs)

Bases: schrodinger.stepper.stepper.PubsubEnabledStepMixin, schrodinger.stepper.sideinputs.JoinStep

outputs()
usingPubsub()
class schrodinger.stepper.sideinputs.JoinFromFileStep(*args, **kwargs)

Bases: schrodinger.stepper.stepper.PubsubEnabledStepMixin, schrodinger.stepper.sideinputs.JoinFromFileStep

outputs()
usingPubsub()