annotate variant_effect_predictor/Bio/Align/AlignI.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: AlignI.pm,v 1.7 2002/10/22 07:45:10 lapp Exp $
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
2 #
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
3 # BioPerl module for Bio::Align::AlignI
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
4 #
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
5 # Cared for by Jason Stajich <jason@bioperl.org>
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
6 #
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
7 # Copyright Jason Stajich
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::Align::AlignI - An interface for describing sequence alignments.
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 # get a Bio::Align::AlignI somehow - typically using Bio::AlignIO system
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
20 # some descriptors
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
21 print $aln->length, "\n";
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
22 print $aln->no_residues, "\n";
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
23 print $aln->is_flush, "\n";
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
24 print $aln->no_sequences, "\n";
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
25 print $aln->percentage_identity, "\n";
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
26 print $aln->consensus_string(50), "\n";
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
27
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
28 # find the position in the alignment for a sequence location
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
29 $pos = $aln->column_from_residue_number('1433_LYCES', 14); # = 6;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
30
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
31 # extract sequences and check values for the alignment column $pos
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
32 foreach $seq ($aln->each_seq) {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
33 $res = $seq->subseq($pos, $pos);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
34 $count{$res}++;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
35 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
36 foreach $res (keys %count) {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
37 printf "Res: %s Count: %2d\n", $res, $count{$res};
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
38 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
39
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
40 =head1 DESCRIPTION
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
41
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
42 This interface describes the basis for alignment objects.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
43
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
44 =head1 FEEDBACK
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
45
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
46 =head2 Mailing Lists
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
47
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
48 User feedback is an integral part of the evolution of this and other
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
49 Bioperl modules. Send your comments and suggestions preferably to
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
50 the Bioperl mailing list. Your participation is much appreciated.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
51
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
52 bioperl-l@bioperl.org - General discussion
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
53 http://bioperl.org/MailList.shtml - About the mailing lists
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
54
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
55 =head2 Reporting Bugs
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
56
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
57 Report bugs to the Bioperl bug tracking system to help us keep track
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
58 of the bugs and their resolution. Bug reports can be submitted via
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
59 email or the web:
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
60
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
61 bioperl-bugs@bioperl.org
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
62 http://bugzilla.bioperl.org/
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
63
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
64 =head1 AUTHOR - Jason Stajich
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
65
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
66 Email jason@bioperl.org
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
67
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
68 =head1 CONTRIBUTORS
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
69
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
70 Ewan Birney, birney@ebi.ac.uk
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
71 Heikki Lehvaslaiho, heikki@ebi.ac.uk
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
72
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
73 =head1 APPENDIX
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
74
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
75 The rest of the documentation details each of the object methods.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
76 Internal methods are usually preceded with a _
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
77
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
78 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
79
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
80
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
81 # Let the code begin...
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
82
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
83
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
84 package Bio::Align::AlignI;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
85 use vars qw(@ISA);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
86 use strict;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
87
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
88 use Bio::Root::RootI;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
89
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
90 @ISA = qw(Bio::Root::RootI);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
91
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
92 =head1 Modifier methods
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
93
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
94 These methods modify the MSE by adding, removing or shuffling complete
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
95 sequences.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
96
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
97 =head2 add_seq
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
98
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
99 Title : add_seq
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
100 Usage : $myalign->add_seq($newseq);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
101 Function : Adds another sequence to the alignment. *Does not* align
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
102 it - just adds it to the hashes.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
103 Returns : nothing
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
104 Argument : a Bio::LocatableSeq object
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
105 order (optional)
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
106
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
107 See L<Bio::LocatableSeq> for more information.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
108
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
109 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
110
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
111 sub add_seq {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
112 my ($self) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
113 $self->throw_not_implemented();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
114 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
115
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
116 =head2 remove_seq
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
117
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
118 Title : remove_seq
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
119 Usage : $aln->remove_seq($seq);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
120 Function : Removes a single sequence from an alignment
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
121 Returns :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
122 Argument : a Bio::LocatableSeq object
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
123
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
124 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
125
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
126 sub remove_seq {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
127 my ($self) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
128 $self->throw_not_implemented();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
129 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
130
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
131 =head2 purge
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
132
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
133 Title : purge
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
134 Usage : $aln->purge(0.7);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
135 Function:
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
136
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
137 Removes sequences above whatever %id.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
138
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
139 This function will grind on large alignments. Beware!
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
140 (perhaps not ideally implemented)
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
141
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
142 Example :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
143 Returns : An array of the removed sequences
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
144 Argument:
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
145
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
146
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
147 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
148
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
149 sub purge {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
150 my ($self) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
151 $self->throw_not_implemented();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
152 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
153
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
154 =head2 sort_alphabetically
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
155
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
156 Title : sort_alphabetically
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
157 Usage : $ali->sort_alphabetically
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
158 Function :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
159
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
160 Changes the order of the alignemnt to alphabetical on name
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
161 followed by numerical by number.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
162
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
163 Returns :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
164 Argument :
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 sort_alphabetically {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
169 my ($self) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
170 $self->throw_not_implemented();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
171 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
172
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
173 =head1 Sequence selection methods
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
174
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
175 Methods returning one or more sequences objects.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
176
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
177 =head2 each_seq
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
178
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
179 Title : each_seq
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
180 Usage : foreach $seq ( $align->each_seq() )
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
181 Function : Gets an array of Seq objects from the alignment
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
182 Returns : an array
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
183 Argument :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
184
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
185 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
186
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
187 sub each_seq {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
188 my ($self) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
189 $self->throw_not_implemented();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
190 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
191
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
192 =head2 each_alphabetically
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
193
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
194 Title : each_alphabetically
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
195 Usage : foreach $seq ( $ali->each_alphabetically() )
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
196 Function :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
197
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
198 Returns an array of sequence object sorted alphabetically
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
199 by name and then by start point.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
200 Does not change the order of the alignment
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
201
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
202 Returns :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
203 Argument :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
204
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
205 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
206
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
207 sub each_alphabetically {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
208 my($self) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
209 $self->throw_not_implemented();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
210 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
211
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
212 =head2 each_seq_with_id
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
213
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
214 Title : each_seq_with_id
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
215 Usage : foreach $seq ( $align->each_seq_with_id() )
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
216 Function :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
217
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
218 Gets an array of Seq objects from the
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
219 alignment, the contents being those sequences
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
220 with the given name (there may be more than one)
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
221
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
222 Returns : an array
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
223 Argument : a seq name
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
224
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
225 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
226
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
227 sub each_seq_with_id {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
228 my ($self) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
229 $self->throw_not_implemented();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
230 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
231
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
232 =head2 get_seq_by_pos
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
233
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
234 Title : get_seq_by_pos
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
235 Usage : $seq = $aln->get_seq_by_pos(3) # third sequence from the alignment
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
236 Function :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
237
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
238 Gets a sequence based on its position in the alignment.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
239 Numbering starts from 1. Sequence positions larger than
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
240 no_sequences() will thow an error.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
241
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
242 Returns : a Bio::LocatableSeq object
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
243 Argument : positive integer for the sequence osition
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
244
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
245 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
246
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
247 sub get_seq_by_pos {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
248 my ($self) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
249 $self->throw_not_implemented();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
250 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
251
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
252 =head1 Create new alignments
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
253
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
254 The result of these methods are horizontal or vertical subsets of the
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
255 current MSE.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
256
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
257 =head2 select
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
258
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
259 Title : select
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
260 Usage : $aln2 = $aln->select(1, 3) # three first sequences
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
261 Function :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
262
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
263 Creates a new alignment from a continuous subset of
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
264 sequences. Numbering starts from 1. Sequence positions
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
265 larger than no_sequences() will thow an error.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
266
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
267 Returns : a Bio::SimpleAlign object
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
268 Argument : positive integer for the first sequence
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
269 positive integer for the last sequence to include (optional)
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
270
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
271 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
272
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
273 sub select {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
274 my ($self) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
275 $self->throw_not_implemented();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
276 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
277
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
278
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
279 =head2 select_noncont
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
280
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
281 Title : select_noncont
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
282 Usage : $aln2 = $aln->select_noncont(1, 3) # first and 3rd sequences
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
283 Function :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
284
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
285 Creates a new alignment from a subset of
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
286 sequences. Numbering starts from 1. Sequence positions
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
287 larger than no_sequences() will thow an error.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
288
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
289 Returns : a Bio::SimpleAlign object
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
290 Args : array of integers for the sequences
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
291
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
292 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
293
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
294 sub select_noncont {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
295 my ($self) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
296 $self->throw_not_implemented();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
297 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
298
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
299 =head2 slice
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
300
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
301 Title : slice
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
302 Usage : $aln2 = $aln->slice(20, 30)
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
303 Function :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
304
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
305 Creates a slice from the alignment inclusive of start and
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
306 end columns. Sequences with no residues in the slice are
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
307 excluded from the new alignment and a warning is printed.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
308 Slice beyond the length of the sequence does not do
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
309 padding.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
310
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
311 Returns : a Bio::SimpleAlign object
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
312 Argument : positive integer for start column
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
313 positive integer for end column
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
314
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
315 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
316
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
317 sub slice {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
318 my ($self) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
319 $self->throw_not_implemented();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
320 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
321
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
322 =head1 Change sequences within the MSE
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
323
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
324 These methods affect characters in all sequences without changeing the
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
325 alignment.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
326
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
327
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
328 =head2 map_chars
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
329
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
330 Title : map_chars
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
331 Usage : $ali->map_chars('\.','-')
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
332 Function :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
333
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
334 Does a s/$arg1/$arg2/ on the sequences. Useful for gap
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
335 characters
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
336
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
337 Notice that the from (arg1) is interpretted as a regex,
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
338 so be careful about quoting meta characters (eg
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
339 $ali->map_chars('.','-') wont do what you want)
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
340
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
341 Returns :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
342 Argument : 'from' rexexp
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
343 'to' string
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
344
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
345 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
346
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
347 sub map_chars {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
348 my ($self) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
349 $self->throw_not_implemented();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
350 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
351
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
352 =head2 uppercase
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
353
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
354 Title : uppercase()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
355 Usage : $ali->uppercase()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
356 Function : Sets all the sequences to uppercase
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
357 Returns :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
358 Argument :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
359
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
360 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
361
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
362 sub uppercase {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
363 my ($self) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
364 $self->throw_not_implemented();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
365 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
366
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
367 =head2 match_line
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
368
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
369 Title : match_line()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
370 Usage : $align->match_line()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
371 Function : Generates a match line - much like consensus string
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
372 except that a line indicating the '*' for a match.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
373 Argument : (optional) Match line characters ('*' by default)
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
374 (optional) Strong match char (':' by default)
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
375 (optional) Weak match char ('.' by default)
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
376
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
377 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
378
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
379 sub match_line {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
380 my ($self) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
381 $self->throw_not_implemented();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
382 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
383
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
384 =head2 match
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
385
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
386 Title : match()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
387 Usage : $ali->match()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
388 Function :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
389
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
390 Goes through all columns and changes residues that are
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
391 identical to residue in first sequence to match '.'
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
392 character. Sets match_char.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
393
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
394 USE WITH CARE: Most MSE formats do not support match
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
395 characters in sequences, so this is mostly for output
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
396 only. NEXUS format (Bio::AlignIO::nexus) can handle
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
397 it.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
398
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
399 Returns : 1
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
400 Argument : a match character, optional, defaults to '.'
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
401
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
402 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
403
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
404 sub match {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
405 my ($self) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
406 $self->throw_not_implemented();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
407 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
408
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
409 =head2 unmatch
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
410
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
411 Title : unmatch()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
412 Usage : $ali->unmatch()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
413 Function :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
414
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
415 Undoes the effect of method match. Unsets match_char.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
416
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
417 Returns : 1
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
418 Argument : a match character, optional, defaults to '.'
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
419
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
420 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
421
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
422 sub unmatch {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
423 my ($self) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
424 $self->throw_not_implemented();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
425 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
426
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
427
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
428 =head1 MSE attibutes
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
429
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
430 Methods for setting and reading the MSE attributes.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
431
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
432 Note that the methods defining character semantics depend on the user
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
433 to set them sensibly. They are needed only by certain input/output
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
434 methods. Unset them by setting to an empty string ('').
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
435
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
436 =head2 id
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
437
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
438 Title : id
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
439 Usage : $myalign->id("Ig")
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
440 Function : Gets/sets the id field of the alignment
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
441 Returns : An id string
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
442 Argument : An id string (optional)
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
443
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
444 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
445
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
446 sub id {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
447 my ($self) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
448 $self->throw_not_implemented();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
449 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
450
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
451 =head2 missing_char
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
452
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
453 Title : missing_char
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
454 Usage : $myalign->missing_char("?")
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
455 Function : Gets/sets the missing_char attribute of the alignment
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
456 It is generally recommended to set it to 'n' or 'N'
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
457 for nucleotides and to 'X' for protein.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
458 Returns : An missing_char string,
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
459 Argument : An missing_char string (optional)
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
460
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
461 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
462
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
463 sub missing_char {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
464 my ($self) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
465 $self->throw_not_implemented();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
466 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
467
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
468 =head2 match_char
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
469
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
470 Title : match_char
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
471 Usage : $myalign->match_char('.')
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
472 Function : Gets/sets the match_char attribute of the alignment
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
473 Returns : An match_char string,
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
474 Argument : An match_char string (optional)
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
475
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
476 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
477
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
478 sub match_char {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
479 my ($self) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
480 $self->throw_not_implemented();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
481 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
482
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
483 =head2 gap_char
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
484
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
485 Title : gap_char
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
486 Usage : $myalign->gap_char('-')
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
487 Function : Gets/sets the gap_char attribute of the alignment
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
488 Returns : An gap_char string, defaults to '-'
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
489 Argument : An gap_char string (optional)
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
490
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
491 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
492
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
493 sub gap_char {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
494 my ($self) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
495 $self->throw_not_implemented();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
496 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
497
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
498 =head2 symbol_chars
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
499
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
500 Title : symbol_chars
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
501 Usage : my @symbolchars = $aln->symbol_chars;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
502 Function: Returns all the seen symbols (other than gaps)
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
503 Returns : array of characters that are the seen symbols
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
504 Argument: boolean to include the gap/missing/match characters
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
505
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
506 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
507
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
508 sub symbol_chars{
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
509 my ($self) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
510 $self->throw_not_implemented();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
511 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
512
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
513 =head1 Alignment descriptors
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
514
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
515 These read only methods describe the MSE in various ways.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
516
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
517
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
518 =head2 consensus_string
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
519
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
520 Title : consensus_string
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
521 Usage : $str = $ali->consensus_string($threshold_percent)
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
522 Function : Makes a strict consensus
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
523 Returns :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
524 Argument : Optional treshold ranging from 0 to 100.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
525 The consensus residue has to appear at least threshold %
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
526 of the sequences at a given location, otherwise a '?'
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
527 character will be placed at that location.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
528 (Default value = 0%)
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
529
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
530 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
531
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
532 sub consensus_string {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
533 my ($self) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
534 $self->throw_not_implemented();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
535 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
536
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
537 =head2 consensus_iupac
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
538
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
539 Title : consensus_iupac
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
540 Usage : $str = $ali->consensus_iupac()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
541 Function :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
542
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
543 Makes a consensus using IUPAC ambiguity codes from DNA
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
544 and RNA. The output is in upper case except when gaps in
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
545 a column force output to be in lower case.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
546
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
547 Note that if your alignment sequences contain a lot of
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
548 IUPAC ambiquity codes you often have to manually set
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
549 alphabet. Bio::PrimarySeq::_guess_type thinks they
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
550 indicate a protein sequence.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
551
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
552 Returns : consensus string
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
553 Argument : none
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
554 Throws : on protein sequences
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
555
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
556
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
557 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
558
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
559 sub consensus_iupac {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
560 my ($self) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
561 $self->throw_not_implemented();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
562 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
563
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
564 =head2 is_flush
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
565
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
566 Title : is_flush
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
567 Usage : if( $ali->is_flush() )
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
568 :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
569 :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
570 Function : Tells you whether the alignment
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
571 : is flush, ie all of the same length
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
572 :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
573 :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
574 Returns : 1 or 0
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
575 Argument :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
576
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
577 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
578
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
579 sub is_flush {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
580 my ($self) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
581 $self->throw_not_implemented();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
582 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
583
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
584 =head2 length
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
585
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
586 Title : length()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
587 Usage : $len = $ali->length()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
588 Function : Returns the maximum length of the alignment.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
589 To be sure the alignment is a block, use is_flush
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
590 Returns :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
591 Argument :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
592
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
593 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
594
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
595 sub length {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
596 my ($self) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
597 $self->throw_not_implemented();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
598 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
599
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
600 =head2 maxdisplayname_length
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
601
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
602 Title : maxdisplayname_length
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
603 Usage : $ali->maxdisplayname_length()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
604 Function :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
605
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
606 Gets the maximum length of the displayname in the
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
607 alignment. Used in writing out various MSE formats.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
608
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
609 Returns : integer
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
610 Argument :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
611
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
612 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
613
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
614 sub maxname_length {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
615 my ($self) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
616 $self->throw_not_implemented();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
617 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
618
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
619 =head2 no_residues
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
620
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
621 Title : no_residues
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
622 Usage : $no = $ali->no_residues
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
623 Function : number of residues in total in the alignment
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
624 Returns : integer
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
625 Argument :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
626
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
627 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
628
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
629 sub no_residues {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
630 my ($self) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
631 $self->throw_not_implemented();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
632 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
633
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
634 =head2 no_sequences
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
635
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
636 Title : no_sequences
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
637 Usage : $depth = $ali->no_sequences
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
638 Function : number of sequence in the sequence alignment
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
639 Returns : integer
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
640 Argument : None
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
641
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
642 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
643
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
644 sub no_sequences {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
645 my ($self) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
646 $self->throw_not_implemented();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
647 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
648
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
649 =head2 percentage_identity
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
650
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
651 Title : percentage_identity
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
652 Usage : $id = $align->percentage_identity
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
653 Function: The function calculates the percentage identity of the alignment
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
654 Returns : The percentage identity of the alignment (as defined by the
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
655 implementation)
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
656 Argument: None
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
657
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
658 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
659
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
660 sub percentage_identity{
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
661 my ($self) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
662 $self->throw_not_implemeneted();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
663 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
664
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
665 =head2 overall_percentage_identity
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
666
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
667 Title : percentage_identity
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
668 Usage : $id = $align->percentage_identity
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
669 Function: The function calculates the percentage identity of
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
670 the conserved columns
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
671 Returns : The percentage identity of the conserved columns
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
672 Args : None
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
673
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
674 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
675
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
676 sub overall_percentage_identity{
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
677 my ($self) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
678 $self->throw_not_implemented();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
679 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
680
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
681
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
682 =head2 average_percentage_identity
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
683
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
684 Title : average_percentage_identity
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
685 Usage : $id = $align->average_percentage_identity
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
686 Function: The function uses a fast method to calculate the average
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
687 percentage identity of the alignment
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
688 Returns : The average percentage identity of the alignment
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
689 Args : None
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
690
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
691 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
692
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
693 sub average_percentage_identity{
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
694 my ($self) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
695 $self->throw_not_implemented();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
696 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
697
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
698 =head1 Alignment positions
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
699
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
700 Methods to map a sequence position into an alignment column and back.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
701 column_from_residue_number() does the former. The latter is really a
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
702 property of the sequence object and can done using
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
703 L<Bio::LocatableSeq::location_from_column>:
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
704
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
705 # select somehow a sequence from the alignment, e.g.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
706 my $seq = $aln->get_seq_by_pos(1);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
707 #$loc is undef or Bio::LocationI object
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
708 my $loc = $seq->location_from_column(5);
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
709
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
710
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
711 =head2 column_from_residue_number
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
712
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
713 Title : column_from_residue_number
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
714 Usage : $col = $ali->column_from_residue_number( $seqname, $resnumber)
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
715 Function:
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
716
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
717 This function gives the position in the alignment
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
718 (i.e. column number) of the given residue number in the
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
719 sequence with the given name. For example, for the
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
720 alignment
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
721
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
722 Seq1/91-97 AC..DEF.GH
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
723 Seq2/24-30 ACGG.RTY..
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
724 Seq3/43-51 AC.DDEFGHI
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
725
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
726 column_from_residue_number( "Seq1", 94 ) returns 5.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
727 column_from_residue_number( "Seq2", 25 ) returns 2.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
728 column_from_residue_number( "Seq3", 50 ) returns 9.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
729
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
730 An exception is thrown if the residue number would lie
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
731 outside the length of the aligment
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
732 (e.g. column_from_residue_number( "Seq2", 22 )
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
733
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
734 Note: If the the parent sequence is represented by more than
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
735 one alignment sequence and the residue number is present in
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
736 them, this method finds only the first one.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
737
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
738 Returns : A column number for the position in the alignment of the
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
739 given residue in the given sequence (1 = first column)
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
740 Args : A sequence id/name (not a name/start-end)
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
741 A residue number in the whole sequence (not just that
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
742 segment of it in the alignment)
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
743
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
744 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
745
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
746 sub column_from_residue_number {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
747 my ($self) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
748 $self->throw_not_implemented();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
749 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
750
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
751 =head1 Sequence names
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
752
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
753 Methods to manipulate the display name. The default name based on the
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
754 sequence id and subsequence positions can be overridden in various
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
755 ways.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
756
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
757 =head2 displayname
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
758
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
759 Title : displayname
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
760 Usage : $myalign->displayname("Ig", "IgA")
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
761 Function : Gets/sets the display name of a sequence in the alignment
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
762 :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
763 Returns : A display name string
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
764 Argument : name of the sequence
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
765 displayname of the sequence (optional)
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
766
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
767 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
768
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
769 sub displayname {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
770 my ($self) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
771 $self->throw_not_implemented();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
772 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
773
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
774 =head2 set_displayname_count
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
775
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
776 Title : set_displayname_count
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
777 Usage : $ali->set_displayname_count
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
778 Function :
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
779
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
780 Sets the names to be name_# where # is the number of
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
781 times this name has been used.
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
782
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
783 Returns : None
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
784 Argument : None
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
785
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
786 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
787
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
788 sub set_displayname_count {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
789 my ($self) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
790 $self->throw_not_implemented();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
791 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
792
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
793 =head2 set_displayname_flat
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
794
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
795 Title : set_displayname_flat
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
796 Usage : $ali->set_displayname_flat()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
797 Function : Makes all the sequences be displayed as just their name,
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
798 not name/start-end
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
799 Returns : 1
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
800 Argument : None
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
801
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
802 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
803
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
804 sub set_displayname_flat {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
805 my ($self) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
806 $self->throw_not_implemented();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
807 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
808
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
809 =head2 set_displayname_normal
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
810
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
811 Title : set_displayname_normal
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
812 Usage : $ali->set_displayname_normal()
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
813 Function : Makes all the sequences be displayed as name/start-end
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
814 Returns : None
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
815 Argument : None
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
816
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
817 =cut
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
818
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
819 sub set_displayname_normal {
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
820 my ($self) = @_;
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
821 $self->throw_not_implemented();
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
822 }
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
823
2bc9b66ada89 Uploaded
mahtabm
parents:
diff changeset
824 1;