BioPerl
view release on metacpan or search on metacpan
Bio/AlignIO/prodom.pm view on Meta::CPAN
Returns : L<Bio::Align::AlignI> object
Args : NONE
=cut
sub next_aln {
my $self = shift;
my $entry;
my ($acc, $fake_id, $start, $end, $seq, $add, %names);
my $aln = Bio::SimpleAlign->new(-source => 'prodom');
while( $entry = $self->_readline) {
if ($entry =~ /^AC\s+(\S+)\s*$/) { #ps 9/12/00
$aln->id( $1 );
}
elsif ($entry =~ /^AL\s+(\S+)\|(\S+)\s+(\d+)\s+(\d+)\s+\S+\s+(\S+)\s*$/){ #ps 9/12/00
$acc=$1;
$fake_id=$2; # Accessions have _species appended
$start=$3;
$end=$4;
$seq=$5;
$names{'fake_id'} = $fake_id;
$add = Bio::LocatableSeq->new('-seq' => $seq,
'-id' => $acc,
'-start' => $start,
'-end' => $end,
'-alphabet' => $self->alphabet,
);
$aln->add_seq($add);
}
elsif ($entry =~ /^CO/) {
# the consensus line marks the end of the alignment part of the entry
last;
}
}
return $aln if $aln->num_sequences;
return;
}
=head2 write_aln
Title : write_aln
Usage : $stream->write_aln(@aln)
Function: writes the $aln object into the stream in prodom format ###Not yet implemented!###
Returns : 1 for success and 0 for error
Args : L<Bio::Align::AlignI> object
=cut
sub write_aln {
my ($self,@aln) = @_;
$self->throw_not_implemented();
}
1;
( run in 1.197 second using v1.01-cache-2.11-cpan-39bf76dae61 )