Bio::Assembly IO
SummaryIncluded librariesPackage variablesSynopsisDescriptionGeneral documentationMethods
Summary
Bio::Assembly::IO - Handler for Assembly::IO Formats
Package variables
No package variables defined.
Included modules
Bio::Root::IO
Bio::Root::Root
Inherit
Bio::Root::IO Bio::Root::Root
Synopsis
    use Bio::Assembly::IO;

    $in  = Bio::Assembly::IO->new(-file=>"'phrap');
    $out = Bio::Assembly::IO->new(-file=>">outputfilename",
                                -format=>'phrap');

    while ( my $seq = $in->next_seq() ) {
       $out->write_seq($seq);
    }
Description
Bio::Assembly::IO is a handler module for formats in the Assembly::IO set
(e.g. Bio::Assembly::IO::phrap).
Methods
newDescriptionCode
_initialize
No description
Code
next_assemblyDescriptionCode
_load_format_moduleDescriptionCode
_guess_formatDescriptionCode
DESTROY
No description
Code
TIEHANDLE
No description
Code
READLINE
No description
Code
PRINT
No description
Code
Methods description
newcode    nextTop
 Title   : new
 Usage   : Bio::Assembly::IO->new(-file =>$filename,-format=>'format')
 Function: Returns a new assembly stream
 Returns : A Bio::Assembly::IO::Handler initialised 
           with the appropriate format
 Args    : -file => $filename
           -format => format
next_assemblycodeprevnextTop
 Title   : next_assembly
 Usage   : $cluster = $stream->next_assembly()
 Function: Reads the next assembly object from the stream and returns it.
 Returns : a Bio::Assembly::ScaffoldI compliant object
 Args    : none
_load_format_modulecodeprevnextTop
 Title   : _load_format_module
 Usage   : *INTERNAL Assembly::IO stuff*
 Function: Loads up (like use) a module at run time on demand
 Example :
 Returns :
 Args    :
_guess_formatcodeprevnextTop
 Title   : _guess_format
 Usage   : $obj->_guess_format($filename)
 Function: guess format based on file suffix
 Example :
 Returns : guessed format of filename (lower case)
 Args    :
 Notes   : formats that _filehandle() will guess includes
           only phrap, by now.
Methods code
newdescriptionprevnextTop
sub new {
    my ($caller,@args) = @_;
    my $class = ref($caller) || $caller;
    
    # or do we want to call SUPER on an object if $caller is an
# object?
if( $class =~ /Bio::Assembly::IO::(\S+)/ ) { my ($self) = $class->SUPER::new(@args); $self->_initialize(@args); return $self; } else { my %param = @args; @param{ map { lc $_ } keys %param } = values %param; # lowercase keys
$class->throw("Need at least a file name to proceed!") unless (defined $param{'-file'} || defined $ARGV[0]); my $format = $param{'-format'} || $class->_guess_format( $param{-file} || $ARGV[0] ); $format = "\L$format"; # normalize capitalization to lower case
# normalize capitalization
return undef unless( $class->_load_format_module($format) ); return "Bio::Assembly::IO::$format"->new(@args); }
}
_initializedescriptionprevnextTop
sub _initialize {
    my($self, @args) = @_;
    # initialize the IO part
$self->_initialize_io(@args);
}
next_assemblydescriptionprevnextTop
sub next_assembly {
   my ($self, $seq) = @_;
   $self->throw("Sorry, you cannot read from a generic Bio::Assembly::IO object.");
}
_load_format_moduledescriptionprevnextTop
sub _load_format_module {
  my ($self,$format) = @_;
  my $module = "Bio::Assembly::IO::" . $format;
  my $ok;

  eval {
      $ok = $self->_load_module($module);
  };
  if ( $@ ) {
    print STDERR <<END
$self: could not load $format - for more details on supported formats please see the Assembly::IO docs
Exception $@
END
; } return $ok;
}
_guess_formatdescriptionprevnextTop
sub _guess_format {
   my $class = shift;
   my $arg   = shift;

   return unless defined($arg);
   return 'ace' if ($arg =~ /\.ace\.\d+$/i);
   return 'phrap' if ($arg =~ /\.phrap\.out$/i);
}
DESTROYdescriptionprevnextTop
sub DESTROY {
    my $self = shift;

    $self->close();
}
TIEHANDLEdescriptionprevnextTop
sub TIEHANDLE {
    my ($class,$val) = @_;
    return bless {'seqio' => $val}, $class;
}
READLINEdescriptionprevnextTop
sub READLINE {
  my $self = shift;
  return $self->{'seqio'}->next_seq() unless wantarray;
  my (@list, $obj);
  push @list, $obj while $obj = $self->{'seqio'}->next_seq();
  return @list;
}
PRINTdescriptionprevnextTop
sub PRINT {
  my $self = shift;
  $self->{'seqio'}->write_seq(@_);
}
General documentation
FEEDBACKTop
Mailing ListsTop
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
Reporting BugsTop
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/
AUTHORTop
Robson Francisco de Souza
E-mail: rfsouza@citri.iq.usp.br
CONTRIBUTORSTop
#
APPENDIXTop
The rest of the documentation details each of the object
methods. Internal methods are usually preceded with a _