class Bio::Conduit::Process

Attributes

steps[R]

Public Class Methods

new(filename) click to toggle source
# File lib/bio/conduit/process.rb, line 103
def initialize(filename)
    yaml = YAML::load(File.open(filename))
    @steps = {}
    @name = yaml['pipeline']
    @resources = yaml['resources']
    @runninglist = []
    yaml['steps'].each_pair do |name, detail|
        @resources[name] = "../#{name}"
        @steps[name] = Bio::Conduit::Step.new(name, detail, @resources)
    end
end

Public Instance Methods

[](name) click to toggle source
# File lib/bio/conduit/process.rb, line 115
def [](name)
    @steps[name]
end
add_running_step(stepname) click to toggle source
# File lib/bio/conduit/process.rb, line 119
def add_running_step(stepname)
    step = self[stepname]
    self.add_running_step(step.dependency) if step.dependence?
    if !@runninglist.include?(stepname)
        @runninglist.push(stepname)
    end
end
run_steps(steps) click to toggle source
# File lib/bio/conduit/process.rb, line 127
def run_steps(steps)

    @steps.keys.each do |name|
        self.add_running_step(name) if steps == nil || steps.include?(name)
    end

    combinestep = nil

    @runninglist.each do |stepname|
        if combinestep
            combinestep = combinestep + self[stepname]
        else
            combinestep = self[stepname]
        end
    end

    return combinestep
end