Hi,

I would suggest you use the built-in BioPerl method for reading 
fasta (or other) format, for example:

sub get_sequence_from_fasta
{
    #designed for getting sequences into array from a file  (fasta format),
    #input: file name

   use Bio::SeqIO;

    my $file = shift;
    my @seqs= ();

    open INFILE, "<$file" or die "$0:  Can't open file $file: $!";
    my $in = Bio::SeqIO->new(-format => 'fasta',
                         -noclose => 1 ,
                         -fh => \*INFILE);

    while ( my $seq = $in->next_seq() ) {
    push @seqs, $seq->seq();
    } #end while

    return [EMAIL PROTECTED];
}

Hope that helps.

Regards,
Edward WIJAYA

----- Original Message -----
From: chen li <[EMAIL PROTECTED]>
Date: Saturday, January 7, 2006 9:27 am
Subject: Re: new for reading file containing multiple records

> Hi Shawn,
> 
> I use the your code to do the job:
> 
> #!/usr/bin/perl
> 
> use strict;
> use warnings;
> use Data::Dumper;
> my $filename='sequence.fasta';
> open (DATA,$filename) or die;
> 
> {local $/ = '>';
> while( <DATA> ){
>   print Dumper \$_;
>              }
> }
> exit;
> 
> 



--------------------------------------------------
This email is confidential and may be privileged.  If you are not the intended 
recipient, please delete it and notify us immediately. Please do not copy or 
use it for any purpose, or disclose its contents to any other person. Thank you.
--------------------------------------------------

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to