my ( $self, $ref_arg ) = @_;
my $source_id = $ref_arg->{source_id};
my $species_id = $ref_arg->{species_id};
my $files = $ref_arg->{files};
my $verbose = $ref_arg->{verbose}
my $dbi = $ref_arg->{dbi}
if ( ( !defined $source_id )
or ( !defined $species_id )
or ( !defined $files ) )
{
confess 'Need to pass source_id, species_id and files as pairs';
}
my $file = @{$files}[0];
my $file_io = $self->get_filehandle($file);
if ( !defined $file_io ) {
confess "Could not open $file\n";
}
my $input_file = Text::CSV->new({
sep_char => "\t",
empty_is_undef => 1,
binary => 1,
verbatim => 1
}) || confess "Cannot use file $file: " . Text::CSV->error_diag();
my $count = 0;
while ( my $data = $input_file->getline($file_io) ) {
tr/\r\n
my ( $accession, $label, $desc, $stable_id ) = @{$data};
# If there is a description, trim it a bit
if ( defined $desc ) {
}
if ( $label eq 'unnamed' ) {
$label = $accession;
}
$self->add_to_direct_xrefs({
stable_id => $stable_id,
type => 'gene',
acc => $accession,
label => $label,
desc => $desc,
dbi => $dbi,
source_id => $source_id,
species_id => $species_id,
});
$count++;
}
$input_file->eof
|| confess "Error parsing file $file: " . $input_file->error_diag();
$file_io->close();
if ($verbose) {
print $count . " XenopusJamboreeParser xrefs succesfully parsed\n";
}
return 0;