Class: Bioinform::Motif
- Includes:
- Parameters
- Defined in:
- lib/bioinform/data_models/motif.rb
Instance Method Summary collapse
- #==(other) ⇒ Object
-
#initialize(parameters = {}) ⇒ Motif
constructor
0)Motif.new() 1)Motif.new(pcm: …, pwm: …, name: …,threshold: …) 2)Motif.new(my_pcm) 3)Motif.new(pm: my_pcm, threshold: …) 2) and 3) cases will automatically choose data model What if pm already is a Motif.
- #method_missing(meth, *args) ⇒ Object
-
#name ⇒ Object
def pcm=(pcm); parameters.pcm = pcm; end def pwm=(pwm); parameters.pwm = pwm; end def ppm=(ppm); parameters.ppm = ppm; end.
- #pm ⇒ Object
- #ppm ⇒ Object
-
#pwm ⇒ Object
def pcm; parameters.pcm; end.
- #to_s ⇒ Object
Methods included from Parameters
#get_parameters, included, #parameter_defined?, #parameters, #set_parameters
Constructor Details
#initialize(parameters = {}) ⇒ Motif
0)Motif.new() 1)Motif.new(pcm: …, pwm: …, name: …,threshold: …) 2)Motif.new(my_pcm) 3)Motif.new(pm: my_pcm, threshold: …) 2) and 3) cases will automatically choose data model What if pm already is a Motif
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/bioinform/data_models/motif.rb', line 15 def initialize(parameters = {}) case parameters when PM pm = parameters motif_type = pm.class.name.downcase.sub(/^.+::/,'').to_sym self.original_data_model = motif_type set_parameters(motif_type => pm) when Hash if parameters.has_key?(:pm) && parameters[:pm].is_a?(PM) pm = parameters.delete(:pm) motif_type = pm.class.name.downcase.sub(/^.+::/,'').to_sym self.original_data_model = motif_type set_parameters(motif_type => pm) end set_parameters(parameters) else raise ArgumentError, "Motif::new doesn't accept argument #{parameters} of class #{parameters.class}" end end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(meth, *args) ⇒ Object
44 45 46 |
# File 'lib/bioinform/data_models/motif.rb', line 44 def method_missing(meth, *args) parameters.__send__(meth, *args) end |
Instance Method Details
#==(other) ⇒ Object
48 49 50 |
# File 'lib/bioinform/data_models/motif.rb', line 48 def ==(other) parameters == other.parameters end |
#name ⇒ Object
def pcm=(pcm); parameters.pcm = pcm; end def pwm=(pwm); parameters.pwm = pwm; end def ppm=(ppm); parameters.ppm = ppm; end
42 |
# File 'lib/bioinform/data_models/motif.rb', line 42 def name; parameters.name || pm.name; end |
#pm ⇒ Object
35 |
# File 'lib/bioinform/data_models/motif.rb', line 35 def pm; ((original_data_model || :pm) == :pm) ? parameters.pm : send(original_data_model); end |
#ppm ⇒ Object
38 |
# File 'lib/bioinform/data_models/motif.rb', line 38 def ppm; parameters.ppm || pcm.try(:to_ppm); end |
#pwm ⇒ Object
def pcm; parameters.pcm; end
37 |
# File 'lib/bioinform/data_models/motif.rb', line 37 def pwm; parameters.pwm || pcm.try(:to_pwm); end |
#to_s ⇒ Object
52 53 54 |
# File 'lib/bioinform/data_models/motif.rb', line 52 def to_s parameters.to_s end |