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=f68ea86ab92f594884f5ae8c01496a527585f651;hb=f06554784411ddbf871d642e66c8dcb7f147d4a8;hp=0000000000000000000000000000000000000000;hpb=cf06ee5d732af6cc874115aece1138adafca8ad7;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..f68ea86
--- /dev/null
+++ b/src/jalview/json/binding/biojson/v1/AlignmentPojo.java
@@ -0,0 +1,132 @@
+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,
+ maxItems = 2147483647,
+ exclusiveMaximum = true,
+ description = "Alignment annotations stores symbols and graphs usually rendered below the alignment.")
+ private List alignAnnotation = new ArrayList();
+
+ @Attributes(
+ required = false,
+ minItems = 0,
+ maxItems = 2147483647,
+ description = "A sequence group is a region of an alignment which could
span across multiple columns and rows. These can be treated as
a sub-alignments.")
+ private List seqGroups = new ArrayList();
+
+ @Attributes(
+ required = false,
+ minItems = 0,
+ maxItems = 2147483647,
+ description = "Sequence features are associated with sequences rather than
alignments. A sequence feature can span across multiple
sequences in an alignment. They indicate features generated
by the same analysis process or retrieved from the same database
(such as Uniprot features).")
+ 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 = 1, description = "This is an array of key=value pairs for storing custom application
specific settings")
+ 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;
+ }
+
+}