Mercurial > repos > mahtabm > ensembl
diff variant_effect_predictor/Bio/Assembly/ScaffoldI.pm @ 0:1f6dce3d34e0
Uploaded
author | mahtabm |
---|---|
date | Thu, 11 Apr 2013 02:01:53 -0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/variant_effect_predictor/Bio/Assembly/ScaffoldI.pm Thu Apr 11 02:01:53 2013 -0400 @@ -0,0 +1,340 @@ +# $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;