\r
frame = new JInternalFrame();\r
frame.setContentPane(this);\r
- Desktop.addInternalFrame(frame, "Sequence Fetcher", 390, 120);\r
+ if(System.getProperty("os.name").startsWith("Mac"))\r
+ Desktop.addInternalFrame(frame, "Sequence Fetcher", 390, 135);\r
+ else\r
+ Desktop.addInternalFrame(frame, "Sequence Fetcher", 390, 120);\r
}\r
\r
private void jbInit()\r
\r
public void ok_actionPerformed(ActionEvent e)\r
{\r
- frame.setTitle("Sequence Fetcher - Fetching Sequence from " +\r
- database.getSelectedItem());\r
+ frame.setTitle("WSDBfetch@EBI Sequence Fetcher - Fetching Sequence...");\r
database.setEnabled(false);\r
textfield.setEnabled(false);\r
ok.setEnabled(false);\r
\r
Thread worker = new Thread(this);\r
worker.start();\r
-\r
}\r
\r
public void run()\r
{\r
+ String error = null;\r
StringBuffer result = new StringBuffer();\r
if (database.getSelectedItem().equals("Uniprot")\r
|| database.getSelectedItem().equals("EMBL")\r
}\r
else if (database.getSelectedItem().equals("PDB"))\r
{\r
+ String id = textfield.getText().toUpperCase();\r
+ String chain=null;\r
+ if(id.indexOf(":")>-1)\r
+ {\r
+ chain = id.substring(id.indexOf(":")+1);\r
+ id = id.substring(0,id.indexOf(":"));\r
+ System.out.println(id+" "+chain);\r
+ }\r
+\r
EBIFetchClient ebi = new EBIFetchClient();\r
- String[] reply = ebi.fetchData("pdb:" + textfield.getText(), "pdb",\r
+ String[] reply = ebi.fetchData("pdb:" + id, "pdb",\r
"raw");\r
try{\r
PDBfile pdbfile = new PDBfile(reply);\r
for (int i = 0; i < pdbfile.chains.size(); i++)\r
{\r
- result.append("\n>" +\r
+ if( chain == null || ((PDBChain)pdbfile.chains.elementAt(i)).id.toUpperCase().equals(chain))\r
+ result.append("\n>PDB|" + id+"|"+\r
( (PDBChain) pdbfile.chains.elementAt(i)).sequence.\r
getName() +\r
"\n"\r
}\r
}catch(Exception ex)// Problem parsing PDB file\r
{\r
- JOptionPane.showInternalMessageDialog(Desktop.desktop,\r
- "Error retrieving "+textfield.getText()+" from "+database.getSelectedItem(),\r
- "Error Retrieving Data", JOptionPane.WARNING_MESSAGE);\r
+ error = "Error retrieving "+textfield.getText()+" from "+database.getSelectedItem();\r
}\r
}\r
\r
- if (result.length() > 0)\r
+ if (result.length() > 0 && error==null)\r
{\r
String format = IdentifyFile.Identify(result.toString(), "Paste");\r
SequenceI[] sequences = null;\r
\r
}\r
else\r
- JOptionPane.showInternalMessageDialog(Desktop.desktop,\r
- "Error retrieving "+textfield.getText()+" from "+database.getSelectedItem(),\r
- "Error Retrieving Data", JOptionPane.WARNING_MESSAGE);\r
+ error = "Error retrieving "+textfield.getText()+" from "+database.getSelectedItem();\r
+\r
+\r
\r
}\r
}\r
\r
+ if(error!=null)\r
+ showErrorMessage(error);\r
+\r
database.setEnabled(true);\r
textfield.setEnabled(true);\r
ok.setEnabled(true);\r
cancel.setEnabled(true);\r
- frame.setTitle("Sequence Fetcher");\r
+ frame.setTitle("WSDBfetch@EBI Sequence Fetcher");\r
+ }\r
+\r
+ void showErrorMessage(String error)\r
+ {\r
+ JOptionPane.showInternalMessageDialog(Desktop.desktop,\r
+ error, "Error Retrieving Data", JOptionPane.WARNING_MESSAGE);\r
}\r
}\r
\r