Class | Bio::Blat::Report::SegmentPair
In: | lib/bio/appl/blat/report.rb
Parent: | Object

Sequence segment pair of BLAT result. Similar to Bio::Blast::Report::Hsp but lacks many methods.

### Methods

align_len new

### Attributes

blocksize | [R] | Returns block size (length) of the segment pair. This would be a Bio::Blat specific method.
hit_from | [R] | Returns target (subject, hit) start position. CAUTION: In Blat‘s raw result(psl format), first position is 0. To keep compatibility, the parser add 1 to the position.
hit_strand | [R] | Returns strand information of the target (subject, hit). Returns ‘plus’ or ‘minus’.
hit_to | [R] | Returns target (subject, hit) end position. CAUTION: In Blat‘s raw result(psl format), first position is 0. To keep compatibility, the parser add 1 to the position.
hseq | [R] | Returns the target (subject, hit) sequence. If sequence data is not available, returns nil.
qseq | [R] | Returns query sequence. If sequence data is not available, returns nil.
query_from | [R] | Returns query start position. CAUTION: In Blat‘s raw result(psl format), first position is 0. To keep compatibility, the parser add 1 to the position.
query_strand | [R] | Returns strand information of the query. Returns ‘plus’ or ‘minus’.
query_to | [R] | Returns query end position. CAUTION: In Blat‘s raw result(psl format), first position is 0. To keep compatibility, the parser add 1 to the position.

### Public Class methods

new(query_len, target_len, strand, blksize, qstart, tstart, qseq, tseq, protein_flag)

Creates a new SegmentPair object. It is designed to be called internally from Bio::Blat::Report class. Users shall not use it directly.

[Source]

         # File lib/bio/appl/blat/report.rb, line 199
    199:         def initialize(query_len, target_len, strand,
    200:                        blksize, qstart, tstart, qseq, tseq,
    201:                        protein_flag)
    202:           @blocksize  = blksize
    203:           @qseq       = qseq
    204:           @hseq       = hseq
    205:           @hit_strand   = 'plus'
    206:           w = (protein_flag ? 3 : 1) # 3 means query=protein target=dna
    207:           case strand
    208:           when '-'
    209:             # query is minus strand
    210:             @query_strand = 'minus'
    211:             # convert positions
    212:             @query_from = query_len - qstart
    213:             @query_to   = query_len - qstart - blksize + 1
    214:             # To keep compatibility, with other homology search programs,
    215:             # we add 1 to each position number.
    216:             @hit_from   = tstart + 1
    217:             @hit_to     = tstart + blksize * w # - 1 + 1
    218:           when '+-'
    219:             # hit is minus strand
    220:             @query_strand = 'plus'
    221:             @hit_strand = 'minus'
    222:             # To keep compatibility, with other homology search programs,
    223:             # we add 1 to each position number.
    224:             @query_from   = qstart + 1
    225:             @query_to     = qstart + blksize # - 1 + 1
    226:             # convert positions
    227:             @hit_from     = target_len - tstart
    228:             @hit_to       = target_len - tstart - blksize * w + 1
    229:           else #when '+', '++'
    230:             @query_strand = 'plus'
    231:             # To keep compatibility with other homology search programs,
    232:             # we add 1 to each position number.
    233:             @query_from = qstart + 1
    234:             @query_to   = qstart + blksize # - 1 + 1
    235:             @hit_from   = tstart + 1
    236:             @hit_to     = tstart + blksize * w # - 1 + 1
    237:           end
    238:         end

### Public Instance methods

align_len()

Returns alignment length of the segment pair. Returns nil if no alignment data are available.

[Source]

         # File lib/bio/appl/blat/report.rb, line 281
    281:         def align_len
    282:           @qseq ? @qseq.size : nil
    283:         end

[Validate]