merge Jan and Lauren's RNA GUI changes into develop (JAL-826)
[jalview.git] / src / jalview / ws / dbsources / EmblCdsSouce.java
index 65b4e21..1345f48 100644 (file)
@@ -1,3 +1,20 @@
+/*\r
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)\r
+ * Copyright (C) 2011 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle\r
+ * \r
+ * This file is part of Jalview.\r
+ * \r
+ * Jalview is free software: you can redistribute it and/or\r
+ * modify it under the terms of the GNU General Public License \r
+ * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r
+ * \r
+ * Jalview is distributed in the hope that it will be useful, but \r
+ * WITHOUT ANY WARRANTY; without even the implied warranty \r
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR \r
+ * PURPOSE.  See the GNU General Public License for more details.\r
+ * \r
+ * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.\r
+ */\r
 package jalview.ws.dbsources;\r
 \r
 import java.util.Hashtable;\r
@@ -11,20 +28,20 @@ import jalview.ws.seqfetcher.DbSourceProxy;
 public class EmblCdsSouce extends EmblXmlSource implements DbSourceProxy\r
 {\r
 \r
-  public EmblCdsSouce() {\r
+  public EmblCdsSouce()\r
+  {\r
     super();\r
-    addDbSourceProperty(DBRefSource.CODINGSEQDB); \r
+    addDbSourceProperty(DBRefSource.CODINGSEQDB);\r
   }\r
-  \r
+\r
   public String getAccessionSeparator()\r
   {\r
-   return null;\r
+    return null;\r
   }\r
 \r
   public Regex getAccessionValidator()\r
   {\r
-    // TODO Auto-generated method stub\r
-    return null;\r
+    return new com.stevesoft.pat.Regex("^[A-Z]+[0-9]+");\r
   }\r
 \r
   public String getDbSource()\r
@@ -34,12 +51,13 @@ public class EmblCdsSouce extends EmblXmlSource implements DbSourceProxy
 \r
   public String getDbVersion()\r
   {\r
-    return "0"; // TODO : this is dynamically set for a returned record - not tied to proxy\r
+    return "0"; // TODO : this is dynamically set for a returned record - not\r
+    // tied to proxy\r
   }\r
 \r
   public AlignmentI getSequenceRecords(String queries) throws Exception\r
-  { \r
-    if (queries.indexOf(".")>-1)\r
+  {\r
+    if (queries.indexOf(".") > -1)\r
     {\r
       queries = queries.substring(0, queries.indexOf("."));\r
     }\r
@@ -48,9 +66,12 @@ public class EmblCdsSouce extends EmblXmlSource implements DbSourceProxy
 \r
   public boolean isValidReference(String accession)\r
   {\r
-    // TODO Auto-generated method stub\r
-    return true;\r
+    // most embl CDS refs look like ..\r
+    // TODO: improve EMBLCDS regex\r
+    return (accession == null || accession.length() < 2) ? false\r
+            : getAccessionValidator().search(accession);\r
   }\r
+\r
   /**\r
    * cDNA for LDHA_CHICK swissprot sequence\r
    */\r
@@ -58,6 +79,7 @@ public class EmblCdsSouce extends EmblXmlSource implements DbSourceProxy
   {\r
     return "CAA37824";\r
   }\r
+\r
   public String getDbName()\r
   {\r
     return "EMBL (CDS)";\r