sync w/ main trunk
[bioperl-live.git] / Bio / Seq / LargeSeqI.pm
blob54911d52541ed3107f223d3fdd1988f0bae90c32
1 # $Id$
3 # BioPerl module for Bio::Seq::LargeSeqI
5 # Please direct questions and support issues to <bioperl-l@bioperl.org>
7 # Cared for by Albert Vilella
9 # Copyright Albert Vilella
11 # You may distribute this module under the same terms as perl itself
13 # POD documentation - main docs before the code
15 =head1 NAME
17 Bio::Seq::LargeSeqI - Interface class for sequences that cache their
18 residues in a temporary file
20 =head1 SYNOPSIS
24 =head1 DESCRIPTION
26 The interface class defines a group of sequence classes that do not
27 keep their sequence information in memory but store it in a file. This
28 makes it possible to work with very large files even with limited RAM.
30 The most important consequence of file caching for sequences is that
31 you do not want to inspect the sequence unless absolutely
32 necessary. These sequences typically override the length() method not
33 to check the sequence.
35 The seq() method is not resetable, if you want to add to the end of the
36 sequence you have to use add_sequence_as_string(), for any other sequence chnages you'll
37 have to create a new object.
39 =head1 FEEDBACK
41 =head2 Mailing Lists
43 User feedback is an integral part of the evolution of this and other
44 Bioperl modules. Send your comments and suggestions preferably to
45 the Bioperl mailing list. Your participation is much appreciated.
47 bioperl-l@bioperl.org - General discussion
48 http://bioperl.org/wiki/Mailing_lists - About the mailing lists
50 =head2 Support
52 Please direct usage questions or support issues to the mailing list:
54 L<bioperl-l@bioperl.org>
56 rather than to the module maintainer directly. Many experienced and
57 reponsive experts will be able look at the problem and quickly
58 address it. Please include a thorough description of the problem
59 with code and data examples if at all possible.
61 =head2 Reporting Bugs
63 Report bugs to the Bioperl bug tracking system to help us keep track
64 of the bugs and their resolution. Bug reports can be submitted via
65 email or the web:
67 http://bugzilla.open-bio.org/
69 =head1 AUTHOR - Albert Vilella
71 Email avilella-AT-gmail-DOT-com
73 =head1 CONTRIBUTORS
75 Heikki Lehvaslaiho, heikki-at-bioperl-dot-org
77 =head1 APPENDIX
79 The rest of the documentation details each of the object methods.
80 Internal methods are usually preceded with a _
82 =cut
85 # Let the code begin...
88 package Bio::Seq::LargeSeqI;
89 use strict;
92 use base qw(Bio::Root::RootI);
95 =head2 add_sequence_as_string
97 Title : add_sequence_as_string
98 Usage : $seq->add_sequence_as_string("CATGAT");
99 Function: Appends additional residues to an existing object.
100 This allows one to build up a large sequence without
101 storing entire object in memory.
102 Returns : Current length of sequence
103 Args : string to append
105 =cut
107 sub add_sequence_as_string {
108 my ($self) = @_;
109 $self->throw_not_implemented();