Module: Wrnap::Rna::Extensions::ClassMethods

Defined in:
lib/wrnap/rna/extensions.rb

Instance Method Summary collapse

Instance Method Details

#generate_sequence(sequence_length) ⇒ Object



27
28
29
30
# File 'lib/wrnap/rna/extensions.rb', line 27

def generate_sequence(sequence_length)
  # 0th order Markov chain w/ uniform probability distribution
  Rna.init_from_string(sequence_length.times.inject("") { |string, _| string + %w[A U C G][rand(4)] })
end

#shuffle(sequence, token_length = 2) ⇒ Object



32
33
34
# File 'lib/wrnap/rna/extensions.rb', line 32

def shuffle(sequence, token_length = 2)
  Shuffle.new(sequence).shuffle(token_length)
end

#structure_from_bp_list(length, base_pairs) ⇒ Object



36
37
38
# File 'lib/wrnap/rna/extensions.rb', line 36

def structure_from_bp_list(length, base_pairs)
  base_pairs.to_a.map(&:to_a).map(&:sort).inject("." * length) { |structure, (i, j)| structure.tap { structure[i] = ?(; structure[j] = ?) } }
end