annotate variant_effect_predictor/Bio/SeqFeature/Similarity.pm @ 0:2bc9b66ada89 draft default tip

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