Class: Bio::Sim4::Report::SegmentPair
- Defined in:
- lib/bio/appl/sim4/report.rb
Overview
Sequence segment pair of the sim4 result. Similar to Bio::Blast::Report::HSP but lacks many methods. For mRNA-genome mapping programs, unlike other homology search programs, the class is used not only for exons but also for introns. (Note that intron data would not be available according to run-time options of the program.)
Instance Attribute Summary collapse
-
#direction ⇒ Object
readonly
Returns directions of mapping.
-
#midline ⇒ Object
readonly
Returns the “midline” of the segment pair.
-
#percent_identity ⇒ Object
readonly
Returns percent identity of the segment pair.
-
#seq1 ⇒ Object
readonly
Returns segment informations of ‘seq1’.
-
#seq2 ⇒ Object
readonly
Returns segment informations of ‘seq2’.
Class Method Summary collapse
-
.both_intron(prev_e, e, aln) ⇒ Object
Parses part of sim4 result text and creates a new SegmentPair object for regions which can not be aligned correctly.
-
.parse(str, aln) ⇒ Object
Parses part of sim4 result text and creates a new SegmentPair object.
-
.seq1_intron(prev_e, e, aln) ⇒ Object
Parses part of sim4 result text and creates a new SegmentPair object when the seq1 is a intron.
-
.seq2_intron(prev_e, e, aln) ⇒ Object
Parses part of sim4 result text and creates a new SegmentPair object when seq2 is a intron.
Instance Method Summary collapse
-
#align_len ⇒ Object
Returns alignment length of the segment pair.
-
#hit_from ⇒ Object
start position of the hit(target) (the first position is 1).
-
#hit_to ⇒ Object
end position of the hit(target) (including its position).
-
#hseq ⇒ Object
hit(target) sequence (with gaps) of the alignment of the segment pair.
-
#initialize(seq1, seq2, midline = nil, percent_identity = nil, direction = nil) ⇒ SegmentPair
constructor
Creates a new SegmentPair object.
-
#qseq ⇒ Object
query sequence (with gaps) of the alignment of the segment pair.
-
#query_from ⇒ Object
start position of the query (the first position is 1).
-
#query_to ⇒ Object
end position of the query (including its position).
Constructor Details
#initialize(seq1, seq2, midline = nil, percent_identity = nil, direction = nil) ⇒ SegmentPair
Creates a new SegmentPair object. It is designed to be called internally from Bio::Sim4::Report::Hit object. Users shall not use it directly.
139 140 141 142 143 144 145 146 |
# File 'lib/bio/appl/sim4/report.rb', line 139 def initialize(seq1, seq2, midline = nil, percent_identity = nil, direction = nil) @seq1 = seq1 @seq2 = seq2 @midline = midline @percent_identity = percent_identity @direction = direction end |
Instance Attribute Details
#direction ⇒ Object (readonly)
Returns directions of mapping. Maybe one of “->”, “<-”, “==” or “” or nil. This would be a Bio::Sim4 specific method.
166 167 168 |
# File 'lib/bio/appl/sim4/report.rb', line 166 def direction @direction end |
#midline ⇒ Object (readonly)
Returns the “midline” of the segment pair. Returns nil if no alignment data are available.
158 159 160 |
# File 'lib/bio/appl/sim4/report.rb', line 158 def midline @midline end |
#percent_identity ⇒ Object (readonly)
Returns percent identity of the segment pair.
161 162 163 |
# File 'lib/bio/appl/sim4/report.rb', line 161 def percent_identity @percent_identity end |
#seq1 ⇒ Object (readonly)
Returns segment informations of ‘seq1’. Returns a Bio::Sim4::Report::Segment object. These would be Bio::Sim4 specific methods.
150 151 152 |
# File 'lib/bio/appl/sim4/report.rb', line 150 def seq1 @seq1 end |
#seq2 ⇒ Object (readonly)
Returns segment informations of ‘seq2’. Returns a Bio::Sim4::Report::Segment object. These would be Bio::Sim4 specific methods.
154 155 156 |
# File 'lib/bio/appl/sim4/report.rb', line 154 def seq2 @seq2 end |
Class Method Details
.both_intron(prev_e, e, aln) ⇒ Object
Parses part of sim4 result text and creates a new SegmentPair object for regions which can not be aligned correctly. It is designed to be called internally from Bio::Sim4::Report::Hit class. Users shall not use it directly.
206 207 208 209 210 |
# File 'lib/bio/appl/sim4/report.rb', line 206 def self.both_intron(prev_e, e, aln) self.new(Segment.new(prev_e.seq1.to+1, e.seq1.from-1, aln[0]), Segment.new(prev_e.seq2.to+1, e.seq2.from-1, aln[2]), aln[1]) end |
.parse(str, aln) ⇒ Object
Parses part of sim4 result text and creates a new SegmentPair object. It is designed to be called internally from Bio::Sim4::Report::Hit class. Users shall not use it directly.
172 173 174 175 176 177 |
# File 'lib/bio/appl/sim4/report.rb', line 172 def self.parse(str, aln) /^(\d+)\-(\d+)\s*\((\d+)\-(\d+)\)\s*([\d\.]+)\%\s*([\-\<\>\=]*)/ =~ str self.new(Segment.new($1, $2, aln[0]), Segment.new($3, $4, aln[2]), aln[1], $5, $6) end |
.seq1_intron(prev_e, e, aln) ⇒ Object
Parses part of sim4 result text and creates a new SegmentPair object when the seq1 is a intron. It is designed to be called internally from Bio::Sim4::Report::Hit class. Users shall not use it directly.
184 185 186 187 188 |
# File 'lib/bio/appl/sim4/report.rb', line 184 def self.seq1_intron(prev_e, e, aln) self.new(Segment.new(prev_e.seq1.to+1, e.seq1.from-1, aln[0]), Segment.new(nil, nil, aln[2]), aln[1]) end |
.seq2_intron(prev_e, e, aln) ⇒ Object
Parses part of sim4 result text and creates a new SegmentPair object when seq2 is a intron. It is designed to be called internally from Bio::Sim4::Report::Hit class. Users shall not use it directly.
195 196 197 198 199 |
# File 'lib/bio/appl/sim4/report.rb', line 195 def self.seq2_intron(prev_e, e, aln) self.new(Segment.new(nil, nil, aln[0]), Segment.new(prev_e.seq2.to+1, e.seq2.from-1, aln[2]), aln[1]) end |
Instance Method Details
#align_len ⇒ Object
Returns alignment length of the segment pair. Returns nil if no alignment data are available.
238 239 240 |
# File 'lib/bio/appl/sim4/report.rb', line 238 def align_len (@midline and @seq1.seq and @seq2.seq) ? @midline.length : nil end |
#hit_from ⇒ Object
start position of the hit(target) (the first position is 1)
227 |
# File 'lib/bio/appl/sim4/report.rb', line 227 def hit_from; @seq2.from; end |
#hit_to ⇒ Object
end position of the hit(target) (including its position)
230 |
# File 'lib/bio/appl/sim4/report.rb', line 230 def hit_to; @seq2.to; end |
#hseq ⇒ Object
hit(target) sequence (with gaps) of the alignment of the segment pair.
234 |
# File 'lib/bio/appl/sim4/report.rb', line 234 def hseq; @seq2.seq; end |
#qseq ⇒ Object
query sequence (with gaps) of the alignment of the segment pair.
224 |
# File 'lib/bio/appl/sim4/report.rb', line 224 def qseq; @seq1.seq; end |
#query_from ⇒ Object
start position of the query (the first position is 1)
218 |
# File 'lib/bio/appl/sim4/report.rb', line 218 def query_from; @seq1.from; end |
#query_to ⇒ Object
end position of the query (including its position)
221 |
# File 'lib/bio/appl/sim4/report.rb', line 221 def query_to; @seq1.to; end |