From: tcofoegbu Date: Thu, 8 Oct 2015 10:09:41 +0000 (+0100) Subject: merge X-Git-Tag: Release_2_10_0~365 X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=7461d83d08001a8cd400125fe841a013ca8057f4;hp=-c;p=jalview.git merge --- 7461d83d08001a8cd400125fe841a013ca8057f4 diff --combined src/jalview/gui/AlignFrame.java index 7908b0c,d08e1a3..5c29b9b --- a/src/jalview/gui/AlignFrame.java +++ b/src/jalview/gui/AlignFrame.java @@@ -2415,6 -2415,7 +2415,6 @@@ public class AlignFrame extends GAlignF } } - /** * DOCUMENT ME! * @@@ -3516,6 -3517,11 +3516,11 @@@ cs.setConservationInc(SliderPanel.setConservationSlider(alignPanel, cs, "Background")); } + if (cs instanceof TCoffeeColourScheme) + { + tcoffeeColour.setEnabled(true); + tcoffeeColour.setSelected(true); + } } viewport.setGlobalColourScheme(cs); diff --combined src/jalview/io/JSONFile.java index aece7a6,9e94d91..5cd09a1 --- a/src/jalview/io/JSONFile.java +++ b/src/jalview/io/JSONFile.java @@@ -39,12 -39,14 +39,14 @@@ import jalview.datamodel.SequenceGroup import jalview.datamodel.SequenceI; import jalview.json.binding.biojson.v1.AlignmentAnnotationPojo; import jalview.json.binding.biojson.v1.AlignmentPojo; + import jalview.json.binding.biojson.v1.AnnotationDisplaySettingPojo; import jalview.json.binding.biojson.v1.AnnotationPojo; import jalview.json.binding.biojson.v1.ColourSchemeMapper; import jalview.json.binding.biojson.v1.SequenceFeaturesPojo; import jalview.json.binding.biojson.v1.SequenceGrpPojo; import jalview.json.binding.biojson.v1.SequencePojo; import jalview.schemes.ColourSchemeProperty; + import jalview.schemes.UserColourScheme; import jalview.viewmodel.seqfeatures.FeaturesDisplayed; import java.awt.Color; @@@ -90,6 -92,8 +92,8 @@@ public class JSONFile extends AlignFil private ArrayList hiddenSequences; + private final static String TCOFFEE_SCORE = "TCoffeeScore"; + public JSONFile() { super(); @@@ -211,7 -215,10 +215,10 @@@ } else { - if (globalColourScheme.equalsIgnoreCase("RNA Helices")) + // These color schemes require annotation, disable them if annotations + // are not exported + if (globalColourScheme.equalsIgnoreCase("RNA Helices") + || globalColourScheme.equalsIgnoreCase("T-COFFEE SCORES")) { jsonAlignmentPojo.setGlobalColorScheme("None"); } @@@ -367,6 -374,26 +374,26 @@@ AlignmentAnnotationPojo alignAnnotPojo = new AlignmentAnnotationPojo(); alignAnnotPojo.setDescription(annot.description); alignAnnotPojo.setLabel(annot.label); + if (!Double.isNaN(annot.score)) + { + alignAnnotPojo.setScore(annot.score); + } + alignAnnotPojo.setCalcId(annot.getCalcId()); + alignAnnotPojo.setGraphType(annot.graph); + + AnnotationDisplaySettingPojo annotSetting = new AnnotationDisplaySettingPojo(); + annotSetting.setBelowAlignment(annot.belowAlignment); + annotSetting.setCentreColLabels(annot.centreColLabels); + annotSetting.setScaleColLabel(annot.scaleColLabel); + annotSetting.setShowAllColLabels(annot.showAllColLabels); + annotSetting.setVisible(annot.visible); + annotSetting.setHasIcon(annot.hasIcons); + alignAnnotPojo.setAnnotationSettings(annotSetting); + SequenceI refSeq = annot.sequenceRef; + if (refSeq != null) + { + alignAnnotPojo.setSequenceRef(String.valueOf(refSeq.hashCode())); + } for (Annotation annotation : annot.annotations) { AnnotationPojo annotationPojo = new AnnotationPojo(); @@@ -376,12 -403,28 +403,28 @@@ annotationPojo.setValue(annotation.value); annotationPojo .setSecondaryStructure(annotation.secondaryStructure); - annotationPojo.setDisplayCharacter(annotation.displayCharacter); + String displayChar = annotation.displayCharacter == null ? null + : annotation.displayCharacter; + // System.out.println("--------------------->[" + displayChar + "]"); + annotationPojo.setDisplayCharacter(displayChar); + if (annotation.colour != null) + { + annotationPojo.setColour(jalview.util.Format + .getHexString(annotation.colour)); + } alignAnnotPojo.getAnnotations().add(annotationPojo); } else { - alignAnnotPojo.getAnnotations().add(annotationPojo); + if (annot.getCalcId() != null + && annot.getCalcId().equalsIgnoreCase(TCOFFEE_SCORE)) + { + // do nothing + } + else + { + alignAnnotPojo.getAnnotations().add(annotationPojo); + } } } jsonAnnotations.add(alignAnnotPojo); @@@ -439,6 -482,7 +482,6 @@@ seqMap.put(seqUniqueId, seq); } - parseFeatures(jsonSeqArray); for (Iterator seqGrpIter = seqGrpJsonArray.iterator(); seqGrpIter @@@ -477,7 -521,8 +520,7 @@@ } } SequenceGroup seqGrp = new SequenceGroup(grpSeqs, grpName, null, - displayBoxes, displayText, colourText, - startRes, endRes); + displayBoxes, displayText, colourText, startRes, endRes); seqGrp.cs = ColourSchemeMapper.getJalviewColourScheme(colourScheme, seqGrp); seqGrp.setShowNonconserved(showNonconserved); @@@ -515,6 -560,12 +558,12 @@@ : annot.get("displayCharacter").toString(); annotations[count] = new Annotation(displayChar, desc, ss, val); + if (annot.get("colour") != null) + { + Color color = UserColourScheme.getColourFromString(annot.get( + "colour").toString()); + annotations[count].colour = color; + } } ++count; } @@@ -522,7 -573,65 +571,65 @@@ 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(); this.annotations.add(alignAnnot); + } } catch (Exception e) { @@@ -639,10 -748,6 +746,6 @@@ { if (annot != null && !annot.autoCalculated) { - if (!annot.visible) - { - continue; - } annotations.add(annot); } }