package jalview.json.binding.biojson.v1;
-
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import com.github.reinert.jjschema.Attributes;
-@Attributes(title="BioJSON", description="A specification for the representation and exchange of bioinformatics data")
+@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 <b>BioJSON</b> schema")
+ @Attributes(
+ required = true,
+ description = "Serial version identifier for <b>BioJSON</b> schema")
private String svid = "1.0";
@Attributes(
required = true,
minItems = 1,
- maxItems = 2147483647,
- description = "A sequence group is a bracket of alignment residues spanning <br>across multiple columns and rows. These can be treated as a <br>sub-alignments.")
+ description = "An array of Sequences which makes up the Alignment")
private List<SequencePojo> seqs = new ArrayList<SequencePojo>();
@Attributes(
required = false,
minItems = 0,
- maxItems = 2147483647,
exclusiveMaximum = true,
- description = "Alignment annotations stores symbols and graphs usually rendered </br>below the alignment.")
+ description = "Alignment annotations stores symbols and graphs usually rendered </br>"
+ + "below the alignment and often reflect properties of the alignment </br>as a whole.")
private List<AlignmentAnnotationPojo> alignAnnotation = new ArrayList<AlignmentAnnotationPojo>();
@Attributes(
required = false,
minItems = 0,
- maxItems = 2147483647,
- description = "A sequence group is a bracket of alignment residues which <br>could span across multiple columns and/or rows. These can be <br>treated as a sub-alignments.")
+ 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")
private List<SequenceGrpPojo> seqGroups = new ArrayList<SequenceGrpPojo>();
@Attributes(
required = false,
minItems = 0,
- maxItems = 2147483647,
- description = "Sequence features are associated with sequences rather than <br>alignments. A sequence feature can span across multiple <br>sequences in an alignment. They indicate features generated <br>by the same analysis process or retrieved from the same database <br>(such as Uniprot features).")
+ 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")
private List<SequenceFeaturesPojo> seqFeatures = new ArrayList<SequenceFeaturesPojo>();
- @Attributes(required = false, enums = { "None", "Custom", "Clustal",
- "Zappo", "Taylor", "Nucleotide", "Pyrimidine", "Purine", "Turn",
- "Strand", "Buried", "Hydro" })
+ @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 <a href=\"#colourScheme\">Colour Scheme</a> 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 <br>specific settings")
+
+ @Attributes(
+ required = true,
+ maxItems = 0,
+ description = "AppSettings stores key=value pairs of custom application specific <br>"
+ + "settings (i.e visualisation settings, etc) for different applications<br>"
+ + "that consume or generate BioJSON")
Map<String, Object> appSettings = new HashMap<String, Object>();
public AlignmentPojo()