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