2 * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3 * Copyright (C) $$Year-Rel$$ The Jalview Authors
5 * This file is part of Jalview.
7 * Jalview is free software: you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation, either version 3
10 * of the License, or (at your option) any later version.
12 * Jalview is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty
14 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 * PURPOSE. See the GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
19 * The Jalview Authors are detailed in the 'AUTHORS' file.
21 package jalview.json.binding.biojson.v1;
23 import java.util.ArrayList;
24 import java.util.HashMap;
25 import java.util.List;
28 import com.github.reinert.jjschema.Attributes;
32 description = "A specification for the representation and exchange of bioinformatics data")
33 public class AlignmentPojo
37 description = "Serial version identifier for <b>BioJSON</b> schema")
38 private String svid = "1.0";
43 description = "An array of Sequences which makes up the Alignment")
44 private List<SequencePojo> seqs = new ArrayList<SequencePojo>();
49 exclusiveMaximum = true,
50 description = "Alignment annotations stores symbols and graphs usually rendered </br>"
51 + "below the alignment and often reflect properties of the alignment </br>as a whole.")
52 private List<AlignmentAnnotationPojo> alignAnnotation = new ArrayList<AlignmentAnnotationPojo>();
57 description = "A sequence group is a rectangular region of an alignment <br>bounded by startRes and endRes positions in the alignment <br>coordinate system for a set of sequences")
58 private List<SequenceGrpPojo> seqGroups = new ArrayList<SequenceGrpPojo>();
63 description = "Sequence features are properties of the individual sequences, <br>they do not change with the alignment, but are shown mapped<br> on to specific residues within the alignment")
64 private List<SequenceFeaturesPojo> seqFeatures = new ArrayList<SequenceFeaturesPojo>();
68 enums = { "None", "User Defined", "Clustal", "Zappo", "Taylor",
69 "Nucleotide", "Pyrimidine", "Purine", "Turn", "Helix", "Strand",
70 "Buried", "Hydro", "T-Coffee Scores", "RNA Interaction type",
71 "Blosum62", "RNA Helices", "% Identity" },
72 description = "The <a href=\"#colourScheme\">Colour Scheme</a> applied to the alignment")
73 private String colourScheme;
78 description = "AppSettings stores key=value pairs of custom application specific <br>"
79 + "settings (i.e visualisation settings, etc) for different applications<br>"
80 + "that consume or generate BioJSON")
81 Map<String, Object> appSettings = new HashMap<String, Object>();
83 public AlignmentPojo()
87 public List<SequencePojo> getSeqs()
92 public void setSeqs(ArrayList<SequencePojo> seqs)
97 public Map<String, Object> getAppSettings()
102 public void setAppSettings(Map<String, Object> appSettings)
104 this.appSettings = appSettings;
107 public List<AlignmentAnnotationPojo> getAlignAnnotation()
109 return alignAnnotation;
112 public void setAlignAnnotation(
113 List<AlignmentAnnotationPojo> alignAnnotation)
115 this.alignAnnotation = alignAnnotation;
118 public List<SequenceGrpPojo> getSeqGroups()
123 public void setSeqGroups(List<SequenceGrpPojo> seqGroups)
125 this.seqGroups = seqGroups;
128 public List<SequenceFeaturesPojo> getSeqFeatures()
133 public void setSeqFeatures(List<SequenceFeaturesPojo> seqFeatures)
135 this.seqFeatures = seqFeatures;
138 public String getSvid()
143 public void setGlobalColorScheme(String globalColorScheme)
145 this.appSettings.put("globalColorScheme", globalColorScheme);
148 public String getColourScheme()
153 public void setColourScheme(String colourScheme)
155 this.colourScheme = colourScheme;