Raw content of Bio::Assembly::ScaffoldI
# $Id: ScaffoldI.pm,v 1.2 2002/11/11 18:16:30 lapp Exp $
#
# BioPerl module for Bio::Assembly::ScaffoldI
#
# Copyright by Robson F. de Souza
#
# You may distribute this module under the same terms as perl itself
#
# POD documentation - main docs before the code
=head1 NAME
Bio::Assembly::ScaffoldI - Abstract Inteface of Sequence Assemblies
=head1 SYNOPSYS
# get a Bio::Assembly::ScaffoldI object somehow
foreach my $contig ($assembly->all_contigs) {
# do something (see Bio::Assembly::Contig)
}
=head1 DESCRIPTION
This interface defines the basic set of methods an object should have
to manipulate assembly data.
=head1 FEEDBACK
=head2 Mailing Lists
User feedback is an integral part of the evolution of this and other
Bioperl modules. Send your comments and suggestions preferably to the
Bioperl mailing lists Your participation is much appreciated.
bioperl-l@bioperl.org - General discussion
http://bio.perl.org/MailList.html - About the mailing lists
=head2 Reporting Bugs
Report bugs to the Bioperl bug tracking system to help us keep track
the bugs and their resolution. Bug reports can be submitted via email
or the web:
bioperl-bugs@bio.perl.org
http://bugzilla.bioperl.org/
=head1 AUTHOR - Robson Francisco de Souza
Email: rfsouza@citri.iq.usp.br
=head1 APPENDIX
The rest of the documentation details each of the object
methods. Internal methods are usually preceded with a _
=cut
#
# Now, let's code!
package Bio::Assembly::ScaffoldI;
use strict;
use vars qw(@ISA);
use Carp;
use Bio::Root::RootI;
# Inheritance
@ISA = qw(Bio::Root::RootI);
#
# Methods
=head1 Accessing general assembly data
=cut
=head2 get_nof_contigs
Title : get_nof_contigs
Usage : $assembly->get_nof_contigs()
Function: Get the number of contigs included in the assembly
Returns : integer
Args : none
=cut
sub get_nof_contigs {
my $self = shift;
$self->throw_not_implemented();
}
=head2 get_nof_singlets
Title : get_nof_singlets
Usage : $assembly->get_nof_singlets()
Function: Get the number of singlets included in the assembly
Returns : integer
Args : none
=cut
sub get_nof_singlets {
my $self = shift;
$self->throw_not_implemented();
}
=head2 get_contig_ids
Title : get_contig_ids
Usage : $assembly->get_contig_ids()
Function: Access list of contig IDs from assembly
Returns : an array if there are any contigs in the assembly.
undef otherwise
Args : an array of contig IDs
=cut
sub get_contig_ids {
my $self = shift;
$self->throw_not_implemented();
}
=head2 get_singlet_ids
Title : get_singlet_ids
Usage : $assembly->get_singlet_ids()
Function: Access list of singlet IDs from assembly
Returns : an array if there are any singlets in the assembly.
undef otherwise
Args : an array of singlet IDs
=cut
sub get_singlet_ids {
my $self = shift;
$self->throw_not_implemented();
}
=head2 get_contig_by_id
Title : get_contig_by_id
Usage : $assembly->get_contig_by_id($id)
Function: Get a reference for a contig from the assembly
Returns : a Bio::Assembly::Contig object or undef
Args : [string] contig unique identifier (ID)
=cut
sub get_contig_by_id {
my $self = shift;
$self->throw_not_implemented();
}
=head2 get_singlet_by_id
Title : get_singlet_by_id
Usage : $assembly->get_singlet_by_id()
Function: Get a reference for a singlet from the assembly
Returns : Bio::PrimarySeqI object or undef
Args : [string] a singlet ID
=cut
sub get_singlet_by_id {
my $self = shift;
$self->throw_not_implemented();
}
=head1 Modifier methods
Implementation of these methods is optional in the sense that
read-only implementations may not have these. If an object implements
one of them, it should however implement all.
=cut
=head2 add_contig
Title : add_contig
Usage : $assembly->add_contig($contig)
Function: Add another contig to the Bio::Assembly::ScaffoldI object
Returns : 1 on success, 0 otherwise
Args : a Bio::Assembly:Contig object
See Bio::Assembly::Contig for more information
=cut
#---------------------
sub add_contig {
#---------------------
my ($self) = @_;
$self->throw_not_implemented();
}
=head2 add_singlet
Title : add_singlet
Usage : $assembly->add_singlet($seq)
Function: Add another singlet to the Bio::Assembly::ScaffoldI object
Returns : 1 on success, 0 otherwise
Args : a Bio::Align::Singlet object
=cut
#---------------------
sub add_singlet {
#---------------------
my ($self) = @_;
$self->throw_not_implemented();
}
=head2 remove_contigs
Title : remove_contigs
Usage : $assembly->remove_contigs(1..4)
Function: Remove contig from assembly object
Returns : a Bio::Assembly::Contig object
Args : a list of contig IDs
See function get_contig_ids() above
=cut
#---------------------
sub remove_contigs {
#---------------------
my ($self) = @_;
$self->throw_not_implemented();
}
=head2 remove_singlets
Title : remove_singlets
Usage : $assembly->remove_singlets(1..4)
Function: Remove singlet from assembly object
Returns : a Bio::SeqI object
Args : a list of singlet IDs
See function get_singlet_ids() above
=cut
#---------------------
sub remove_singlets {
#---------------------
my ($self) = @_;
$self->throw_not_implemented();
}
=head1 Contig and singlet selection methos
=cut
=head2 select_contigs
Title : select_contig
Usage : $assembly->select_contig
Function: Selects an array of contigs from the assembly
Returns : an array of Bio::Assembly::Contig objects
Args : an array of contig ids
See function get_contig_ids() above
=cut
#---------------------
sub select_contigs {
#---------------------
my ($self) = @_;
$self->throw_not_implemented();
}
=head2 select_singlets
Title : select_singlets
Usage : $assembly->select_singlets(@list)
Function: Selects an array of singlets from the assembly
Returns : an array of Bio::SeqI objects
Args : an array of singlet ids
See function get_singlet_ids() above
=cut
#---------------------
sub select_singlets {
#---------------------
my ($self) = @_;
$self->throw_not_implemented();
}
=head2 all_contigs
Title : all_contigs
Usage : my @contigs = $assembly->all_contigs
Function: Returns a list of all contigs in this assembly.
Contigs are both clusters and alignments of one
or more reads, with an associated consensus
sequence.
Returns : array of Bio::Assembly::Contig
Args : none
=cut
#---------------------
sub all_contigs {
#---------------------
my ($self) = @_;
$self->throw_not_implemented();
}
=head2 all_singlets
Title : all_singlets
Usage : my @singlets = $assembly->all_singlets
Function: Returns a list of all singlets in this assembly.
Singlets are isolated reads, without non-vector
matches to any other read in the assembly.
Returns : array of Bio::Assembly::Contig
Args : none
=cut
#---------------------
sub all_singlets {
#---------------------
my ($self) = @_;
$self->throw_not_implemented();
}
1;