X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=inline;f=src%2Fjalview%2Fio%2Fvamsas%2FRangetype.java;h=96820d3f2f80fc0f7398484ce20688d6a6df7803;hb=869adb8fda0c0b2c1efd8b5099c6c27758d103d5;hp=169eae13414a8fcac08fa8a20dc4c9a8a08f35a7;hpb=2de8acfae59aced665e4c37ad0f7dcc2ed68818e;p=jalview.git
diff --git a/src/jalview/io/vamsas/Rangetype.java b/src/jalview/io/vamsas/Rangetype.java
index 169eae1..96820d3 100644
--- a/src/jalview/io/vamsas/Rangetype.java
+++ b/src/jalview/io/vamsas/Rangetype.java
@@ -1,39 +1,44 @@
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Development Version 2.4.1)
- * Copyright (C) 2009 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
*
- * 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.
+ *
+ * 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 this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+ * along with Jalview. If not, see .
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
*/
package jalview.io.vamsas;
+import jalview.io.VamsasAppDatastore;
+import jalview.util.MessageManager;
+
+import java.util.List;
import java.util.Vector;
import uk.ac.vamsas.client.Vobject;
import uk.ac.vamsas.objects.core.Local;
-import uk.ac.vamsas.objects.core.Map;
import uk.ac.vamsas.objects.core.MapType;
import uk.ac.vamsas.objects.core.Mapped;
import uk.ac.vamsas.objects.core.RangeType;
import uk.ac.vamsas.objects.core.Seg;
-import jalview.datamodel.DBRefEntry;
-import jalview.datamodel.Mapping;
-import jalview.io.VamsasAppDatastore;
+
/**
- * Enhances DatastoreItem objects with additional functions to do with RangeType objects
+ * Enhances DatastoreItem objects with additional functions to do with RangeType
+ * objects
+ *
* @author JimP
- *
+ *
*/
public abstract class Rangetype extends DatastoreItem
{
@@ -47,11 +52,12 @@ public abstract class Rangetype extends DatastoreItem
{
super(datastore);
}
-
+
public Rangetype(VamsasAppDatastore datastore, Vobject vobj, Class jvClass)
{
super(datastore, vobj, jvClass);
}
+
public Rangetype(VamsasAppDatastore datastore, Object jvobj, Class vClass)
{
super(datastore, jvobj, vClass);
@@ -73,7 +79,8 @@ public abstract class Rangetype extends DatastoreItem
if (dseta.getSegCount() > 0 && dseta.getPosCount() > 0)
{
throw new Error(
- "Invalid vamsas RangeType - cannot resolve both lists of Pos and Seg from choice!");
+ MessageManager
+ .getString("error.invalid_vamsas_rangetype_cannot_resolve_lists"));
}
if (dseta.getSegCount() > 0)
{
@@ -96,8 +103,7 @@ public abstract class Rangetype extends DatastoreItem
// could do a polarity for pos range too. and pass back indication of
// discontinuities.
int pos = dseta.getPos(0).getI();
- se = new int[]
- { pos, pos };
+ se = new int[] { pos, pos };
for (int p = 0, pSize = dseta.getPosCount(); p < pSize; p++)
{
pos = dseta.getPos(p).getI();
@@ -132,7 +138,8 @@ public abstract class Rangetype extends DatastoreItem
if (dseta.getSegCount() > 0 && dseta.getPosCount() > 0)
{
throw new Error(
- "Invalid vamsas RangeType - cannot resolve both lists of Pos and Seg from choice!");
+ MessageManager
+ .getString("error.invalid_vamsas_rangetype_cannot_resolve_lists"));
}
if (dseta.getSegCount() > 0)
{
@@ -180,7 +187,8 @@ public abstract class Rangetype extends DatastoreItem
if (range.getSegCount() > 0 && range.getPosCount() > 0)
{
throw new Error(
- "Invalid vamsas RangeType - cannot resolve both lists of Pos and Seg from choice!");
+ MessageManager
+ .getString("error.invalid_vamsas_rangetype_cannot_resolve_lists"));
}
if (range.getSegCount() > 0)
{
@@ -220,15 +228,15 @@ public abstract class Rangetype extends DatastoreItem
* initialise a range type object from a set of start/end inclusive intervals
*
* @param mrt
- * @param range
+ * @param ranges
*/
- protected void initRangeType(RangeType mrt, int[] range)
+ protected void initRangeType(RangeType mrt, List ranges)
{
- for (int i = 0; i < range.length; i += 2)
+ for (int[] range : ranges)
{
Seg vSeg = new Seg();
- vSeg.setStart(range[i]);
- vSeg.setEnd(range[i + 1]);
+ vSeg.setStart(range[0]);
+ vSeg.setEnd(range[1]);
vSeg.setInclusive(true);
mrt.addSeg(vSeg);
}
@@ -237,12 +245,10 @@ public abstract class Rangetype extends DatastoreItem
/**
*
* @param maprange
- * where the from range is the local mapped range, and the to
- * range is the 'mapped' range in the MapRangeType
- * @param default
- * unit for local
- * @param default
- * unit for mapped
+ * where the from range is the local mapped range, and the to range
+ * is the 'mapped' range in the MapRangeType
+ * @param default unit for local
+ * @param default unit for mapped
* @return MapList
*/
protected jalview.util.MapList parsemapType(MapType maprange, int localu,
@@ -290,9 +296,8 @@ public abstract class Rangetype extends DatastoreItem
* @param maprange
* @param ml
* @param setUnits
- * @param reverse -
- * reverse MapList mapping for Local and Mapped ranges and
- * units
+ * @param reverse
+ * - reverse MapList mapping for Local and Mapped ranges and units
*/
protected void initMapType(MapType maprange, jalview.util.MapList ml,
boolean setUnits, boolean reverse)
@@ -300,7 +305,8 @@ public abstract class Rangetype extends DatastoreItem
if (ml == null)
{
throw new Error(
- "Implementation error. MapList is null for initMapType.");
+ MessageManager
+ .getString("error.implementation_error_maplist_is_null"));
}
maprange.setLocal(new Local());
maprange.setMapped(new Mapped());
@@ -326,6 +332,10 @@ public abstract class Rangetype extends DatastoreItem
maprange.getLocal().setUnit(ml.getToRatio());
maprange.getMapped().setUnit(ml.getFromRatio());
}
+ // TODO: and verify - raise an implementation fault notice if local/mapped
+ // range % Local/Mapped Ratio != 0
+ // if (uk.ac.vamsas.objects.utils.Range.getIntervals(range))
+
}
}