1 package jalview.json.binding.biojson.v1;
4 import java.util.ArrayList;
5 import java.util.HashMap;
9 import com.github.reinert.jjschema.Attributes;
11 @Attributes(title="BioJSON", description="A specification for the representation and exchange of bioinformatics data")
12 public class AlignmentPojo
14 @Attributes(required = true, description = "Serial version identifier for <b>BioJSON</b> schema")
15 private String svid = "1.0";
20 description = "An array of Sequences which makes up the Alignment")
21 private List<SequencePojo> seqs = new ArrayList<SequencePojo>();
26 exclusiveMaximum = true,
27 description = "Alignment annotations stores symbols and graphs usually rendered </br>"
28 + "below the alignment and often reflect properties of the alignment </br>as a whole.")
29 private List<AlignmentAnnotationPojo> alignAnnotation = new ArrayList<AlignmentAnnotationPojo>();
34 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")
35 private List<SequenceGrpPojo> seqGroups = new ArrayList<SequenceGrpPojo>();
40 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")
41 private List<SequenceFeaturesPojo> seqFeatures = new ArrayList<SequenceFeaturesPojo>();
45 enums = { "None", "User Defined", "Clustal", "Zappo", "Taylor",
46 "Nucleotide", "Pyrimidine", "Purine", "Turn", "Helix", "Strand",
47 "Buried", "Hydro", "T-Coffee Scores", "RNA Interaction type",
48 "Blosum62", "RNA Helices", "% Identity" },
49 description = "The <a href=\"#colourScheme\">Colour Scheme</a> applied to the alignment")
50 private String colourScheme;
54 maxItems = 0, description = "AppSettings stores key=value pairs of custom application specific <br>"
55 + "settings (i.e visualisation settings, etc) for different applications<br>"
56 + "that consume or generate BioJSON")
57 Map<String, Object> appSettings = new HashMap<String, Object>();
59 public AlignmentPojo()
63 public List<SequencePojo> getSeqs()
68 public void setSeqs(ArrayList<SequencePojo> seqs)
73 public Map<String, Object> getAppSettings()
78 public void setAppSettings(Map<String, Object> appSettings)
80 this.appSettings = appSettings;
83 public List<AlignmentAnnotationPojo> getAlignAnnotation()
85 return alignAnnotation;
88 public void setAlignAnnotation(
89 List<AlignmentAnnotationPojo> alignAnnotation)
91 this.alignAnnotation = alignAnnotation;
94 public List<SequenceGrpPojo> getSeqGroups()
99 public void setSeqGroups(List<SequenceGrpPojo> seqGroups)
101 this.seqGroups = seqGroups;
104 public List<SequenceFeaturesPojo> getSeqFeatures()
109 public void setSeqFeatures(List<SequenceFeaturesPojo> seqFeatures)
111 this.seqFeatures = seqFeatures;
114 public String getSvid()
119 public void setGlobalColorScheme(String globalColorScheme)
121 this.appSettings.put("globalColorScheme", globalColorScheme);
124 public String getColourScheme()
129 public void setColourScheme(String colourScheme)
131 this.colourScheme = colourScheme;