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

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

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]