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.
122 123 124 125 126 127 128 129 130 131 132 |
# File 'lib/pasv_lib.rb', line 122 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
134 135 136 137 138 139 140 |
# File 'lib/pasv_lib.rb', line 134 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.
105 106 107 108 109 110 111 112 113 114 115 116 117 118 |
# File 'lib/pasv_lib.rb', line 105 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.
100 101 102 |
# File 'lib/pasv_lib.rb', line 100 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.
95 96 97 |
# File 'lib/pasv_lib.rb', line 95 def spans_start query_seq, gapped_start !query_seq[0..gapped_start-1].tr("-", "").empty? end |