X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2Fvamsas%2FSequencemapping.java;h=3183bf6dfe24c2121249855a946c23872bc6657d;hb=cd669a0e8c7b91b379bca8fe6e702cf0fcbd1ce0;hp=5dcf4e87cedc6a3aa14429518c5b26c0f233f4fd;hpb=b2f9a8d7bce642ff4011bc6d49e02bb0569fbb11;p=jalview.git diff --git a/src/jalview/io/vamsas/Sequencemapping.java b/src/jalview/io/vamsas/Sequencemapping.java index 5dcf4e8..3183bf6 100644 --- a/src/jalview/io/vamsas/Sequencemapping.java +++ b/src/jalview/io/vamsas/Sequencemapping.java @@ -1,31 +1,38 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1) - * Copyright (C) 2014 The Jalview Authors + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * * Jalview is free software: you can redistribute it and/or * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. * * Jalview is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty * of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * - * You should have received a copy of the GNU General Public License along with Jalview. If not, see . + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.io.vamsas; -import java.util.Vector; - +import jalview.bin.Console; 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 uk.ac.vamsas.client.Vobject; + +import java.util.ArrayList; +import java.util.List; +import java.util.Vector; + import uk.ac.vamsas.objects.core.AlignmentSequence; import uk.ac.vamsas.objects.core.DataSet; import uk.ac.vamsas.objects.core.Sequence; @@ -93,16 +100,14 @@ public class Sequencemapping extends Rangetype } if (from != null && sequenceMapping.getLoc() != from) { - jalview.bin.Cache.log.warn("Probable IMPLEMENTATION ERROR: " + from + Console.warn("Probable IMPLEMENTATION ERROR: " + from + " doesn't match the local mapping sequence."); } 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."); + Console.warn("Probable IMPLEMENTATION ERROR: " + ds + + " doesn't match the parent of the bound sequence mapping object."); } } @@ -134,7 +139,7 @@ public class Sequencemapping extends Rangetype private void conflict(Mapping mjvmapping, SequenceMapping sequenceMapping) { - System.err.println("Conflict in update of sequenceMapping " + jalview.bin.Console.errPrintln("Conflict in update of sequenceMapping " + sequenceMapping.getVorbaId()); } @@ -149,8 +154,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"); + Console.warn( + "FIXME NONFATAL - do a second update: Ignoring Forward Reference to seuqence not yet bound to vamsas seuqence object"); return; } SequenceMapping sequenceMapping = new SequenceMapping(); @@ -180,8 +185,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."); + Console.warn( + "Ignoring Mapping - don't support protein to protein mapping in vamsas document yet."); return; } if (ds == null) @@ -208,8 +213,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 @@ -220,29 +225,26 @@ public class Sequencemapping extends Rangetype // mapping bindjvvobj(mjvmapping.getMap(), sequenceMapping); - jalview.bin.Cache.log.debug("Successfully created mapping " - + sequenceMapping.getVorbaId()); + Console.debug( + "Successfully created mapping " + sequenceMapping.getVorbaId()); } // private void update(jalview.util.MapList mjvmapping, // SequenceMapping sequenceMapping) { - jalview.bin.Cache.log - .error("Not implemented: Jalview Update Alcodon Mapping:TODO!"); + Console.error("Not implemented: Jalview Update Alcodon Mapping:TODO!"); } private void update(SequenceMapping sequenceMapping, jalview.datamodel.Mapping mjvmapping) { - jalview.bin.Cache.log - .error("Not implemented: Update DBRef Mapping from Jalview"); + Console.error("Not implemented: Update DBRef Mapping from Jalview"); } private void update(jalview.datamodel.Mapping mjvmapping, SequenceMapping sequenceMapping) { - jalview.bin.Cache.log - .error("Not implemented: Jalview Update Sequence DBRef Mapping"); + Console.error("Not implemented: Jalview Update Sequence DBRef Mapping"); } /** @@ -278,15 +280,15 @@ public class Sequencemapping extends Rangetype } if (sdloc == null || sdmap == null) { - jalview.bin.Cache.log.info("Ignoring non sequence-sequence mapping"); + Console.info("Ignoring non sequence-sequence mapping"); return; } - mobj = this.getvObj2jv((Vobject) sdloc); + mobj = this.getvObj2jv(sdloc); if (mobj instanceof SequenceI) { from = (SequenceI) mobj; } - mobj = this.getvObj2jv((Vobject) sdmap); + mobj = this.getvObj2jv(sdmap); if (mobj instanceof SequenceI) { to = (SequenceI) mobj; @@ -294,8 +296,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!"); + Console.error( + "Probable Vamsas implementation error : unbound dataset sequences involved in a mapping are being parsed!"); return; } @@ -323,19 +325,17 @@ public class Sequencemapping extends Rangetype } // create mapping storage object and make each dataset alignment reference // it. - jalview.datamodel.AlignmentI dsLoc = (jalview.datamodel.AlignmentI) getvObj2jv(sdloc - .getV_parent()); - jalview.datamodel.AlignmentI dsMap = (jalview.datamodel.AlignmentI) getvObj2jv(sdmap - .getV_parent()); - AlignedCodonFrame afc = new AlignedCodonFrame(0); + AlignmentI dsLoc = (AlignmentI) getvObj2jv(sdloc.getV_parent()); + AlignmentI dsMap = (AlignmentI) getvObj2jv(sdmap.getV_parent()); + AlignedCodonFrame acf = new AlignedCodonFrame(); if (dsLoc != null && dsLoc != dsMap) { - dsLoc.addCodonFrame(afc); + dsLoc.addCodonFrame(acf); } if (dsMap != null) { - dsMap.addCodonFrame(afc); + dsMap.addCodonFrame(acf); } // create and add the new mapping to (each) dataset's codonFrame @@ -348,24 +348,23 @@ public class Sequencemapping extends Rangetype mapping = new jalview.util.MapList(mapping.getToRanges(), mapping.getFromRanges(), mapping.getToRatio(), mapping.getFromRatio()); - afc.addMap(to, from, mapping); + acf.addMap(to, from, mapping); } else { mapping = this.parsemapType(sequenceMapping, 3, 1); // correct sense - afc.addMap(from, to, mapping); + acf.addMap(from, to, mapping); } } else { mapping = this.parsemapType(sequenceMapping, 1, 1); // correct sense - afc.addMap(from, to, mapping); + acf.addMap(from, to, mapping); } bindjvvobj(mapping, sequenceMapping); jalview.structure.StructureSelectionManager - .getStructureSelectionManager(Desktop.instance).addMappings( - new AlignedCodonFrame[] - { afc }); + .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. @@ -386,35 +385,42 @@ 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()) + if (Console.isDebugEnabled()) { - jalview.bin.Cache.log.debug("Not matching conjugate refs for " - + from.getName() + " and " + to.getName()); + Console.debug("Not matching conjugate refs for " + from.getName() + + " and " + to.getName()); } return; } - if (jalview.bin.Cache.log.isDebugEnabled()) + if (Console.isDebugEnabled()) { - jalview.bin.Cache.log.debug("Matching conjugate refs for " - + from.getName() + " and " + to.getName()); + Console.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 + // Cache.debug("Not overwriting existing To reference in // "+fe); // continue; // } @@ -426,7 +432,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()) @@ -442,8 +448,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