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; } }