None available.
sub run
{
my $self = shift if (defined(caller(1)));
my $source_id = shift;
my $species_id = shift;
my $files = shift;
my $release_file = shift;
my $verbose = shift;
my $file = @{$files}[0];
my $source_name = $self->get_source_name_for_source_id ($source_id) ;
my @xrefs;
local $/ = "\n>";
my $file_io = $self->get_filehandle($file);
if ( !defined $file_io ) {
print STDERR "ERROR: Could not open $file\n";
return 1; }
while ( $_ = $file_io->getline() ) {
next if (/^File:/);
my $xref;
my ($header, $sequence) = $_ =~ /^>?(.+?)\n([^>]*)/s or warn("Can't parse FASTA entry: $_\n");
my @attr = split/\|/, $header ;
my $acession = $header ;
my ( $version,$label ) ;
if ($source_name=~m/cint_jgi_v1/) {
($acession = $header) =~s/\w{6}//; $version = "JGI 1.0" ;
} elsif ($source_name=~m/cint_aniseed_jgi_v1/) {
$version = "JGI 1.0" ;
} elsif ($source_name=~m/cint_jgi_v2/) {
$acession = $attr[2] ;
$version = "JGI 2.0" ;
$label = $attr[3] ;
} elsif ($source_name=~m/cint_aniseed_jgi_v2/) {
my $aniseed_prefix = "ci0200" ;
$acession = $aniseed_prefix . $attr[2] ;
$version = "JGI 2.0" ;
}else {
print STDERR "WARNING : The source-name specified in the populate_metatable.sql file is\n" .
"WARNING : not matching the differnt cases specified in JGI_Parser.pm - plese\n" .
"WARNING : edit the parser\n " ;
return 1;
}
$sequence =~ s/\n//g;
$xref->{ACCESSION} = $acession;
$xref->{LABEL} = $acession;
$xref->{SEQUENCE} = $sequence;
$xref->{SOURCE_ID} = $source_id;
$xref->{SPECIES_ID} = $species_id;
$xref->{SEQUENCE_TYPE} = $self->get_sequence_type();
$xref->{STATUS} = 'experimental';
push @xrefs, $xref;
}
$file_io->close();
print scalar(@xrefs) . " JGI_ xrefs succesfully parsed\n" if($verbose);
XrefParser::BaseParser->upload_xref_object_graphs(\@xrefs);
return 0;
} |