X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=jpred%2Flib%2FFASTA%2FFile.pm;fp=jpred%2Flib%2FFASTA%2FFile.pm;h=ddf639d486e8c4e0305d666f23eb3068a516ec09;hb=eb3001dc41bf6cd46e20fd13fe3efbe9dedf6013;hp=a4356d0f27e487c3fff4fdee95dc84332a473380;hpb=2cf032f4b987ba747c04159965aed78e3820d942;p=jpred.git diff --git a/jpred/lib/FASTA/File.pm b/jpred/lib/FASTA/File.pm index a4356d0..ddf639d 100644 --- a/jpred/lib/FASTA/File.pm +++ b/jpred/lib/FASTA/File.pm @@ -8,63 +8,64 @@ use base qw(Sequence::File); use FASTA; sub old_read { - my ($self, $fh) = @_; - - my ($id, $seq, @seqs); - while (<$fh>) { - chomp; - next if /^\s+$/; - - if (s/^>//) { - push @seqs, [ $id, $seq ] if $id and $seq; - $seq = undef; - $id = $_; - } - else { $seq .= $_ } - } - push @seqs, [ $id, $seq ] if $id and $seq; - - for (@seqs) { - my $new = FASTA->new(id => ${$_}[0]); - $new->seq(split //, ${$_}[1]); - $self->add_entries($new); - } - - 1; + my ( $self, $fh ) = @_; + + my ( $id, $seq, @seqs ); + while (<$fh>) { + chomp; + next if /^\s+$/; + + if (s/^>//) { + push @seqs, [ $id, $seq ] if $id and $seq; + $seq = undef; + $id = $_; + } else { + $seq .= $_; + } + } + push @seqs, [ $id, $seq ] if $id and $seq; + + for (@seqs) { + my $new = FASTA->new( id => ${$_}[0] ); + $new->seq( split //, ${$_}[1] ); + $self->add_entries($new); + } + + 1; } sub read { - my ($self, $fh) = @_; - local $/ = "\n>"; - while (<$fh>) { - s/^>//g; - s/>$//g; + my ( $self, $fh ) = @_; + local $/ = "\n>"; + while (<$fh>) { + s/^>//g; + s/>$//g; - my ($id, @data) = split /\n/, $_; - my $entry = FASTA->new(id => $id); - $entry->seq( split //, join("", @data) ); + my ( $id, @data ) = split /\n/, $_; + my $entry = FASTA->new( id => $id ); + $entry->seq( split //, join( "", @data ) ); - $self->add_entries($entry); - } + $self->add_entries($entry); + } - 1; + 1; } sub write { - my ($self, $fh) = @_; + my ( $self, $fh ) = @_; - local $| = 1; - - for ($self->get_entries) { - my $id = $_->id; - my @seq = $_->seq; + local $| = 1; - my $seq = join '', @seq; - $seq =~ s/\s*//g; - $seq =~ s/(.{72})/$1\n/g; + for ( $self->get_entries ) { + my $id = $_->id; + my @seq = $_->seq; - print $fh ">$id\n$seq\n"; - } + my $seq = join '', @seq; + $seq =~ s/\s*//g; + $seq =~ s/(.{72})/$1\n/g; + + print $fh ">$id\n$seq\n"; + } } 1;