X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fjson%2Fbinding%2Fbiojson%2Fv1%2FAlignmentPojo.java;fp=src%2Fjalview%2Fjson%2Fbinding%2Fbiojson%2Fv1%2FAlignmentPojo.java;h=575b697c9836ce3cbc48d1ae7e0c2f5ffdd1dcb4;hb=9623cea766a766683243235557ad48e6f7659e6a;hp=0000000000000000000000000000000000000000;hpb=6066400ed6b0fe288ebbea82389f59838a534706;p=jalview.git
diff --git a/src/jalview/json/binding/biojson/v1/AlignmentPojo.java b/src/jalview/json/binding/biojson/v1/AlignmentPojo.java
new file mode 100644
index 0000000..575b697
--- /dev/null
+++ b/src/jalview/json/binding/biojson/v1/AlignmentPojo.java
@@ -0,0 +1,158 @@
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
+ *
+ * This file is part of Jalview.
+ *
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * Jalview is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview. If not, see .
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
+package jalview.json.binding.biojson.v1;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import com.github.reinert.jjschema.Attributes;
+
+@Attributes(
+ title = "BioJSON",
+ description = "A specification for the representation and exchange of bioinformatics data")
+public class AlignmentPojo
+{
+ @Attributes(
+ required = true,
+ description = "Serial version identifier for BioJSON schema")
+ private String svid = "1.0";
+
+ @Attributes(
+ required = true,
+ minItems = 1,
+ description = "An array of Sequences which makes up the Alignment")
+ private List seqs = new ArrayList();
+
+ @Attributes(
+ required = false,
+ minItems = 0,
+ exclusiveMaximum = true,
+ description = "Alignment annotations stores symbols and graphs usually rendered "
+ + "below the alignment and often reflect properties of the alignment as a whole.")
+ private List alignAnnotation = new ArrayList();
+
+ @Attributes(
+ required = false,
+ minItems = 0,
+ description = "A sequence group is a rectangular region of an alignment
bounded by startRes and endRes positions in the alignment
coordinate system for a set of sequences")
+ private List seqGroups = new ArrayList();
+
+ @Attributes(
+ required = false,
+ minItems = 0,
+ description = "Sequence features are properties of the individual sequences,
they do not change with the alignment, but are shown mapped
on to specific residues within the alignment")
+ private List seqFeatures = new ArrayList();
+
+ @Attributes(
+ required = false,
+ enums = { "None", "User Defined", "Clustal", "Zappo", "Taylor",
+ "Nucleotide", "Pyrimidine", "Purine", "Turn", "Helix", "Strand",
+ "Buried", "Hydro", "T-Coffee Scores", "RNA Interaction type",
+ "Blosum62", "RNA Helices", "% Identity" },
+ description = "The Colour Scheme applied to the alignment")
+ private String colourScheme;
+
+ @Attributes(
+ required = true,
+ maxItems = 0,
+ description = "AppSettings stores key=value pairs of custom application specific
"
+ + "settings (i.e visualisation settings, etc) for different applications
"
+ + "that consume or generate BioJSON")
+ Map appSettings = new HashMap();
+
+ public AlignmentPojo()
+ {
+ }
+
+ public List getSeqs()
+ {
+ return seqs;
+ }
+
+ public void setSeqs(ArrayList seqs)
+ {
+ this.seqs = seqs;
+ }
+
+ public Map getAppSettings()
+ {
+ return appSettings;
+ }
+
+ public void setAppSettings(Map appSettings)
+ {
+ this.appSettings = appSettings;
+ }
+
+ public List getAlignAnnotation()
+ {
+ return alignAnnotation;
+ }
+
+ public void setAlignAnnotation(
+ List alignAnnotation)
+ {
+ this.alignAnnotation = alignAnnotation;
+ }
+
+ public List getSeqGroups()
+ {
+ return seqGroups;
+ }
+
+ public void setSeqGroups(List seqGroups)
+ {
+ this.seqGroups = seqGroups;
+ }
+
+ public List getSeqFeatures()
+ {
+ return seqFeatures;
+ }
+
+ public void setSeqFeatures(List seqFeatures)
+ {
+ this.seqFeatures = seqFeatures;
+ }
+
+ public String getSvid()
+ {
+ return svid;
+ }
+
+ public void setGlobalColorScheme(String globalColorScheme)
+ {
+ this.appSettings.put("globalColorScheme", globalColorScheme);
+ }
+
+ public String getColourScheme()
+ {
+ return colourScheme;
+ }
+
+ public void setColourScheme(String colourScheme)
+ {
+ this.colourScheme = colourScheme;
+ }
+
+}