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