classUse.rb :
class DNAseq
attr_accessor :seq
def initialize(sequence='')
@seq = sequence
end
def meltingTemp(celcius=true)
gc = gcCount()
at = @seq.count("atAT")
tm = 4 * gc + 2 * at
unless(celcius)
tm = (9/5.to_f) * tm + 32
end
return tm
end
def gcCount()
seq.count("gcGC")
end
end
dna1 = DNAseq.new("aattggcc")
dna2 = DNAseq.new("atgggcCCgcAga")
puts "DNA1 has sequence '#{dna1.seq}' with #{dna1.gcCount()} GCs and a est Tm of #{dna1.meltingTemp()}C"
gcCount2 = dna2.gcCount()
tm2 = dna2.meltingTemp(false)
puts "DNA2 has sequence '#{dna2.seq}' with #{gcCount2} GCs and a est Tm of #{tm2}F"
dna1.seq = "gcgcgcgcgcgcggg"
puts "Updated DNA1 has sequence '#{dna1.seq}' with #{dna1.gcCount()} GCs and a est Tm of #{dna1.meltingTemp()}C"