From 6441270bd0366bc334c87d622453bd0fc322d5ba Mon Sep 17 00:00:00 2001
From: Magali Ruffier <mr6@ebi.ac.uk>
Date: Thu, 16 Oct 2014 16:35:39 +0100
Subject: [PATCH] ENSCORESW-389: when processing pairs, process dependent xrefs
 as well

---
 misc-scripts/xref_mapping/XrefMapper/ProcessPaired.pm | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/misc-scripts/xref_mapping/XrefMapper/ProcessPaired.pm b/misc-scripts/xref_mapping/XrefMapper/ProcessPaired.pm
index 583abc1834..26f06a53bc 100644
--- a/misc-scripts/xref_mapping/XrefMapper/ProcessPaired.pm
+++ b/misc-scripts/xref_mapping/XrefMapper/ProcessPaired.pm
@@ -84,6 +84,7 @@ sub process{
   my $transl_object_xrefs_sth = $self->xref->dbc->prepare("select ox.object_xref_id, ox.ensembl_id, x.accession from  object_xref ox join xref x on (ox.xref_id = x.xref_id and ox.ox_status = 'DUMP_OUT' and ox.ensembl_object_type = 'Translation') join source s on (x.source_id = s.source_id and s.name like 'RefSeq\_peptide%')");
 
   my $ox_mark_delete_sth = $self->xref->dbc->prepare("update object_xref set ox_status  = 'MULTI_DELETE' where object_xref_id = ?");
+  my $ox_dx_delete_sth = $self->xref->dbc->prepare("update object_xref master_ox, object_xref dependent_ox, xref dependent, xref master, dependent_xref dx set dependent_ox.ox_status = 'MULTI_DELETE' where dependent.xref_id = dx.dependent_xref_id and master.xref_id = dx.master_xref_id and dependent.xref_id = dependent_ox.xref_id and master.xref_id = master_ox.xref_id and master_ox.object_xref_id = ? and dependent_ox.ensembl_id = ?"); 
  
 
   $transcr_obj_xrefs_sth->execute();
@@ -168,6 +169,8 @@ sub process{
 	      #this translations's transcript is not matched with the paired RefSeq_mRNA%,
 	      #change the status to 'MULTI_DELETE'
 	      $ox_mark_delete_sth->execute($translation_object_xref_id) || die("Failed to update status to 'MULTI_DELETE for object_xref_id $translation_object_xref_id");
+              $ox_dx_delete_sth->execute($translation_object_xref_id, $translation_id);
+              # Process all dependent xrefs as well
 
 	      $change{'translation object xrefs removed'}++;
 	  }
-- 
GitLab