Skip to content
Snippets Groups Projects
Commit 0ce70064 authored by Andreas Kusalananda Kähäri's avatar Andreas Kusalananda Kähäri
Browse files

Do RefSeq release info thing in RefSeqGPFFParser as well...

parent 79f19048
No related branches found
No related tags found
No related merge requests found
......@@ -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);
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment