From 9290fc1428b069d2235acbb61d27738ff20dcd9a Mon Sep 17 00:00:00 2001
From: Glenn Proctor <gp1@sanger.ac.uk>
Date: Fri, 10 Dec 2010 15:13:52 +0000
Subject: [PATCH] Avoid deleting projected GO terms when deleting projected
 display names.

---
 misc-scripts/xref_projection/project_display_xrefs.pl | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/misc-scripts/xref_projection/project_display_xrefs.pl b/misc-scripts/xref_projection/project_display_xrefs.pl
index 3419f612d5..75b67a2cb4 100644
--- a/misc-scripts/xref_projection/project_display_xrefs.pl
+++ b/misc-scripts/xref_projection/project_display_xrefs.pl
@@ -591,7 +591,8 @@ sub delete_names {
   print "Deleting projected xrefs, object_xrefs and synonyms\n";
   $sth = $to_ga->dbc()->prepare("DELETE es FROM xref x, external_synonym es WHERE x.xref_id=es.xref_id AND x.info_type='PROJECTION'");
   $sth->execute();
-  $sth = $to_ga->dbc()->prepare("DELETE x, ox FROM xref x, object_xref ox WHERE x.xref_id=ox.xref_id AND x.info_type='PROJECTION'");
+  # avoid deleting projected GO terms - only want to delete the names here
+  $sth = $to_ga->dbc()->prepare("DELETE x, ox FROM xref x, object_xref ox, external_db e WHERE x.xref_id=ox.xref_id AND x.external_db_id=e.external_db_id AND x.info_type='PROJECTION' AND e.db_name!='GO'");
   $sth->execute();
 
 }
-- 
GitLab