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);
}
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();)
{
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;
}