The final configuration will likely change!
{ "target": string --mandatory, div name where the component should be displayed. "width": int --optional, 600 by default, pixels used to display the sequence when not zoomed. If more than 25 pixels per amino acid are available, the width will be adjust. "useShapes": true/false --optional, false by default, should predefined shapes for one single aa be used? "clickable": boolean --optional, true by default, should the features be clickable? "useTooltips": boolean --optional, false by default, should a tooltip be displayed on the mouse over? The tooltip will contain information about the type label, cvid, UniProt feature id, start and end positions. "ftHeight": int --optional, 10 by default, how many pixels should be used to display the rectangles? "transparency": double --optional, 0.3 by default, which transparency should be applied to inside the shapes and rectangles? "featuresModel": object --A JSON object containing the sequence and categories }
{ "sequence": String --sequence of amino acids "categories": [Array of Category] --array of categories with types and features }
{ "category": String --category name in a human readable way. "types": [Array of Type] }Type
{ "type": String --type name, see documentation about FT types. ACT_SITE (circle), METAL (diamond), SITE (chevron), BINDING (cat face), MOD_RED (triangle), LIPID (wave), CARBOHYD (hexagon), and NON_STD (pentagon pointing down), NON_TER (trapezium), and NON_CONS (trapezium) are used to determine the corresponding shape, see our dictionary for more information about shapes, colors, and endings. "label": String --label to be displayed "cvid": String --controlled vocabulary id "locations": [Array of Location] }Location #Currently supported types: POSITION, BRIDGE, and CONTINUOUS
{ "locationType": String --mandatory, any of "POSITION", "BRIDGE", "CONTINUOUS", "PROBABLE_POSITION", "RANGE_POSITION", "CONTINUOUS_WITH_UNCERTAINTY", "CONTINUOUS_WITH_RANGE", "CONTINUOUS_WITH_ENVELOPE", "DISCONTINUOUS" "features": [Array of Feature] --mandatory }Feature
{ "ftid": String --mandatory, unique made-up feature id "id": String --optional, internal UniProt feature id "description": String --optional "status": String --optional, one of "By similarity", "Curated", etc. "evidence": [Array of Evidence] --optional #Depending on the location containing a feature, different *mandatory* information will be required #POSITION #usually begin and end should be the same but in some special cases it could be that one-single-aa feature #actually has more than one amino acid, so far 2 is possible as well. "begin": int --exact position of the amino acid "end": int --exact position of the amino acid #PROBABLE_POSITION "positions": [{ "position": int --probable position of the amino acid "probability": double --reported probability for that position }] #RANGE_POSITION "begin": int --initial position of the range where the feature can occur "end": int --final position of the range where the feature can occur "position": int --probable position of the amino acid "probability": double --reported probability for that position }] #BRIDGE #Some times bridges are formed between two proteins, in those cases, start and end will have the same value "begin": int --initial position of the bridge "end": int --final position of the bridge #CONTINUOUS "begin": int --exact initial position of the feature "end": int --exact final position of the feature #CONTINUOUS_WITH_UNCERTAINTY #Recommended only when one of the endings has any kind of uncertainty, if both endings are know, use Continuous #start and end uncertainties, will impact the edge style: #"-" exact position #"~" (around the given position, 1 before, 1 after), #"<" (before the given position), #">" (after the given position) #any unknown symbol will be interpreted as "-" #any omitted uncertainty will be interpreted as "-" "beginUncertainty": String, one char only --optional, edge style, see comment above "begin": int --initial position of the feature "endUncertainty": String, one char only --optional, edge style, see comment above "end": int --final position of the feature #CONTINUOUS_WITH_RANGE #Recommenden only when at least one of the edges is a range "beginBegins": int --initial start position "beginEnds": int --final start position (if equals to startStart edge will be straight rather than range) "endBegins": int --initial end position "endEnds": int --final end position (if equals to endStart edge will be straight rather than range) #CONTINUOUS_WITH_ENVELOPE "envelopeBegins": int --initial position of the envelope "begin": int --initial position of the feature, must be >= envelopeStart (if equals to envelopeStart edge will look like straight) "end": int --final position of the feature "envelopeEnds": int --final position of the envelope, must be >= end (if equals to end edge will look like straight) #DISCONTINUOUS "regions": [ { "begin": int --exact initial position of the sub-feature "end": int --exact final position of the sub-feature } ] }Evidence
{ #According to uk.ac.ebi.kraken.xml.jaxb.uniprot.EvidenceType, evidences have 1 numeric key and 1 ECO type as attributes, and 1 ImporteFrom and 1 SourceType as fields #We include in our json the type and SourceType #According to uk.ac.ebi.kraken.xml.jaxb.uniprot.SourceType, sources for evidences have 1 numeric ref as attribute and 1 DBReferenceType as fields #We include in our json either the ref of the DBReferenceType object "type": String --evidence code from ECO controlled vocabulary, must start by ECO: "source": Source --optional #Either a DBReference when the source corresponds to a database { "dbReferenceType": String --database reference type supporting the evidence "dbReferenceId": String --database reference id supporting the evidence } #Or a numeric reference when the source corresponds to an internal UniProt citation with no PubMed ID { "ref": Integer } }
For a particular type, this example shows features covering one single amino acid (occasionally it can be two)
"locations": [ { "locationType": "POSITION", "features": [ { #Example: Glycosilation at position 5"ftid": "only one aa (ideally)", "begin": 5, "end": 5 } #More POSITION features here ] }, { "locationType": "PROBABLE_POSITION", "features": [ { #Example: Glycosilation (no shapes in use) at position 5 with 80% of probability, and position 7 with 20% of probability
"ftid": "probabilities", "positions": [{"position": 5, "probability": 80.0}, {"position": 7, "probability": 20.0}] } #More PROBABLE_POSITION features here ] }, { "locationType": "RANGE_POSITION", "features": [ { #Example: Glycosilation (no shapes in use) at some position between 21 and 38
#Example: Glycosilation at some position between 21 and 38
"ftid": "position in range", "begin": 21, "end": 38 } #More RANGE_POSITION features here ] } ]
For a particular type, this example shows bridge features.
"locations": [ { "locationType": "BRIDGE", "features": [ { #Example: Disulphide bond bridging positions 10 and 31"ftid": "bridge", "begin": 10, "end": 31 } #More BRIDGE features here ] } ]
For one particular type, this example shows locations and their corresponding features covering a region of amino acids.
"locations": [ { "locationType": "CONTINUOUS", "features": [ { #Example: Motif from 234 to 287"ftid": "a continuous region", "begin": 250, "end": 287 } #More CONTINUOUS features here ] }, { "locationType": "DISCONTINUOUS", "features": [ { #Example: Discontinuous domain from 234 to 250 and then from 261 to 274
"ftid": "a discontinuous domain", "regions": [{"begin": 234, "end": 250}, {"begin": 261, "end": 274}] } #More DISCONTINUOUS features here ] }, { "locationType": "CONTINUOUS_WITH_UNCERTAINTY", "features": [ { #Example: Region starting around 230, ending exactly at 287 (uncertainty omitted, interpreted as "-")
"ftid": "another region", "beginUncertainty": "~", "begin": 230, "end": 287 }, { #Example: Region starting after 250, ending exactly at 287 (uncertainty explicit "-")
"ftid": "another region", "beginUncertainty": ">", "begin": 250, "endUncertainty": "-", "end": 287 } #More CONTINUOUS_WITH_UNCERTAINTY features here ] } ]
{ "target": "target_div", "featuresModel": featuresModel }
Options by default: width:600, useShapes: true, useTooltips: false, clickable: true, ftHeight: 10, transparency: 0.3
{ "sequence": "ARTWYVQDDCELIFKMSTTTWYVDNMMRRTYWVARTWYVQDDCELIFKMSTTTWYVDNMMRRTYWVARTWYVQDDCELIFKMSTTTWYVDNMMRRTYWV", "categories": [ { "category": "Domains and sites", "types": [ { "type": "ACT_SITE", "label": "Active site", "cvid": "SO:0001104", "locations": [ { "locationType": "POSITION" "features": [ { "ftid": "only one aa", "id": "PRO0001", "description": "Proton acceptor", "status": "By similarity", "evidence": [ { "type": "ECO:0000022", "source": {"dbReferenceType": "PubMed", "dbReferenceId":"1234567"} } ], "begin": 5, "end": 5 } ] }, { "locationType": "PROBABLE_POSITION", "features": [ { "ftid": "probabilities", "positions": [ {"position": 5, "probability": 80.0}, {"position": 7, "probability": 20.0} ] } ] }, { "locationType": "RANGE_POSITION", "features": [ { "ftid": "position in range", "begin": 21, "end": 38 } ] } ] }, { "type": "COIL", "label": "Coiled coil", "cvid": "SO:0001080", "locations": [ { "locationType": "CONTINUOUS", "features": [ { "ftid": "a continuous region", "evidence": [ { "type": "ECO:0000022", "source": {"ref": 5} } ], "begin": 234, "end": 287 } ] }, { "locationType": "CONTINUOUS_WITH_UNCERTAINTY", "features": [ { "ftid": "another region around a start", "beginUncertainty": "~", "begin": 230, "end": 287 }, { "ftid": "region before", "beginUncertainty": "<", "begin": 240, "endUncertainty": "-", "end": 280 }, { "ftid": "region after", "location": { "beginUncertainty": ">", "begin": 250, "endUncertainty": "-", "end": 290 }, { "ftid": "another after the ending", "beginUncertainty": "-", "begin": 180, "endUncertainty": ">", "end": 230 } ] } ] } ] }, { "category": "Structural features", "types": [ { "type": "DISULFIDE", "label": "Disulfide bond", "cvid": "MOD:00689", "locations": [ { "locationType": "BRIDGE", "features": [ { "ftid": "bridge", "evidence": [ { "type": "ECO:0000006", "source": {"dbReferenceType": "PubMed", "dbReferenceId":"1234567"} } ], "begin": 5, "end": 31 } ] } ] } ] }, { "category": "Molecule processing", "types": [ { "type": "PEPTIDE", "Label": "Signal Peptide", "cvid": "SO:0000418", "locations": [ { "locationType": "CONTINUOUS", "features": [ { "ftid": "feature sp1", "begin": 1, "end": 21 } ] } ] }, { "type": "CHAIN", "label": "Mature region", "cvid": "SO:0000419", "locations": [ { "locationType": "CONTINUOUS", "features": [ { "ftid": "a chain with a lable", "id": "PRO_0000410576", "begin": 22, "end": 480 }, { "ftid": "another chain", "begin": 22, "end": 296 }, { "ftid": "next chain", "begin": 297, "end": 380 }, { "ftid": "last chain", "begin": 300, "end": 382 } ] } ] } ] }, { "category": "Post translational modifications", "types": [ { "type": "PTM", "label": "Modified residue", "cvid": "SO:0001089", "locations": [ { "locationType": "POSITION", "features": [ { "ftid": "feature_7", "begin": 22, "end": 22 } ] } ] } ] } ] }