X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2Fvamsas%2FSequencemapping.java;h=8223123912c2810677e58b06a642069dace4abe3;hb=153dd62dc91da13ae732600e6ea55ddbe15eab39;hp=2e8d31b404bea0955d2d45717c95e40ae6163d59;hpb=12e7f97678ce85b0238f987d5f4eaf18512a0b94;p=jalview.git diff --git a/src/jalview/io/vamsas/Sequencemapping.java b/src/jalview/io/vamsas/Sequencemapping.java index 2e8d31b..8223123 100644 --- a/src/jalview/io/vamsas/Sequencemapping.java +++ b/src/jalview/io/vamsas/Sequencemapping.java @@ -1,20 +1,19 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.4) - * Copyright (C) 2008 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6) + * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle * - * This program 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 2 - * of the License, or (at your option) any later version. + * This file is part of Jalview. * - * This program 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. + * 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. * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + * 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 . */ package jalview.io.vamsas; @@ -35,15 +34,15 @@ import uk.ac.vamsas.objects.core.SequenceMapping; import uk.ac.vamsas.objects.core.SequenceType; /** - * binds a vamsas sequence mapping object from the vamsas document to - * a maplist object associated with a mapping in the Jalview model. - * We use the maplist object because these are referred to both in - * the Mapping object associated with a jalview.datamodel.DBRefEntry - * and in the array of jalview.datamodel.AlCodonFrame objects that - * Jalview uses to propagate sequence mapping position highlighting - * across the views. + * binds a vamsas sequence mapping object from the vamsas document to a maplist + * object associated with a mapping in the Jalview model. We use the maplist + * object because these are referred to both in the Mapping object associated + * with a jalview.datamodel.DBRefEntry and in the array of + * jalview.datamodel.AlCodonFrame objects that Jalview uses to propagate + * sequence mapping position highlighting across the views. + * * @author JimP - * + * */ public class Sequencemapping extends Rangetype { @@ -53,10 +52,13 @@ public class Sequencemapping extends Rangetype super(datastore, sequenceMapping, jalview.util.MapList.class); doJvUpdate(); } + private SequenceType from; + private DataSet ds; + private Mapping mjvmapping; - + /** * create or update a vamsas sequence mapping corresponding to a jalview * Mapping between two dataset sequences @@ -78,14 +80,15 @@ public class Sequencemapping extends Rangetype validate(); doSync(); } + /** * local check that extant mapping context is valid */ public void validate() { - + SequenceMapping sequenceMapping = (SequenceMapping) vobj; - if (sequenceMapping==null) + if (sequenceMapping == null) { return; } @@ -102,7 +105,7 @@ public class Sequencemapping extends Rangetype + ds + " doesn't match the parent of the bound sequence mapping object."); } - } + } public void addToDocument() { @@ -117,18 +120,19 @@ public class Sequencemapping extends Rangetype public void conflict() { conflict(mjvmapping, (SequenceMapping) vobj); - + } public void updateToDoc() { update(mjvmapping, (SequenceMapping) vobj); } + public void updateFromDoc() { update((SequenceMapping) vobj, (jalview.datamodel.Mapping) jvobj); } - + private void conflict(Mapping mjvmapping, SequenceMapping sequenceMapping) { System.err.println("Conflict in update of sequenceMapping " @@ -222,7 +226,7 @@ public class Sequencemapping extends Rangetype } // private void update(jalview.util.MapList mjvmapping, - // SequenceMapping sequenceMapping) + // SequenceMapping sequenceMapping) { jalview.bin.Cache.log .error("Not implemented: Jalview Update Alcodon Mapping:TODO!"); @@ -234,6 +238,7 @@ public class Sequencemapping extends Rangetype jalview.bin.Cache.log .error("Not implemented: Update DBRef Mapping from Jalview"); } + private void update(jalview.datamodel.Mapping mjvmapping, SequenceMapping sequenceMapping) { @@ -242,9 +247,9 @@ public class Sequencemapping extends Rangetype } /** - * bind a SequenceMapping to a live AlCodonFrame element - * limitations: Currently, jalview only deals with mappings between dataset - * sequences, and even then, only between those that map from DNA to Protein. + * bind a SequenceMapping to a live AlCodonFrame element limitations: + * Currently, jalview only deals with mappings between dataset sequences, and + * even then, only between those that map from DNA to Protein. * * @param sequenceMapping */ @@ -351,7 +356,9 @@ public class Sequencemapping extends Rangetype mapping = this.parsemapType(sequenceMapping, 3, 1); // correct sense afc.addMap(from, to, mapping); } - } else { + } + else + { mapping = this.parsemapType(sequenceMapping, 1, 1); // correct sense afc.addMap(from, to, mapping); } @@ -371,12 +378,11 @@ public class Sequencemapping extends Rangetype * associated with conjugate DBRefEntry under given mapping * * @param from - * sequence corresponding to from reference for sequence - * mapping + * sequence corresponding to from reference for sequence mapping * @param to - * sequence correspondeing to to reference for sequence mapping + * sequence correspondeing to to reference for sequence mapping * @param smap - * maplist parsed in same sense as from and to + * maplist parsed in same sense as from and to */ private void matchConjugateDBRefs(SequenceI from, SequenceI to, jalview.util.MapList smap)