X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FJSONFile.java;h=583bbc06c7495f62e5da80e213ea8221f788bd18;hb=bf2dd2a4708bdec06517605f9c6e69bfdc53d5ee;hp=7a12076fe0e5b1c104a65afc21c93795ee1e2d24;hpb=8b27085fa7fc5f2877e078421284c2636b85b8c6;p=jalview.git diff --git a/src/jalview/io/JSONFile.java b/src/jalview/io/JSONFile.java index 7a12076..583bbc0 100644 --- a/src/jalview/io/JSONFile.java +++ b/src/jalview/io/JSONFile.java @@ -46,8 +46,10 @@ 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.renderer.seqfeatures.FeatureColourFinder; +import jalview.schemes.JalviewColourScheme; +import jalview.schemes.ResidueColourScheme; +import jalview.util.ColorUtils; import jalview.viewmodel.seqfeatures.FeaturesDisplayed; import java.awt.Color; @@ -215,10 +217,13 @@ public class JSONFile extends AlignFile implements ComplexAlignFile { // These color schemes require annotation, disable them if annotations // are not exported - if (globalColourScheme.equalsIgnoreCase("RNA Helices") - || globalColourScheme.equalsIgnoreCase("T-COFFEE SCORES")) + if (globalColourScheme + .equalsIgnoreCase(JalviewColourScheme.RNAHelices.toString()) + || globalColourScheme + .equalsIgnoreCase(JalviewColourScheme.TCoffee + .toString())) { - jsonAlignmentPojo.setGlobalColorScheme("None"); + jsonAlignmentPojo.setGlobalColorScheme(ResidueColourScheme.NONE); } } @@ -235,8 +240,8 @@ public class JSONFile extends AlignFile implements ComplexAlignFile { SequenceGrpPojo seqGrpPojo = new SequenceGrpPojo(); seqGrpPojo.setGroupName(seqGrp.getName()); - seqGrpPojo.setColourScheme(ColourSchemeProperty - .getColourName(seqGrp.cs)); + seqGrpPojo.setColourScheme(seqGrp.getColourScheme() + .getSchemeName()); seqGrpPojo.setColourText(seqGrp.getColourText()); seqGrpPojo.setDescription(seqGrp.getDescription()); seqGrpPojo.setDisplayBoxes(seqGrp.getDisplayBoxes()); @@ -324,6 +329,8 @@ public class JSONFile extends AlignFile implements ComplexAlignFile return sequenceFeaturesPojo; } + FeatureColourFinder finder = new FeatureColourFinder(fr); + for (SequenceI seq : sqs) { SequenceI dataSetSequence = seq.getDatasetSequence(); @@ -346,7 +353,7 @@ public class JSONFile extends AlignFile implements ComplexAlignFile String.valueOf(seq.hashCode())); String featureColour = (fr == null) ? null : jalview.util.Format - .getHexString(fr.findFeatureColour(Color.white, seq, + .getHexString(finder.findFeatureColour(Color.white, seq, seq.findIndex(sf.getBegin()))); jsonFeature.setXstart(seq.findIndex(sf.getBegin()) - 1); jsonFeature.setXend(seq.findIndex(sf.getEnd())); @@ -524,8 +531,8 @@ public class JSONFile extends AlignFile implements ComplexAlignFile } SequenceGroup seqGrp = new SequenceGroup(grpSeqs, grpName, null, displayBoxes, displayText, colourText, startRes, endRes); - seqGrp.cs = ColourSchemeMapper.getJalviewColourScheme(colourScheme, - seqGrp); + seqGrp.setColourScheme(ColourSchemeMapper.getJalviewColourScheme( + colourScheme, seqGrp)); seqGrp.setShowNonconserved(showNonconserved); seqGrp.setDescription(description); this.seqGroups.add(seqGrp); @@ -563,7 +570,7 @@ public class JSONFile extends AlignFile implements ComplexAlignFile annotations[count] = new Annotation(displayChar, desc, ss, val); if (annot.get("colour") != null) { - Color color = UserColourScheme.getColourFromString(annot.get( + Color color = ColorUtils.parseColourString(annot.get( "colour").toString()); annotations[count].colour = color; } @@ -760,8 +767,8 @@ public class JSONFile extends AlignFile implements ComplexAlignFile } } } - globalColourScheme = ColourSchemeProperty.getColourName(viewport - .getGlobalColourScheme()); + globalColourScheme = (viewport.getGlobalColourScheme() == null) ? ResidueColourScheme.NONE + : viewport.getGlobalColourScheme().getSchemeName(); setDisplayedFeatures(viewport.getFeaturesDisplayed()); showSeqFeatures = viewport.isShowSequenceFeatures();