From eb4c971f200959664cb2b609ce912c9abc6f436a Mon Sep 17 00:00:00 2001
From: tjc <tjc@ee4ac58c-ac51-4696-9907-e4b3aa274f04>
Date: Tue, 1 Apr 2008 10:14:04 +0000
Subject: [PATCH] fix to write embl from database

git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@7254 ee4ac58c-ac51-4696-9907-e4b3aa274f04
---
 .../artemis/io/PublicDBDocumentEntry.java     | 29 ++++++++++++-------
 1 file changed, 19 insertions(+), 10 deletions(-)

diff --git a/uk/ac/sanger/artemis/io/PublicDBDocumentEntry.java b/uk/ac/sanger/artemis/io/PublicDBDocumentEntry.java
index dcd7a10b7..afa5d71b5 100644
--- a/uk/ac/sanger/artemis/io/PublicDBDocumentEntry.java
+++ b/uk/ac/sanger/artemis/io/PublicDBDocumentEntry.java
@@ -20,7 +20,7 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  *
- * $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/io/PublicDBDocumentEntry.java,v 1.6 2008-01-24 15:45:37 tjc Exp $
+ * $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/io/PublicDBDocumentEntry.java,v 1.7 2008-04-01 10:14:04 tjc Exp $
  */
 
 package uk.ac.sanger.artemis.io;
@@ -36,7 +36,7 @@ import java.io.IOException;
  *  entry.
  *
  *  @author Kim Rutherford
- *  @version $Id: PublicDBDocumentEntry.java,v 1.6 2008-01-24 15:45:37 tjc Exp $
+ *  @version $Id: PublicDBDocumentEntry.java,v 1.7 2008-04-01 10:14:04 tjc Exp $
  **/
 
 public class PublicDBDocumentEntry extends SimpleDocumentEntry
@@ -146,16 +146,20 @@ public class PublicDBDocumentEntry extends SimpleDocumentEntry
     Key key = feature.getKey();
     QualifierVector qualifiers = feature.getQualifiers().copy();
     
-    if(key.getKeyString().equals("transcript"))
-      key = new Key("mRNA");
-    if(key.getKeyString().equals("mRNA"))
+    if(key.getKeyString().equals(DatabaseDocument.EXONMODEL))
     {
-      // add protein qualifiers to transcript
-      final String transcriptName = GeneUtils.getUniqueName(feature);
-      final Feature protein = 
-        ((GFFStreamFeature)feature).getChadoGene().getProteinOfTranscript(transcriptName);
+      ChadoCanonicalGene chadoGene = ((GFFStreamFeature)feature).getChadoGene();
+
+      final String name = GeneUtils.getUniqueName(feature);
+      final String transcriptName = chadoGene.getTranscriptFromName(name);
+      
+      // add protein qualifiers to CDS
+      final Feature protein = chadoGene.getProteinOfTranscript(transcriptName);
       if(protein != null)
         qualifiers.addAll(protein.getQualifiers().copy());
+      
+      // add gene qualifiers to CDS
+      qualifiers.addAll(chadoGene.getGene().getQualifiers().copy());
     }
     
     try
@@ -185,7 +189,12 @@ public class PublicDBDocumentEntry extends SimpleDocumentEntry
         key = new Key("5'UTR");
       else if(key.getKeyString().equals("three_prime_UTR"))
         key = new Key("3'UTR");
-      else if(key.getKeyString().equals("polypepide"))
+      else if(key.getKeyString().equals("polypeptide"))
+        return null;
+      else if(key.getKeyString().equals("gene"))
+        return null;
+      else if(key.getKeyString().equals("transcript") || 
+              key.getKeyString().equals("mRNA"))
         return null;
       else if(key.getKeyString().startsWith("pseudo"))
       {
-- 
GitLab