The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Tie-File-AnyData-Bio-Fasta

NAME

	Tie::File::AnyData::Bio::Fasta - Accessing fasta records in a file via a Perl array.


SYNOPSIS
	
	    use Tie::File::AnyData::Bio::Fasta;

	    ## Process the fasta records in a file 1 by 1:
	    my $fastafile = "seqs.fa"; ## File containing some fasta sequences
	    tie my @fa_array, 'Tie::File::AnyData::Bio::Fasta', $fastafile or die $!;
	    for my $fa_rec (@fa_array){
	       ## Process the record
	    }
	    untie @fa_array;

	    ## Take randomly 10 fasta sequences from a file and put them in another one:
	    use Fcntl qw/O_RDONLY O_RDWR O_CREAT/;
	    use List::Util qw/shuffle/;
	    tie my @in,  'Tie::File::AnyData::Bio::Fasta', $in_fasta, mode => O_RDONLY or die $!;
	    tie my @out, 'Tie::File::AnyData::Bio::Fasta', $out_fasta, mode => O_RDWR | O_CREAT or die $!;
	    @out = (shuffle @in)[0..10];
	    untie @in;
	    untie @out;

	    ## All the array operations are allowed:
	    push @fa_array, $fasta_rec; ## Append a fasta record at the end of the file
	    unshift @fa_array, $fasta_red; ## Put a fasta record at the beginning of the file
	    my $fasta_rec = pop  @fa_array; ## Remove the last record of the file (assigned to $fasta_rec)
	    my $fasta_rec = shift @fa_array; ## Remove the first record of the file (assigned to $fasta_rec)


DESCRIPTION

	Tie::File::AnyData::Bio::Fasta allows the management of fasta files via a Perl array through
	Tie::File::AnyData, so read the documentation of this module for further details on its internals.


PARAMETERS

	This module accepts the same parameters as C<Tie::File> except C<recsep>,
	that is always assigned to C<\r\n> if it is run on a Windows machine or C<\n> otherwise.


INSTALLATION

	To install this module, run the following commands:

	    perl Makefile.PL
	    make
	    make test
	    make install


AUTHOR

	Miguel Pignatelli

	Please send any comment to: motif@pause.org

	The most recent version of this module, should be available at CPAN.




SUPPORT AND DOCUMENTATION

	After installing, you can find documentation for this module with the perldoc command.

	    perldoc Tie::File::AnyData::Bio::Fasta

	You can also look for information at:

	    Search CPAN
	        http://search.cpan.org/dist/Tie-File-AnyData-Bio-Fasta

	    CPAN Request Tracker:
	        http://rt.cpan.org/NoAuth/Bugs.html?Dist=Tie-File-AnyData-Bio-Fasta

	    AnnoCPAN, annotated CPAN documentation:
	        http://annocpan.org/dist/Tie-File-AnyData-Bio-Fasta

	    CPAN Ratings:
	        http://cpanratings.perl.org/d/Tie-File-AnyData-Bio-Fasta


COPYRIGHT AND LICENCE

	Copyright (C) 2007 Miguel Pignatelli

	This program is free software; you can redistribute it and/or modify it
	under the same terms as Perl itself.

WARRANTY

	This module comes with ABSOLUTELY NO WARRANTY.