Merge: 497958b 68dcaa7
[jalview.git] / src / jalview / io / HtmlFile.java
index ee1b151..3cb7c3f 100644 (file)
@@ -70,10 +70,13 @@ public class HtmlFile extends AlignFile
         JSONObject sequence = sequenceIter.next();
         String sequcenceString = sequence.get("seq").toString();
         Sequence seq = new Sequence(sequence.get("name").toString(),
-                sequcenceString, 0, sequcenceString.length());
+                sequcenceString, Integer.valueOf(sequence.get("start")
+                        .toString()), Integer.valueOf(sequence.get("end")
+                        .toString()));
 
         JSONArray jsonSeqArray = (JSONArray) sequence.get("features");
-        SequenceFeature[] retrievedSeqFeatures = getJalviewSequenceFeatures(jsonSeqArray);
+        SequenceFeature[] retrievedSeqFeatures = getJalviewSequenceFeatures(
+                jsonSeqArray, seq);
         if (retrievedSeqFeatures != null)
         {
           seq.setSequenceFeatures(retrievedSeqFeatures);
@@ -88,14 +91,15 @@ public class HtmlFile extends AlignFile
   }
 
   public SequenceFeature[] getJalviewSequenceFeatures(
-          JSONArray jsonSeqFeatures)
+          JSONArray jsonSeqFeatures, Sequence seq)
   {
     SequenceFeature[] seqFeatures = null;
     int count = 0;
     if (jsonSeqFeatures != null)
     {
       seqFeatures = new SequenceFeature[jsonSeqFeatures.size()];
-      for (Iterator<JSONObject> seqFeatureItr = jsonSeqFeatures.iterator(); seqFeatureItr
+      for (@SuppressWarnings("unchecked")
+      Iterator<JSONObject> seqFeatureItr = jsonSeqFeatures.iterator(); seqFeatureItr
               .hasNext();)
       {
 
@@ -104,11 +108,10 @@ public class HtmlFile extends AlignFile
         Long begin = (Long) jsonFeature.get("xStart");
         Long end = (Long) jsonFeature.get("xEnd");
         String type = (String) jsonFeature.get("text");
+        // String color = (String) jsonFeature.get("fillColor");
 
-        String color = (String) jsonFeature.get("fillColor");
-
-        sequenceFeature.setBegin(begin.intValue());
-        sequenceFeature.setEnd(end.intValue());
+        sequenceFeature.setBegin(seq.findPosition(begin.intValue()));
+        sequenceFeature.setEnd(seq.findPosition(end.intValue()) - 1);
         sequenceFeature.setType(type);
         seqFeatures[count++] = sequenceFeature;
       }