+ result = new StringBuffer();\r
+ if (database.getSelectedItem().equals("Uniprot"))\r
+ {\r
+ getUniprotFile(textfield.getText());\r
+ }\r
+ else if (database.getSelectedItem().equals("EMBL")\r
+ || database.getSelectedItem().equals("EMBLCDS"))\r
+ {\r
+ EBIFetchClient dbFetch = new EBIFetchClient();\r
+ String[] reply = dbFetch.fetchData(\r
+ database.getSelectedItem().toString().toLowerCase(\r
+ ) + ":" + textfield.getText(),\r
+ "fasta", "raw");\r
+\r
+ for (int i = 0; i < reply.length; i++)\r
+ result.append(reply[i] + "\n");\r
+\r
+ parseResult(result.toString());\r
+ }\r
+ else if (database.getSelectedItem().equals("PDB"))\r
+ {\r
+ result = getPDBFile(textfield.getText().toUpperCase());\r
+ parseResult(result.toString());\r
+ }\r
+\r
+\r
+ if (result == null || result.length() == 0)\r
+ showErrorMessage("Error retrieving " + textfield.getText()\r
+ + " from " + database.getSelectedItem());\r
+\r
+\r
+ database.setEnabled(true);\r
+ textfield.setEnabled(true);\r
+ ok.setEnabled(true);\r
+ cancel.setEnabled(true);\r
+ frame.setTitle("Sequence Fetcher (WSDBfetch@EBI)");\r
+ }\r
+\r
+ void getUniprotFile(String id)\r
+ {\r
+ EBIFetchClient ebi = new EBIFetchClient();\r
+ File file = ebi.fetchDataAsFile("uniprot:"+id,"xml", null);\r
+ SequenceFeatureFetcher sff = new SequenceFeatureFetcher();\r
+ Vector entries = sff.getUniprotEntries(file);\r
+\r
+ if(entries!=null)\r
+ {\r
+ //First, make the new sequences\r
+ Enumeration en = entries.elements();\r
+ while (en.hasMoreElements())\r