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