\r
import jalview.datamodel.AlignmentI;\r
import jalview.io.FileParse;\r
-import jalview.ws.DbSourceProxy;\r
-import jalview.ws.DbSourceProxyImpl;\r
-import jalview.ws.EBIFetchClient;\r
+import jalview.ws.ebi.EBIFetchClient;\r
+import jalview.ws.seqfetcher.DbSourceProxy;\r
+import jalview.ws.seqfetcher.DbSourceProxyImpl;\r
\r
/**\r
* @author JimP\r
*/\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
}\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
if (result.size() < 1)\r
{\r
throw new Exception("No PDB Records for " + id + " chain "\r
- + ((chain == null) ? " " : chain));\r
+ + ((chain == null) ? "' '" : chain));\r
}\r
} catch (Exception ex) // Problem parsing PDB file\r
{\r
return "1QIPA";\r
}\r
\r
+ public String getDbName()\r
+ {\r
+ return "PDB"; // getDbSource();\r
+ }\r
+\r
}\r