annotate variant_effect_predictor/Bio/SeqFeature/Similarity.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: Similarity.pm,v 1.10 2002/11/01 21:39:05 jason Exp $
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
2 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
3 # BioPerl module for Bio::SeqFeature::Similarity
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
4 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
5 # Cared for by Hilmar Lapp <hlapp@gmx.net>
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
6 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
7 # Copyright Hilmar Lapp
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::SeqFeature::Similarity - A sequence feature based on similarity
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 # obtain a similarity feature somehow
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
20 print "significance: ", $sim_fea->significance(), "\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
21 print "bit score: ", $sim_fea->bits(), "\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
22 print "score: ", $sim_fea->score(), "\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
23 print "fraction of identical residues: ", $sim_fea->frac_identical(), "\n";
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 module is basically a sequence features based on similarity, and therefore
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
28 has support for measures assessing the similarity.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
29
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
30 Everything else is inherited from L<Bio::SeqFeature::Generic>.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
31
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
32 =head1 FEEDBACK
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
33
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
34 =head2 Mailing Lists
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
35
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
36 User feedback is an integral part of the evolution of this
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
37 and other Bioperl modules. Send your comments and suggestions preferably
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
38 to one of the Bioperl mailing lists.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
39 Your participation is much appreciated.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
40
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
41 bioperl-l@bioperl.org - General discussion
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
42 http://bio.perl.org/MailList.html - About the mailing lists
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
43
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
44 =head2 Reporting Bugs
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
45
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
46 Report bugs to the Bioperl bug tracking system to help us keep track
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
47 the bugs and their resolution.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
48 Bug reports can be submitted via email or the web:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
49
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
50 bioperl-bugs@bio.perl.org
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
51 http://bugzilla.bioperl.org/
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
52
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
53 =head1 AUTHOR - Hilmar Lapp
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
54
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
55 Email hlapp@gmx.net or hilmar.lapp@pharma.novartis.com
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
56
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
57 Describe contact details here
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
58
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
59 =head1 APPENDIX
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
60
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
61 The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
62
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
63 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
64
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
65
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
66 # Let the code begin...
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
67
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
68
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
69 package Bio::SeqFeature::Similarity;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
70 use vars qw(@ISA);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
71 use strict;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
72
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
73 use Bio::SeqFeature::Generic;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
74
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
75 @ISA = qw(Bio::SeqFeature::Generic);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
76
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
77 sub new {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
78 my ( $caller, @args) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
79 my ($self) = $caller->SUPER::new(@args);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
80
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
81 my ($primary,$evalue, $bits, $frac,$seqlen,$seqdesc) =
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
82 $self->_rearrange([qw(PRIMARY
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
83 EXPECT
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
84 BITS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
85 FRAC
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
86 SEQDESC
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
87 SEQLENGTH
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
88 )],@args);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
89
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
90 defined $evalue && $self->significance($evalue);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
91 defined $bits && $self->bits($bits);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
92 defined $frac && $self->frac_identical($frac);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
93 defined $seqlen && $self->seqlength($seqlen);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
94 defined $seqdesc && $self->seqdesc($seqdesc);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
95 $primary = 'similarity' unless defined $primary;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
96 $self->primary_tag($primary) unless( defined $self->primary_tag() );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
97 $self->strand(0) unless( defined $self->strand() );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
98
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
99 return $self;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
100 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
101
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
102 =head2 significance
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
103
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
104 Title : significance
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
105 Usage : $evalue = $obj->significance();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
106 $obj->significance($evalue);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
107 Function:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
108 Returns :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
109 Args :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
110
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
111
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
112 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
113
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
114 sub significance {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
115 my ($self, $value) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
116
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
117 return $self->_tag_value('signif', $value);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
118 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
119
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
120 =head2 bits
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
121
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
122 Title : bits
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
123 Usage : $bits = $obj->bits();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
124 $obj->bits($value);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
125 Function:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
126 Returns :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
127 Args :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
128
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
129
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
130 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
131
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
132 sub bits {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
133 my ($self, $value) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
134
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
135 return $self->_tag_value('Bits', $value);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
136 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
137
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
138 =head2 frac_identical
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
139
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
140 Title : frac_identical
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
141 Usage : $fracid = $obj->frac_identical();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
142 $obj->frac_identical($value);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
143 Function:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
144 Returns :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
145 Args :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
146
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
147
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
148 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
149
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
150 sub frac_identical {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
151 my ($self, $value) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
152
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
153 return $self->_tag_value('FracId', $value);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
154 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
155
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
156 =head2 seqlength
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
157
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
158 Title : seqlength
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
159 Usage : $len = $obj->seqlength();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
160 $obj->seqlength($len);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
161 Function:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
162 Returns :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
163 Args :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
164
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
165
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
166 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
167
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
168 sub seqlength {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
169 my ($self, $value) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
170
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
171 return $self->_tag_value('SeqLength', $value);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
172 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
173
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
174 =head2 seqdesc
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
175
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
176 Title : seqdesc
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
177 Usage : $desc = $obj->seqdesc();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
178 $obj->seqdesc($desc);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
179 Function: At present this method is a shorthand for
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
180 $obj->annotation()->description().
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
181
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
182 Note that this is not stored in the tag system and hence will
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
183 not be included in the return value of gff_string().
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
184 Returns :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
185 Args :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
186
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
187
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
188 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
189
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
190 sub seqdesc {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
191 my ($self, $value) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
192
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
193 if( defined $value ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
194 my $v = Bio::Annotation::SimpleValue->new();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
195 $v->value($value);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
196 $self->annotation->add_Annotation('description',$v);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
197 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
198 my ($v) = $self->annotation()->get_Annotations('description');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
199 return $v ? $v->value : undef;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
200 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
201
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
202 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
203 # Everything else is just inherited from SeqFeature::Generic.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
204 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
205
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
206 1;