annotate variant_effect_predictor/Bio/SeqFeature/CollectionI.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: CollectionI.pm,v 1.2 2002/10/22 07:45:20 lapp Exp $
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
2 #
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
3 # BioPerl module for Bio::SeqFeature::CollectionI
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
4 #
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
5 # Cared for by Jason Stajich <jason@bioperl.org>
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
6 #
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
7 # Copyright Jason Stajich
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
8 #
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
9 # You may distribute this module under the same terms as perl itself
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
10
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
11 # POD documentation - main docs before the code
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
12
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
13 =head1 NAME
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
14
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
15 Bio::SeqFeature::CollectionI - An interface for a collection of SeqFeatureI objects.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
16
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
17 =head1 SYNOPSIS
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
18
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
19
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
20 # get a Bio::SeqFeature::CollectionI somehow
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
21 # perhaps a Bio::SeqFeature::Collection
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
22
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
23
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
24 use Bio::SeqFeature::Collection;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
25 my $collection = new Bio::SeqFeature::Collection;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
26 $collection->add_features(\@featurelist);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
27
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
28
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
29 $collection->features(-attributes =>
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
30 [ { 'location' => new Bio::Location::Simple
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
31 (-start=> 1, -end => 300) ,
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
32 'overlaps' }]);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
33
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
34 =head1 DESCRIPTION
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
35
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
36 This interface describes the basic methods needed for a collection of Sequence Features.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
37
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
38 =head1 FEEDBACK
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
39
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
40 =head2 Mailing Lists
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
41
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
42 User feedback is an integral part of the evolution of this and other
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
43 Bioperl modules. Send your comments and suggestions preferably to
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
44 the Bioperl mailing list. Your participation is much appreciated.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
45
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
46 bioperl-l@bioperl.org - General discussion
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
47 http://bioperl.org/MailList.shtml - About the mailing lists
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
48
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
49 =head2 Reporting Bugs
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
50
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
51 Report bugs to the Bioperl bug tracking system to help us keep track
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
52 of the bugs and their resolution. Bug reports can be submitted via
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
53 email or the web:
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
54
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
55 bioperl-bugs@bioperl.org
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
56 http://bugzilla.bioperl.org/
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
57
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
58 =head1 AUTHOR - Jason Stajich
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
59
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
60 Email jason@bioperl.org
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
61
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
62 Describe contact details here
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
63
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
64 =head1 CONTRIBUTORS
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
65
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
66 Additional contributors names and emails here
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
67
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
68 =head1 APPENDIX
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
69
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
70 The rest of the documentation details each of the object methods.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
71 Internal methods are usually preceded with a _
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
72
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
73 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
74
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
75
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
76 # Let the code begin...
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
77
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
78
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
79 package Bio::SeqFeature::CollectionI;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
80 use vars qw(@ISA);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
81 use strict;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
82 use Carp;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
83 use Bio::Root::RootI;
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
84
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
85 @ISA = qw( Bio::Root::RootI );
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
86
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
87
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
88 =head2 add_features
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
89
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
90 Title : add_features
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
91 Usage : $collection->add_features(\@features);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
92 Function:
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
93 Returns : number of features added
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
94 Args : arrayref of Bio::SeqFeatureI objects to index
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
95
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
96 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
97
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
98 sub add_features{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
99 shift->throw_not_implemented();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
100 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
101
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
102
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
103 =head2 features
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
104
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
105 Title : features
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
106 Usage : my @f = $collection->features(@args);
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
107 Returns : a list of Bio::SeqFeatureI objects
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
108 Args : see below
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
109 Status : public
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
110
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
111 This routine will retrieve features associated with this collection
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
112 object. It can be used to return all features, or a subset based on
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
113 their type, location, or attributes.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
114
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
115 -types List of feature types to return. Argument is an array
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
116 of Bio::Das::FeatureTypeI objects or a set of strings
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
117 that can be converted into FeatureTypeI objects.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
118
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
119 -callback A callback to invoke on each feature. The subroutine
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
120 will be passed to each Bio::SeqFeatureI object in turn.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
121
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
122 -attributes A hash reference containing attributes to match.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
123
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
124 The -attributes argument is a hashref containing one or more attributes
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
125 to match against:
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
126
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
127 -attributes => { Gene => 'abc-1',
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
128 Note => 'confirmed' }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
129
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
130 Attribute matching is simple exact string matching, and multiple
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
131 attributes are ANDed together. See L<Bio::DB::ConstraintsI> for a
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
132 more sophisticated take on this.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
133
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
134 If one provides a callback, it will be invoked on each feature in
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
135 turn. If the callback returns a false value, iteration will be
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
136 interrupted. When a callback is provided, the method returns undef.
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
137
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
138 =cut
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
139
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
140 sub features{
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
141 shift->throw_not_implemented();
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
142 }
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
143
21066c0abaf5 Uploaded
willmclaren
parents:
diff changeset
144 1;