class Bio::Conduit::Samples

Attributes

groups[R]
resources[R]
samples[R]

Public Class Methods

new(filename) click to toggle source
# File lib/bio/conduit/samples.rb, line 15
def initialize(filename)
    yaml = YAML::load(File.open(filename))

    @samples = {}
    @groups = {}

    if yaml.has_key?("resources")
        @resources = yaml["resources"]
    else
        @resources = {}
    end

    if yaml.has_key?("samples")
        yaml["samples"].each_pair do |l1k, l1v|
            if l1v.is_a?(Hash)
                l1v.each_pair do |k, v|
                    @samples[k] = {}
                    @samples[k]['name'] = k
                    @samples[k]['path'] = v
                    @samples[k]["resources"] = @resources
                    @samples[k]["group"] = l1k
                    @groups[l1k] ||= []
                    @groups[l1k].push(@samples[k])
                end
            else
                @samples[l1k] = {}
                @samples[l1k]['name'] = l1k
                @samples[l1k]['path'] = l1v
                @samples[l1k]["resources"] = @resources
            end
        end
    end

end

Public Instance Methods

[](name) click to toggle source
# File lib/bio/conduit/samples.rb, line 50
def [](name)
    @samples[name]
end
each(&block) click to toggle source
# File lib/bio/conduit/samples.rb, line 54
def each(&block)
    @samples.each do |sam|
        block.call(sam)
    end
end