X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2Fvamsas%2FSequencemapping.java;h=0a582e5f3b85bfc0aed151aa65d962b45acddbbd;hb=66993ec5b2bbc67ed10836d2288d938f6c368076;hp=4929a06b2278e1aa4d7bcafa68e9ca82c42119ac;hpb=be32c14cd8e48fe0a207cd7030cb9cd46f894678;p=jalview.git diff --git a/src/jalview/io/vamsas/Sequencemapping.java b/src/jalview/io/vamsas/Sequencemapping.java index 4929a06..0a582e5 100644 --- a/src/jalview/io/vamsas/Sequencemapping.java +++ b/src/jalview/io/vamsas/Sequencemapping.java @@ -22,11 +22,14 @@ package jalview.io.vamsas; import jalview.datamodel.AlignedCodonFrame; import jalview.datamodel.AlignmentI; +import jalview.datamodel.DBRefEntry; import jalview.datamodel.Mapping; import jalview.datamodel.SequenceI; import jalview.gui.Desktop; import jalview.io.VamsasAppDatastore; +import java.util.ArrayList; +import java.util.List; import java.util.Vector; import uk.ac.vamsas.objects.core.AlignmentSequence; @@ -102,10 +105,8 @@ public class Sequencemapping extends Rangetype if (ds != null && sequenceMapping.is__stored_in_document() && sequenceMapping.getV_parent() != ds) { - jalview.bin.Cache.log - .warn("Probable IMPLEMENTATION ERROR: " - + ds - + " doesn't match the parent of the bound sequence mapping object."); + jalview.bin.Cache.log.warn("Probable IMPLEMENTATION ERROR: " + ds + + " doesn't match the parent of the bound sequence mapping object."); } } @@ -152,8 +153,8 @@ public class Sequencemapping extends Rangetype SequenceType to = (SequenceType) getjv2vObj(jvto); if (to == null) { - jalview.bin.Cache.log - .warn("FIXME NONFATAL - do a second update: Ignoring Forward Reference to seuqence not yet bound to vamsas seuqence object"); + jalview.bin.Cache.log.warn( + "FIXME NONFATAL - do a second update: Ignoring Forward Reference to seuqence not yet bound to vamsas seuqence object"); return; } SequenceMapping sequenceMapping = new SequenceMapping(); @@ -183,8 +184,8 @@ public class Sequencemapping extends Rangetype if (!dnaToProt) { - jalview.bin.Cache.log - .warn("Ignoring Mapping - don't support protein to protein mapping in vamsas document yet."); + jalview.bin.Cache.log.warn( + "Ignoring Mapping - don't support protein to protein mapping in vamsas document yet."); return; } if (ds == null) @@ -211,8 +212,8 @@ public class Sequencemapping extends Rangetype true); } ds.addSequenceMapping(sequenceMapping); - sequenceMapping.setProvenance(this - .dummyProvenance("user defined coding region translation")); // TODO: + sequenceMapping.setProvenance( + this.dummyProvenance("user defined coding region translation")); // TODO: // correctly // construct // provenance @@ -223,8 +224,8 @@ public class Sequencemapping extends Rangetype // mapping bindjvvobj(mjvmapping.getMap(), sequenceMapping); - jalview.bin.Cache.log.debug("Successfully created mapping " - + sequenceMapping.getVorbaId()); + jalview.bin.Cache.log.debug( + "Successfully created mapping " + sequenceMapping.getVorbaId()); } // private void update(jalview.util.MapList mjvmapping, @@ -244,8 +245,8 @@ public class Sequencemapping extends Rangetype private void update(jalview.datamodel.Mapping mjvmapping, SequenceMapping sequenceMapping) { - jalview.bin.Cache.log - .error("Not implemented: Jalview Update Sequence DBRef Mapping"); + jalview.bin.Cache.log.error( + "Not implemented: Jalview Update Sequence DBRef Mapping"); } /** @@ -297,8 +298,8 @@ public class Sequencemapping extends Rangetype if (from == null || to == null) { - jalview.bin.Cache.log - .error("Probable Vamsas implementation error : unbound dataset sequences involved in a mapping are being parsed!"); + jalview.bin.Cache.log.error( + "Probable Vamsas implementation error : unbound dataset sequences involved in a mapping are being parsed!"); return; } @@ -364,7 +365,8 @@ public class Sequencemapping extends Rangetype } bindjvvobj(mapping, sequenceMapping); jalview.structure.StructureSelectionManager - .getStructureSelectionManager(Desktop.instance).addMapping(acf); + .getStructureSelectionManager(Desktop.instance) + .registerMapping(acf); // Try to link up any conjugate database references in the two sequences // matchConjugateDBRefs(from, to, mapping); // Try to propagate any dbrefs across this mapping. @@ -385,7 +387,7 @@ public class Sequencemapping extends Rangetype private void matchConjugateDBRefs(SequenceI from, SequenceI to, jalview.util.MapList smap) { - if (from.getDBRef() == null && to.getDBRef() == null) + if (from.getDBRefs() == null && to.getDBRefs() == null) { if (jalview.bin.Cache.log.isDebugEnabled()) { @@ -399,18 +401,25 @@ public class Sequencemapping extends Rangetype jalview.bin.Cache.log.debug("Matching conjugate refs for " + from.getName() + " and " + to.getName()); } - jalview.datamodel.DBRefEntry[] fdb = from.getDBRef(); - jalview.datamodel.DBRefEntry[] tdb = new jalview.datamodel.DBRefEntry[to - .getDBRef().length]; - int tdblen = to.getDBRef().length; - System.arraycopy(to.getDBRef(), 0, tdb, 0, tdblen); + List fdb = from.getDBRefs(); + List tdb = new ArrayList(to.getDBRefs()); + int tdblen = to.getDBRefs().size(); +// +// +// YOWSER +// +// System.arraycopy(to.getDBRefs(), 0, tdb, 0, tdblen); +// +// +// +// Vector matched = new Vector(); jalview.util.MapList smapI = smap.getInverse(); - for (int f = 0; f < fdb.length; f++) + for (int f = 0, fn = fdb.size(); f < fn; f++) { - jalview.datamodel.DBRefEntry fe = fdb[f]; + jalview.datamodel.DBRefEntry fe = fdb.get(f); jalview.datamodel.Mapping fmp = fe.getMap(); - boolean fmpnnl = fmp != null; + boolean fmpnnl = (fmp != null); // if (fmpnnl && fmp.getTo()!=null) // { // jalview.bin.Cache.log.debug("Not overwriting existing To reference in @@ -425,7 +434,7 @@ public class Sequencemapping extends Rangetype : false; for (int t = 0; t < tdblen; t++) { - jalview.datamodel.DBRefEntry te = tdb[t]; + jalview.datamodel.DBRefEntry te = tdb.get(t); if (te != null) { if (fe.getSource().equals(te.getSource()) @@ -441,8 +450,9 @@ public class Sequencemapping extends Rangetype boolean smaptolocal2tm = (tmpnnl) ? smap.equals(tmp.getMap()) : false; // smap to maps from te.map to te.local - boolean smaptotemap2local = (tmpnnl) ? smapI.equals(fmp - .getMap()) : false; + boolean smaptotemap2local = (tmpnnl) + ? smapI.equals(fmp.getMap()) + : false; if (smapfromlocal2fe && smaptotemap2local) { // smap implies mapping from to to from