X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Fdbsources%2FUniprot.java;h=6f5f03315bd4099ee026f886580c6d36ab904f9e;hb=006890b02106eb31841e6e84d75f1027434823e0;hp=74a9ea45ed44701b27306e4b3e8c2705647bf33f;hpb=88515cdb74e4603a40c8c1dca14107b5ca503e04;p=jalview.git diff --git a/src/jalview/ws/dbsources/Uniprot.java b/src/jalview/ws/dbsources/Uniprot.java index 74a9ea4..6f5f033 100644 --- a/src/jalview/ws/dbsources/Uniprot.java +++ b/src/jalview/ws/dbsources/Uniprot.java @@ -32,6 +32,7 @@ import jalview.datamodel.SequenceI; import jalview.schemes.ResidueProperties; import jalview.util.StringUtils; import jalview.ws.seqfetcher.DbSourceProxyImpl; +import jalview.xml.binding.embl.ROOT; import jalview.xml.binding.uniprot.DbReferenceType; import jalview.xml.binding.uniprot.Entry; import jalview.xml.binding.uniprot.FeatureType; @@ -47,6 +48,7 @@ import java.util.List; import java.util.Vector; import javax.xml.bind.JAXBContext; +import javax.xml.bind.JAXBElement; import javax.xml.bind.JAXBException; import javax.xml.stream.FactoryConfigurationError; import javax.xml.stream.XMLInputFactory; @@ -178,16 +180,12 @@ public class Uniprot extends DbSourceProxyImpl SequenceI uniprotEntryToSequence(Entry entry) { String id = getUniprotEntryId(entry); - String seqString = entry.getSequence().getValue(); - /* - * for backwards compatibility with Castor processing, - * remove any internal spaces + * Sequence should not include any whitespace, but JAXB leaves these in */ - if (seqString.indexOf(' ') > -1) - { - seqString = seqString.replaceAll(" ", ""); - } + String seqString = entry.getSequence().getValue().replaceAll("\\s*", + ""); + SequenceI sequence = new Sequence(id, seqString); sequence.setDescription(getUniprotEntryDescription(entry)); @@ -505,7 +503,10 @@ public class Uniprot extends DbSourceProxyImpl XMLStreamReader streamReader = XMLInputFactory.newInstance() .createXMLStreamReader(is); javax.xml.bind.Unmarshaller um = jc.createUnmarshaller(); - jalview.xml.binding.uniprot.Uniprot uniprot = (jalview.xml.binding.uniprot.Uniprot) um.unmarshal(streamReader); + JAXBElement uniprotElement = + um.unmarshal(streamReader, jalview.xml.binding.uniprot.Uniprot.class); + jalview.xml.binding.uniprot.Uniprot uniprot = uniprotElement.getValue(); + if (uniprot != null && !uniprot.getEntry().isEmpty()) { entries = uniprot.getEntry();