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