X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2Fvamsas%2FRangetype.java;h=08b1b52cea989eb33f4864469f4d7b9d3c9b70ae;hb=d5e68080b056c94c485cfbd46adebd57cad8da76;hp=8c8b7d7fb5374cfb1d4096403448c6e16cfbcbdc;hpb=12e7f97678ce85b0238f987d5f4eaf18512a0b94;p=jalview.git diff --git a/src/jalview/io/vamsas/Rangetype.java b/src/jalview/io/vamsas/Rangetype.java index 8c8b7d7..08b1b52 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 (Version 2.4) - * Copyright (C) 2008 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); @@ -72,8 +78,7 @@ public abstract class Rangetype extends DatastoreItem int[] se = null; if (dseta.getSegCount() > 0 && dseta.getPosCount() > 0) { - throw new Error( - "Invalid vamsas RangeType - cannot resolve both lists of Pos and Seg from choice!"); + throw new Error(MessageManager.getString("error.invalid_vamsas_rangetype_cannot_resolve_lists")); } if (dseta.getSegCount() > 0) { @@ -131,8 +136,7 @@ public abstract class Rangetype extends DatastoreItem int[] se = null; if (dseta.getSegCount() > 0 && dseta.getPosCount() > 0) { - throw new Error( - "Invalid vamsas RangeType - cannot resolve both lists of Pos and Seg from choice!"); + throw new Error(MessageManager.getString("error.invalid_vamsas_rangetype_cannot_resolve_lists")); } if (dseta.getSegCount() > 0) { @@ -179,8 +183,7 @@ public abstract class Rangetype extends DatastoreItem int[] se = null; if (range.getSegCount() > 0 && range.getPosCount() > 0) { - throw new Error( - "Invalid vamsas RangeType - cannot resolve both lists of Pos and Seg from choice!"); + throw new Error(MessageManager.getString("error.invalid_vamsas_rangetype_cannot_resolve_lists")); } if (range.getSegCount() > 0) { @@ -220,15 +223,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 +240,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,17 +291,15 @@ 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) { if (ml == null) { - throw new Error( - "Implementation error. MapList is null for initMapType."); + throw new Error(MessageManager.getString("error.implementation_error_maplist_is_null")); } maprange.setLocal(new Local()); maprange.setMapped(new Mapped()); @@ -326,6 +325,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)) + } }