From ad027771cf62a75612cf96256642b5dcbbb3ef99 Mon Sep 17 00:00:00 2001 From: Glenn Proctor <gp1@sanger.ac.uk> Date: Thu, 3 Feb 2005 12:24:51 +0000 Subject: [PATCH] Added add_direct_xref() - will be needed for future parsers that create direct_xrefs (e.g. CCDSParser). Made add_xref return xref_id of last-inserted xref so that it can be passed to add_direct_xref. --- .../xref_mapping/XrefParser/BaseParser.pm | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/misc-scripts/xref_mapping/XrefParser/BaseParser.pm b/misc-scripts/xref_mapping/XrefParser/BaseParser.pm index c455c03ca0..940e61aeb3 100644 --- a/misc-scripts/xref_mapping/XrefParser/BaseParser.pm +++ b/misc-scripts/xref_mapping/XrefParser/BaseParser.pm @@ -12,6 +12,7 @@ use Getopt::Long; my $base_dir = "."; my $add_xref_sth = undef; +my $add_direct_xref_sth = undef; my $add_dependent_xref_sth = undef; my $get_xref_sth = undef; @@ -732,15 +733,18 @@ sub get_xref{ return undef; } -sub add_xref{ - my ($self,$acc,$version,$label,$description,$source_id,$species_id) = @_; +sub add_xref { + + my ($self,$acc,$version,$label,$description,$source_id,$species_id) = @_; if(!defined($add_xref_sth)){ $add_xref_sth = dbi->prepare("INSERT INTO xref (accession,version,label,description,source_id,species_id) VALUES(?,?,?,?,?,?)"); } $add_xref_sth->execute($acc,$version,$label,$description,$source_id,$species_id) || die "$acc\t$label\t\t$source_id\t$species_id\n"; - + + return $add_xref_sth->{'mysql_insertid'}; + } @@ -762,6 +766,20 @@ sub add_to_xrefs{ } +# -------------------------------------------------------------------------------- +# Add a single record to the direct_xref table. +# Note that an xref must already have been added to the xref table (xref_id passed as 1st arg) + +sub add_direct_xref { + + my ($self, $general_xref_id, $ensembl_stable_id, $ensembl_type, $linkage_xref) = @_; + + $add_direct_xref_sth = dbi->prepare("INSERT INTO direct_xref VALUES(?,?,?,?)") if (!defined($add_direct_xref_sth)); + + $add_direct_xref_sth->execute($general_xref_id, $ensembl_stable_id, $ensembl_type, $linkage_xref); + +} + # -------------------------------------------------------------------------------- # Remove potentially problematic characters from string used for file/dir names -- GitLab