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