JAL-1641 Re-implemented lost changes after sequenceFeature refactor
[jalview.git] / src / jalview / json / binding / v1 / AlignmentPojo.java
1 package jalview.json.binding.v1;
2
3 import jalview.schemes.Blosum62ColourScheme;
4 import jalview.schemes.BuriedColourScheme;
5 import jalview.schemes.ColourSchemeI;
6 import jalview.schemes.HelixColourScheme;
7 import jalview.schemes.HydrophobicColourScheme;
8 import jalview.schemes.NucleotideColourScheme;
9 import jalview.schemes.PIDColourScheme;
10 import jalview.schemes.PurinePyrimidineColourScheme;
11 import jalview.schemes.RNAInteractionColourScheme;
12 import jalview.schemes.StrandColourScheme;
13 import jalview.schemes.TaylorColourScheme;
14 import jalview.schemes.TurnColourScheme;
15 import jalview.schemes.ZappoColourScheme;
16
17 import java.util.ArrayList;
18 import java.util.List;
19
20 public class AlignmentPojo
21 {
22   private String globalColorScheme = "none";
23
24   private String jalviewVersion;
25
26   private String webStartUrl;
27
28   private List<SequencePojo> seqs = new ArrayList<SequencePojo>();
29
30   private List<AlignmentAnnotationPojo> alignmentAnnotation = new ArrayList<AlignmentAnnotationPojo>();
31
32   private List<SequenceGrpPojo> sequenceGroups = new ArrayList<SequenceGrpPojo>();
33
34   public AlignmentPojo()
35   {
36
37   }
38
39   public List<SequencePojo> getSeqs()
40   {
41     return seqs;
42   }
43
44   public void setSeqs(ArrayList<SequencePojo> seqs)
45   {
46     this.seqs = seqs;
47   }
48   public String getGlobalColorScheme()
49   {
50     return globalColorScheme;
51   }
52   public void setGlobalColorScheme(String globalColorScheme)
53   {
54     for (JalviewBioJsColorSchemeMapper cs : JalviewBioJsColorSchemeMapper
55             .values())
56     {
57       if (cs.getJalviewName().equals(globalColorScheme))
58       {
59         this.globalColorScheme = cs.getBioJsName();
60         break;
61       }
62     }
63
64     // JALVIEW colors not in biojs
65     // Blosum62
66     // T-Coffee Scores (almost same with Blosom62
67     // RNA Interaction type - no color applied
68     // RNA Helices - missing
69
70     // BIOJS Colour not in jalview
71     // schemes.push name: "Lesk", id: "lesk"
72     // schemes.push name: "Cinema", id: "cinema"
73     // schemes.push name: "MAE", id: "mae"
74     // schemes.push name: "Clustal2", id: "clustal2"
75
76   }
77
78
79   public String getJalviewVersion()
80   {
81     return jalviewVersion;
82   }
83
84   public void setJalviewVersion(String jalviewVersion)
85   {
86     this.jalviewVersion = jalviewVersion;
87   }
88
89   public String getWebStartUrl()
90   {
91     return webStartUrl;
92   }
93
94   public void setWebStartUrl(String webStartUrl)
95   {
96     this.webStartUrl = webStartUrl;
97   }
98
99   public List<AlignmentAnnotationPojo> getAlignmentAnnotation()
100   {
101     return alignmentAnnotation;
102   }
103
104   public void setAlignmentAnnotation(List<AlignmentAnnotationPojo> alignmentAnnotation)
105   {
106     this.alignmentAnnotation = alignmentAnnotation;
107   }
108
109   public List<SequenceGrpPojo> getSequenceGroups()
110   {
111     return sequenceGroups;
112   }
113
114   public void setSequenceGroups(List<SequenceGrpPojo> sequenceGroups)
115   {
116     this.sequenceGroups = sequenceGroups;
117   }
118
119   public enum JalviewBioJsColorSchemeMapper
120   {
121     USER_DEFINED("User Defined", "user defined", null), NONE("None", "foo",
122             null), CLUSTAL("Clustal", "clustal", null), ZAPPO("Zappo",
123             "zappo", new ZappoColourScheme()), TAYLOR(
124             "Taylor", "taylor", new TaylorColourScheme()), NUCLEOTIDE(
125             "Nucleotide", "nucleotide", new NucleotideColourScheme()), PURINE_PYRIMIDINE(
126             "Purine/Pyrimidine", "purine",
127             new PurinePyrimidineColourScheme()), HELIX_PROPENCITY(
128             "Helix Propensity", "helix", new HelixColourScheme()), TURN_PROPENSITY(
129             "Turn Propensity", "turn", new TurnColourScheme()), STRAND_PROPENSITY(
130             "Strand Propensity", "strand", new StrandColourScheme()), BURIED_INDEX(
131             "Buried Index", "buried", new BuriedColourScheme()), HYDROPHOBIC(
132             "Hydrophobic", "hydro", new HydrophobicColourScheme()),
133
134     // The color types below are not yet supported by BioJs MSA viewer
135     T_COFFE_SCORES("T-Coffee Scores", "T-Coffee Scores",
136  null), RNA_INT_TYPE(
137             "RNA Interaction type", "RNA Interaction type",
138             new RNAInteractionColourScheme()), BLOSUM62("Blosum62",
139             "Blosum62", new Blosum62ColourScheme()), RNA_HELICES(
140             "RNA Helices", "RNA Helices", null), PERCENTAGE_IDENTITY(
141             "% Identity", "pid",
142             new PIDColourScheme());
143
144     private String jalviewName;
145     private String bioJsName;
146
147     private ColourSchemeI jvColourScheme;
148
149     private JalviewBioJsColorSchemeMapper(String jalviewName,
150             String bioJsName, ColourSchemeI jvColourScheme)
151     {
152       this.jalviewName = jalviewName;
153       this.bioJsName = bioJsName;
154       this.setJvColourScheme(jvColourScheme);
155     }
156
157     public String getJalviewName()
158     {
159       return jalviewName;
160     }
161
162     public String getBioJsName()
163     {
164       return bioJsName;
165     }
166
167     public ColourSchemeI getJvColourScheme()
168     {
169       return jvColourScheme;
170     }
171
172     public void setJvColourScheme(ColourSchemeI jvColourScheme)
173     {
174       this.jvColourScheme = jvColourScheme;
175     }
176
177   }
178 }