/*
- * 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 <http://www.gnu.org/licenses/>.
*/
package jalview.io.vamsas;
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
{
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
validate();
doSync();
}
+
/**
* local check that extant mapping context is valid
*/
public void validate()
{
-
+
SequenceMapping sequenceMapping = (SequenceMapping) vobj;
- if (sequenceMapping==null)
+ if (sequenceMapping == null)
{
return;
}
+ ds
+ " doesn't match the parent of the bound sequence mapping object.");
}
- }
+ }
public void addToDocument()
{
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 "
}
// private void update(jalview.util.MapList mjvmapping,
- // SequenceMapping sequenceMapping)
+ // SequenceMapping sequenceMapping)
{
jalview.bin.Cache.log
.error("Not implemented: Jalview Update Alcodon Mapping:TODO!");
jalview.bin.Cache.log
.error("Not implemented: Update DBRef Mapping from Jalview");
}
+
private void update(jalview.datamodel.Mapping mjvmapping,
SequenceMapping sequenceMapping)
{
}
/**
- * 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
*/
if (!sense)
{
mapping = this.parsemapType(sequenceMapping, 1, 3); // invert sense
- mapping = new jalview.util.MapList(mapping.getToRanges(), mapping
- .getFromRanges(), mapping.getToRatio(), mapping
- .getFromRatio());
+ mapping = new jalview.util.MapList(mapping.getToRanges(),
+ mapping.getFromRanges(), mapping.getToRatio(),
+ mapping.getFromRatio());
afc.addMap(to, from, mapping);
}
else
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);
}
* 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)