X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FSequenceFetcher.java;h=f973fbb0dc7ae3173d566c890ec97a0955bcbca8;hb=e30c8f0736f711e2dc7c32680ac57a28c77d567d;hp=e3282d8e37d09403c1f730e1df4f99813a85bcbb;hpb=09feea69607bcbc761c50a7911272f0499ee57e9;p=jalview.git diff --git a/src/jalview/gui/SequenceFetcher.java b/src/jalview/gui/SequenceFetcher.java index e3282d8..f973fbb 100755 --- a/src/jalview/gui/SequenceFetcher.java +++ b/src/jalview/gui/SequenceFetcher.java @@ -119,8 +119,8 @@ public class SequenceFetcher new Insets(0, 4, 0, 0), 1, 0)); this.add(textfield, new GridBagConstraints(1, 1, 1, 1, 1.0, 0.0 , GridBagConstraints.CENTER, - GridBagConstraints.HORIZONTAL, - new Insets(0, 0, 0, 6), 200, 1)); + GridBagConstraints.NONE, + new Insets(0, 0, 0, 6), 211, 1)); } JComboBox database = new JComboBox(); @@ -183,16 +183,26 @@ public class SequenceFetcher else if (database.getSelectedItem().equals("EMBL") || database.getSelectedItem().equals("EMBLCDS")) { - EBIFetchClient dbFetch = new EBIFetchClient(); - String[] reply = dbFetch.fetchData( - database.getSelectedItem().toString().toLowerCase( - ) + ":" + textfield.getText(), - "fasta", "raw"); + StringTokenizer st = new StringTokenizer(textfield.getText(), ";"); + while(st.hasMoreTokens()) + { + EBIFetchClient dbFetch = new EBIFetchClient(); + + String[] reply = dbFetch.fetchData( + database.getSelectedItem().toString().toLowerCase( + ) + ":" + st.nextToken(), + "fasta", "raw"); +// + if (reply != null) + { + for (int i = 0; i < reply.length; i++) + result.append(reply[i] + "\n"); + } + } - if(reply!=null) + if(result!=null) { - for (int i = 0; i < reply.length; i++) - result.append(reply[i] + "\n"); + System.out.println(result.toString()); parseResult(result.toString(), null); } @@ -239,6 +249,7 @@ public class SequenceFetcher { EBIFetchClient ebi = new EBIFetchClient(); File file = ebi.fetchDataAsFile("uniprot:" + id, "xml", null); + SequenceFeatureFetcher sff = new SequenceFeatureFetcher(); Vector entries = sff.getUniprotEntries(file); @@ -249,7 +260,8 @@ public class SequenceFetcher while (en.hasMoreElements()) { UniprotEntry entry = (UniprotEntry) en.nextElement(); - StringBuffer name = new StringBuffer(">Uniprot/Swiss-Prot"); + + StringBuffer name = new StringBuffer(">UniProt/Swiss-Prot"); Enumeration en2 = entry.getAccession().elements(); while (en2.hasMoreElements()) { @@ -263,8 +275,10 @@ public class SequenceFetcher name.append(en2.nextElement()); } - if (entry.getProteinName() != null) - name.append(" " + entry.getProteinName().elementAt(0)); + if (entry.getProtein() != null) + { + name.append(" " + entry.getProtein().getName().elementAt(0)); + } result.append(name + "\n" + entry.getUniprotSequence().getContent() + "\n"); @@ -288,10 +302,15 @@ public class SequenceFetcher } sequence[i].getDatasetSequence().setPDBId(onlyPdbEntries); - e = entry.getFeature().elements(); - while(e.hasMoreElements()) + if (entry.getFeature() != null) { - sequence[i].getDatasetSequence().addSequenceFeature((SequenceFeature)e.nextElement()); + e = entry.getFeature().elements(); + while (e.hasMoreElements()) + { + SequenceFeature sf = (SequenceFeature) e.nextElement(); + sf.setFeatureGroup("Uniprot"); + sequence[i].getDatasetSequence().addSequenceFeature( sf ); + } } } } @@ -341,7 +360,7 @@ public class SequenceFetcher SequenceI[] parseResult(String result, String title) { - String format = IdentifyFile.Identify(result, "Paste"); + String format = new IdentifyFile().Identify(result, "Paste"); SequenceI[] sequences = null; if (FormatAdapter.formats.contains(format)) @@ -364,6 +383,12 @@ public class SequenceFetcher AlignFrame.NEW_WINDOW_WIDTH, AlignFrame.NEW_WINDOW_HEIGHT); af.statusBar.setText("Successfully pasted alignment file"); + if (jalview.bin.Cache.getDefault("WRAP_ALIGNMENT", false)) + { + af.wrapMenuItem.setSelected(true); + af.wrapMenuItem_actionPerformed(null); + } + try { af.setMaximum(jalview.bin.Cache.getDefault("SHOW_FULLSCREEN", false)); @@ -422,7 +447,7 @@ public class SequenceFetcher // We make a DBRefEtntry because we have obtained the PDB file from a verifiable source // JBPNote - PDB DBRefEntry should also carry the chain and mapping information - DBRefEntry dbentry = new DBRefEntry("PDB","0",pdbid); + DBRefEntry dbentry = new DBRefEntry(jalview.datamodel.DBRefSource.PDB,"0",pdbid); sequences[i].getDatasetSequence().addDBRef(dbentry); } else @@ -451,13 +476,18 @@ public class SequenceFetcher } - void showErrorMessage(String error) + void showErrorMessage(final String error) { resetDialog(); - JOptionPane.showInternalMessageDialog(Desktop.desktop, - error, "Error Retrieving Data", + javax.swing.SwingUtilities.invokeLater(new Runnable() + { + public void run() + { + JOptionPane.showInternalMessageDialog(Desktop.desktop, + error, "Error Retrieving Data", JOptionPane.WARNING_MESSAGE); - return; + } + }); } }