From 0ce70064e461a2c852bf2377be31265f1dde4899 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20Kusalananda=20K=C3=A4h=C3=A4ri?= <ak4@sanger.ac.uk> Date: Wed, 7 Mar 2007 15:49:54 +0000 Subject: [PATCH] Do RefSeq release info thing in RefSeqGPFFParser as well... --- .../XrefParser/RefSeqGPFFParser.pm | 79 +++++++++++++------ 1 file changed, 56 insertions(+), 23 deletions(-) diff --git a/misc-scripts/xref_mapping/XrefParser/RefSeqGPFFParser.pm b/misc-scripts/xref_mapping/XrefParser/RefSeqGPFFParser.pm index e5e13aad26..71dcfe510d 100644 --- a/misc-scripts/xref_mapping/XrefParser/RefSeqGPFFParser.pm +++ b/misc-scripts/xref_mapping/XrefParser/RefSeqGPFFParser.pm @@ -31,32 +31,65 @@ sub run { my $source_id = shift; my $species_id = shift; my $file = shift; + my $release_file = shift; if ($source_id < 1) { - $source_id = XrefParser::BaseParser->get_source_id_for_filename(basename($file)); + $source_id = $self->get_source_id_for_filename(basename($file)); } if(!defined($species_id)){ - $species_id = XrefParser::BaseParser->get_species_id_for_filename($file); + $species_id = $self->get_species_id_for_filename($file); } - my $peptide_source_id = XrefParser::BaseParser->get_source_id_for_source_name('RefSeq_peptide'); - my $dna_source_id = XrefParser::BaseParser->get_source_id_for_source_name('RefSeq_dna'); - print "RefSeq_peptide source ID = $peptide_source_id; RefSeq_dna source ID = $dna_source_id\n"; + my $peptide_source_id = + $self->get_source_id_for_source_name('RefSeq_peptide'); + my $dna_source_id = + $self->get_source_id_for_source_name('RefSeq_dna'); + + print "RefSeq_peptide source ID = $peptide_source_id\n"; + print "RefSeq_dna source ID = $dna_source_id\n"; + + my $pred_peptide_source_id = + $self->get_source_id_for_source_name('RefSeq_peptide_predicted'); + my $pred_dna_source_id = + $self->get_source_id_for_source_name('RefSeq_dna_predicted'); + + print "RefSeq_peptide_predicted source ID = " + . "$pred_peptide_source_id\n"; + print "RefSeq_dna_predicted source ID = $pred_dna_source_id\n"; + + my $xrefs = + $self->create_xrefs( $peptide_source_id, $dna_source_id, + $pred_peptide_source_id, $pred_dna_source_id, $file, + $species_id ); + + if ( !defined($xrefs) ) { + return 1; #error + } + if ( !defined( $self->upload_xref_object_graphs($xrefs) ) ) { + return 1; # error + } + + if ( defined $release_file ) { + # Parse and set release info. + my $release_io = $self->get_filehandle($release_file); + local $/ = "\n*"; + my $release = $release_io->getline(); + $release_io->close(); + + $release =~ s/\s{2,}/ /g; + $release =~ s/.*(NCBI Reference Sequence.*) Distribution.*/$1/s; + # Put a comma after the release number to make it more readable. + $release =~ s/Release (\d+)/Release $1,/; + + print "RefSeq release: '$release'\n"; + + $self->set_release( $source_id, $release ); + $self->set_release( $peptide_source_id, $release ); + $self->set_release( $dna_source_id, $release ); + $self->set_release( $pred_peptide_source_id, $release ); + $self->set_release( $pred_dna_source_id, $release ); + } - my $pred_peptide_source_id = XrefParser::BaseParser->get_source_id_for_source_name('RefSeq_peptide_predicted'); - my $pred_dna_source_id = XrefParser::BaseParser->get_source_id_for_source_name('RefSeq_dna_predicted'); - print "RefSeq_peptide_predicted source ID = $pred_peptide_source_id; RefSeq_dna_predicted source ID = $pred_dna_source_id\n"; - - my $xrefs = - $self->create_xrefs( $peptide_source_id, $dna_source_id, - $pred_peptide_source_id, $pred_dna_source_id, $file, $species_id ); - - if(!defined($xrefs)){ - return 1; #error - } - if(!defined(XrefParser::BaseParser->upload_xref_object_graphs($xrefs))){ - return 1; # error - } return 0; # successful } @@ -73,12 +106,12 @@ sub create_xrefs { my ( $peptide_source_id, $dna_source_id, $pred_peptide_source_id, $pred_dna_source_id, $file, $species_id ) = @_; - my %name2species_id = XrefParser::BaseParser->name2species_id(); + my %name2species_id = $self->name2species_id(); - my %dependent_sources = XrefParser::BaseParser->get_dependent_xref_sources(); + my %dependent_sources = $self->get_dependent_xref_sources(); -# my (%genemap) = %{XrefParser::BaseParser->get_valid_codes("mim_gene",$species_id)}; -# my (%morbidmap) = %{XrefParser::BaseParser->get_valid_codes("mim_morbid",$species_id)}; +# my (%genemap) = %{$self->get_valid_codes("mim_gene",$species_id)}; +# my (%morbidmap) = %{$self->get_valid_codes("mim_morbid",$species_id)}; my $refseq_io = $self->get_filehandle($file); -- GitLab