/usr/local/CPAN/Bio-ConnectDots/Bio/ConnectDots/ConnectorSet/OMIM.pm
package Bio::ConnectDots::ConnectorSet::OMIM;
use strict;
use vars qw(@ISA);
use Bio::ConnectDots::ConnectorSet;
@ISA = qw(Bio::ConnectDots::ConnectorSet);
sub parse_entry {
my ($self) = @_;
my $input_fh = $self->input_fh;
while (<$input_fh>) {
chomp;
if (/^\*RECORD\*/) {
next unless $self->have_dots;
return 1;
}
if (/^\*FIELD\* NO/) {
$_ = <$input_fh>;
chomp;
$self->put_dot( 'OMIM', $_ );
}
if (/^\*FIELD\* TI/) {
my $title;
$_ = <$input_fh>;
chomp;
$title = $_;
# attach extra titles
while (!/^\*/) {
$_ = <$input_fh>;
if(!/^\*/) {
chomp;
$title .= " $_";
}
}
my @titles = split (/;;/, $title);
$self->put_dot('Title', shift @titles);
foreach my $alt (@titles) {
# handle whitespace
$alt =~ s/^\s*//;
$alt =~ s/\s*$//;
$alt =~ s/\s+/ /;
$self->put_dot('Alternate_Title', $alt) if $alt;
}
}
if (/^\*RECORD\*/) {
next unless $self->have_dots;
return 1;
}
} #end of while
return undef;
}
1;