From f3d6a13271e3f34dfb4e40d6a2a7df1d392f8014 Mon Sep 17 00:00:00 2001 From: James Procter Date: Sun, 14 May 2023 13:35:16 +0100 Subject: [PATCH] JAL-2349 store/restore mappable contact matrix in project and fix up interactive fill-like selection of matrices --- schemas/vamsas.xsd | 7 + src/jalview/datamodel/ColumnSelection.java | 17 ++ src/jalview/gui/AnnotationPanel.java | 140 ++++++--- src/jalview/project/Jalview2XML.java | 61 +++- src/jalview/renderer/ContactGeometry.java | 43 +-- .../ws/datamodel/MappableContactMatrixI.java | 11 + .../datamodel/alphafold/MappableContactMatrix.java | 318 ++++++++++++++++++++ .../ws/datamodel/alphafold/PAEContactMatrix.java | 37 ++- src/jalview/xml/binding/embl/EntrySetType.java | 2 +- src/jalview/xml/binding/embl/EntryType.java | 2 +- src/jalview/xml/binding/embl/ObjectFactory.java | 2 +- src/jalview/xml/binding/embl/ROOT.java | 2 +- src/jalview/xml/binding/embl/XrefType.java | 2 +- src/jalview/xml/binding/jalview/AlcodonFrame.java | 2 +- src/jalview/xml/binding/jalview/Annotation.java | 2 +- .../binding/jalview/AnnotationColourScheme.java | 2 +- .../xml/binding/jalview/AnnotationElement.java | 2 +- src/jalview/xml/binding/jalview/DoubleMatrix.java | 2 +- src/jalview/xml/binding/jalview/DoubleVector.java | 2 +- src/jalview/xml/binding/jalview/Feature.java | 2 +- .../xml/binding/jalview/FeatureMatcher.java | 2 +- .../xml/binding/jalview/FeatureMatcherSet.java | 2 +- src/jalview/xml/binding/jalview/FilterBy.java | 2 +- src/jalview/xml/binding/jalview/JalviewModel.java | 2 +- .../xml/binding/jalview/JalviewUserColours.java | 2 +- src/jalview/xml/binding/jalview/MapListType.java | 2 +- src/jalview/xml/binding/jalview/Mapping.java | 2 +- src/jalview/xml/binding/jalview/MatrixType.java | 31 +- src/jalview/xml/binding/jalview/NoValueColour.java | 2 +- src/jalview/xml/binding/jalview/ObjectFactory.java | 2 +- src/jalview/xml/binding/jalview/PcaDataType.java | 2 +- src/jalview/xml/binding/jalview/Pdbentry.java | 2 +- src/jalview/xml/binding/jalview/Property.java | 2 +- src/jalview/xml/binding/jalview/Sequence.java | 2 +- src/jalview/xml/binding/jalview/SequenceSet.java | 2 +- src/jalview/xml/binding/jalview/SequenceType.java | 2 +- src/jalview/xml/binding/jalview/ThresholdType.java | 2 +- src/jalview/xml/binding/jalview/VAMSAS.java | 2 +- .../binding/jalview/WebServiceParameterSet.java | 2 +- src/jalview/xml/binding/jalview/package-info.java | 2 +- src/jalview/xml/binding/uniprot/CitationType.java | 2 +- src/jalview/xml/binding/uniprot/CofactorType.java | 2 +- src/jalview/xml/binding/uniprot/CommentType.java | 2 +- .../xml/binding/uniprot/ConsortiumType.java | 2 +- .../xml/binding/uniprot/DbReferenceType.java | 2 +- src/jalview/xml/binding/uniprot/Entry.java | 2 +- src/jalview/xml/binding/uniprot/EventType.java | 2 +- src/jalview/xml/binding/uniprot/EvidenceType.java | 2 +- .../xml/binding/uniprot/EvidencedStringType.java | 2 +- src/jalview/xml/binding/uniprot/FeatureType.java | 2 +- .../xml/binding/uniprot/GeneLocationType.java | 2 +- src/jalview/xml/binding/uniprot/GeneNameType.java | 2 +- src/jalview/xml/binding/uniprot/GeneType.java | 2 +- .../xml/binding/uniprot/ImportedFromType.java | 2 +- .../xml/binding/uniprot/InteractantType.java | 2 +- src/jalview/xml/binding/uniprot/IsoformType.java | 2 +- src/jalview/xml/binding/uniprot/KeywordType.java | 2 +- src/jalview/xml/binding/uniprot/LocationType.java | 2 +- src/jalview/xml/binding/uniprot/MoleculeType.java | 2 +- src/jalview/xml/binding/uniprot/NameListType.java | 2 +- src/jalview/xml/binding/uniprot/ObjectFactory.java | 2 +- .../xml/binding/uniprot/OrganismNameType.java | 2 +- src/jalview/xml/binding/uniprot/OrganismType.java | 2 +- src/jalview/xml/binding/uniprot/PersonType.java | 2 +- .../binding/uniprot/PhysiologicalReactionType.java | 2 +- src/jalview/xml/binding/uniprot/PositionType.java | 2 +- src/jalview/xml/binding/uniprot/PropertyType.java | 2 +- .../xml/binding/uniprot/ProteinExistenceType.java | 2 +- src/jalview/xml/binding/uniprot/ProteinType.java | 2 +- src/jalview/xml/binding/uniprot/ReactionType.java | 2 +- src/jalview/xml/binding/uniprot/ReferenceType.java | 2 +- src/jalview/xml/binding/uniprot/SequenceType.java | 2 +- .../xml/binding/uniprot/SourceDataType.java | 2 +- src/jalview/xml/binding/uniprot/SourceType.java | 2 +- src/jalview/xml/binding/uniprot/StatusType.java | 2 +- .../binding/uniprot/SubcellularLocationType.java | 2 +- src/jalview/xml/binding/uniprot/Uniprot.java | 2 +- src/jalview/xml/binding/uniprot/package-info.java | 2 +- test/jalview/project/Jalview2xmlTests.java | 12 +- 79 files changed, 657 insertions(+), 158 deletions(-) create mode 100644 src/jalview/ws/datamodel/alphafold/MappableContactMatrix.java diff --git a/schemas/vamsas.xsd b/schemas/vamsas.xsd index abfabb1..b72e3c7 100755 --- a/schemas/vamsas.xsd +++ b/schemas/vamsas.xsd @@ -331,6 +331,13 @@ + + + mapping from the matrix row and column positions to + associated reference frame + + diff --git a/src/jalview/datamodel/ColumnSelection.java b/src/jalview/datamodel/ColumnSelection.java index 6ee324f..4882597 100644 --- a/src/jalview/datamodel/ColumnSelection.java +++ b/src/jalview/datamodel/ColumnSelection.java @@ -278,6 +278,23 @@ public class ColumnSelection } /** + * add a series of start,end (inclusive) ranges to the column selection + * @param rng [start_0, end_0, start_1, end_1, ... ] + * @param baseOne - when true, ranges are base 1 and will be mapped to base 0 + */ + public void addRangeOfElements(int[] rng,boolean baseOne) + { + int base=baseOne ? -1 : 0; + for (int c = 0; c < rng.length; c += 2) + { + for (int p = rng[c]; p <= rng[c + 1]; p++) + { + selection.add(base+p); + } + } + + } + /** * clears column selection */ public void clear() diff --git a/src/jalview/gui/AnnotationPanel.java b/src/jalview/gui/AnnotationPanel.java index 3bf24b4..2177a26 100755 --- a/src/jalview/gui/AnnotationPanel.java +++ b/src/jalview/gui/AnnotationPanel.java @@ -656,7 +656,7 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI, to = Math.max(cXci.cStart, cXci.cEnd); // double click selects the whole group - if (evt.getClickCount()==2) + if (evt.getClickCount() == 2) { ContactMatrixI matrix = av.getContactMatrix(clicked); @@ -667,6 +667,7 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI, { SequenceI rseq = clicked.sequenceRef; BitSet grp = matrix.getGroupsFor(currentX); + // TODO: cXci needs to be mapped to real groups for (int c = fr; c <= to; c++) { BitSet additionalGrp = matrix.getGroupsFor(c); @@ -697,16 +698,18 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI, { // select corresponding range in segment under mouse { - for (int c = fr; c <= to; c++) + int[] rng = forCurrentX.getMappedPositionsFor(fr, to); + if (rng != null) { - av.getColumnSelection().addElement(c); + av.getColumnSelection().addRangeOfElements(rng, true); } av.getColumnSelection().addElement(currentX); } // PAE SPECIFIC // and also select everything lower than the max range adjacent // (kind of works) - if (evt.isControlDown() && PAEContactMatrix.PAEMATRIX.equals(clicked.getCalcId())) + if (evt.isControlDown() + && PAEContactMatrix.PAEMATRIX.equals(clicked.getCalcId())) { int c = fr - 1; ContactRange cr = forCurrentX.getRangeFor(fr, to); @@ -724,28 +727,39 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI, if (// cr.getMin() <= cval && cval <= thresh) { - av.getColumnSelection().addElement(c--); - } - else - { - break; + int[] cols = forCurrentX.getMappedPositionsFor(c, c); + if (cols != null) + { + av.getColumnSelection().addRangeOfElements(cols, true); + } + else + { + break; + } } + c--; } - c = to; - while (c < forCurrentX.getContactHeight()) - { - cval = forCurrentX.getContactAt(c); - if (// cr.getMin() <= cval && - cval <= thresh) + c = to; + while (c < forCurrentX.getContactHeight()) { - av.getColumnSelection().addElement(c++); - } - else - { - break; + cval = forCurrentX.getContactAt(c); + if (// cr.getMin() <= cval && + cval <= thresh) + { + int[] cols = forCurrentX.getMappedPositionsFor(c, c); + if (cols != null) + { + av.getColumnSelection().addRangeOfElements(cols, true); + } + } + else + { + break; + } + c++; + } } - } } } ap.paintAlignment(false, false); @@ -1044,38 +1058,56 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI, rowIndex[1] - deltaY); // mark rectangular region formed by drag - jalview.bin.Console.trace("Matrix Selection from last(" + fromXc + ",[" - + lastXci.cStart + "," + lastXci.cEnd + "]) to cur(" + toXc - + ",[" + cXci.cStart + "," + cXci.cEnd + "])"); + jalview.bin.Console.trace("Matrix Selection from last(" + fromXc + + ",[" + lastXci.cStart + "," + lastXci.cEnd + "]) to cur(" + + toXc + ",[" + cXci.cStart + "," + cXci.cEnd + "])"); int fr, to; fr = Math.min(lastXci.cStart, lastXci.cEnd); to = Math.max(lastXci.cStart, lastXci.cEnd); - jalview.bin.Console.trace("Marking " + fr + " to " + to); - for (int c = fr; c <= to; c++) + int[] mappedPos = forFromX.getMappedPositionsFor(fr, to); + if (mappedPos != null) { - if (cma.sequenceRef != null) + jalview.bin.Console.trace("Marking " + fr + " to " + to + + " mapping to sequence positions " + mappedPos[0] + " to " + + mappedPos[1]); + for (int pair = 0; pair < mappedPos.length; pair += 2) { - int col = cma.sequenceRef.findIndex(c); - av.getColumnSelection().addElement(col); - } - else - { - av.getColumnSelection().addElement(c); + for (int c = mappedPos[pair]; c <= mappedPos[pair + 1]; c++) +// { +// if (cma.sequenceRef != null) +// { +// int col = cma.sequenceRef.findIndex(cma.sequenceRef.getStart()+c); +// av.getColumnSelection().addElement(col); +// } +// else + { + av.getColumnSelection().addElement(c); + } } } + // and again for most recent corner of drag fr = Math.min(cXci.cStart, cXci.cEnd); to = Math.max(cXci.cStart, cXci.cEnd); - jalview.bin.Console.trace("Marking " + fr + " to " + to); - for (int c = fr; c <= to; c++) + mappedPos = forFromX.getMappedPositionsFor(fr, to); + if (mappedPos != null) { - if (cma.sequenceRef != null) + for (int pair = 0; pair < mappedPos.length; pair += 2) { - int col = cma.sequenceRef.findIndex(c); - av.getColumnSelection().addElement(col); - } - else - { - av.getColumnSelection().addElement(c); + jalview.bin.Console.trace("Marking " + fr + " to " + to + + " mapping to sequence positions " + mappedPos[pair] + " to " + + mappedPos[pair+1]); + for (int c = mappedPos[pair]; c <= mappedPos[pair + 1]; c++) + { +// if (cma.sequenceRef != null) +// { +// int col = cma.sequenceRef.findIndex(cma.sequenceRef.getStart()+c); +// av.getColumnSelection().addElement(col); +// } +// else + { + av.getColumnSelection().addElement(c); + } + } } } fr = Math.min(lastX, currentX); @@ -1248,12 +1280,28 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI, ContactRange cr = clist.getRangeFor(ci.cStart, ci.cEnd); tooltip = "Contact from " + clist.getPosition() + ", [" + ci.cStart + " - " + ci.cEnd + "]" + "
Mean:" + cr.getMean(); + int col = ann.sequenceRef.findPosition(column); + int[][] highlightPos; + int[] mappedPos = clist.getMappedPositionsFor(ci.cStart, ci.cEnd); + if (mappedPos != null) + { + highlightPos = new int[1 + mappedPos.length][2]; + highlightPos[0] = new int[] { col, col }; + for (int p = 0, h = 0; p < mappedPos.length; h++, p += 2) + { + highlightPos[h][0] = ann.sequenceRef + .findPosition(mappedPos[p] - 1); + highlightPos[h][1] = ann.sequenceRef + .findPosition(mappedPos[p + 1] - 1); + } + } + else + { + highlightPos = new int[][] { new int[] { col, col } }; + } ap.getStructureSelectionManager() - .highlightPositionsOn(ann.sequenceRef, new int[][] - { new int[] { col, col }, - new int[] - { ci.cStart, ci.cEnd } }, null); + .highlightPositionsOn(ann.sequenceRef, highlightPos, null); } } return tooltip; diff --git a/src/jalview/project/Jalview2XML.java b/src/jalview/project/Jalview2XML.java index ddf2afd..333c62b 100644 --- a/src/jalview/project/Jalview2XML.java +++ b/src/jalview/project/Jalview2XML.java @@ -152,6 +152,7 @@ import jalview.viewmodel.ViewportRanges; import jalview.viewmodel.seqfeatures.FeatureRendererModel; import jalview.viewmodel.seqfeatures.FeatureRendererSettings; import jalview.viewmodel.seqfeatures.FeaturesDisplayed; +import jalview.ws.datamodel.MappableContactMatrixI; import jalview.ws.datamodel.alphafold.PAEContactMatrix; import jalview.ws.jws2.Jws2Discoverer; import jalview.ws.jws2.dm.AAConSettings; @@ -194,6 +195,7 @@ import jalview.xml.binding.jalview.JalviewModel.Viewport.HiddenColumns; import jalview.xml.binding.jalview.JalviewModel.Viewport.Overview; import jalview.xml.binding.jalview.JalviewUserColours; import jalview.xml.binding.jalview.JalviewUserColours.Colour; +import jalview.xml.binding.jalview.MapListType; import jalview.xml.binding.jalview.MapListType.MapListFrom; import jalview.xml.binding.jalview.MapListType.MapListTo; import jalview.xml.binding.jalview.Mapping; @@ -2337,6 +2339,38 @@ public class Jalview2XML } // set/get properties + if (cm instanceof MappableContactMatrixI) + { + jalview.util.MapList mlst = ((MappableContactMatrixI) cm) + .getMapFor(annotation.sequenceRef); + if (mlst != null) + { + MapListType mp = new MapListType(); + List r = mlst.getFromRanges(); + for (int[] range : r) + { + MapListFrom mfrom = new MapListFrom(); + mfrom.setStart(range[0]); + mfrom.setEnd(range[1]); + // mp.addMapListFrom(mfrom); + mp.getMapListFrom().add(mfrom); + } + r = mlst.getToRanges(); + for (int[] range : r) + { + MapListTo mto = new MapListTo(); + mto.setStart(range[0]); + mto.setEnd(range[1]); + // mp.addMapListTo(mto); + mp.getMapListTo().add(mto); + } + mp.setMapFromUnit( + BigInteger.valueOf(mlst.getFromRatio())); + mp.setMapToUnit(BigInteger.valueOf(mlst.getToRatio())); + xmlmat.setMapping(mp); + } + } + // and add to model an.getContactmatrix().add(xmlmat); } } @@ -2664,7 +2698,7 @@ public class Jalview2XML } return vamsasSeq; } - + private Mapping createVamsasMapping(jalview.datamodel.Mapping jmp, SequenceI parentseq, SequenceI jds, boolean recurse) { @@ -3972,9 +4006,32 @@ public class Jalview2XML .fromFloatStringToContacts(xmlmat.getElements(), xmlmat.getCols().intValue(), xmlmat.getRows().intValue()); + jalview.util.MapList mapping = null; + if (xmlmat.getMapping()!=null) + { + MapListType m = xmlmat.getMapping(); + // Mapping m = dr.getMapping(); + int fr[] = new int[m.getMapListFrom().size() * 2]; + Iterator from = m.getMapListFrom().iterator();// enumerateMapListFrom(); + for (int _i = 0; from.hasNext(); _i += 2) + { + MapListFrom mf = from.next(); + fr[_i] = mf.getStart(); + fr[_i + 1] = mf.getEnd(); + } + int fto[] = new int[m.getMapListTo().size() * 2]; + Iterator to = m.getMapListTo().iterator();// enumerateMapListTo(); + for (int _i = 0; to.hasNext(); _i += 2) + { + MapListTo mf = to.next(); + fto[_i] = mf.getStart(); + fto[_i + 1] = mf.getEnd(); + } + mapping = new jalview.util.MapList(fr, fto, m.getMapFromUnit().intValue(),m.getMapToUnit().intValue()); + } PAEContactMatrix newpae = new PAEContactMatrix( - jaa.sequenceRef, elements); + jaa.sequenceRef, mapping, elements); List newgroups=new ArrayList(); if (xmlmat.getGroups().size()>0) { diff --git a/src/jalview/renderer/ContactGeometry.java b/src/jalview/renderer/ContactGeometry.java index 2eb325c..ad741ff 100644 --- a/src/jalview/renderer/ContactGeometry.java +++ b/src/jalview/renderer/ContactGeometry.java @@ -78,33 +78,38 @@ public class ContactGeometry * @return true if the range on the matrix specified by ci intersects with selected columns in the ContactListI's reference frame. */ - boolean intersects(contactInterval ci,ColumnSelection columnSelection, HiddenColumns hiddenColumns, boolean visibleOnly) { + boolean intersects(contactInterval ci, ColumnSelection columnSelection, + HiddenColumns hiddenColumns, boolean visibleOnly) + { boolean rowsel = false; - final int[] mappedRange = contacts.getMappedPositionsFor(ci.cStart, ci.cEnd); - if (mappedRange==null) + final int[] mappedRange = contacts.getMappedPositionsFor(ci.cStart, + ci.cEnd); + if (mappedRange == null) { return false; } - boolean containsHidden=false; - if (visibleOnly && hiddenColumns!=null && hiddenColumns.hasHiddenColumns()) + for (int p = 0; p < mappedRange.length && !rowsel; p += 2) { - // TODO: turn into function on hiddenColumns and create test !! - Iterator viscont = hiddenColumns - .getVisContigsIterator(mappedRange[0], mappedRange[1], false); - containsHidden = !viscont.hasNext(); - if (!containsHidden) + boolean containsHidden = false; + if (visibleOnly && hiddenColumns != null + && hiddenColumns.hasHiddenColumns()) { - for (int[] interval=viscont.next();viscont.hasNext(); - rowsel |= columnSelection.intersects(interval[0],interval[1])) - ; + // TODO: turn into function on hiddenColumns and create test !! + Iterator viscont = hiddenColumns.getVisContigsIterator( + mappedRange[p], mappedRange[p + 1], false); + containsHidden = !viscont.hasNext(); + if (!containsHidden) + { + for (int[] interval = viscont.next(); viscont + .hasNext(); rowsel |= columnSelection + .intersects(interval[p], interval[p + 1])) + ; + } } - } - else - { - // if containsHidden is true mappedRange is not visible - if (containsHidden) + else { - rowsel = columnSelection.intersects(mappedRange[0], mappedRange[1]); + rowsel = columnSelection.intersects(mappedRange[p], + mappedRange[p + 1]); } } return rowsel; diff --git a/src/jalview/ws/datamodel/MappableContactMatrixI.java b/src/jalview/ws/datamodel/MappableContactMatrixI.java index 4abaa5d..052bc2f 100644 --- a/src/jalview/ws/datamodel/MappableContactMatrixI.java +++ b/src/jalview/ws/datamodel/MappableContactMatrixI.java @@ -4,6 +4,7 @@ import jalview.datamodel.ContactListI; import jalview.datamodel.ContactMatrixI; import jalview.datamodel.Mapping; import jalview.datamodel.SequenceI; +import jalview.util.MapList; public interface MappableContactMatrixI extends ContactMatrixI { @@ -28,4 +29,14 @@ public interface MappableContactMatrixI extends ContactMatrixI ContactListI getMappableContactList(SequenceI localFrame, int column); + /** + * + * Similar to AlignedCodonFrame.getMappingBetween + * + * @param sequenceRef - a reference sequence mappable to this contactMatrix - may be null + * @return null or the MapList mapping to the coordinates of the reference sequence (or if hasReferenceSeq() is false, and sequenceRef is null, any mapping present) + * + */ + MapList getMapFor(SequenceI sequenceRef); + } diff --git a/src/jalview/ws/datamodel/alphafold/MappableContactMatrix.java b/src/jalview/ws/datamodel/alphafold/MappableContactMatrix.java new file mode 100644 index 0000000..ae2b37c --- /dev/null +++ b/src/jalview/ws/datamodel/alphafold/MappableContactMatrix.java @@ -0,0 +1,318 @@ +package jalview.ws.datamodel.alphafold; + +import java.util.ArrayList; + +import jalview.datamodel.ContactListI; +import jalview.datamodel.ContactListImpl; +import jalview.datamodel.ContactListProviderI; +import jalview.datamodel.Mapping; +import jalview.datamodel.SequenceI; +import jalview.util.MapList; +import jalview.ws.datamodel.MappableContactMatrixI; + +public abstract class MappableContactMatrix> implements MappableContactMatrixI +{ + SequenceI refSeq = null; + MapList toSeq = null; + + /** + * the length that refSeq is expected to be (excluding gaps, of course) + */ + int length; + + + @Override + public boolean hasReferenceSeq() + { + return (refSeq != null); + } + + @Override + public SequenceI getReferenceSeq() + { + return refSeq; + } + @Override + public MapList getMapFor(SequenceI mapSeq) + { + if (refSeq!=null) + { + while (mapSeq!=refSeq && mapSeq.getDatasetSequence()!=null) + { + mapSeq = mapSeq.getDatasetSequence(); + } + if (mapSeq!=refSeq) + { + return null; + } + } else { + if (mapSeq!=null) { + // our MapList does not concern this seq + return null; + } + } + + return toSeq; + } + + protected void setRefSeq(SequenceI _refSeq) + { + refSeq = _refSeq; + while (refSeq.getDatasetSequence() != null) + { + refSeq = refSeq.getDatasetSequence(); + } + length = _refSeq.getEnd() - _refSeq.getStart() + 1; +// if (length!=refSeq.getLength() || _refSeq.getStart()!=1) + { + toSeq = new MapList(new int[] { _refSeq.getStart(), _refSeq.getEnd()}, new int[] { 0,length-1}, 1,1); + } + } + + public T liftOver(SequenceI newRefSeq, Mapping sp2sq) + { + if (sp2sq.getMappedWidth() != sp2sq.getWidth()) + { + // TODO: employ getWord/MappedWord to transfer annotation between cDNA and + // Protein reference frames + throw new Error( + "liftOver currently not implemented for transfer of annotation between different types of seqeunce"); + } + boolean mapIsTo = (sp2sq != null) ? (sp2sq.getTo() == refSeq) : false; + + /** + * map from matrix to toSeq's coordinate frame + */ + int[] refMap = toSeq.locateInFrom(0, length - 1); + ArrayList newFromMap = new ArrayList(); + int last = -1; + for (int i = 0; i < refMap.length; i += 2) + { + /* + * for each contiguous range in toSeq, locate corresponding range in sequence mapped to toSeq by sp2sq + */ + int[] sp2map = mapIsTo + ? sp2sq.getMap().locateInFrom(refMap[i], refMap[i + 1]) + : sp2sq.getMap().locateInTo(refMap[i], refMap[i + 1]); + if (sp2map == null) + { + continue; + } + + for (int spm = 0; spm < sp2map.length; spm += 2) + { + + if (last > -1) + { + if (sp2map[spm] != last + 1) + { + newFromMap.add(sp2map[spm]); + } + else + { + newFromMap.remove(newFromMap.size() - 1); + } + } + else + { + newFromMap.add(sp2map[spm]); + } + last = sp2map[spm + 1]; + newFromMap.add(last); + } + } + if ((newFromMap.size() % 2) != 0) + { + // should have had an even number of int ranges! + throw new Error("PAEMatrix liftover failed."); + } + int fromIntMap[] = new int[newFromMap.size()]; + int ipos = 0; + for (Integer i : newFromMap) + { + fromIntMap[ipos++] = i; + } + MapList newFromMapList = new MapList(fromIntMap, + new int[] + { 0, length - 1 }, 1, 1); + + T newCM = newMappableContactMatrix(newRefSeq, newFromMapList); + return newCM; + } + + protected abstract T newMappableContactMatrix(SequenceI newRefSeq, + MapList newFromMapList); + @Override + public ContactListI getMappableContactList(final SequenceI localFrame, + final int column) + { + final int _column; + final int _lcolumn; + if (localFrame==null) + { + throw new Error("Unimplemented when no local sequence given."); + } + // return a ContactListI for column + // column is index into localFrame + // 1. map column to corresponding column in matrix + + _lcolumn=localFrame.findPosition(column); + + if (toSeq != null) + { + SequenceI lf = localFrame, uf = refSeq; + + // just look for dataset sequences and check they are the same. + // in future we could use DBRefMappings/whatever. + while (lf.getDatasetSequence() != null + || uf.getDatasetSequence() != null) + { + if (lf.getDatasetSequence() != null) + { + lf = lf.getDatasetSequence(); + } + if (uf.getDatasetSequence() != null) + { + uf = uf.getDatasetSequence(); + } + } + if (lf != uf) + { + // could try harder to find a mapping + throw new Error("This Matrix associated with '" + refSeq.getName() + + "' is not mappable for the given localFrame sequence. (" + + localFrame.getName() + ")"); + } + // check the mapping to see if localFrame _lcolumn exists + int[] word = toSeq.locateInTo(_lcolumn, _lcolumn); + if (word == null) + { + return null; + } + _column = word[0]; + } + else + { + // no mapping + _column = _lcolumn; + } + + // TODO - remove ? this may be a redundant check + if (_column < 0 || ((toSeq != null && _column > toSeq.getToHighest()) + || (toSeq == null && getHeight() <= _column))) + { + return null; + } + + // 2. resolve ranges in matrix corresponding to range in localFrame + final int[] matrixRange = toSeq == null + ? new int[] + { localFrame.getStart(), localFrame.getEnd() } + : toSeq.locateInTo(localFrame.getStart(), localFrame.getEnd()); + + int h = 0; + for (int p = 0; p < matrixRange.length; p += 2) + { + h += 1+Math.abs(matrixRange[p + 1] - matrixRange[p]); + } + final int rangeHeight = h; + // 3. Construct ContactListImpl instance for just those segments. + + return new ContactListImpl(new ContactListProviderI() + { + + public int getColumn() + { + return column; + } + @Override + public int getPosition() + { + return _column; + } + + @Override + public int getContactHeight() + { + return rangeHeight; + } + + @Override + public double getContactAt(int mcolumn) + { + if (mcolumn<0 || mcolumn>=rangeHeight) + { + return -1; + } + return getElementAt(_column, locateInRange(mcolumn)); + + // this code maps from mcolumn to localFrame - but that isn't what's needed +// int loccolumn = localFrame.findPosition(mcolumn); +// int[] lcolumn=(toSeq==null) ? new int[] {mcolumn} : toSeq.locateInTo(loccolumn,loccolumn); +// if (lcolumn==null || lcolumn[0] < 0 || lcolumn[0] >= rangeHeight) +// { +// return -1; +// } +// return getElementAt(_column,lcolumn[0]); + } + /** + * @return the mcolumn'th position in the matrixRange window on the matrix + */ + private int locateInRange(int mcolumn) + { + + int h=0,p=0; + while (h < mcolumn && p+2 < matrixRange.length) + { + h += 1+Math.abs(matrixRange[p + 1] - matrixRange[p]); + p+=2; + } + return matrixRange[p]+mcolumn-h; + } + + @Override + public int[] getMappedPositionsFor(int cStart, int cEnd) + { + if (!hasReferenceSeq()) + { + return ContactListProviderI.super.getMappedPositionsFor(cStart, cEnd); + } + // map into segment of matrix being shown + int realCstart = locateInRange(cStart); + int realCend = locateInRange(cEnd); + + // TODO account for discontinuities in the mapping + + int[] mappedPositions = toSeq.locateInFrom(realCstart,realCend); + if (mappedPositions!=null) { + int s=-1,e=-1; + for (int p=0;p=localFrame.getStart()) + { + s=p; // remember first position within local frame + } + if (e==-1 || mappedPositions[p]<=localFrame.getEnd()) + { + // update end pointer + e=p; + // compute local map + mappedPositions[p] = localFrame.findIndex(mappedPositions[p]); + } + } + } + return mappedPositions; + } + }); + } + + /** + * get a specific element of the contact matrix in its data-local coordinates + * rather than the mapped frame. Implementations are allowed to throw RunTimeExceptions if _column/i are out of bounds + * + * @param _column + * @param i + * @return + */ + protected abstract double getElementAt(int _column, int i); +} diff --git a/src/jalview/ws/datamodel/alphafold/PAEContactMatrix.java b/src/jalview/ws/datamodel/alphafold/PAEContactMatrix.java index 9d7891d..d496097 100644 --- a/src/jalview/ws/datamodel/alphafold/PAEContactMatrix.java +++ b/src/jalview/ws/datamodel/alphafold/PAEContactMatrix.java @@ -209,21 +209,21 @@ public class PAEContactMatrix extends MappableContactMatrix im @Override public ContactListI getContactList(final int column) { - final int _column; - if (toSeq != null) - { - int[] word = toSeq.locateInTo(column, column); - if (word == null) - { - return null; - } - _column = word[0]; - } - else - { - _column = column; - } - if (_column < 0 || _column >= elements.length) +// final int _column; +// if (toSeq != null) +// { +// int[] word = toSeq.locateInTo(column, column); +// if (word == null) +// { +// return null; +// } +// _column = word[0]; +// } +// else +// { +// _column = column; +// } + if (column < 0 || column >= elements.length) { return null; } @@ -233,7 +233,7 @@ public class PAEContactMatrix extends MappableContactMatrix im @Override public int getPosition() { - return _column; + return column; } @Override @@ -245,12 +245,11 @@ public class PAEContactMatrix extends MappableContactMatrix im @Override public double getContactAt(int mcolumn) { - int[] column=(toSeq==null) ? new int[] {mcolumn} : toSeq.locateInTo(mcolumn,mcolumn); - if (column==null || column[0] < 0 || column[0] >= elements[_column].length) + if (mcolumn < 0 || mcolumn >= elements[column].length) { return -1; } - return elements[_column][column[0]]; + return elements[column][mcolumn]; } }); } diff --git a/src/jalview/xml/binding/embl/EntrySetType.java b/src/jalview/xml/binding/embl/EntrySetType.java index 0479a34..7126be6 100644 --- a/src/jalview/xml/binding/embl/EntrySetType.java +++ b/src/jalview/xml/binding/embl/EntrySetType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:45 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/embl/EntryType.java b/src/jalview/xml/binding/embl/EntryType.java index 6336ef1..8b2e704 100644 --- a/src/jalview/xml/binding/embl/EntryType.java +++ b/src/jalview/xml/binding/embl/EntryType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:45 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/embl/ObjectFactory.java b/src/jalview/xml/binding/embl/ObjectFactory.java index e1a917a..71e220b 100644 --- a/src/jalview/xml/binding/embl/ObjectFactory.java +++ b/src/jalview/xml/binding/embl/ObjectFactory.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:45 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/embl/ROOT.java b/src/jalview/xml/binding/embl/ROOT.java index 958cdbc..e26f5ae 100644 --- a/src/jalview/xml/binding/embl/ROOT.java +++ b/src/jalview/xml/binding/embl/ROOT.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:45 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/embl/XrefType.java b/src/jalview/xml/binding/embl/XrefType.java index 244d0fe..cb5eccf 100644 --- a/src/jalview/xml/binding/embl/XrefType.java +++ b/src/jalview/xml/binding/embl/XrefType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:45 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/jalview/AlcodonFrame.java b/src/jalview/xml/binding/jalview/AlcodonFrame.java index 2a40e11..60a5177 100644 --- a/src/jalview/xml/binding/jalview/AlcodonFrame.java +++ b/src/jalview/xml/binding/jalview/AlcodonFrame.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:44 PM GMT +// Generated on: 2023.05.13 at 06:58:41 PM BST // diff --git a/src/jalview/xml/binding/jalview/Annotation.java b/src/jalview/xml/binding/jalview/Annotation.java index 8d99141..5e3d599 100644 --- a/src/jalview/xml/binding/jalview/Annotation.java +++ b/src/jalview/xml/binding/jalview/Annotation.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:44 PM GMT +// Generated on: 2023.05.13 at 06:58:41 PM BST // diff --git a/src/jalview/xml/binding/jalview/AnnotationColourScheme.java b/src/jalview/xml/binding/jalview/AnnotationColourScheme.java index 27e0cc6..facd6dc 100644 --- a/src/jalview/xml/binding/jalview/AnnotationColourScheme.java +++ b/src/jalview/xml/binding/jalview/AnnotationColourScheme.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:44 PM GMT +// Generated on: 2023.05.13 at 06:58:41 PM BST // diff --git a/src/jalview/xml/binding/jalview/AnnotationElement.java b/src/jalview/xml/binding/jalview/AnnotationElement.java index c5f75e0..4aaf5ce 100644 --- a/src/jalview/xml/binding/jalview/AnnotationElement.java +++ b/src/jalview/xml/binding/jalview/AnnotationElement.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:44 PM GMT +// Generated on: 2023.05.13 at 06:58:41 PM BST // diff --git a/src/jalview/xml/binding/jalview/DoubleMatrix.java b/src/jalview/xml/binding/jalview/DoubleMatrix.java index 9be9876..c1d812c 100644 --- a/src/jalview/xml/binding/jalview/DoubleMatrix.java +++ b/src/jalview/xml/binding/jalview/DoubleMatrix.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:44 PM GMT +// Generated on: 2023.05.13 at 06:58:41 PM BST // diff --git a/src/jalview/xml/binding/jalview/DoubleVector.java b/src/jalview/xml/binding/jalview/DoubleVector.java index 6546be9..a5ec2f9 100644 --- a/src/jalview/xml/binding/jalview/DoubleVector.java +++ b/src/jalview/xml/binding/jalview/DoubleVector.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:44 PM GMT +// Generated on: 2023.05.13 at 06:58:41 PM BST // diff --git a/src/jalview/xml/binding/jalview/Feature.java b/src/jalview/xml/binding/jalview/Feature.java index a124e62..55198a7 100644 --- a/src/jalview/xml/binding/jalview/Feature.java +++ b/src/jalview/xml/binding/jalview/Feature.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:44 PM GMT +// Generated on: 2023.05.13 at 06:58:41 PM BST // diff --git a/src/jalview/xml/binding/jalview/FeatureMatcher.java b/src/jalview/xml/binding/jalview/FeatureMatcher.java index 61e66ce..99b0635 100644 --- a/src/jalview/xml/binding/jalview/FeatureMatcher.java +++ b/src/jalview/xml/binding/jalview/FeatureMatcher.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:44 PM GMT +// Generated on: 2023.05.13 at 06:58:41 PM BST // diff --git a/src/jalview/xml/binding/jalview/FeatureMatcherSet.java b/src/jalview/xml/binding/jalview/FeatureMatcherSet.java index 24190b8..7fd9a50 100644 --- a/src/jalview/xml/binding/jalview/FeatureMatcherSet.java +++ b/src/jalview/xml/binding/jalview/FeatureMatcherSet.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:44 PM GMT +// Generated on: 2023.05.13 at 06:58:41 PM BST // diff --git a/src/jalview/xml/binding/jalview/FilterBy.java b/src/jalview/xml/binding/jalview/FilterBy.java index 3a9428c..0020675 100644 --- a/src/jalview/xml/binding/jalview/FilterBy.java +++ b/src/jalview/xml/binding/jalview/FilterBy.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:44 PM GMT +// Generated on: 2023.05.13 at 06:58:41 PM BST // diff --git a/src/jalview/xml/binding/jalview/JalviewModel.java b/src/jalview/xml/binding/jalview/JalviewModel.java index 22b2533..69b1022 100644 --- a/src/jalview/xml/binding/jalview/JalviewModel.java +++ b/src/jalview/xml/binding/jalview/JalviewModel.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:44 PM GMT +// Generated on: 2023.05.13 at 06:58:41 PM BST // diff --git a/src/jalview/xml/binding/jalview/JalviewUserColours.java b/src/jalview/xml/binding/jalview/JalviewUserColours.java index b62cf15..70a9afb 100644 --- a/src/jalview/xml/binding/jalview/JalviewUserColours.java +++ b/src/jalview/xml/binding/jalview/JalviewUserColours.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:44 PM GMT +// Generated on: 2023.05.13 at 06:58:41 PM BST // diff --git a/src/jalview/xml/binding/jalview/MapListType.java b/src/jalview/xml/binding/jalview/MapListType.java index 7a86123..c0db23c 100644 --- a/src/jalview/xml/binding/jalview/MapListType.java +++ b/src/jalview/xml/binding/jalview/MapListType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:44 PM GMT +// Generated on: 2023.05.13 at 06:58:41 PM BST // diff --git a/src/jalview/xml/binding/jalview/Mapping.java b/src/jalview/xml/binding/jalview/Mapping.java index 10d3d5b..8cd3dbf 100644 --- a/src/jalview/xml/binding/jalview/Mapping.java +++ b/src/jalview/xml/binding/jalview/Mapping.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:44 PM GMT +// Generated on: 2023.05.13 at 06:58:41 PM BST // diff --git a/src/jalview/xml/binding/jalview/MatrixType.java b/src/jalview/xml/binding/jalview/MatrixType.java index d884100..ac79fa8 100644 --- a/src/jalview/xml/binding/jalview/MatrixType.java +++ b/src/jalview/xml/binding/jalview/MatrixType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:44 PM GMT +// Generated on: 2023.05.13 at 06:58:41 PM BST // @@ -32,6 +32,7 @@ import javax.xml.bind.annotation.XmlType; * <element name="groups" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/> * <element name="newick" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/> * <element name="property" type="{www.vamsas.ac.uk/jalview/version2}property" maxOccurs="unbounded" minOccurs="0"/> + * <element name="mapping" type="{www.vamsas.ac.uk/jalview/version2}mapListType" minOccurs="0"/> * </sequence> * <attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /> * <attribute name="rows" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" /> @@ -51,7 +52,8 @@ import javax.xml.bind.annotation.XmlType; "elements", "groups", "newick", - "property" + "property", + "mapping" }) public class MatrixType { @@ -60,6 +62,7 @@ public class MatrixType { protected List groups; protected List newick; protected List property; + protected MapListType mapping; @XmlAttribute(name = "type", required = true) protected String type; @XmlAttribute(name = "rows", required = true) @@ -185,6 +188,30 @@ public class MatrixType { } /** + * Gets the value of the mapping property. + * + * @return + * possible object is + * {@link MapListType } + * + */ + public MapListType getMapping() { + return mapping; + } + + /** + * Sets the value of the mapping property. + * + * @param value + * allowed object is + * {@link MapListType } + * + */ + public void setMapping(MapListType value) { + this.mapping = value; + } + + /** * Gets the value of the type property. * * @return diff --git a/src/jalview/xml/binding/jalview/NoValueColour.java b/src/jalview/xml/binding/jalview/NoValueColour.java index 22b78a5..e77537f 100644 --- a/src/jalview/xml/binding/jalview/NoValueColour.java +++ b/src/jalview/xml/binding/jalview/NoValueColour.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:44 PM GMT +// Generated on: 2023.05.13 at 06:58:41 PM BST // diff --git a/src/jalview/xml/binding/jalview/ObjectFactory.java b/src/jalview/xml/binding/jalview/ObjectFactory.java index f034a2a..031d125 100644 --- a/src/jalview/xml/binding/jalview/ObjectFactory.java +++ b/src/jalview/xml/binding/jalview/ObjectFactory.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:44 PM GMT +// Generated on: 2023.05.13 at 06:58:41 PM BST // diff --git a/src/jalview/xml/binding/jalview/PcaDataType.java b/src/jalview/xml/binding/jalview/PcaDataType.java index 06aecab..9f8962f 100644 --- a/src/jalview/xml/binding/jalview/PcaDataType.java +++ b/src/jalview/xml/binding/jalview/PcaDataType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:44 PM GMT +// Generated on: 2023.05.13 at 06:58:41 PM BST // diff --git a/src/jalview/xml/binding/jalview/Pdbentry.java b/src/jalview/xml/binding/jalview/Pdbentry.java index 401022a..bd170de 100644 --- a/src/jalview/xml/binding/jalview/Pdbentry.java +++ b/src/jalview/xml/binding/jalview/Pdbentry.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:44 PM GMT +// Generated on: 2023.05.13 at 06:58:41 PM BST // diff --git a/src/jalview/xml/binding/jalview/Property.java b/src/jalview/xml/binding/jalview/Property.java index 3c0879d..25a297e 100644 --- a/src/jalview/xml/binding/jalview/Property.java +++ b/src/jalview/xml/binding/jalview/Property.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:44 PM GMT +// Generated on: 2023.05.13 at 06:58:41 PM BST // diff --git a/src/jalview/xml/binding/jalview/Sequence.java b/src/jalview/xml/binding/jalview/Sequence.java index d02fd03..b9739cd 100644 --- a/src/jalview/xml/binding/jalview/Sequence.java +++ b/src/jalview/xml/binding/jalview/Sequence.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:44 PM GMT +// Generated on: 2023.05.13 at 06:58:41 PM BST // diff --git a/src/jalview/xml/binding/jalview/SequenceSet.java b/src/jalview/xml/binding/jalview/SequenceSet.java index a915d94..a091950 100644 --- a/src/jalview/xml/binding/jalview/SequenceSet.java +++ b/src/jalview/xml/binding/jalview/SequenceSet.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:44 PM GMT +// Generated on: 2023.05.13 at 06:58:41 PM BST // diff --git a/src/jalview/xml/binding/jalview/SequenceType.java b/src/jalview/xml/binding/jalview/SequenceType.java index fa65d58..3ccb382 100644 --- a/src/jalview/xml/binding/jalview/SequenceType.java +++ b/src/jalview/xml/binding/jalview/SequenceType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:44 PM GMT +// Generated on: 2023.05.13 at 06:58:41 PM BST // diff --git a/src/jalview/xml/binding/jalview/ThresholdType.java b/src/jalview/xml/binding/jalview/ThresholdType.java index 192caf8..9afd22b 100644 --- a/src/jalview/xml/binding/jalview/ThresholdType.java +++ b/src/jalview/xml/binding/jalview/ThresholdType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:44 PM GMT +// Generated on: 2023.05.13 at 06:58:41 PM BST // diff --git a/src/jalview/xml/binding/jalview/VAMSAS.java b/src/jalview/xml/binding/jalview/VAMSAS.java index dd41877..3e17b63 100644 --- a/src/jalview/xml/binding/jalview/VAMSAS.java +++ b/src/jalview/xml/binding/jalview/VAMSAS.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:44 PM GMT +// Generated on: 2023.05.13 at 06:58:41 PM BST // diff --git a/src/jalview/xml/binding/jalview/WebServiceParameterSet.java b/src/jalview/xml/binding/jalview/WebServiceParameterSet.java index d3c2098..dcc30ed 100644 --- a/src/jalview/xml/binding/jalview/WebServiceParameterSet.java +++ b/src/jalview/xml/binding/jalview/WebServiceParameterSet.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:44 PM GMT +// Generated on: 2023.05.13 at 06:58:41 PM BST // diff --git a/src/jalview/xml/binding/jalview/package-info.java b/src/jalview/xml/binding/jalview/package-info.java index 2cfefda..3e94a3f 100644 --- a/src/jalview/xml/binding/jalview/package-info.java +++ b/src/jalview/xml/binding/jalview/package-info.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:44 PM GMT +// Generated on: 2023.05.13 at 06:58:41 PM BST // @javax.xml.bind.annotation.XmlSchema(namespace = "www.vamsas.ac.uk/jalview/version2", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED) diff --git a/src/jalview/xml/binding/uniprot/CitationType.java b/src/jalview/xml/binding/uniprot/CitationType.java index de12eb2..d43091a 100644 --- a/src/jalview/xml/binding/uniprot/CitationType.java +++ b/src/jalview/xml/binding/uniprot/CitationType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:46 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/uniprot/CofactorType.java b/src/jalview/xml/binding/uniprot/CofactorType.java index e9244e9..87a8e48 100644 --- a/src/jalview/xml/binding/uniprot/CofactorType.java +++ b/src/jalview/xml/binding/uniprot/CofactorType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:46 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/uniprot/CommentType.java b/src/jalview/xml/binding/uniprot/CommentType.java index e0692c9..2e6218f 100644 --- a/src/jalview/xml/binding/uniprot/CommentType.java +++ b/src/jalview/xml/binding/uniprot/CommentType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:46 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/uniprot/ConsortiumType.java b/src/jalview/xml/binding/uniprot/ConsortiumType.java index 71db504..d0c560f 100644 --- a/src/jalview/xml/binding/uniprot/ConsortiumType.java +++ b/src/jalview/xml/binding/uniprot/ConsortiumType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:46 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/uniprot/DbReferenceType.java b/src/jalview/xml/binding/uniprot/DbReferenceType.java index 73ccfa8..506eafa 100644 --- a/src/jalview/xml/binding/uniprot/DbReferenceType.java +++ b/src/jalview/xml/binding/uniprot/DbReferenceType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:46 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/uniprot/Entry.java b/src/jalview/xml/binding/uniprot/Entry.java index 21963a8..d13e87e 100644 --- a/src/jalview/xml/binding/uniprot/Entry.java +++ b/src/jalview/xml/binding/uniprot/Entry.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:46 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/uniprot/EventType.java b/src/jalview/xml/binding/uniprot/EventType.java index 0b4d4bd..765bbad 100644 --- a/src/jalview/xml/binding/uniprot/EventType.java +++ b/src/jalview/xml/binding/uniprot/EventType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:46 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/uniprot/EvidenceType.java b/src/jalview/xml/binding/uniprot/EvidenceType.java index 59c9857..4297a04 100644 --- a/src/jalview/xml/binding/uniprot/EvidenceType.java +++ b/src/jalview/xml/binding/uniprot/EvidenceType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:46 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/uniprot/EvidencedStringType.java b/src/jalview/xml/binding/uniprot/EvidencedStringType.java index 0fa25a6..f2b903b 100644 --- a/src/jalview/xml/binding/uniprot/EvidencedStringType.java +++ b/src/jalview/xml/binding/uniprot/EvidencedStringType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:46 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/uniprot/FeatureType.java b/src/jalview/xml/binding/uniprot/FeatureType.java index f818e2e..902430d 100644 --- a/src/jalview/xml/binding/uniprot/FeatureType.java +++ b/src/jalview/xml/binding/uniprot/FeatureType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:46 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/uniprot/GeneLocationType.java b/src/jalview/xml/binding/uniprot/GeneLocationType.java index f2d5638..bd93656 100644 --- a/src/jalview/xml/binding/uniprot/GeneLocationType.java +++ b/src/jalview/xml/binding/uniprot/GeneLocationType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:46 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/uniprot/GeneNameType.java b/src/jalview/xml/binding/uniprot/GeneNameType.java index 71af71f..945ced2 100644 --- a/src/jalview/xml/binding/uniprot/GeneNameType.java +++ b/src/jalview/xml/binding/uniprot/GeneNameType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:46 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/uniprot/GeneType.java b/src/jalview/xml/binding/uniprot/GeneType.java index 5fa628e..060e9f1 100644 --- a/src/jalview/xml/binding/uniprot/GeneType.java +++ b/src/jalview/xml/binding/uniprot/GeneType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:46 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/uniprot/ImportedFromType.java b/src/jalview/xml/binding/uniprot/ImportedFromType.java index 3d6c308..956457c 100644 --- a/src/jalview/xml/binding/uniprot/ImportedFromType.java +++ b/src/jalview/xml/binding/uniprot/ImportedFromType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:46 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/uniprot/InteractantType.java b/src/jalview/xml/binding/uniprot/InteractantType.java index c9cadc2..7e93624 100644 --- a/src/jalview/xml/binding/uniprot/InteractantType.java +++ b/src/jalview/xml/binding/uniprot/InteractantType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:46 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/uniprot/IsoformType.java b/src/jalview/xml/binding/uniprot/IsoformType.java index ea55664..9724599 100644 --- a/src/jalview/xml/binding/uniprot/IsoformType.java +++ b/src/jalview/xml/binding/uniprot/IsoformType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:46 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/uniprot/KeywordType.java b/src/jalview/xml/binding/uniprot/KeywordType.java index f6409ee..5763865 100644 --- a/src/jalview/xml/binding/uniprot/KeywordType.java +++ b/src/jalview/xml/binding/uniprot/KeywordType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:46 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/uniprot/LocationType.java b/src/jalview/xml/binding/uniprot/LocationType.java index 62e9999..0af69c5 100644 --- a/src/jalview/xml/binding/uniprot/LocationType.java +++ b/src/jalview/xml/binding/uniprot/LocationType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:46 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/uniprot/MoleculeType.java b/src/jalview/xml/binding/uniprot/MoleculeType.java index 8b52523..6bc898d 100644 --- a/src/jalview/xml/binding/uniprot/MoleculeType.java +++ b/src/jalview/xml/binding/uniprot/MoleculeType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:46 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/uniprot/NameListType.java b/src/jalview/xml/binding/uniprot/NameListType.java index be68867..c68a0dd 100644 --- a/src/jalview/xml/binding/uniprot/NameListType.java +++ b/src/jalview/xml/binding/uniprot/NameListType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:46 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/uniprot/ObjectFactory.java b/src/jalview/xml/binding/uniprot/ObjectFactory.java index e2bb255..67c20b8 100644 --- a/src/jalview/xml/binding/uniprot/ObjectFactory.java +++ b/src/jalview/xml/binding/uniprot/ObjectFactory.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:46 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/uniprot/OrganismNameType.java b/src/jalview/xml/binding/uniprot/OrganismNameType.java index bc5c8c5..6306288 100644 --- a/src/jalview/xml/binding/uniprot/OrganismNameType.java +++ b/src/jalview/xml/binding/uniprot/OrganismNameType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:46 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/uniprot/OrganismType.java b/src/jalview/xml/binding/uniprot/OrganismType.java index bb76add..6d110c1 100644 --- a/src/jalview/xml/binding/uniprot/OrganismType.java +++ b/src/jalview/xml/binding/uniprot/OrganismType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:46 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/uniprot/PersonType.java b/src/jalview/xml/binding/uniprot/PersonType.java index 1354092..bdc6631 100644 --- a/src/jalview/xml/binding/uniprot/PersonType.java +++ b/src/jalview/xml/binding/uniprot/PersonType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:46 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/uniprot/PhysiologicalReactionType.java b/src/jalview/xml/binding/uniprot/PhysiologicalReactionType.java index e674452..36c5d97 100644 --- a/src/jalview/xml/binding/uniprot/PhysiologicalReactionType.java +++ b/src/jalview/xml/binding/uniprot/PhysiologicalReactionType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:46 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/uniprot/PositionType.java b/src/jalview/xml/binding/uniprot/PositionType.java index a00d698..f867ab3 100644 --- a/src/jalview/xml/binding/uniprot/PositionType.java +++ b/src/jalview/xml/binding/uniprot/PositionType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:46 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/uniprot/PropertyType.java b/src/jalview/xml/binding/uniprot/PropertyType.java index c9f169c..f54fa28 100644 --- a/src/jalview/xml/binding/uniprot/PropertyType.java +++ b/src/jalview/xml/binding/uniprot/PropertyType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:46 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/uniprot/ProteinExistenceType.java b/src/jalview/xml/binding/uniprot/ProteinExistenceType.java index c34a0f5..f106f83 100644 --- a/src/jalview/xml/binding/uniprot/ProteinExistenceType.java +++ b/src/jalview/xml/binding/uniprot/ProteinExistenceType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:46 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/uniprot/ProteinType.java b/src/jalview/xml/binding/uniprot/ProteinType.java index 7b106fb..6f4c235 100644 --- a/src/jalview/xml/binding/uniprot/ProteinType.java +++ b/src/jalview/xml/binding/uniprot/ProteinType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:46 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/uniprot/ReactionType.java b/src/jalview/xml/binding/uniprot/ReactionType.java index 8d9d51d..2ea12e3 100644 --- a/src/jalview/xml/binding/uniprot/ReactionType.java +++ b/src/jalview/xml/binding/uniprot/ReactionType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:46 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/uniprot/ReferenceType.java b/src/jalview/xml/binding/uniprot/ReferenceType.java index e5f9fde..cc21c86 100644 --- a/src/jalview/xml/binding/uniprot/ReferenceType.java +++ b/src/jalview/xml/binding/uniprot/ReferenceType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:46 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/uniprot/SequenceType.java b/src/jalview/xml/binding/uniprot/SequenceType.java index 49cd130..4c6c67c 100644 --- a/src/jalview/xml/binding/uniprot/SequenceType.java +++ b/src/jalview/xml/binding/uniprot/SequenceType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:46 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/uniprot/SourceDataType.java b/src/jalview/xml/binding/uniprot/SourceDataType.java index 9796260..370323c 100644 --- a/src/jalview/xml/binding/uniprot/SourceDataType.java +++ b/src/jalview/xml/binding/uniprot/SourceDataType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:46 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/uniprot/SourceType.java b/src/jalview/xml/binding/uniprot/SourceType.java index 9293a64..886f33f 100644 --- a/src/jalview/xml/binding/uniprot/SourceType.java +++ b/src/jalview/xml/binding/uniprot/SourceType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:46 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/uniprot/StatusType.java b/src/jalview/xml/binding/uniprot/StatusType.java index dd3308b..919bc93 100644 --- a/src/jalview/xml/binding/uniprot/StatusType.java +++ b/src/jalview/xml/binding/uniprot/StatusType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:46 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/uniprot/SubcellularLocationType.java b/src/jalview/xml/binding/uniprot/SubcellularLocationType.java index 97522e2..18da1a7 100644 --- a/src/jalview/xml/binding/uniprot/SubcellularLocationType.java +++ b/src/jalview/xml/binding/uniprot/SubcellularLocationType.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:46 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/uniprot/Uniprot.java b/src/jalview/xml/binding/uniprot/Uniprot.java index 14f96df..cb1c9d3 100644 --- a/src/jalview/xml/binding/uniprot/Uniprot.java +++ b/src/jalview/xml/binding/uniprot/Uniprot.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:46 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // diff --git a/src/jalview/xml/binding/uniprot/package-info.java b/src/jalview/xml/binding/uniprot/package-info.java index a7bc67c..dbe9ff7 100644 --- a/src/jalview/xml/binding/uniprot/package-info.java +++ b/src/jalview/xml/binding/uniprot/package-info.java @@ -2,7 +2,7 @@ // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b130911.1802 // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. -// Generated on: 2023.03.17 at 05:31:46 PM GMT +// Generated on: 2023.05.13 at 06:58:42 PM BST // @javax.xml.bind.annotation.XmlSchema(namespace = "http://uniprot.org/uniprot", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED) diff --git a/test/jalview/project/Jalview2xmlTests.java b/test/jalview/project/Jalview2xmlTests.java index 81756e0..343df05 100644 --- a/test/jalview/project/Jalview2xmlTests.java +++ b/test/jalview/project/Jalview2xmlTests.java @@ -100,6 +100,7 @@ import jalview.util.MapList; import jalview.util.matcher.Condition; import jalview.viewmodel.AlignmentViewport; import jalview.viewmodel.seqfeatures.FeatureRendererModel; +import jalview.ws.datamodel.MappableContactMatrixI; import jalview.ws.datamodel.alphafold.PAEContactMatrix; @Test(singleThreaded = true) @@ -1590,13 +1591,22 @@ public class Jalview2xmlTests extends Jalview2xmlBase ContactMatrixI restoredMat = newSeq .getContactMatrixFor(newSeq.getAnnotation()[0]); Assert.assertNotNull(restoredMat); + MapList oldMap = ((MappableContactMatrixI) dummyMat).getMapFor(sq); + MapList newMap = ((MappableContactMatrixI) restoredMat).getMapFor(newSeq); + Assert.assertEquals(oldMap.getFromRanges(),newMap.getFromRanges()); + Assert.assertEquals(oldMap.getToRanges(),newMap.getToRanges()); + Assert.assertEquals(oldMap.getFromRatio(),newMap.getFromRatio()); + Assert.assertEquals(oldMap.getToRatio(),newMap.getToRatio()); + for (i = sq.getLength() - 1; i >= 0; i--) { ContactListI oldCM = dummyMat.getContactList(i), newCM = restoredMat.getContactList(i); for (int j = oldCM.getContactHeight(); j >= 0; j--) { - Assert.assertEquals(oldCM.getContactAt(j), newCM.getContactAt(j)); + double old_j=oldCM.getContactAt(j); + double new_j=newCM.getContactAt(j); + Assert.assertEquals(old_j,new_j); } } Assert.assertEquals(restoredMat.hasGroups(), dummyMat.hasGroups()); -- 1.7.10.2