From 2171719cedb0c2a40af2c83fff332fbb36b6149b Mon Sep 17 00:00:00 2001
From: tjc <tjc@ee4ac58c-ac51-4696-9907-e4b3aa274f04>
Date: Thu, 29 Mar 2007 08:35:59 +0000
Subject: [PATCH] add autoGeneratePepName()

git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@5819 ee4ac58c-ac51-4696-9907-e4b3aa274f04
---
 .../sanger/artemis/io/ChadoCanonicalGene.java | 49 ++++++++++++++++++-
 1 file changed, 48 insertions(+), 1 deletion(-)

diff --git a/uk/ac/sanger/artemis/io/ChadoCanonicalGene.java b/uk/ac/sanger/artemis/io/ChadoCanonicalGene.java
index 0d800492b..8fe25545f 100644
--- a/uk/ac/sanger/artemis/io/ChadoCanonicalGene.java
+++ b/uk/ac/sanger/artemis/io/ChadoCanonicalGene.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/ChadoCanonicalGene.java,v 1.20 2007-03-28 09:15:34 tjc Exp $
+ * $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/io/ChadoCanonicalGene.java,v 1.21 2007-03-29 08:35:59 tjc Exp $
  */
 
 package uk.ac.sanger.artemis.io;
@@ -683,6 +683,53 @@ public class ChadoCanonicalGene
     return null;
   }
   
+  
+  /**
+   * Generate new names for peptide features for this gene model
+   * @param transcript_id
+   * @return
+   */
+  public String autoGeneratePepName(final String transcript_id)
+  {
+    try
+    {
+      int index = transcript_id.lastIndexOf(':');
+      int transcript_number = -1;
+      
+      if(index > -1)
+      {
+        try
+        {
+          transcript_number = Integer.parseInt(transcript_id.substring(index+1));
+        }
+        catch(NumberFormatException nfe)
+        {
+          transcript_number = -1;
+        }
+      }
+      
+      if(transcript_number < 1)
+      {
+        for(transcript_number = 1; transcript_number <= transcripts.size(); 
+            transcript_number++)
+        {
+          Feature transcript = (Feature) transcripts.get(transcript_number - 1);
+          if(transcript_id.equals(getQualifier(transcript, "ID")))
+            break;
+        }
+      }
+      
+      String name = (String)getGene().getQualifierByName("ID").getValues().get(0);
+
+      return name + ":" + transcript_number + ":pep";
+    }
+    catch(InvalidRelationException e)
+    {
+      e.printStackTrace();
+    }
+    return null;
+  }
+  
   /**
    * Search for the feature with a particular uniquename
    * @param name  uniquename
-- 
GitLab