| Module | Bio::Alignment::GAP |
| In: |
lib/bio/alignment.rb
|
Bio::Alignment::GAP is a set of class methods for gap-related position translation.
position without gaps are translated into the position with gaps.
| seq: | sequence |
| pos: | position with gaps |
| gap_regexp: | regular expression to specify gaps |
# File lib/bio/alignment.rb, line 2168
2168: def gapped_pos(seq, pos, gap_regexp)
2169: olen = seq.gsub(gap_regexp, '').length
2170: pos = olen if pos >= olen
2171: pos = olen + pos if pos < 0
2172:
2173: i = 0
2174: l = pos + 1
2175: while l > 0 and i < seq.length
2176: x = seq[i, l].gsub(gap_regexp, '').length
2177: i += l
2178: l -= x
2179: end
2180: i -= 1 if i > 0
2181: i
2182: end
position with gaps are translated into the position without gaps.
| seq: | sequence |
| pos: | position with gaps |
| gap_regexp: | regular expression to specify gaps |
# File lib/bio/alignment.rb, line 2157
2157: def ungapped_pos(seq, pos, gap_regexp)
2158: p = seq[0..pos].gsub(gap_regexp, '').length
2159: p -= 1 if p > 0
2160: p
2161: end