NAME
Bio::SeqReader::Fasta - Class providing a reader for files in FASTA format.
SYNOPSIS
use Bio::SeqReader::Fasta;
my $in1 = new Bio::SeqReader::Fasta(); # from stdin
my $fh = ...
my $in2 = new Bio::SeqReader::Fasta( fh => $fh ); # from filehandle
DESCRIPTION
Bio::SeqReader::Fasta provides a method for reading a file or stream in FASTA format.
CLASS METHODS
Bio::SeqReader::Fasta provides no class methods.
INSTANCE METHODS
Bio::SeqReader::Fasta provides the following instance methods.
- new()
-
Returns a new Bio::SeqReader::Fasta object associated with stdin or with a filehandle.
# From an IO::File filehandle my $fh1 = new IO::File( 'in.fq' ); my $in1 = new Bio::SeqReader::Fasta( fh => $fh1); # From an IO::Uncompress::AnyUncompress filehandle my $fh2 = new IO::File( 'in.fq.gz' ); my $in2 = new Bio::SeqReader::Fasta( fh => $fh2); # From stdin my $in3 = new Bio::SeqReader::Fasta();
A specified filehandle must be compatible with those produced by IO::File filehandle; for example,
$fh1 = new IO::File( 'in.fasta' ) $fh2 = new IO::Uncompress::AnyUncompress( 'in.fasta.gz' ) $fh3 = new IO::Uncompress::AnyUncompress( 'in.fasta' ).
- next()
-
Returns the next sequence as a Bio::SeqReader::FastaRecord object.
while ( my $so = $in->next() ) { ... work with $so here ... }
EXTERNAL DEPENDENCIES
Perl core.
EXAMPLES
# Open and read a file in FASTA format
my $fh = new IO::File( 'foo.fasta' );
my $in = new Bio::SeqReader( fh => $fh );
while ( my $so = $in->next() ) {
my $s = $so->seq(); # $so is a Bio::SeqReader::FastaRecord
. . .
}
# Open and read a gzipped file in FASTA format
my $fh = new IO::Uncompress::AnyUncompress( 'foo.fasta.gz' );
my $in = new Bio::SeqReader( fh => $fh );
while ( my $so = $in->next() ) {
my $s = $so->seq(); # $so is a Bio::SeqReader::FastaRecord
. . .
}
BUGS
None reported yet, but let me know.
SEE ALSO
Bio::SeqReader::FastaRecord, Bio::SeqReader.
AUTHOR
John A. Crow <jac_at_cpan_dot_org>
COPYRIGHT AND LICENSE
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.10.0 or, at your option, any later version of Perl 5 you may have available.
Copyright (C) 2012 by John A. Crow
Copyright (C) 2012 by National Center for Genome Resources