Module: PasvLib::Utils
- Defined in:
- lib/pasv_lib.rb
Instance Method Summary collapse
- #get_oligo(gapped_query_seq, key_posns, pos_to_gapped_pos) ⇒ Object
- #get_type(oligo, spans) ⇒ Object
- #pos_to_gapped_pos(gapped_key_seq) ⇒ Object
- #spans_end(query_seq, gapped_end) ⇒ Object
- #spans_start(query_seq, gapped_start) ⇒ Object
Instance Method Details
#get_oligo(gapped_query_seq, key_posns, pos_to_gapped_pos) ⇒ Object
Note:
The key posns are 1-based and non-gapped. The query seq is gapped.
118 119 120 121 122 123 124 125 126 127 128 |
# File 'lib/pasv_lib.rb', line 118 def get_oligo gapped_query_seq, key_posns, pos_to_gapped_pos gapped_key_posns = key_posns.map do |pos| pos_to_gapped_pos[pos] end gapped_key_posns.map do |pos| idx = pos - 1 gapped_query_seq[idx] end.join.upcase end |
#get_type(oligo, spans) ⇒ Object
130 131 132 133 134 135 136 |
# File 'lib/pasv_lib.rb', line 130 def get_type oligo, spans if spans == "NA" oligo else "#{oligo}_#{spans}" end end |
#pos_to_gapped_pos(gapped_key_seq) ⇒ Object
Note:
Returns a hash that accepts and returns 1-based coordinates.
101 102 103 104 105 106 107 108 109 110 111 112 113 114 |
# File 'lib/pasv_lib.rb', line 101 def pos_to_gapped_pos gapped_key_seq pos_to_gapped_pos = {} nongap_idx = 0 gapped_key_seq.each_char.with_index do |char, gapped_idx| unless char == "-" pos_to_gapped_pos[nongap_idx + 1] = (gapped_idx + 1) nongap_idx += 1 end end pos_to_gapped_pos end |
#spans_end(query_seq, gapped_end) ⇒ Object
Note:
Takes 1-based coordinates.
96 97 98 |
# File 'lib/pasv_lib.rb', line 96 def spans_end query_seq, gapped_end !query_seq[gapped_end-1..query_seq.length-1].tr("-", "").empty? end |
#spans_start(query_seq, gapped_start) ⇒ Object
Note:
Takes 1-based coordinates.
91 92 93 |
# File 'lib/pasv_lib.rb', line 91 def spans_start query_seq, gapped_start !query_seq[0..gapped_start-1].tr("-", "").empty? end |