annotate variant_effect_predictor/Bio/Coordinate/ExtrapolatingPair.pm @ 0:1f6dce3d34e0

Uploaded
author mahtabm
date Thu, 11 Apr 2013 02:01:53 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1 # $Id: ExtrapolatingPair.pm,v 1.6.2.1 2003/02/20 05:11:45 heikki Exp $
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
2 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
3 # bioperl module for Bio::Coordinate::ExtrapolatingPair
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
4 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
5 # Cared for by Heikki Lehvaslaiho <heikki@ebi.ac.uk>
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
6 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
7 # Copyright Heikki Lehvaslaiho
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
8 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
9 # You may distribute this module under the same terms as perl itself
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
10
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
11 # POD documentation - main docs before the code
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
12
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
13 =head1 NAME
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
14
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
15 Bio::Coordinate::ExtrapolatingPair - Continuous match between two coordinate sets
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
16
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
17 =head1 SYNOPSIS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
18
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
19
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
20 use Bio::Location::Simple;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
21 use Bio::Coordinate::ExtrapolatingPair;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
22
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
23
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
24 $match1 = Bio::Location::Simple->new
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
25 (-seq_id => 'propeptide', -start => 21, -end => 40, -strand=>1 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
26 $match2 = Bio::Location::Simple->new
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
27 (-seq_id => 'peptide', -start => 1, -end => 20, -strand=>1 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
28
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
29 $pair = Bio::Coordinate::ExtrapolatingPair->
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
30 new(-in => $match1,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
31 -out => $match2,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
32 -strict => 1
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
33 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
34
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
35 $pos = Bio::Location::Simple->new
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
36 (-start => 40, -end => 60, -strand=> 1 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
37 $res = $pair->map($pos);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
38 $res->start eq 20;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
39 $res->end eq 20;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
40
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
41 =head1 DESCRIPTION
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
42
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
43 This class represents a one continuous match between two coordinate
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
44 systems represented by Bio::Location::Simple objects. The relationship
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
45 is directed and reversible. It implements methods to ensure internal
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
46 consistency, and map continuous and split locations from one
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
47 coordinate system to another.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
48
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
49 This class is an elaboration of Bio::Coordoinate::Pair. The map
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
50 function returns only matches which is the mode needed most of
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
51 tehtime. By default the matching regions between coordinate systems
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
52 are boundless, so that you can say e.g. that gene starts from here in
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
53 the chromosomal coordinate system and extends indefinetely in both
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
54 directions. If you want to define the matching regions exactly, you
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
55 can do that and set strict() to true.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
56
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
57
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
58 =head1 FEEDBACK
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
59
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
60 =head2 Mailing Lists
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
61
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
62 User feedback is an integral part of the evolution of this and other
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
63 Bioperl modules. Send your comments and suggestions preferably to the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
64 Bioperl mailing lists Your participation is much appreciated.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
65
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
66 bioperl-l@bioperl.org - General discussion
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
67 http://bio.perl.org/MailList.html - About the mailing lists
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
68
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
69 =head2 Reporting Bugs
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
70
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
71 report bugs to the Bioperl bug tracking system to help us keep track
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
72 the bugs and their resolution. Bug reports can be submitted via email
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
73 or the web:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
74
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
75 bioperl-bugs@bio.perl.org
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
76 http://bugzilla.bioperl.org/
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
77
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
78 =head1 AUTHOR - Heikki Lehvaslaiho
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
79
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
80 Email: heikki@ebi.ac.uk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
81 Address:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
82
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
83 EMBL Outstation, European Bioinformatics Institute
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
84 Wellcome Trust Genome Campus, Hinxton
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
85 Cambs. CB10 1SD, United Kingdom
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
86
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
87 =head1 APPENDIX
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
88
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
89 The rest of the documentation details each of the object
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
90 methods. Internal methods are usually preceded with a _
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
91
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
92 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
93
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
94
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
95 # Let the code begin...
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
96
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
97 package Bio::Coordinate::ExtrapolatingPair;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
98 use vars qw(@ISA );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
99 use strict;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
100
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
101 # Object preamble - inherits from Bio::Root::Root
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
102 use Bio::Root::Root;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
103 use Bio::LocationI;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
104 use Bio::Coordinate::Pair;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
105
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
106 @ISA = qw(Bio::Coordinate::Pair);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
107
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
108
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
109 sub new {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
110 my($class,@args) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
111 my $self = $class->SUPER::new(@args);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
112
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
113 my($strict) =
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
114 $self->_rearrange([qw(STRICT
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
115 )],
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
116 @args);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
117
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
118 $strict && $self->strict($strict);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
119 return $self;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
120 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
121
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
122
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
123 =head2 strict
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
124
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
125 Title : strict
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
126 Usage : $obj->strict(1);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
127 Function: Set and read the strictness of the coordinate system.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
128 Example :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
129 Returns : value of input system
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
130 Args : boolean
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
131
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
132 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
133
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
134 sub strict {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
135 my ($self,$value) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
136 if( defined $value) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
137 $self->{'_strict'} = 1 if $value;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
138 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
139 return $self->{'_strict'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
140 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
141
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
142
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
143 =head2 map
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
144
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
145 Title : map
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
146 Usage : $newpos = $obj->map($loc);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
147 Function: Map the location from the input coordinate system
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
148 to a new value in the output coordinate system.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
149
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
150 In extrapolating coodinate system there is no location zero.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
151 Locations are...
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
152 Example :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
153 Returns : new location in the output coordinate system or undef
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
154 Args : Bio::Location::Simple
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
155
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
156 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
157
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
158 sub map {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
159 my ($self,$value) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
160
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
161 $self->throw("Need to pass me a value.")
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
162 unless defined $value;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
163 $self->throw("I need a Bio::Location, not [$value]")
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
164 unless $value->isa('Bio::LocationI');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
165 $self->throw("Input coordinate system not set")
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
166 unless $self->in;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
167 $self->throw("Output coordinate system not set")
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
168 unless $self->out;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
169
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
170 my $match;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
171
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
172 if ($value->isa("Bio::Location::SplitLocationI")) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
173
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
174 my $split = Bio::Coordinate::Result->new(-seq_id=>$self->out->seq_id);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
175 foreach my $loc ( sort { $a->start <=> $b->start }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
176 $value->sub_Location ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
177
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
178 $match = $self->_map($loc);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
179 $split->add_sub_Location($match) if $match;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
180
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
181 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
182 $split->each_Location ? (return $split) : (return undef) ;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
183
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
184 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
185 return $self->_map($value);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
186 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
187 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
188
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
189
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
190 =head2 _map
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
191
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
192 Title : _map
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
193 Usage : $newpos = $obj->_map($simpleloc);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
194 Function: Internal method that does the actual mapping. Called
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
195 multiple times by map() if the location to be mapped is a
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
196 split location
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
197
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
198 Example :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
199 Returns : new location in the output coordinate system or undef
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
200 Args : Bio::Location::Simple
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
201
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
202 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
203
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
204 sub _map {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
205 my ($self,$value) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
206
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
207 my ($offset, $start, $end);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
208
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
209 if ($self->strand == -1) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
210 $offset = $self->in->end + $self->out->start;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
211 $start = $offset - $value->end;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
212 $end = $offset - $value->start ;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
213 } else { # undef, 0 or 1
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
214 $offset = $self->in->start - $self->out->start;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
215 $start = $value->start - $offset;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
216 $end = $value->end - $offset;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
217 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
218
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
219 # strict prevents matches outside stated range
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
220 if ($self->strict) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
221 return undef if $start < 0 and $end < 0;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
222 return undef if $start > $self->out->end;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
223 $start = 1 if $start < 0;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
224 $end = $self->out->end if $end > $self->out->end;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
225 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
226
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
227 my $match = Bio::Location::Simple->
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
228 new(-start => $start,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
229 -end => $end,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
230 -strand => $self->strand,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
231 -seq_id => $self->out->seq_id,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
232 -location_type => $value->location_type
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
233 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
234 $match->strand($match->strand * $value->strand) if $value->strand;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
235 bless $match, 'Bio::Coordinate::Result::Match';
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
236
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
237 return $match;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
238 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
239
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
240 1;