annotate variant_effect_predictor/Bio/Variation/VariantI.pm @ 3:d30fa12e4cc5 default tip

Merge heads 2:a5976b2dce6f and 1:09613ce8151e which were created as a result of a recently fixed bug.
author devteam <devteam@galaxyproject.org>
date Mon, 13 Jan 2014 10:38:30 -0500
parents 1f6dce3d34e0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1 # $Id: VariantI.pm,v 1.12 2002/10/22 07:38:49 lapp Exp $
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
2 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
3 # BioPerl module for Bio::Variation::VariantI
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::Variation::VariantI - Sequence Change SeqFeature abstract class
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 #get Bio::Variant::VariantI somehow
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
20 print $var->restriction_changes, "\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
21 foreach $allele ($var->each_Allele) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
22 #work on Bio::Variation::Allele objects
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
23 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
24
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
25 =head1 DESCRIPTION
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
26
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
27 This superclass defines common methods to basic sequence changes. The
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
28 instantiable classes Bio::Variation::DNAMutation,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
29 Bio::Variation::RNAChange and Bio::Variation::AAChange use them.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
30 See L<Bio::Variation::DNAMutation>, L<Bio::Variation::RNAChange>,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
31 and L<Bio::Variation::AAChange> for more information.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
32
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
33 These classes store information, heavy computation to detemine allele
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
34 sequences is done elsewhere.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
35
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
36 The database cross-references are implemented as
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
37 Bio::Annotation::DBLink objects. The methods to access them are
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
38 defined in Bio::DBLinkContainerI. See L<Bio::Annotation::DBLink>
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
39 and L<Bio::DBLinkContainerI> for details.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
40
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
41 Bio::Variation::VariantI redifines and extends
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
42 Bio::SeqFeature::Generic for sequence variations. This class
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
43 describes specific sequence change events. These events are always
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
44 from a specific reference sequence to something different. See
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
45 L<Bio::SeqFeature::Generic> for more information.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
46
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
47 IMPORTANT: The notion of reference sequence permeates all
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
48 Bio::Variation classes. This is especially important to remember when
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
49 dealing with Alleles. In a polymorphic site, there can be a large
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
50 number of alleles. One of then has to be selected to be the reference
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
51 allele (allele_ori). ALL the rest has to be passed to the Variant
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
52 using the method add_Allele, including the mutated allele in a
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
53 canonical mutation. The IO modules and generated attributes depend on
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
54 it. They ignore the allele linked to using allele_mut and circulate
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
55 each Allele returned by each_Allele into allele_mut and calculate
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
56 the changes between that and allele_ori.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
57
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
58
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
59 =head1 FEEDBACK
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
60
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
61 =head2 Mailing Lists
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
62
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
63 User feedback is an integral part of the evolution of this and other
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
64 Bioperl modules. Send your comments and suggestions preferably to the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
65 Bioperl mailing lists Your participation is much appreciated.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
66
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
67 bioperl-l@bioperl.org - General discussion
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
68 http://bio.perl.org/MailList.html - About the mailing lists
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
69
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
70 =head2 Reporting Bugs
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
71
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
72 report bugs to the Bioperl bug tracking system to help us keep track
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
73 the bugs and their resolution. Bug reports can be submitted via
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
74 email or the web:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
75
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
76 bioperl-bugs@bio.perl.org
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
77 http://bugzilla.bioperl.org/
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
78
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
79 =head1 AUTHOR - Heikki Lehvaslaiho
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
80
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
81 Email: heikki@ebi.ac.uk
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
82 Address:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
83
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
84 EMBL Outstation, European Bioinformatics Institute
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
85 Wellcome Trust Genome Campus, Hinxton
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
86 Cambs. CB10 1SD, United Kingdom
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
87
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
88
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
89 =head1 APPENDIX
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
90
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
91 The rest of the documentation details each of the object
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
92 methods. Internal methods are usually preceded with a _
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
93
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
94 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
95
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
96
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
97 # Let the code begin...
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
98
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
99
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
100 package Bio::Variation::VariantI;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
101 $VERSION=1.0;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
102 use vars qw(@ISA);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
103 use strict;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
104 use Bio::Root::Root;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
105 use Bio::DBLinkContainerI;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
106 # Object preamble - inheritance
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
107
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
108 use Bio::SeqFeature::Generic;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
109 @ISA = qw(Bio::Root::Root Bio::SeqFeature::Generic Bio::DBLinkContainerI );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
110
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
111 =head2 id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
112
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
113 Title : id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
114 Usage : $obj->id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
115 Function:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
116
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
117 Read only method. Returns the id of the variation object.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
118 The id is the id of the first DBLink object attached to this object.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
119
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
120 Example :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
121 Returns : scalar
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
122 Args : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
123
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
124 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
125
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
126 sub id {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
127 my ($self) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
128 my @ids = $self->each_DBLink;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
129 my $id = $ids[0] if scalar @ids > 0;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
130 return $id->database. "::". $id->primary_id if $id;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
131 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
132
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
133
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
134 =head2 add_Allele
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
135
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
136 Title : add_Allele
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
137 Usage : $self->add_Allele($allele)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
138 Function:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
139
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
140 Adds one Bio::Variation::Allele into the list of alleles.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
141 Note that the method forces the convention that nucleotide
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
142 sequence is in lower case and amino acds are in upper
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
143 case.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
144
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
145 Example :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
146 Returns : 1 when succeeds, 0 for failure.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
147 Args : Allele object
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
148
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
149 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
150
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
151
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
152 sub add_Allele {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
153 my ($self,$value) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
154 if (defined $value) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
155 if( ! $value->isa('Bio::Variation::Allele') ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
156 my $com = ref $value;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
157 $self->throw("Is not a Allele object but a [$com]");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
158 return 0;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
159 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
160 if ( $self->isa('Bio::Variation::AAChange') ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
161 $value->seq( uc $value->seq) if $value->seq;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
162 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
163 $value->seq( lc $value->seq) if $value->seq;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
164 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
165 push(@{$self->{'alleles'}},$value);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
166 $self->allele_mut($value); #????
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
167 return 1;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
168 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
169 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
170 return 0;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
171 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
172 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
173
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
174
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
175 =head2 each_Allele
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
176
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
177 Title : alleles
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
178 Usage : $obj->each_Allele();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
179 Function:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
180
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
181 Returns a list of Bio::Variation::Allele objects
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
182
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
183 Example :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
184 Returns : list of Alleles
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
185 Args : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
186
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
187 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
188
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
189 sub each_Allele{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
190 my ($self,@args) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
191 return @{$self->{'alleles'}};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
192 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
193
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
194
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
195
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
196 =head2 isMutation
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
197
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
198 Title : isMutation
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
199 Usage : print join('/', $obj->each_Allele) if not $obj->isMutation;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
200 Function:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
201
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
202 Returns or sets the boolean value indicating that the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
203 variant descibed is a canonical mutation with two alleles
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
204 assinged to be the original (wild type) allele and mutated
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
205 allele, respectively. If this value is not set, it is
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
206 assumed that the Variant descibes polymorphisms.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
207
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
208 Returns : a boolean
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
209
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
210 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
211
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
212 sub isMutation {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
213 my ($self,$value) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
214 if (defined $value) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
215 if ($value ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
216 $self->{'isMutation'} = 1;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
217 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
218 $self->{'isMutation'} = 0;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
219 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
220 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
221 return $self->{'isMutation'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
222 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
223
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
224
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
225 =head2 allele_ori
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
226
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
227 Title : allele_ori
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
228 Usage : $obj->allele_ori();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
229 Function:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
230
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
231 Links to and returns the Bio::Variation::Allele object.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
232 If value is not set, returns false. All other Alleles are
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
233 compared to this.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
234
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
235 Amino acid sequences are stored in upper case characters,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
236 others in lower case.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
237
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
238 Example :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
239 Returns : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
240 Args : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
241
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
242 See L<Bio::Variation::Allele> for more.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
243
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
244 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
245
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
246 sub allele_ori {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
247 my ($self,$value) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
248 if( defined $value) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
249 if ( ! ref $value || ! $value->isa('Bio::Variation::Allele')) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
250 $self->throw("Value is not Bio::Variation::Allele but [$value]");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
251 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
252 if ( $self->isa('Bio::Variation::AAChange') ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
253 $value->seq( uc $value->seq) if $value->seq;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
254 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
255 $value->seq( lc $value->seq) if $value->seq;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
256 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
257 $self->{'allele_ori'} = $value;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
258 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
259 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
260 return $self->{'allele_ori'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
261 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
262
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
263
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
264 =head2 allele_mut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
265
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
266 Title : allele_mut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
267 Usage : $obj->allele_mut();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
268 Function:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
269
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
270 Links to and returns the Bio::Variation::Allele
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
271 object. Sets and returns the mutated allele sequence.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
272 If value is not set, returns false.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
273
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
274 Amino acid sequences are stored in upper case characters,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
275 others in lower case.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
276
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
277 Example :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
278 Returns : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
279 Args : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
280
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
281 See L<Bio::Variation::Allele> for more.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
282
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
283 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
284
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
285
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
286 sub allele_mut {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
287 my ($self,$value) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
288 if( defined $value) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
289 if ( ! ref $value || ! $value->isa('Bio::Variation::Allele')) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
290 $self->throw("Value is not Bio::Variation::Allele but [$value]");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
291 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
292 if ( $self->isa('Bio::Variation::AAChange') ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
293 $value->seq( uc $value->seq) if $value->seq;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
294 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
295 $value->seq( lc $value->seq) if $value->seq;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
296 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
297 $self->{'allele_mut'} = $value;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
298 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
299 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
300 return $self->{'allele_mut'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
301 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
302
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
303 =head2 length
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
304
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
305 Title : length
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
306 Usage : $obj->length();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
307 Function:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
308
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
309 Sets and returns the length of the affected original
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
310 allele sequence. If value is not set, returns false == 0.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
311
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
312 Value 0 means that the variant position is before the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
313 start=end sequence position. (Value 1 would denote a point
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
314 mutation). This follows the convension to report an
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
315 insertion (2insT) in equivalent way to a corresponding
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
316 deletion (2delT) (Think about indel polymorpism ATC <=> AC
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
317 where the origianal state is not known ).
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
318
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
319 Example :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
320 Returns : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
321 Args : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
322
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
323 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
324
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
325
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
326 sub length {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
327 my ($self,$value) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
328 if ( defined $value) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
329 $self->{'length'} = $value;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
330 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
331 if ( ! exists $self->{'length'} ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
332 return 0;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
333 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
334 return $self->{'length'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
335 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
336
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
337 =head2 upStreamSeq
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
338
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
339 Title : upStreamSeq
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
340 Usage : $obj->upStreamSeq();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
341 Function:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
342
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
343 Sets and returns upstream flanking sequence string. If
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
344 value is not set, returns false. The sequence should be
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
345 >=25 characters long, if possible.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
346
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
347 Example :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
348 Returns : string or false
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
349 Args : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
350
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
351 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
352
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
353
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
354 sub upStreamSeq {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
355 my ($self,$value) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
356 if( defined $value) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
357 $self->{'upstreamseq'} = $value;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
358 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
359 return $self->{'upstreamseq'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
360 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
361
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
362
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
363 =head2 dnStreamSeq
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
364
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
365 Title : dnStreamSeq
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
366 Usage : $obj->dnStreamSeq();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
367 Function:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
368
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
369 Sets and returns dnstream flanking sequence string. If
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
370 value is not set, returns false. The sequence should be
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
371 >=25 characters long, if possible.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
372
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
373 Example :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
374 Returns : string or false
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
375 Args : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
376
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
377 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
378
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
379
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
380 sub dnStreamSeq {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
381 my ($self,$value) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
382 if( defined $value) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
383 $self->{'dnstreamseq'} = $value;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
384 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
385 return $self->{'dnstreamseq'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
386
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
387 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
388
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
389
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
390 =head2 label
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
391
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
392 Title : label
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
393 Usage : $obj->label();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
394 Function:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
395
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
396 Sets and returns mutation event label(s). If value is not
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
397 set, or no argument is given returns false. Each
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
398 instantiable class needs to implement this method. Valid
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
399 values are listed in 'Mutation event controlled vocabulary' in
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
400 http://www.ebi.ac.uk/mutations/recommendations/mutevent.html.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
401
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
402 Example :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
403 Returns : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
404 Args : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
405
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
406 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
407
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
408
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
409 sub label {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
410 my ($self,$value) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
411 $self->throw("[$self] has not implemeted method 'label'");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
412 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
413
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
414
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
415
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
416 =head2 status
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
417
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
418 Title : status
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
419 Usage : $obj->status()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
420 Function:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
421
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
422 Returns the status of the sequence change object.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
423 Valid values are: 'suspected' and 'proven'
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
424
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
425 Example : $obj->status('proven');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
426 Returns : scalar
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
427 Args : valid string (optional, for setting)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
428
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
429
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
430 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
431
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
432
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
433 sub status {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
434 my ($self,$value) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
435 my %status = (suspected => 1,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
436 proven => 1
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
437 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
438
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
439 if( defined $value) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
440 $value = lc $value;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
441 if ($status{$value}) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
442 $self->{'status'} = $value;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
443 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
444 else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
445 $self->throw("$value is not valid status value!");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
446 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
447 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
448 if( ! exists $self->{'status'} ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
449 return "$self";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
450 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
451 return $self->{'status'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
452 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
453
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
454
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
455 =head2 proof
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
456
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
457 Title : proof
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
458 Usage : $obj->proof()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
459 Function:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
460
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
461 Returns the proof of the sequence change object.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
462 Valid values are: 'computed' and 'experimental'.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
463
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
464 Example : $obj->proof('computed');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
465 Returns : scalar
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
466 Args : valid string (optional, for setting)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
467
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
468
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
469 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
470
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
471
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
472 sub proof {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
473 my ($self,$value) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
474 my %proof = (computed => 1,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
475 experimental => 1
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
476 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
477
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
478 if( defined $value) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
479 $value = lc $value;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
480 if ($proof{$value}) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
481 $self->{'proof'} = $value;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
482 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
483 $self->throw("$value is not valid proof value!");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
484 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
485 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
486 return $self->{'proof'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
487 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
488
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
489
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
490 =head2 region
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
491
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
492 Title : region
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
493 Usage : $obj->region();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
494 Function:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
495
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
496 Sets and returns the name of the sequence region type or
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
497 protein domain at this location. If value is not set,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
498 returns false.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
499
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
500 Example :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
501 Returns : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
502 Args : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
503
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
504 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
505
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
506
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
507 sub region {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
508 my ($self,$value) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
509 if( defined $value) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
510 $self->{'region'} = $value;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
511 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
512 return $self->{'region'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
513 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
514
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
515
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
516 =head2 region_value
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
517
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
518 Title : region_value
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
519 Usage : $obj->region_value();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
520 Function:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
521
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
522 Sets and returns the name of the sequence region_value or
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
523 protein domain at this location. If value is not set,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
524 returns false.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
525
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
526 Example :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
527 Returns : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
528 Args : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
529
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
530 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
531
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
532
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
533 sub region_value {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
534 my ($self,$value) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
535 if( defined $value) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
536 $self->{'region_value'} = $value;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
537 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
538 return $self->{'region_value'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
539 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
540
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
541 =head2 region_dist
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
542
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
543 Title : region_dist
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
544 Usage : $obj->region_dist();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
545 Function:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
546
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
547 Sets and returns the distance tot the closest region
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
548 (i.e. intro/exon or domain) boundary. If distance is not
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
549 set, returns false.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
550
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
551 Example :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
552 Returns : integer
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
553 Args : integer
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
554
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
555 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
556
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
557
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
558 sub region_dist {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
559 my ($self,$value) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
560 if( defined $value) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
561 if ( not $value =~ /^[+-]?\d+$/ ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
562 $self->throw("[$value] for region_dist has to be an integer\n");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
563 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
564 $self->{'region_dist'} = $value;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
565 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
566 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
567 return $self->{'region_dist'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
568 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
569
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
570
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
571 =head2 numbering
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
572
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
573 Title : numbering
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
574 Usage : $obj->numbering()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
575 Function:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
576
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
577 Returns the numbering chema used locating sequnce features.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
578 Valid values are: 'entry' and 'coding'
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
579
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
580 Example : $obj->numbering('coding');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
581 Returns : scalar
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
582 Args : valid string (optional, for setting)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
583
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
584
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
585 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
586
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
587
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
588 sub numbering {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
589 my ($self,$value) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
590 my %numbering = (entry => 1,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
591 coding => 1
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
592 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
593
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
594 if( defined $value) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
595 $value = lc $value;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
596 if ($numbering{$value}) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
597 $self->{'numbering'} = $value;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
598 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
599 else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
600 $self->throw("'$value' is not a valid for numbering!");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
601 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
602 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
603 if( ! exists $self->{'numbering'} ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
604 return "$self";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
605 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
606 return $self->{'numbering'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
607 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
608
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
609 =head2 mut_number
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
610
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
611 Title : mut_number
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
612 Usage : $num = $obj->mut_number;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
613 : $num = $obj->mut_number($number);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
614 Function:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
615
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
616 Returns or sets the number identifying the order in which the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
617 mutation has been issued. Numbers shouldstart from 1.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
618 If the number has never been set, the method will return ''
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
619
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
620 If you want the output from IO modules look nice and, for
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
621 multivariant/allele variations, make sense you better set
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
622 this attribute.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
623
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
624 Returns : an integer
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
625
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
626 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
627
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
628
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
629 sub mut_number {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
630 my ($self,$value) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
631 if (defined $value) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
632 $self->{'mut_number'} = $value;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
633 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
634 unless (exists $self->{'mut_number'}) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
635 return ('');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
636 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
637 return $self->{'mut_number'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
638 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
639 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
640
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
641
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
642 =head2 SeqDiff
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
643
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
644 Title : SeqDiff
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
645 Usage : $mutobj = $obj->SeqDiff;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
646 : $mutobj = $obj->SeqDiff($objref);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
647 Function:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
648
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
649 Returns or sets the link-reference to the umbrella
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
650 Bio::Variation::SeqDiff object. If there is no link,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
651 it will return undef
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
652
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
653 Note: Adding a variant into a SeqDiff object will
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
654 automatically set this value.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
655
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
656 Returns : an obj_ref or undef
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
657
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
658 See L<Bio::Variation::SeqDiff> for more information.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
659
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
660 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
661
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
662 sub SeqDiff {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
663 my ($self,$value) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
664 if (defined $value) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
665 if( ! $value->isa('Bio::Variation::SeqDiff') ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
666 $self->throw("Is not a Bio::Variation::SeqDiff object but a [$value]");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
667 return (undef);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
668 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
669 else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
670 $self->{'seqDiff'} = $value;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
671 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
672 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
673 unless (exists $self->{'seqDiff'}) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
674 return (undef);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
675 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
676 return $self->{'seqDiff'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
677 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
678 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
679
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
680 =head2 add_DBLink
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
681
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
682 Title : add_DBLink
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
683 Usage : $self->add_DBLink($ref)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
684 Function: adds a link object
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
685 Example :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
686 Returns :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
687 Args :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
688
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
689
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
690 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
691
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
692
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
693 sub add_DBLink{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
694 my ($self,$com) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
695 if( $com && ! $com->isa('Bio::Annotation::DBLink') ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
696 $self->throw("Is not a link object but a [$com]");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
697 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
698 $com && push(@{$self->{'link'}},$com);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
699 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
700
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
701 =head2 each_DBLink
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
702
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
703 Title : each_DBLink
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
704 Usage : foreach $ref ( $self->each_DBlink() )
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
705 Function: gets an array of DBlink of objects
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
706 Example :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
707 Returns :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
708 Args :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
709
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
710
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
711 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
712
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
713 sub each_DBLink{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
714 my ($self) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
715
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
716 return @{$self->{'link'}};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
717 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
718
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
719 =head2 restriction_changes
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
720
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
721 Title : restriction_changes
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
722 Usage : $obj->restriction_changes();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
723 Function:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
724
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
725 Returns a string containing a list of restriction
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
726 enzyme changes of form +EcoRI, separated by
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
727 commas. Strings need to be valid restriction enzyme names
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
728 as stored in REBASE. allele_ori and allele_mut need to be assigned.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
729
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
730 Example :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
731 Returns : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
732 Args : string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
733
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
734 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
735
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
736 sub restriction_changes {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
737 my ($self) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
738
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
739 if (not $self->{'re_changes'}) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
740 my %re = &_enzymes;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
741
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
742 # complain if used on AA data
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
743 if ($self->isa('Bio::Variation::AAChange')) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
744 $self->throw('Restriction enzymes do not bite polypeptides!');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
745 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
746
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
747 #sanity checks
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
748 $self->warn('Upstream sequence is empty!')
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
749 if $self->upStreamSeq eq '';
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
750 $self->warn('Downstream sequence is empty!')
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
751 if $self->dnStreamSeq eq '';
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
752 # $self->warn('Original allele sequence is empty!')
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
753 # if $self->allele_ori eq '';
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
754 # $self->warn('Mutated allele sequence is empty!')
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
755 # if $self->allele_mut eq '';
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
756
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
757 #reuse the non empty DNA level list at RNA level if the flanks are identical
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
758 #Hint: Check DNAMutation object first
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
759 if ($self->isa('Bio::Variation::RNAChange') and $self->DNAMutation and
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
760 $self->upStreamSeq eq $self->DNAMutation->upStreamSeq and
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
761 $self->dnStreamSeq eq $self->DNAMutation->dnStreamSeq and
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
762 $self->DNAMutation->restriction_changes ne '' ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
763 $self->{'re_changes'} = $self->DNAMutation->restriction_changes;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
764 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
765
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
766 #maximum length of a type II restriction site in the current REBASE
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
767 my ($le_dn) = 15;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
768 my ($le_up) = $le_dn;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
769
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
770 #reduce the flank lengths if the desired length is not available
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
771 $le_dn = CORE::length ($self->dnStreamSeq) if $le_dn > CORE::length ($self->dnStreamSeq);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
772 $le_up = CORE::length ($self->upStreamSeq) if $le_up > CORE::length ($self->upStreamSeq);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
773
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
774 #Build sequence strings to compare
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
775 my ($oriseq, $mutseq);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
776 $oriseq = $mutseq = substr($self->upStreamSeq, -$le_up, $le_up);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
777 $oriseq .= $self->allele_ori->seq if $self->allele_ori->seq;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
778 $mutseq .= $self->allele_mut->seq if $self->allele_mut->seq;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
779 $oriseq .= substr($self->dnStreamSeq, 0, $le_dn);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
780 $mutseq .= substr($self->dnStreamSeq, 0, $le_dn);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
781
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
782 # ... and their reverse complements
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
783 my $oriseq_rev = _revcompl ($oriseq);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
784 my $mutseq_rev = _revcompl ($mutseq);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
785
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
786 # collect results into a string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
787 my $rec = '';
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
788 foreach my $enz (sort keys (%re)) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
789 my $site = $re{$enz};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
790 my @ori = ($oriseq=~ /$site/g);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
791 my @mut = ($mutseq=~ /$site/g);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
792 my @ori_r = ($oriseq_rev =~ /$site/g);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
793 my @mut_r = ($mutseq_rev =~ /$site/g);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
794
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
795 $rec .= '+'. $enz. ", "
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
796 if (scalar @ori < scalar @mut) or (scalar @ori_r < scalar @mut_r);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
797 $rec .= '-'. $enz. ", "
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
798 if (scalar @ori > scalar @mut) or (scalar @ori_r > scalar @mut_r);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
799
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
800 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
801 $rec = substr($rec, 0, CORE::length($rec) - 2) if $rec ne '';
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
802 $self->{'re_changes'} = $rec;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
803 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
804 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
805 return $self->{'re_changes'}
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
806 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
807
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
808
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
809 sub _revcompl {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
810 # side effect: lower case letters
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
811 my ($seq) = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
812
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
813 $seq = lc $seq;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
814 $seq =~ tr/acgtrymkswhbvdnx/tgcayrkmswdvbhnx/;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
815 return CORE::reverse $seq;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
816 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
817
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
818
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
819 sub _enzymes {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
820 #REBASE version 005 type2.005
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
821 my %enzymes = (
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
822 'AarI' => 'cacctgc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
823 'AatII' => 'gacgtc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
824 'AccI' => 'gt[ac][gt]ac',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
825 'AceIII' => 'cagctc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
826 'AciI' => 'ccgc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
827 'AclI' => 'aacgtt',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
828 'AcyI' => 'g[ag]cg[ct]c',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
829 'AflII' => 'cttaag',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
830 'AflIII' => 'ac[ag][ct]gt',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
831 'AgeI' => 'accggt',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
832 'AhaIII' => 'tttaaa',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
833 'AloI' => 'gaac[acgt][acgt][acgt][acgt][acgt][acgt]tcc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
834 'AluI' => 'agct',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
835 'AlwNI' => 'cag[acgt][acgt][acgt]ctg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
836 'ApaBI' => 'gca[acgt][acgt][acgt][acgt][acgt]tgc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
837 'ApaI' => 'gggccc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
838 'ApaLI' => 'gtgcac',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
839 'ApoI' => '[ag]aatt[ct]',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
840 'AscI' => 'ggcgcgcc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
841 'AsuI' => 'gg[acgt]cc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
842 'AsuII' => 'ttcgaa',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
843 'AvaI' => 'c[ct]cg[ag]g',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
844 'AvaII' => 'gg[at]cc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
845 'AvaIII' => 'atgcat',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
846 'AvrII' => 'cctagg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
847 'BaeI' => 'ac[acgt][acgt][acgt][acgt]gta[ct]c',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
848 'BalI' => 'tggcca',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
849 'BamHI' => 'ggatcc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
850 'BbvCI' => 'cctcagc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
851 'BbvI' => 'gcagc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
852 'BbvII' => 'gaagac',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
853 'BccI' => 'ccatc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
854 'Bce83I' => 'cttgag',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
855 'BcefI' => 'acggc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
856 'BcgI' => 'cga[acgt][acgt][acgt][acgt][acgt][acgt]tgc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
857 'BciVI' => 'gtatcc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
858 'BclI' => 'tgatca',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
859 'BetI' => '[at]ccgg[at]',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
860 'BfiI' => 'actggg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
861 'BglI' => 'gcc[acgt][acgt][acgt][acgt][acgt]ggc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
862 'BglII' => 'agatct',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
863 'BinI' => 'ggatc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
864 'BmgI' => 'g[gt]gccc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
865 'BplI' => 'gag[acgt][acgt][acgt][acgt][acgt]ctc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
866 'Bpu10I' => 'cct[acgt]agc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
867 'BsaAI' => '[ct]acgt[ag]',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
868 'BsaBI' => 'gat[acgt][acgt][acgt][acgt]atc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
869 'BsaXI' => 'ac[acgt][acgt][acgt][acgt][acgt]ctcc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
870 'BsbI' => 'caacac',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
871 'BscGI' => 'cccgt',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
872 'BseMII' => 'ctcag',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
873 'BsePI' => 'gcgcgc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
874 'BseRI' => 'gaggag',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
875 'BseSI' => 'g[gt]gc[ac]c',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
876 'BsgI' => 'gtgcag',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
877 'BsiI' => 'cacgag',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
878 'BsiYI' => 'cc[acgt][acgt][acgt][acgt][acgt][acgt][acgt]gg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
879 'BsmAI' => 'gtctc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
880 'BsmI' => 'gaatgc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
881 'Bsp1407I' => 'tgtaca',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
882 'Bsp24I' => 'gac[acgt][acgt][acgt][acgt][acgt][acgt]tgg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
883 'BspGI' => 'ctggac',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
884 'BspHI' => 'tcatga',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
885 'BspLU11I' => 'acatgt',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
886 'BspMI' => 'acctgc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
887 'BspMII' => 'tccgga',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
888 'BsrBI' => 'ccgctc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
889 'BsrDI' => 'gcaatg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
890 'BsrI' => 'actgg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
891 'BstEII' => 'ggt[acgt]acc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
892 'BstXI' => 'cca[acgt][acgt][acgt][acgt][acgt][acgt]tgg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
893 'BtrI' => 'cacgtc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
894 'BtsI' => 'gcagtg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
895 'Cac8I' => 'gc[acgt][acgt]gc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
896 'CauII' => 'cc[cg]gg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
897 'Cfr10I' => '[ag]ccgg[ct]',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
898 'CfrI' => '[ct]ggcc[ag]',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
899 'CjeI' => 'cca[acgt][acgt][acgt][acgt][acgt][acgt]gt',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
900 'CjePI' => 'cca[acgt][acgt][acgt][acgt][acgt][acgt][acgt]tc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
901 'ClaI' => 'atcgat',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
902 'CviJI' => '[ag]gc[ct]',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
903 'CviRI' => 'tgca',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
904 'DdeI' => 'ct[acgt]ag',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
905 'DpnI' => 'gatc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
906 'DraII' => '[ag]gg[acgt]cc[ct]',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
907 'DraIII' => 'cac[acgt][acgt][acgt]gtg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
908 'DrdI' => 'gac[acgt][acgt][acgt][acgt][acgt][acgt]gtc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
909 'DrdII' => 'gaacca',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
910 'DsaI' => 'cc[ag][ct]gg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
911 'Eam1105I' => 'gac[acgt][acgt][acgt][acgt][acgt]gtc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
912 'EciI' => 'ggcgga',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
913 'Eco31I' => 'ggtctc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
914 'Eco47III' => 'agcgct',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
915 'Eco57I' => 'ctgaag',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
916 'EcoNI' => 'cct[acgt][acgt][acgt][acgt][acgt]agg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
917 'EcoRI' => 'gaattc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
918 'EcoRII' => 'cc[at]gg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
919 'EcoRV' => 'gatatc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
920 'Esp3I' => 'cgtctc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
921 'EspI' => 'gct[acgt]agc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
922 'FauI' => 'cccgc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
923 'FinI' => 'gggac',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
924 'Fnu4HI' => 'gc[acgt]gc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
925 'FnuDII' => 'cgcg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
926 'FokI' => 'ggatg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
927 'FseI' => 'ggccggcc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
928 'GdiII' => 'cggcc[ag]',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
929 'GsuI' => 'ctggag',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
930 'HaeI' => '[at]ggcc[at]',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
931 'HaeII' => '[ag]gcgc[ct]',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
932 'HaeIII' => 'ggcc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
933 'HaeIV' => 'ga[ct][acgt][acgt][acgt][acgt][acgt][ag]tc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
934 'HgaI' => 'gacgc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
935 'HgiAI' => 'g[at]gc[at]c',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
936 'HgiCI' => 'gg[ct][ag]cc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
937 'HgiEII' => 'acc[acgt][acgt][acgt][acgt][acgt][acgt]ggt',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
938 'HgiJII' => 'g[ag]gc[ct]c',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
939 'HhaI' => 'gcgc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
940 'Hin4I' => 'ga[cgt][acgt][acgt][acgt][acgt][acgt][acg]tc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
941 'HindII' => 'gt[ct][ag]ac',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
942 'HindIII' => 'aagctt',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
943 'HinfI' => 'ga[acgt]tc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
944 'HpaI' => 'gttaac',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
945 'HpaII' => 'ccgg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
946 'HphI' => 'ggtga',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
947 'Hpy178III' => 'tc[acgt][acgt]ga',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
948 'Hpy188I' => 'tc[acgt]ga',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
949 'Hpy99I' => 'cg[at]cg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
950 'KpnI' => 'ggtacc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
951 'Ksp632I' => 'ctcttc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
952 'MaeI' => 'ctag',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
953 'MaeII' => 'acgt',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
954 'MaeIII' => 'gt[acgt]ac',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
955 'MboI' => 'gatc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
956 'MboII' => 'gaaga',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
957 'McrI' => 'cg[ag][ct]cg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
958 'MfeI' => 'caattg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
959 'MjaIV' => 'gt[acgt][acgt]ac',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
960 'MluI' => 'acgcgt',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
961 'MmeI' => 'tcc[ag]ac',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
962 'MnlI' => 'cctc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
963 'MseI' => 'ttaa',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
964 'MslI' => 'ca[ct][acgt][acgt][acgt][acgt][ag]tg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
965 'MstI' => 'tgcgca',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
966 'MwoI' => 'gc[acgt][acgt][acgt][acgt][acgt][acgt][acgt]gc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
967 'NaeI' => 'gccggc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
968 'NarI' => 'ggcgcc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
969 'NcoI' => 'ccatgg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
970 'NdeI' => 'catatg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
971 'NheI' => 'gctagc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
972 'NlaIII' => 'catg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
973 'NlaIV' => 'gg[acgt][acgt]cc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
974 'NotI' => 'gcggccgc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
975 'NruI' => 'tcgcga',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
976 'NspBII' => 'c[ac]gc[gt]g',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
977 'NspI' => '[ag]catg[ct]',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
978 'PacI' => 'ttaattaa',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
979 'Pfl1108I' => 'tcgtag',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
980 'PflMI' => 'cca[acgt][acgt][acgt][acgt][acgt]tgg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
981 'PleI' => 'gagtc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
982 'PmaCI' => 'cacgtg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
983 'PmeI' => 'gtttaaac',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
984 'PpiI' => 'gaac[acgt][acgt][acgt][acgt][acgt]ctc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
985 'PpuMI' => '[ag]gg[at]cc[ct]',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
986 'PshAI' => 'gac[acgt][acgt][acgt][acgt]gtc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
987 'PsiI' => 'ttataa',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
988 'PstI' => 'ctgcag',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
989 'PvuI' => 'cgatcg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
990 'PvuII' => 'cagctg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
991 'RleAI' => 'cccaca',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
992 'RsaI' => 'gtac',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
993 'RsrII' => 'cgg[at]ccg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
994 'SacI' => 'gagctc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
995 'SacII' => 'ccgcgg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
996 'SalI' => 'gtcgac',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
997 'SanDI' => 'ggg[at]ccc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
998 'SapI' => 'gctcttc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
999 'SauI' => 'cct[acgt]agg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1000 'ScaI' => 'agtact',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1001 'ScrFI' => 'cc[acgt]gg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1002 'SduI' => 'g[agt]gc[act]c',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1003 'SecI' => 'cc[acgt][acgt]gg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1004 'SexAI' => 'acc[at]ggt',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1005 'SfaNI' => 'gcatc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1006 'SfeI' => 'ct[ag][ct]ag',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1007 'SfiI' => 'ggcc[acgt][acgt][acgt][acgt][acgt]ggcc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1008 'SgfI' => 'gcgatcgc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1009 'SgrAI' => 'c[ag]ccgg[ct]g',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1010 'SimI' => 'gggtc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1011 'SmaI' => 'cccggg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1012 'SmlI' => 'ct[ct][ag]ag',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1013 'SnaBI' => 'tacgta',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1014 'SnaI' => 'gtatac',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1015 'SpeI' => 'actagt',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1016 'SphI' => 'gcatgc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1017 'SplI' => 'cgtacg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1018 'SrfI' => 'gcccgggc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1019 'Sse232I' => 'cgccggcg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1020 'Sse8387I' => 'cctgcagg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1021 'Sse8647I' => 'agg[at]cct',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1022 'SspI' => 'aatatt',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1023 'Sth132I' => 'cccg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1024 'StuI' => 'aggcct',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1025 'StyI' => 'cc[at][at]gg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1026 'SwaI' => 'atttaaat',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1027 'TaqI' => 'tcga',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1028 'TaqII' => 'gaccga',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1029 'TatI' => '[at]gtac[at]',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1030 'TauI' => 'gc[cg]gc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1031 'TfiI' => 'ga[at]tc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1032 'TseI' => 'gc[at]gc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1033 'Tsp45I' => 'gt[cg]ac',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1034 'Tsp4CI' => 'ac[acgt]gt',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1035 'TspEI' => 'aatt',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1036 'TspRI' => 'ca[cg]tg[acgt][acgt]',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1037 'Tth111I' => 'gac[acgt][acgt][acgt]gtc',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1038 'Tth111II' => 'caa[ag]ca',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1039 'UbaGI' => 'cac[acgt][acgt][acgt][acgt]gtg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1040 'UbaPI' => 'cgaacg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1041 'VspI' => 'attaat',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1042 'XbaI' => 'tctaga',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1043 'XcmI' => 'cca[acgt][acgt][acgt][acgt][acgt][acgt][acgt][acgt][acgt]tgg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1044 'XhoI' => 'ctcgag',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1045 'XhoII' => '[ag]gatc[ct]',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1046 'XmaIII' => 'cggccg',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1047 'XmnI' => 'gaa[acgt][acgt][acgt][acgt]ttc'
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1048 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1049
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1050 return %enzymes;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1051 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1052
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1053 1;