map.loadMapping(url);\r
\r
// 2. Unmarshal the data\r
- Unmarshaller unmar = new Unmarshaller();\r
+ Unmarshaller unmar = new Unmarshaller(uni);\r
unmar.setIgnoreExtraElements(true);\r
unmar.setMapping(map);\r
- uni = (UniprotFile) unmar.unmarshal(new FileReader(file));\r
+ // unmar.setDebug(true);\r
\r
+ uni = (UniprotFile) unmar.unmarshal(new FileReader(file));\r
}\r
catch (Exception e)\r
{\r
System.out.println("Error getUniprotEntries() "+e);\r
}\r
+\r
+\r
return uni.getUniprotEntries();\r
}\r
\r
seqIndex++, i++)\r
{\r
Sequence sequence = (Sequence) sequences.get(seqIndex);\r
- if(sequence.getSequenceFeatures()==null)\r
+ Vector uprefs = jalview.util.DBRefUtils.selectRefs(sequence.getDBRef(), new String[] { "Uniprot"});\r
+ if (uprefs!=null)\r
{\r
+ // we know the id for this entry, so don't note its ID in the unknownSequences list\r
+ for (int j=0,k=uprefs.size(); j<k; j++)\r
+ ids.add(((DBRefEntry) uprefs.get(j)).getAccessionId());\r
+ unknownSequences.add(sequence);\r
+ } else {\r
if (!ids.contains(sequence.getName()))\r
{\r
ids.add(sequence.getName());\r
// will not return any value from the OptionPane to the expired thread.\r
if (unknownSequences.size() > 0)\r
{\r
- int reply = javax.swing.JOptionPane.showConfirmDialog(\r
- Desktop.desktop, "Couldn't find a match for "+unknownSequences.size()+" sequences."\r
- +"\nPerform blast for unknown sequences?",\r
- "Blast for Unidentified Sequences",\r
- javax.swing.JOptionPane.YES_NO_OPTION, javax.swing.JOptionPane.QUESTION_MESSAGE);\r
-\r
- if(reply == javax.swing.JOptionPane.YES_OPTION)\r
- new WSWUBlastClient(ap, align, unknownSequences);\r
+ // int reply = javax.swing.JOptionPane.showConfirmDialog(\r
+ // Desktop.desktop, "Couldn't find a match for "+unknownSequences.size()+" sequences."\r
+ // +"\nPerform blast for unknown sequences?",\r
+ // "Blast for Unidentified Sequences",\r
+ // javax.swing.JOptionPane.YES_NO_OPTION, javax.swing.JOptionPane.QUESTION_MESSAGE);\r
+ javax.swing.JOptionPane.showMessageDialog(\r
+ Desktop.desktop, "Couldn't find a match for "+unknownSequences.size()+" sequences.",\r
+ "Unidentified Sequences",\r
+ javax.swing.JOptionPane.WARNING_MESSAGE);\r
+\r
+\r
+ // if(reply == javax.swing.JOptionPane.YES_OPTION)\r
+ // new WSWUBlastClient(ap, align, unknownSequences);\r
}\r
\r
\r
continue;\r
}\r
\r
- unknownSequences.remove(sequence);\r
\r
String nonGapped = AlignSeq.extractGaps("-. ", sequence.getSequence());\r
\r
absStart = nonGapped.toString().indexOf(entry.getUniprotSequence().getContent());\r
if(absStart == -1)\r
{\r
- unknownSequences.add(sequence.getName());\r
sbuffer.append(sequence.getName() +\r
" SEQUENCE NOT %100 MATCH \n");\r
\r
}\r
else\r
{\r
+\r
if(entry.getFeature()!=null)\r
{\r
Enumeration e = entry.getFeature().elements();\r
\r
}\r
\r
+ unknownSequences.remove(sequence);\r
+\r
int absEnd = absStart + nonGapped.toString().length();\r
absStart += 1;\r
\r
}\r
\r
sequence.setPDBId(onlyPdbEntries);\r
- sequence.setSequenceFeatures(entry.getFeature());\r
+ if (entry.getFeature()!=null) {\r
+ e = entry.getFeature().elements();\r
+ while (e.hasMoreElements())\r
+ {\r
+ SequenceFeature sf = (SequenceFeature) e.nextElement();\r
+ sf.setFeatureGroup("Uniprot");\r
+ sequence.addSequenceFeature( sf );\r
+ }\r
+ }\r
sequence.setStart(absStart);\r
sequence.setEnd(absEnd);\r
\r