sequence db fetcher and db reference validation/annotation transfer
[jalview.git] / src / jalview / ws / dbsources / Pdb.java
index 0548583..5773171 100644 (file)
@@ -50,7 +50,7 @@ public class Pdb extends EbiFileRetrievedProxy implements DbSourceProxy
    */\r
   public Regex getAccessionValidator()\r
   {\r
-    return new Regex("[1-9][0-9A-Za-z]{3}[ _A-Za-z0-9]?");\r
+    return new Regex("([1-9][0-9A-Za-z]{3}):?([ _A-Za-z0-9]?)");\r
   }\r
 \r
   /* (non-Javadoc)\r
@@ -88,9 +88,15 @@ public class Pdb extends EbiFileRetrievedProxy implements DbSourceProxy
     }\r
     if (queries.length() > 4 && chain == null)\r
     {\r
-      chain = queries.substring(4);\r
+      chain = queries.substring(4,5);\r
       id = queries.substring(0, 4);\r
     }\r
+    if (!isValidReference(id))\r
+    {\r
+      System.err.println("Ignoring invalid pdb query: '"+id+"'");\r
+      stopQuery();\r
+      return null;\r
+    }\r
     EBIFetchClient ebi = new EBIFetchClient();\r
     file = ebi.fetchDataAsFile("pdb:" + id, "pdb", "raw")\r
             .getAbsolutePath();\r
@@ -177,4 +183,9 @@ public class Pdb extends EbiFileRetrievedProxy implements DbSourceProxy
     return "1QIPA";\r
   }\r
 \r
+  public String getDbName()\r
+  {\r
+    return getDbSource();\r
+  }\r
+\r
 }\r