annotate variant_effect_predictor/Bio/Variation/SNP.pm @ 2:a5976b2dce6f

changing defualt values for ensembl database
author mahtabm
date Thu, 11 Apr 2013 17:15:42 +1000
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: SNP.pm,v 1.9 2002/10/22 07:38:49 lapp Exp $
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
2 # bioperl module for Bio::Variation::SNP
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
3 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
4 # Copyright Allen Day <allenday@ucla.edu>, Stan Nelson <snelson@ucla.edu>
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
5 # Human Genetics, UCLA Medical School, University of California, Los Angeles
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
6
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
7 =head1 NAME
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
8
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
9 Bio::Variation::SNP - submitted SNP
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
10
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
11 =head1 SYNOPSIS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
12
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
13 $SNP = Bio::Variation::SNP->new ();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
14
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
15 =head1 DESCRIPTION
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
16
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
17 Inherits from Bio::Variation::SeqDiff and Bio::Variation::Allele, with
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
18 additional methods that are (db)SNP specific (ie, refSNP/subSNP IDs, batch
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
19 IDs, validation methods).
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
20
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
21 =head1 FEEDBACK
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
22
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
23 =head2 Mailing Lists
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
24
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
25 User feedback is an integral part of the evolution of this and other
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
26 Bioperl modules. Send your comments and suggestions preferably to the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
27 Bioperl mailing lists Your participation is much appreciated.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
28
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
29 bioperl-l@bioperl.org - General discussion
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
30 http://bio.perl.org/MailList.html - About the mailing lists
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
31
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
32 =head2 Reporting Bugs
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
33
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
34 report bugs to the Bioperl bug tracking system to help us keep track
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
35 the bugs and their resolution. Bug reports can be submitted via
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
36 email or the web:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
37
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
38 bioperl-bugs@bio.perl.org
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
39 http://bugzilla.bioperl.org/
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
40
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
41 =head1 AUTHOR
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
42
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
43 Allen Day E<lt>allenday@ucla.eduE<gt>
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
44
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
45 =head1 APPENDIX
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
46
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
47 The rest of the documentation details each of the object
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
48 methods. Internal methods are usually preceded with a _
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
49
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
50 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
51
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
52 # Let the code begin...
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
53
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
54 package Bio::Variation::SNP;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
55 my $VERSION=1.0;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
56
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
57 use strict;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
58 use vars qw($VERSION @ISA $AUTOLOAD);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
59 use Bio::Root::Root;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
60 use Bio::Variation::SeqDiff;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
61 use Bio::Variation::Allele;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
62
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
63 @ISA = qw( Bio::Variation::SeqDiff Bio::Variation::Allele);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
64
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
65 =head2 get/set-able methods
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
66
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
67 Usage : $is = $snp->method()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
68 Function: for getting/setting attributes
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
69 Returns : a value. probably a scalar.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
70 Args : if you're trying to set an attribute, pass in the new value.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
71
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
72 Methods:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
73 --------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
74 id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
75 type
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
76 observed
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
77 seq_5
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
78 seq_3
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
79 ncbi_build
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
80 ncbi_chr_hits
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
81 ncbi_ctg_hits
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
82 ncbi_seq_loc
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
83 ucsc_build
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
84 ucsc_chr_hits
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
85 ucsc_ctg_hits
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
86 heterozygous
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
87 heterozygous_SE
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
88 validated
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
89 genotype
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
90 handle
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
91 batch_id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
92 method
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
93 locus_id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
94 symbol
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
95 mrna
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
96 protein
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
97 functional_class
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
98
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
99
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
100 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
101
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
102
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
103 my %OK_AUTOLOAD = (
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
104 id => '',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
105 type => '',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
106 observed => [],
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
107 seq_5 => '',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
108 seq_3 => '',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
109 ncbi_build => '',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
110 ncbi_chr_hits => '',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
111 ncbi_ctg_hits => '',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
112 ncbi_seq_loc => '',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
113 ucsc_build => '',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
114 ucsc_chr_hits => '',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
115 ucsc_ctg_hits => '',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
116 heterozygous => '',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
117 heterozygous_SE => '',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
118 validated => '',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
119 genotype => '',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
120 handle => '',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
121 batch_id => '',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
122 method => '',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
123 locus_id => '',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
124 symbol => '',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
125 mrna => '',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
126 protein => '',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
127 functional_class => '',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
128 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
129
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
130 sub AUTOLOAD {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
131 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
132 my $param = $AUTOLOAD;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
133 $param =~ s/.*:://;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
134 $self->throw(__PACKAGE__." doesn't implement $param") unless defined $OK_AUTOLOAD{$param};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
135
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
136 if( ref $OK_AUTOLOAD{$param} eq 'ARRAY' ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
137 push @{$self->{$param}}, shift if @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
138 return $self->{$param}->[scalar(@{$self->{$param}}) - 1];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
139 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
140 $self->{$param} = shift if @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
141 return $self->{$param};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
142 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
143 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
144
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
145
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
146 #foreach my $slot (keys %RWSLOT){
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
147 # no strict "refs"; #add class methods to package
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
148 # *$slot = sub {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
149 # shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
150 # $RWSLOT{$slot} = shift if @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
151 # return $RWSLOT{$slot};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
152 # };
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
153 #}
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
154
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
155
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
156 =head2 is_subsnp
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
157
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
158 Title : is_subsnp
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
159 Usage : $is = $snp->is_subsnp()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
160 Function: returns 1 if $snp is a subSNP
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
161 Returns : 1 or undef
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
162 Args : NONE
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
163
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
164 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
165
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
166 sub is_subsnp {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
167 return shift->{is_subsnp};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
168 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
169
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
170 =head2 subsnp
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
171
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
172 Title : subsnp
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
173 Usage : $subsnp = $snp->subsnp()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
174 Function: returns the currently active subSNP of $snp
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
175 Returns : Bio::Variation::SNP
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
176 Args : NONE
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
177
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
178 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
179
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
180 sub subsnp {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
181 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
182 return $self->{subsnps}->[ scalar($self->each_subsnp) - 1 ];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
183 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
184
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
185 =head2 add_subsnp
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
186
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
187 Title : add_subsnp
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
188 Usage : $subsnp = $snp->add_subsnp()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
189 Function: pushes the previous value returned by subsnp() onto a stack, accessible with each_subsnp().
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
190 sets return value of subsnp() to a new Bio::Variation::SNP object, and returns that object.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
191 Returns : Bio::Varitiation::SNP
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
192 Args : NONE
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
193
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
194 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
195
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
196 sub add_subsnp {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
197 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
198 $self->throw("add_subsnp(): cannot add sunSNP to subSNP, only refSNP") if $self->is_subsnp;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
199
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
200 my $subsnp = Bio::Variation::SNP->new;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
201 push @{$self->{subsnps}}, $subsnp;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
202 $self->subsnp->{is_subsnp} = 1;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
203 return $self->subsnp;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
204 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
205
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
206 =head2 each_subsnp
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
207
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
208 Title : each_subsnp
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
209 Usage : @subsnps = $snp->each_subsnp()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
210 Function: returns a list of the subSNPs of a refSNP
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
211 Returns : list
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
212 Args : NONE
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
213
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
214 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
215
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
216 sub each_subsnp {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
217 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
218 $self->throw("each_subsnp(): cannot be called on a subSNP") if $self->is_subsnp;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
219 return @{$self->{subsnps}};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
220 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
221
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
222 1;