annotate variant_effect_predictor/Bio/Variation/SNP.pm @ 1:d6778b5d8382 draft default tip

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