Class: Bio::Conduit::Samples

Inherits:
Object
  • Object
show all
Defined in:
lib/bio/conduit/samples.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(filename) ⇒ Samples

Returns a new instance of Samples.



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# 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

Instance Attribute Details

#groupsObject (readonly)

Returns the value of attribute groups.



13
14
15
# File 'lib/bio/conduit/samples.rb', line 13

def groups
  @groups
end

#resourcesObject (readonly)

Returns the value of attribute resources.



13
14
15
# File 'lib/bio/conduit/samples.rb', line 13

def resources
  @resources
end

#samplesObject (readonly)

Returns the value of attribute samples.



13
14
15
# File 'lib/bio/conduit/samples.rb', line 13

def samples
  @samples
end

Instance Method Details

#[](name) ⇒ Object



50
51
52
# File 'lib/bio/conduit/samples.rb', line 50

def [](name)
    @samples[name]
end

#each(&block) ⇒ Object



54
55
56
57
58
# File 'lib/bio/conduit/samples.rb', line 54

def each(&block)
    @samples.each do |sam|
        block.call(sam)
    end
end