- {"$schema":"http://json-schema.org/draft-04/schema#","id":"http://jsonschema.net","type":"object","properties":{"seqs":{"id":"http://jsonschema.net/seqs","type":"array","items":{"id":"http://jsonschema.net/seqs/0","type":"object","properties":{"name":{"id":"http://jsonschema.net/seqs/0/name","type":"string","description":"Sequence name"},"start":{"id":"http://jsonschema.net/seqs/0/start","type":"integer","description":"Start residue position"},"svid":{"id":"http://jsonschema.net/seqs/0/svid","type":"string","description":"Serial version id for sequence object"},"end":{"id":"http://jsonschema.net/seqs/0/end","type":"integer","description":"End residue position"},"id":{"id":"http://jsonschema.net/seqs/0/id","type":"string","description":"Sequence unique identifier"},"seq":{"id":"http://jsonschema.net/seqs/0/seq","type":"string","description":"Sequence Residues"},"order":{"id":"http://jsonschema.net/seqs/0/order","type":"integer","description":"Sequence order in an alignment space"}},"required":["name","start","svid","end","id","seq"]},"required":["0"],"description":"Sequences in the Alignemnt","minItems":"1","maxItems":"*"},"appSettings":{"id":"http://jsonschema.net/appSettings","type":"object","properties":{"globalColorScheme":{"id":"http://jsonschema.net/appSettings/globalColorScheme","type":"string","description":"Global colour schem for the alignment"},"webStartUrl":{"id":"http://jsonschema.net/appSettings/webStartUrl","type":"string","description":"Jalview specific setting which points to a url for launching Jalview"},"application":{"id":"http://jsonschema.net/appSettings/application","type":"string","description":"Application which generated the Json"},"showSeqFeatures":{"id":"http://jsonschema.net/appSettings/showSeqFeatures","type":"string","description":"Determines if sequence features are visible or not"},"version":{"id":"http://jsonschema.net/appSettings/version","type":"string","description":"Verion of the application which generated the JSON"},"hiddenCols":{"id":"http://jsonschema.net/appSettings/hiddenCols","type":"string","description":"Delimited lists of hidden colums ranges i.e [2-3,5-5,11-23]"}},"description":"Application specific settings"},"seqGroups":{"id":"http://jsonschema.net/seqGroups","type":"array","items":[{"id":"http://jsonschema.net/seqGroups/0","type":"object","properties":{"displayText":{"id":"http://jsonschema.net/seqGroups/0/displayText","type":"boolean","description":"Determines if the texts of the group is displayed or not"},"startRes":{"id":"http://jsonschema.net/seqGroups/0/startRes","type":"integer","description":"Start residue position for a given group"},"groupName":{"id":"http://jsonschema.net/seqGroups/0/groupName","type":"string","description":"Group name"},"endRes":{"id":"http://jsonschema.net/seqGroups/0/endRes","type":"integer","description":"End residue position for a given group"},"colourText":{"id":"http://jsonschema.net/seqGroups/0/colourText","type":"boolean","description":"Determines if the Residues text for the group is coloured"},"seqsHash":{"id":"http://jsonschema.net/seqGroups/0/seqsHash","type":"array","items":[],"minItems":"0","maxItems":"*","description":"The id's of the sequences which belongs to the group"},"svid":{"id":"http://jsonschema.net/seqGroups/0/svid","type":"string","description":"Serial version id for a given group"},"showNonconserved":{"id":"http://jsonschema.net/seqGroups/0/showNonconserved","type":"boolean","description":"Determines if non conserved regions of a group is shown or not"},"colourScheme":{"id":"http://jsonschema.net/seqGroups/0/colourScheme","type":"string","description":"Colour Scheme for the sequence group"},"displayBoxes":{"id":"http://jsonschema.net/seqGroups/0/displayBoxes","type":"boolean","description":"Determines if the group border should be visible or not"}}}],"description":"Sequence groups in the Alignment","minItems":"0","maxItems":"*"},"alignAnnotation":{"id":"http://jsonschema.net/alignAnnotation","type":"array","items":{"id":"http://jsonschema.net/alignAnnotation/0","type":"object","properties":{"svid":{"id":"http://jsonschema.net/alignAnnotation/0/svid","type":"string","description":"Serial version id for the annotation object"},"annotations":{"id":"http://jsonschema.net/alignAnnotation/0/annotations","type":"array","items":[{"id":"http://jsonschema.net/alignAnnotation/0/annotations/0","type":"object","properties":{"displayCharacter":{"id":"http://jsonschema.net/alignAnnotation/0/annotations/0/displayCharacter","type":"string","description":"Display character to denote the given annotation"},"value":{"id":"http://jsonschema.net/alignAnnotation/0/annotations/0/value","type":"integer","description":"Value of the annotation"},"secondaryStructure":{"id":"http://jsonschema.net/alignAnnotation/0/annotations/0/secondaryStructure","type":"string","description":"Secondary structure symbol for the given annotation"}}},{"id":"http://jsonschema.net/alignAnnotation/0/annotations/1","type":"object","properties":{"displayCharacter":{"id":"http://jsonschema.net/alignAnnotation/0/annotations/1/displayCharacter","type":"string"},"value":{"id":"http://jsonschema.net/alignAnnotation/0/annotations/1/value","type":"integer"},"secondaryStructure":{"id":"http://jsonschema.net/alignAnnotation/0/annotations/1/secondaryStructure","type":"string"}}},{"id":"http://jsonschema.net/alignAnnotation/0/annotations/2","type":"object","properties":{"displayCharacter":{"id":"http://jsonschema.net/alignAnnotation/0/annotations/2/displayCharacter","type":"string"},"value":{"id":"http://jsonschema.net/alignAnnotation/0/annotations/2/value","type":"integer"},"secondaryStructure":{"id":"http://jsonschema.net/alignAnnotation/0/annotations/2/secondaryStructure","type":"string"}}}]},"description":{"id":"http://jsonschema.net/alignAnnotation/0/description","type":"string","description":"Description of the Alignment Annotation"},"label":{"id":"http://jsonschema.net/alignAnnotation/0/label","type":"string","description":"Label for the Annotation"}}},"description":"Alignment Annotations","minItems":"0","maxItems":"*"},"svid":{"id":"http://jsonschema.net/svid","type":"string","description":"Serial version id"},"seqFeatures":{"id":"http://jsonschema.net/seqFeatures","type":"array","items":{"id":"http://jsonschema.net/seqFeatures/0","type":"object","properties":{"fillColor":{"id":"http://jsonschema.net/seqFeatures/0/fillColor","type":"string","description":"Fill colour"},"score":{"id":"http://jsonschema.net/seqFeatures/0/score","type":"integer","description":"Score"},"sequenceRef":{"id":"http://jsonschema.net/seqFeatures/0/sequenceRef","type":"string","description":"Reference to the Sequence in the alignement (More like a foreign key)"},"featureGroup":{"id":"http://jsonschema.net/seqFeatures/0/featureGroup","type":"string","description":"Feature Group"},"svid":{"id":"http://jsonschema.net/seqFeatures/0/svid","type":"string","description":"Serial version id for the SeqFeature object"},"description":{"id":"http://jsonschema.net/seqFeatures/0/description","type":"string","description":"Description of Feature"},"xStart":{"id":"http://jsonschema.net/seqFeatures/0/xStart","type":"integer","description":"Start residue position for the sequence feature"},"xEnd":{"id":"http://jsonschema.net/seqFeatures/0/xEnd","type":"integer","description":"End residue position for the sequence feature"},"type":{"id":"http://jsonschema.net/seqFeatures/0/type","type":"string","description":"The name of the SequenceFeature"}}},"minItems":"0","maxItems":"*","description":"Sequence Features within the alignment"}},"required":["seqs","appSettings","seqGroups","alignAnnotation","svid","seqFeatures"]}
+ {
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "id": "BioJSON",
+ "type": "object",
+ "properties": {
+ "seqs": {
+ "id": "seqs",
+ "type": "array",
+ "items": {
+ "id": "seqs",
+ "type": "object",
+ "properties": {
+ "name": {
+ "id": "seqs/name",
+ "type": "string",
+ "description": "Sequence name"
+ },
+ "start": {
+ "id": "seqs/start",
+ "type": "integer",
+ "description": "The index of the sequence’s first residue in it’s source database"
+ },
+ "end": {
+ "id": "seqs/end",
+ "type": "integer",
+ "description": "The index of the sequence’s last residue in it’s source database"
+ },
+ "order": {
+ "id": "seqs/order",
+ "type": "integer",
+ "description": "The order/position of a sequence in the alignment space"
+ },
+ "id": {
+ "id": "seqs/id",
+ "type": "string",
+ "description": "Unique identifier for a given Sequence"
+ },
+ "seq": {
+ "id": "seqs/seq",
+ "type": "string",
+ "description": "Sequence Residues"
+ },
+ "svid": {
+ "id": "seqs/svid",
+ "type": "string",
+ "description": "Serial version identifier for the <b>seqs</b> object model"
+ }
+ },
+ "required": [
+ "name",
+ "start",
+ "svid",
+ "end",
+ "id",
+ "seq"
+ ]
+ },
+ "required": [
+ "0"
+ ],
+ "description": "An array of Sequences which makes up the Alignment",
+ "minItems": "1",
+ "maxItems": "*"
+ },
+ "seqGroups": {
+ "id": "seqGroups",
+ "type": "array",
+ "items": [
+ {
+ "id": "seqGroups",
+ "type": "object",
+ "properties": {
+ "groupName": {
+ "id": "seqGroups/groupName",
+ "type": "string",
+ "description": "The name assigned to the seqGroup"
+ },
+ "startRes": {
+ "id": "seqGroups/startRes",
+ "type": "integer",
+ "description": "The index of the group’s first residue in the alignment space"
+ },
+ "endRes": {
+ "id": "seqGroups/endRes",
+ "type": "integer",
+ "description": "The index of the group’s last residue in the alignment space"
+ },
+ "svid": {
+ "id": "seqGroups/svid",
+ "type": "string",
+ "description": "Serial version identifier for the <b>seqGroup</b> object model"
+ },
+ "colourScheme": {
+ "id": "seqGroups/colourScheme",
+ "type": "string",
+ "description": "The Colour Scheme applied to the Sequence Group"
+ },
+ "displayBoxes": {
+ "id": "seqGroups/displayBoxes",
+ "type": "boolean",
+ "description": "Determines if the seqGroup border should be visible or not"
+ },
+ "showNonconserved": {
+ "id": "seqGroups/showNonconserved",
+ "type": "boolean",
+ "description": "Determines if non conserved regions of a group is shown or not"
+ },
+ "colourText": {
+ "id": "seqGroups/colourText",
+ "type": "boolean",
+ "description": "Determines if the Residues text for the group is coloured"
+ },
+ "displayText": {
+ "id": "seqGroups/displayText",
+ "type": "boolean",
+ "description": "Determines if the texts of the group is displayed or not"
+ },
+ "seqsHash": {
+ "id": "seqGroups/seqsHash",
+ "type": "array",
+ "items": [],
+ "minItems": "0",
+ "maxItems": "*",
+ "description": "An array of the unique id's for the sequences belonging to the group"
+ }
+ }
+ }
+ ],
+ "description": "Sequence groups in the Alignment",
+ "minItems": "0",
+ "maxItems": "*"
+ },
+ "alignAnnotation": {
+ "id": "alignAnnotation",
+ "type": "array",
+ "items": {
+ "id": "alignAnnotation",
+ "type": "object",
+ "properties": {
+ "svid": {
+ "id": "alignAnnotation/svid",
+ "type": "string",
+ "description": "Serial version id for the <b>alignAnnotation</b> object model"
+ },
+ "description": {
+ "id": "alignAnnotation/description",
+ "type": "string",
+ "description": "Description for the Alignment Annotation"
+ },
+ "label": {
+ "id": "alignAnnotation/label",
+ "type": "string",
+ "description": "Label for the Alignment Annotation"
+ },
+ "annotations": {
+ "id": "alignAnnotation/annotations",
+ "type": "array",
+ "items": [
+ {
+ "id": "alignAnnotation/annotations",
+ "type": "object",
+ "properties": {
+ "displayCharacter": {
+ "id": "alignAnnotation/annotations/displayCharacter",
+ "type": "string",
+ "description": "Display character which denotes the given annotation"
+ },
+ "secondaryStructure": {
+ "id": "alignAnnotation/annotations/secondaryStructure",
+ "type": "string",
+ "description": "Secondary structure symbol for the given annotation"
+ },
+ "value": {
+ "id": "alignAnnotation/annotations/value",
+ "type": "integer",
+ "description": "Value of the annotation"
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ "description": "Alignment Annotations",
+ "minItems": "0",
+ "maxItems": "*"
+ },
+ "seqFeatures": {
+ "id": "seqFeatures",
+ "type": "array",
+ "items": {
+ "id": "seqFeatures",
+ "type": "object",
+ "properties": {
+ "type": {
+ "id": "seqFeatures/type",
+ "type": "string",
+ "description": "The name of the SequenceFeature"
+ },
+ "fillColor": {
+ "id": "seqFeatures/fillColor",
+ "type": "string",
+ "description": "Fill colour"
+ },
+ "sequenceRef": {
+ "id": "seqFeatures/sequenceRef",
+ "type": "string",
+ "description": "Reference to the Sequence in the alignment (More like a foreign key)"
+ },
+ "featureGroup": {
+ "id": "seqFeatures/featureGroup",
+ "type": "string",
+ "description": "Feature Group"
+ },
+ "svid": {
+ "id": "seqFeatures/svid",
+ "type": "string",
+ "description": "Serial version id for the <b>SeqFeature</b> object"
+ },
+ "description": {
+ "id": "seqFeatures/description",
+ "type": "string",
+ "description": "Description of Feature"
+ },
+ "xStart": {
+ "id": "seqFeatures/xStart",
+ "type": "integer",
+ "description": "Start residue position for the sequence feature"
+ },
+ "xEnd": {
+ "id": "seqFeatures/xEnd",
+ "type": "integer",
+ "description": "End residue position for the sequence feature"
+ },
+ "score": {
+ "id": "seqFeatures/score",
+ "type": "integer",
+ "description": "Score"
+ }
+ }
+ },
+ "minItems": "0",
+ "maxItems": "*",
+ "description": "Sequence Features within the alignment"
+ },
+ "appSettings": {
+ "id": "appSettings",
+ "type": "object",
+ "properties": {
+ "globalColorScheme": {
+ "id": "appSettings/globalColorScheme",
+ "type": "string",
+ "description": "The Global colour scheme applied to all the sequences within the alignment"
+ },
+ "webStartUrl": {
+ "id": "appSettings/webStartUrl",
+ "type": "string",
+ "description": "Jalview specific setting which points to the url for launching Jalview"
+ },
+ "application": {
+ "id": "appSettings/application",
+ "type": "string",
+ "description": "The name of the application which generated the Json"
+ },
+ "showSeqFeatures": {
+ "id": "appSettings/showSeqFeatures",
+ "type": "string",
+ "description": "Determines if sequence features are visible or not"
+ },
+ "version": {
+ "id": "appSettings/version",
+ "type": "string",
+ "description": "Version of the application which generated the JSON"
+ },
+ "hiddenCols": {
+ "id": "appSettings/hiddenCols",
+ "type": "string",
+ "description": "The ranges of hidden columns in the alignment in a comma delimited string i.e [2-5, 9-9, 11-12]"
+ }
+ },
+ "description": "This is for custom application specific settings in a map structure (key/value) pairs. Any application which can generate or consume BioJSON can extend their custom data here. However, it is essential to provide the application name, and version in the map for identification purposes."
+ },
+ "svid": {
+ "id": "svid",
+ "type": "string",
+ "description": "Serial version identifier for <b>BioJSON</b> model"
+ }
+ },
+ "required": [
+ "seqs",
+ "appSettings",
+ "seqGroups",
+ "alignAnnotation",
+ "svid",
+ "seqFeatures"
+ ]
+}