+ AlignmentAnnotation alignAnnot = new AlignmentAnnotation(
+ alAnnot.get("label").toString(),
+ alAnnot.get("description").toString(), annotations);
+ alignAnnot.graph = (alAnnot.get("graphType") == null) ? 0
+ : Integer.valueOf(alAnnot.get("graphType").toString());
+
+ JSONObject diplaySettings = (JSONObject) alAnnot
+ .get("annotationSettings");
+ if (diplaySettings != null)
+ {
+
+ alignAnnot.scaleColLabel = (diplaySettings
+ .get("scaleColLabel") == null) ? false
+ : Boolean.valueOf(diplaySettings
+ .get("scaleColLabel").toString());
+ alignAnnot.showAllColLabels = (diplaySettings
+ .get("showAllColLabels") == null) ? true
+ : Boolean.valueOf(diplaySettings
+ .get("showAllColLabels").toString());
+ alignAnnot.centreColLabels = (diplaySettings
+ .get("centreColLabels") == null) ? true
+ : Boolean.valueOf(diplaySettings
+ .get("centreColLabels").toString());
+ alignAnnot.belowAlignment = (diplaySettings
+ .get("belowAlignment") == null) ? false
+ : Boolean.valueOf(diplaySettings
+ .get("belowAlignment").toString());
+ alignAnnot.visible = (diplaySettings.get("visible") == null)
+ ? true
+ : Boolean.valueOf(
+ diplaySettings.get("visible").toString());
+ alignAnnot.hasIcons = (diplaySettings.get("hasIcon") == null)
+ ? true
+ : Boolean.valueOf(
+ diplaySettings.get("hasIcon").toString());
+
+ }
+ if (alAnnot.get("score") != null)
+ {
+ alignAnnot.score = Double
+ .valueOf(alAnnot.get("score").toString());
+ }
+
+ String calcId = (alAnnot.get("calcId") == null) ? ""
+ : alAnnot.get("calcId").toString();
+ alignAnnot.setCalcId(calcId);
+ String seqHash = (alAnnot.get("sequenceRef") != null)
+ ? alAnnot.get("sequenceRef").toString()
+ : null;
+
+ Sequence sequence = (seqHash != null) ? seqMap.get(seqHash) : null;
+ if (sequence != null)
+ {
+ alignAnnot.sequenceRef = sequence;
+ sequence.addAlignmentAnnotation(alignAnnot);
+ if (alignAnnot.label.equalsIgnoreCase("T-COFFEE"))
+ {
+ alignAnnot.createSequenceMapping(sequence, sequence.getStart(),
+ false);
+ sequence.addAlignmentAnnotation(alignAnnot);
+ alignAnnot.adjustForAlignment();
+ }
+ }
+ alignAnnot.validateRangeAndDisplay();