JSON Schema¶
The JSON schema for FROG version 1 is available from frog-schema-version-1.json
{
"title": "FrogReport",
"description": "Definition of the FROG standard.",
"type": "object",
"properties": {
"metadata": {
"$ref": "#/definitions/FrogMetaData"
},
"objectives": {
"$ref": "#/definitions/FrogObjectives"
},
"fva": {
"$ref": "#/definitions/FrogFVA"
},
"reaction_deletions": {
"$ref": "#/definitions/FrogReactionDeletions"
},
"gene_deletions": {
"$ref": "#/definitions/FrogGeneDeletions"
}
},
"required": [
"metadata",
"objectives",
"fva",
"reaction_deletions",
"gene_deletions"
],
"definitions": {
"Tool": {
"title": "Tool",
"description": "Tool description.",
"type": "object",
"properties": {
"name": {
"title": "Name",
"description": "Name of tool/software/library.",
"type": "string"
},
"version": {
"title": "Version",
"description": "Version of tool/software/library.",
"type": "string"
},
"url": {
"title": "Url",
"description": "URL of tool/software/library.",
"type": "string"
}
},
"required": [
"name"
]
},
"Creator": {
"title": "Creator",
"description": "Creator/curator in ModelHistory and other COMBINE formats.\n\nExtended by optional orcid.",
"type": "object",
"properties": {
"familyName": {
"title": "Familyname",
"type": "string"
},
"givenName": {
"title": "Givenname",
"type": "string"
},
"email": {
"title": "Email",
"type": "string"
},
"organization": {
"title": "Organization",
"type": "string"
},
"site": {
"title": "Site",
"type": "string"
},
"orcid": {
"title": "Orcid",
"type": "string"
}
},
"required": [
"familyName",
"givenName"
]
},
"FrogMetaData": {
"title": "FrogMetaData",
"description": "FROG metadata.",
"type": "object",
"properties": {
"model.location": {
"title": "Model.Location",
"description": "Location of the model in the COMBINE archive for which the FROG analysis was performed.",
"type": "string"
},
"model.md5": {
"title": "Model.Md5",
"description": "MD5 hash of model",
"type": "string"
},
"frog_id": {
"title": "Frog Id",
"description": "Id for the FROG analysis. All frog_ids within an archive must be unique.",
"type": "string"
},
"frog.software": {
"title": "Frog.Software",
"description": "Software used to run FROG (e.g. 'fbc_curation'",
"allOf": [
{
"$ref": "#/definitions/Tool"
}
]
},
"frog.curators": {
"title": "Frog.Curators",
"description": "Curators which executed the FROG analysis.",
"type": "array",
"items": {
"$ref": "#/definitions/Creator"
}
},
"software": {
"title": "Software",
"description": "Software used to run FBC (e.g. 'cameo', 'COBRA', 'cobrapy'",
"allOf": [
{
"$ref": "#/definitions/Tool"
}
]
},
"solver": {
"title": "Solver",
"description": "Solver used to solve LP problem (e.g. 'CPLEX', 'GUROBI', 'GLPK').",
"allOf": [
{
"$ref": "#/definitions/Tool"
}
]
},
"environment": {
"title": "Environment",
"description": "Execution environment such as Linux.",
"type": "string"
}
},
"required": [
"model.location",
"frog_id",
"frog.software",
"frog.curators",
"software",
"solver"
]
},
"StatusCode": {
"title": "StatusCode",
"description": "Status code for simulation results.",
"enum": [
"optimal",
"infeasible"
],
"type": "string"
},
"FrogObjective": {
"title": "FrogObjective",
"description": "Frog Objective.",
"type": "object",
"properties": {
"model": {
"title": "Model",
"type": "string"
},
"objective": {
"title": "Objective",
"type": "string"
},
"status": {
"$ref": "#/definitions/StatusCode"
},
"value": {
"title": "Value",
"type": "number"
}
},
"required": [
"model",
"objective",
"status",
"value"
]
},
"FrogObjectives": {
"title": "FrogObjectives",
"description": "Definition of FROG Objectives.",
"type": "object",
"properties": {
"objectives": {
"title": "Objectives",
"type": "array",
"items": {
"$ref": "#/definitions/FrogObjective"
}
}
},
"required": [
"objectives"
]
},
"FrogFVASingle": {
"title": "FrogFVASingle",
"description": "Frog FVA.",
"type": "object",
"properties": {
"model": {
"title": "Model",
"type": "string"
},
"objective": {
"title": "Objective",
"type": "string"
},
"reaction": {
"title": "Reaction",
"type": "string"
},
"flux": {
"title": "Flux",
"type": "number"
},
"status": {
"$ref": "#/definitions/StatusCode"
},
"minimum": {
"title": "Minimum",
"type": "number"
},
"maximum": {
"title": "Maximum",
"type": "number"
},
"fraction_optimum": {
"title": "Fraction Optimum",
"type": "number"
}
},
"required": [
"model",
"objective",
"reaction",
"status",
"fraction_optimum"
]
},
"FrogFVA": {
"title": "FrogFVA",
"description": "Definition of FROG FVA.",
"type": "object",
"properties": {
"fva": {
"title": "Fva",
"type": "array",
"items": {
"$ref": "#/definitions/FrogFVASingle"
}
}
},
"required": [
"fva"
]
},
"FrogReactionDeletion": {
"title": "FrogReactionDeletion",
"description": "Frog reaction deletion.",
"type": "object",
"properties": {
"model": {
"title": "Model",
"type": "string"
},
"objective": {
"title": "Objective",
"type": "string"
},
"reaction": {
"title": "Reaction",
"type": "string"
},
"status": {
"$ref": "#/definitions/StatusCode"
},
"value": {
"title": "Value",
"type": "number"
}
},
"required": [
"model",
"objective",
"reaction",
"status"
]
},
"FrogReactionDeletions": {
"title": "FrogReactionDeletions",
"description": "Definition of FROG Reaction deletions.",
"type": "object",
"properties": {
"deletions": {
"title": "Deletions",
"type": "array",
"items": {
"$ref": "#/definitions/FrogReactionDeletion"
}
}
},
"required": [
"deletions"
]
},
"FrogGeneDeletion": {
"title": "FrogGeneDeletion",
"description": "Frog gene deletion.",
"type": "object",
"properties": {
"model": {
"title": "Model",
"type": "string"
},
"objective": {
"title": "Objective",
"type": "string"
},
"gene": {
"title": "Gene",
"type": "string"
},
"status": {
"$ref": "#/definitions/StatusCode"
},
"value": {
"title": "Value",
"type": "number"
}
},
"required": [
"model",
"objective",
"gene",
"status"
]
},
"FrogGeneDeletions": {
"title": "FrogGeneDeletions",
"description": "Definition of FROG Gene deletions.",
"type": "object",
"properties": {
"deletions": {
"title": "Deletions",
"type": "array",
"items": {
"$ref": "#/definitions/FrogGeneDeletion"
}
}
},
"required": [
"deletions"
]
}
}
}