Building Entities

ModelBuildingConfig

The ModelBuildingConfig serves as the master configuration for the entire model building workflow, encompassing all generator configurations required at each stage of the process.

digraph foo{ rankdir = "LR" splines = "ortho" ModelBuildingConfig[ shape = Mrecord style = filled fillcolor = lemonchiffon ] CellCompositionConfig [ shape = Mrecord style = filled fillcolor = lemonchiffon width = 3 ] CellPositionConfig [ shape = Mrecord style = filled fillcolor = lemonchiffon width = 3 ] MorphologyAssignmentConfig [ shape = Mrecord style = filled fillcolor = lemonchiffon width = 3 ] MEModelConfig [ shape = Mrecord style = filled fillcolor = lemonchiffon width = 3 ] MacroConnectomeConfig [ shape = Mrecord style = filled fillcolor = lemonchiffon width = 3 ] MicroConnectomeConfig [ shape = Mrecord style = filled fillcolor = lemonchiffon width = 3 ] SynapseConfig [ shape = Mrecord style = filled fillcolor = lemonchiffon width = 3 ] ModelBuildingConfig -> CellCompositionConfig [label="configs[cellCompositionConfig]", labelheight=2]; ModelBuildingConfig -> CellPositionConfig [label="configs[cellPositionConfig]"]; ModelBuildingConfig -> MorphologyAssignmentConfig [label="configs[morphologyAssignmentConfig]"]; ModelBuildingConfig -> MEModelConfig [label="configs[meModelConfig]"]; ModelBuildingConfig -> MacroConnectomeConfig [label="configs[macroConnectomeConfig]"]; ModelBuildingConfig -> MicroConnectomeConfig [label="configs[microConnectomeConfig]"]; ModelBuildingConfig -> SynapseConfig [label="configs[synapseConfig]"]; }

CellCompositionConfig

The CellCompositionConfig is a configuration entity that stores the settings used to update the densities of an existing CellComposition.

Distribution Keys

Key

Explanation

variantDefinition

CWL definition to be used.

inputs

Inputs to placement. A CellComposition entry.

configuration

Overrides for the CellComposition input.

inputs is used to list the base CellComposition that will be used and configuration to specify the optional overrides of which densities to modify.

To specify an overrides the region/mtype/etype combination must be specified as follows:

"overrides": {
  "http://api.brain-map.org/api/v2/data/Structure/23": {
    "hasPart": {
      "https://bbp.epfl.ch/ontologies/core/bmo/GenericExcitatoryNeuronMType": {
        "hasPart": {
          "https://bbp.epfl.ch/ontologies/core/bmo/GenericExcitatoryNeuronEType": {
            "composition": {
              "neuron": {
                "density": 1200
              }
            }
          }
        }
      }
    }
  }
}

There are two keys that can be used to update a density composition:

  • density

  • density_ratio

where density is used to update the voxels with the specific value and density-ratio adjusts the values relative to an existing density.

Distribution Schema

%YAML 1.1
---
"$schema": https://json-schema.org/draft/2020-12/schema
title: CellCompositionConfig distribution schema

'$defs':
  uri:
    type: string
    format: uri
    pattern: '^https?:\/\/[^?#]*$'  # uri without query or fragment

  revision:
    type: integer
    minimum: 1

  variant_info:
    type: object
    required:
      - algorithm
      - version
    algorithm:
      type: string
    version:
      type: string

  input_entry:
    type: object
    required:
      - name
      - type
      - id
    properties:
      name:
        type: string
      type:
        type: string
      id:
        type: string

additionalProperties: false
patternProperties:
  '^http://api.brain-map.org/api/v2/data/Structure/997$':
    type: object
    required:
      - variantDefinition
      - inputs
      - configuration

    additionalProperties: false
    properties:

      variantDefinition:
        '$ref': '#/$defs/variant_info'

      inputs:
        type: array
        items:
          '$ref': '#/$defs/input_entry'

      configuration:
        type: object
        required:
          - overrides
        properties:
          overrides:
            additionalProperties: false
            patternProperties:
              '^https?:\/\/.*\/Structure\/\d*$':  # brain regions finishing in /Structure/int
                type: object
                required:
                  - label
                  - hasPart
                properties:
                  label:
                    type: string
                  hasPart:
                    type: object
                    additionalProperties: false
                    patternProperties:
                      '^https?:\/\/[^?#]*$':  # etypes
                        type: object
                        properties:
                          label:
                            type: string
                          '_rev':
                            type: integer
                          composition:
                            type: object
                            required:
                              - neuron
                            properties:
                              neuron:
                                type: object
                                required:
                                  - density
                                properties:
                                  density:
                                    type: number

Distribution Example

{
  "http://api.brain-map.org/api/v2/data/Structure/997": {
    "variantDefinition": {
      "algorithm": "cell_composition_manipulation",
      "version": "v3"
    },
    "inputs": [
      {
        "name": "base_cell_composition_id",
        "type": "Dataset",
        "id": "https://bbp.epfl.ch/neurosciencegraph/data/cellcompositions/54818e46-cf8c-4bd6-9b68-34dffbc8a68c?tag=v1.1.0"
      }
    ],
    "configuration": {
      "version": 1,
      "unitCode": {
        "density": "mm^-3"
      },
      "overrides": {
        "http://api.brain-map.org/api/v2/data/Structure/23": {
          "label": "Anterior amygdalar area",
          "about": "BrainRegion",
          "hasPart": {
            "https://bbp.epfl.ch/ontologies/core/bmo/GenericExcitatoryNeuronMType": {
              "label": "GEN_mtype",
              "about": "MType",
              "hasPart": {
                "https://bbp.epfl.ch/ontologies/core/bmo/GenericExcitatoryNeuronEType": {
                  "label": "GEN_etype",
                  "about": "EType",
                  "composition": {
                    "neuron": {
                      "density": 1200
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

CellPositionConfig

The CellPositionConfig is a configuration entity that stores the settings used for placing cells in space.

Distribution Keys

Key

Explanation

variantDefinition

CWL definition to be used.

inputs

Inputs to placement. Currently Empty.

configuration

Placement algorithm configuration options.

Distribution Schema

%YAML 1.1
---
"$schema": https://json-schema.org/draft/2020-12/schema
title: CellCompositionConfig distribution schema

'$defs':
  variant_info:
    type: object
    required:
      - algorithm
      - version
    algorithm:
      type: string
    version:
      type: string

additionalProperties: false
patternProperties:
  '^http://api.brain-map.org/api/v2/data/Structure/997$':
    type: object
    required:
      - variantDefinition
      - configuration
    properties:
      variantDefinition:
        '$ref': '#/$defs/variant_info'
      configuration:
        type: object
        required:
          - place_cells
        properties:
          place_cells:
            type: object
            properties:
              soma_placement:
                type: string
              density_factor:
                type: number
              seed:
                type: integer

Distribution Example

{
  "http://api.brain-map.org/api/v2/data/Structure/997": {
    "variantDefinition": {
      "algorithm": "neurons_cell_position",
      "version": "v3"
    },
    "inputs": [],
    "configuration": {
      "place_cells": {
        "soma_placement": "basic",
        "density_factor": 1,
        "sort_by": [
          "region",
          "mtype"
        ],
        "seed": 0,
        "mini_frequencies": false
      }
    }
  }
}

MorphologyAssignmentConfig

The MorphologyAssignmentConfig is a configuration entity that stores the settings used for assigning morphologies to a node population.

Distribution Keys

Key

Explanation

variantDefinition

CWL definitions to be used.

defaults

Default configurations for synthesis and placeholders.

configuration

Configuration for topological synthesis entries.

There are two main ways of asignment:

  • placeholder_assignment: Use placeholder cells.

  • topological_synthesis: Synthesize morphologies using topological branching information.

defaults

The configurations for placeholders and synthesis are stored under defaults corresponding to the following entities:

which define a canonical model or placeholder morphologies for each (region, mtype) combination in the atlas.

"defaults": {
"topological_synthesis": {
  "@id": "https://bbp.epfl.ch/data/bbp/mmb-point-neuron-framework-model/fae6eb46-3007-41c6-af69-941a82aada68",
  "@type": "CanonicalMorphologyModelConfig"
},
"placeholder_assignment": {
  "@id": "https://bbp.epfl.ch/data/bbp/mmb-point-neuron-framework-model/9503a07d-8337-48eb-8637-acc26b0f13bf",
  "@type": "PlaceholderMorphologyConfig"
}

Note

Both default configurations should be computed on the same Atlas Release and be in sync with each other.

configuration

In the configuration section only the (region, mtype) combinations that will be synthesized are listed:

"configuration": {
  "topological_synthesis": {
    "http://api.brain-map.org/api/v2/data/Structure/632": {
      "https://bbp.epfl.ch/ontologies/core/bmo/GenericExcitatoryNeuronMType": {}
    }
  }
}

The entries in configuration determine which entries will be selected from the default CanonicalMorphologyModelConfig. By convention the rest of the entries will be assigned placeholders from the default PlaceholderMorphologyConfig.

It is also possible to specify overrides for the topological synthesis configuration as follows:

"configuration": {
  "topological_synthesis": {
    "http://api.brain-map.org/api/v2/data/Structure/632": {
      "https://bbp.epfl.ch/ontologies/core/bmo/GenericExcitatoryNeuronMType": {
        "@id": "https://bbp.epfl.ch/data/bbp/mmb-point-neuron-framework-model/canonicalmorphologymodels/dfda5210-39b5-428d-ac0c-43852f99df02",
        "overrides": {
          "apical_dendrite": {
            "randomness": 0.11,
            "step_size": {
              "norm": {
                "mean": 7.6,
                "std": 0.2
              }
            },
            "targeting": 0.34
          }
        }
      }
    }
  }
}

Distribution Schema

%YAML 1.1
---
"$schema": https://json-schema.org/draft/2020-12/schema
title: MorphologyAssignmentConfig distribution schema
'$defs':
  uri:
    type: string
    format: uri
    pattern: '^https?:\/\/[^?#]*$'  # uri without query or fragment
  revision:
    type: integer
    minimum: 1
  variant_info:
    type: object
    required:
      - algorithm
      - version
    algorithm:
      type: string
    version:
      type: string
  variant_entry:
      type: object
      required:
        - '@id'
      properties:
        '@id':
          '$ref': '#/$defs/uri'
        '_rev':
          '$ref': '#/$defs/revision'
type: object
required:
  - variantDefinition
  - defaults
  - configuration
properties:

  version:
    type: integer

  variantDefinition:
    type: object
    required:
      - topological_synthesis
      - placeholder_assignment
    properties:
      topological_synthesis:
        "$ref": "#/$defs/variant_info"
      placeholder_assignment:
        "$ref": "#/$defs/variant_info"

  defaults:
    type: object
    required:
      - topological_synthesis
      - placeholder_assignment
    properties:
      topological_synthesis:
        "$ref": "#/$defs/variant_entry"
      placeholder_assignment:
        "$ref": "#/$defs/variant_entry"

  configuration:
    type: object
    properties:
      topological_synthesis:
        type: object
        patternProperties:
          '^https?:\/\/.*\/Structure\/\d*$':  # brain regions finishing in /Structure/int
            type: object
            patternProperties:
              '^https?:\/\/[^?#]*$':  # mtypes
                type: object
                properties:
                  '@id':
                    '$ref': '#/$defs/uri'
                  '_rev':
                    '$ref': '#/$defs/revision'
                  overrides:
                    type: object
                    properties:
                      apical_dendrite:
                        type: object
                        properties:
                          randomness:
                            type: number
                          step_size:
                            type: object
                            properties:
                              norm:
                                type: object
                                properties:
                                  mean:
                                    type: number
                                  std:
                                    type: number
                                additionalProperties: false
                            additionalProperties: false
                          targeting:
                            type: number
                  additionalProperties: false
            additionalProperties: false
        additionalProperties: false

Distribution Example

{
  "variantDefinition": {
    "topological_synthesis": {
      "algorithm": "topological_synthesis",
      "version": "v1"
    },
    "placeholder_assignment": {
      "algorithm": "placeholder_assignment",
      "version": "v1"
    }
  },
  "defaults": {
    "topological_synthesis": {
      "@id": "https://bbp.epfl.ch/data/bbp/mmb-point-neuron-framework-model/5ec117b5-8ffa-4f3b-95ca-1dc8ad1b0c4d",
      "@type": [
        "CanonicalMorphologyModelConfig",
        "Entity"
      ]
    },
    "placeholder_assignment": {
      "@id": "https://bbp.epfl.ch/neurosciencegraph/data/06b340d4-ac99-4459-bab4-013ef7199c36",
      "@type": [
        "PlaceholderMorphologyConfig",
        "Entity"
      ],
      "_rev": 2
    }
  },
  "configuration": {
    "topological_synthesis": {
      "http://api.brain-map.org/api/v2/data/Structure/632": {
        "https://bbp.epfl.ch/ontologies/core/bmo/GenericExcitatoryNeuronMType": {
          "@id": "https://bbp.epfl.ch/data/bbp/mmb-point-neuron-framework-model/canonicalmorphologymodels/dfda5210-39b5-428d-ac0c-43852f99df02",
          "overrides": {
            "apical_dendrite": {
              "randomness": 0.11,
              "step_size": {
                "norm": {
                  "mean": 7.6,
                  "std": 0.2
                }
              },
              "targeting": 0.34
            }
          }
        }
      }
    }
  }
}

MEModelConfig

The MEModelConfig is a configuration entity that stores the settings used for assigning emodels to node populations with morphologies.

Distribution Keys

Key

Explanation

variantDefinition

CWL definitions to be used.

defaults

Placeholder configurations for emodels.

overrides

Overrides to placeholder emodel configuration.

defaults

The defaults contain the following placeholder configurations:

overrides

Distribution Schema

%YAML 1.1
---
"$schema": https://json-schema.org/draft/2020-12/schema
title: MorphologyAssignmentConfig distribution schema
'$defs':
  uri:
    type: string
    format: uri
    pattern: '^https?:\/\/[^?#]*$'  # uri without query or fragment
  revision:
    type: integer
    minimum: 1
  variant_info:
    type: object
    required:
      - algorithm
      - version
    algorithm:
      type: string
    version:
      type: string
  entity_entry:
      type: object
      required:
        - '@id'
      properties:
        '@id':
          '$ref': '#/$defs/uri'
        '_rev':
          '$ref': '#/$defs/revision'
type: object
required:
  - variantDefinition
  - defaults
properties:

  version:
    type: integer
    minimim: 1

  variantDefinition:
    type: object
    properties:
      neurons_me_model:
        "$ref": "#/$defs/variant_info"

  defaults:
    type: object
    properties:
      neurons_me_model:
        "$ref": "#/$defs/entity_entry"

  overrides:
    type: object
    properties:
      neurons_me_model:
        type: object
        patternProperties:
          '^https?:\/\/.*\/Structure\/\d*$':  # brain regions finishing in /Structure/int
            type: object
            patternProperties:
              '^https?:\/\/[^?#]*$':  # mtypes
                type: object
                patternProperties:
                  '^https?:\/\/[^?#]*$':  # etypes
                    type: object
                    properties:
                      assignmentAlgorithm:
                        const: "assignOne"
                      eModel:
                        "$ref": "#/$defs/entity_entry"
                      axonInitialSegmentAssignment:
                        type: object
                        properties:
                          fixedValue:
                            type: object
                            properties:
                              value:
                                type: number
                            additionalProperties: false
                        additionalProperties: false
                      additionalProperties: false

Distribution Example

{
    "variantDefinition": {
        "neurons_me_model": {
            "algorithm": "neurons_me_model",
            "version": "v1"
        }
    },
    "defaults": {
        "neurons_me_model": {
            "@id": "https://bbp.epfl.ch/data/bbp/mmb-point-neuron-framework-model/2ec96e9f-7254-44b5-bbcb-fdea3e18f110",
            "@type": ["PlaceholderEModelConfig", "Entity"]
        }
    },
    "overrides": {
        "neurons_me_model": {
            "http://api.brain-map.org/api/v2/data/Structure/614454342": {
                "http://uri.interlex.org/base/ilx_0381367": {
                    "http://bbp.epfl.ch/neurosciencegraph/ontologies/etypes/cADpyr": {
                        "assignmentAlgorithm": "assignOne",
                        "emodel": {
                            "@id": "https://bbp.epfl.ch/neurosciencegraph/data/f91eeb30-c6e7-40f8-8917-fd8007ec8917",
                            "_rev": 2
                        },
                        "axonInitialSegmentAssignment": {"fixedValue": {"value": 1}}
                    }
                }
            }
        }
    }
}

MacroConnectomeConfig

The MacroConnectomeConfig is a configuration entity that stores the settings used for macroscopic connectome configuration.

Distribution Keys

Key

Explanation

initial

Initial connectome configurations.

overrides

Connectome overrides on the initial configuration.

Distribution Schema

%YAML 1.1
---
"$schema": https://json-schema.org/draft/2020-12/schema
title: MacroConnectomeConfig distribution schema

'$defs':

  uri:
    type: string
    format: uri
    pattern: '^https?:\/\/[^?#]*$'  # uri without query or fragment

  revision:
    type: integer
    minimum: 1


required:
  - initial

properties:

  initial:
    type: object
    properties:
      connection_strength:
        type: object
        additionalProperties: false
        properties:
          id:
            '$ref': '#/$defs/uri'
          type:
            'oneOf':
              - type: string
                const: BrainConnectomeStrength
              - type: array
                contains:
                  type: string
                  const: BrainConnectomeStrength
          rev:
            '$ref': '#/$defs/revision'
  overrides:
    type: object
    properties:
      connection_strength:
        type: object
        additionalProperties: false
        properties:
          id:
            '$ref': '#/$defs/uri'
          type:
            'oneOf':
              - type: string
                const: BrainConnectomeStrengthOverrides
              - type: array
                contains:
                  type: string
                  const: BrainConnectomeStrengthOverrides
          rev:
            '$ref': '#/$defs/revision'

Distribution Example

{
  "initial": {
    "connection_strength": {
      "id": "https://bbp.epfl.ch/neurosciencegraph/data/connectomestrength/8e285d4b-4d09-4357-98ae-9e9fc61face6",
      "type": [
        "Entity",
        "Dataset",
        "BrainConnectomeStrength"
      ],
      "rev": 10
    }
  },
  "overrides": {
    "connection_strength": {
      "id": "https://bbp.epfl.ch/neurosciencegraph/data/wholebrainconnectomestrengths/9357f9b4-8e94-45cd-b701-8d18648a17a6",
      "type": [
        "Entity",
        "Dataset",
        "BrainConnectomeStrengthOverrides"
      ],
      "rev": 1
    }
  },
  "_ui_data": {
    "editHistory": []
  }
}

MicroConnectomeConfig

The MicroConnectomeConfig is a configuration entity that stores the settings used for microscopic connectome configuration.

Distribution Keys

Key

Explanation

variants

Variant CWL definitions for connectome algorithms.

initial

Initial micro connectome configurations.

overrides

Connectome overrides on the initial configuration.

Distribution Schema

%YAML 1.1
---
"$schema": https://json-schema.org/draft/2020-12/schema
title: MicroConnectomeConfig distribution schema

'$defs':

  uri:
    type: string
    format: uri
    pattern: '^https?:\/\/[^?#]*$'  # uri without query or fragment

  revision:
    type: integer
    minimum: 1

  param:
    type: object
    additionalProperties: false
    properties:
      type:
        type: string
      unitCode:
        type: string
      default:
        type: number


type: object

required:
  - variants
  - initial
  - overrides

properties:

  variants:
    type: object
    properties:
      placeholder__erdos_renyi:
        type: object
        additionalProperties: false
        properties:
          algorithm:
            type: string
          version:
            type: string
          params:
            type: object
            properties:
              weight:
                '$ref': '#/$defs/param'
              nsynconn_mean:
                '$ref': '#/$defs/param'
              nsynconn_std:
                '$ref': '#/$defs/param'
              delay_velocity:
                '$ref': '#/$defs/param'
              delay_offset:
                '$ref': '#/$defs/param'
      placeholder__distance_dependent:
        type: object
        additionalProperties: false
        properties:
          algorithm:
            type: string
          version:
            type: string
          params:
            type: object
            properties:
              weight:
                '$ref': '#/$defs/param'
              exponent:
                '$ref': '#/$defs/param'
              nsynconn_mean:
                '$ref': '#/$defs/param'
              nsynconn_std:
                '$ref': '#/$defs/param'
              delay_velocity:
                '$ref': '#/$defs/param'
              delay_offset:
                '$ref': '#/$defs/param'
    initial:
      type: object
      additionalProperties: false
      required:
        - variants
        - placeholder__erdos_renyi
        - placeholder__distance_dependent
      properties:
        variants:
          type: object
          required:
            - id
            - type
          properties:
            id:
              '$ref': '#/$defs/uri'
            type:
              'oneOf':
                - type: string
                  const: MicroConnectomeVariantSelection
                - type: array
                  items:
                    type: string
                  contains:
                    type: string
                    const: MicroConnectomeVariantSelection
            rev:
              '$ref': '#/$defs/revision'
        placeholder__erdos_renyi:
          type: object
          required:
            - id
            - type
          properties:
            id:
              '$ref': '#/$defs/uri'
            type:
              'oneOf':
                - type: string
                  const: MicroConnectomeData
                - type: array
                  items:
                    type: string
                  contains:
                    type: string
                    const: MicroConnectomeData
            rev:
              '$ref': '#/$defs/revision'
        placeholder__distance_dependent:
          type: object
          required:
            - id
            - type
          properties:
            id:
              '$ref': '#/$defs/uri'
            type:
              'oneOf':
                - type: string
                  const: MicroConnectomeData
                - type: array
                  items:
                    type: string
                  contains:
                    type: string
                    const: MicroConnectomeData
            rev:
              '$ref': '#/$defs/revision'
    overrides:
      type: object
      additionalProperties: false
      required:
        - variants
        - placeholder__erdos_renyi
        - placeholder__distance_dependent
      properties:
        variants:
          type: object
          required:
            - id
            - type
          properties:
            id:
              '$ref': '#/$defs/uri'
            type:
              'oneOf':
                - type: string
                  const: MicroConnectomeVariantSelectionOverrides
                - type: array
                  items:
                    type: string
                  contains:
                    type: string
                    const: MicroConnectomeVariantSelectionOverrides
            rev:
              '$ref': '#/$defs/revision'
        placeholder__erdos_renyi:
          type: object
          required:
            - id
            - type
          properties:
            id:
              '$ref': '#/$defs/uri'
            type:
              'oneOf':
                - type: string
                  const: MicroConnectomeDataOverrides
                - type: array
                  items:
                    type: string
                  contains:
                    type: string
                    const: MicroConnectomeDataOverrides
            rev:
              '$ref': '#/$defs/revision'
        placeholder__distance_dependent:
          type: object
          required:
            - id
            - type
          properties:
            id:
              '$ref': '#/$defs/uri'
            type:
              'oneOf':
                - type: string
                  const: MicroConnectomeDataOverrides
                - type: array
                  items:
                    type: string
                  contains:
                    type: string
                    const: MicroConnectomeDataOverrides
            rev:
              '$ref': '#/$defs/revision'

Distribution Example

{
  "variants": {
    "placeholder__erdos_renyi": {
      "algorithm": "placeholder",
      "version": "v3",
      "params": {
        "weight": {
          "type": "float32",
          "unitCode": "#synapses/connection",
          "default": 0
        },
        "nsynconn_mean": {
          "type": "float32",
          "unitCode": "#synapses/connection",
          "default": 3
        },
        "nsynconn_std": {
          "type": "float32",
          "unitCode": "#synapses/connection",
          "default": 1.5
        },
        "delay_velocity": {
          "type": "float32",
          "unitCode": "um/ms",
          "default": 250
        },
        "delay_offset": {
          "type": "float32",
          "unitCode": "ms",
          "default": 0.8
        }
      }
    },
    "placeholder__distance_dependent": {
      "algorithm": "placeholder",
      "version": "v3",
      "params": {
        "weight": {
          "type": "float32",
          "unitCode": "#synapses/connection",
          "default": 0
        },
        "exponent": {
          "type": "float32",
          "unitCode": "1/um",
          "default": 0.008
        },
        "nsynconn_mean": {
          "type": "float32",
          "unitCode": "#synapses/connection",
          "default": 3
        },
        "nsynconn_std": {
          "type": "float32",
          "unitCode": "#synapses/connection",
          "default": 1.5
        },
        "delay_velocity": {
          "type": "float32",
          "unitCode": "um/ms",
          "default": 250
        },
        "delay_offset": {
          "type": "float32",
          "unitCode": "ms",
          "default": 0.8
        }
      }
    }
  },
  "initial": {
    "variants": {
      "id": "https://bbp.epfl.ch/neurosciencegraph/data/a46a442c-5baa-4a5c-9907-bfb359dd9e5d",
      "rev": 9,
      "type": [
        "Entity",
        "Dataset",
        "MicroConnectomeVariantSelection"
      ]
    },
    "placeholder__erdos_renyi": {
      "id": "https://bbp.epfl.ch/neurosciencegraph/data/microconnectomedata/009413eb-e51b-40bc-9199-8b98bfc53f87",
      "rev": 7,
      "type": [
        "Entity",
        "Dataset",
        "MicroConnectomeData"
      ]
    },
    "placeholder__distance_dependent": {
      "id": "https://bbp.epfl.ch/neurosciencegraph/data/microconnectomedata/c7e1d215-2dad-4216-8565-6b1e4c161f46",
      "rev": 7,
      "type": [
        "Entity",
        "Dataset",
        "MicroConnectomeData"
      ]
    }
  },
  "overrides": {
    "variants": {
      "id": "https://bbp.epfl.ch/data/bbp/mmb-point-neuron-framework-model/deee5e86-1d7b-45f6-8fad-259a71c35c6a",
      "type": [
        "Entity",
        "Dataset",
        "MicroConnectomeVariantSelectionOverrides"
      ],
      "rev": 1
    },
    "placeholder__erdos_renyi": {
      "id": "https://bbp.epfl.ch/data/bbp/mmb-point-neuron-framework-model/36426136-201d-4dfd-93d9-b541e113a6bf",
      "type": [
        "Entity",
        "Dataset",
        "MicroConnectomeDataOverrides"
      ],
      "rev": 1
    },
    "placeholder__distance_dependent": {
      "id": "https://bbp.epfl.ch/data/bbp/mmb-point-neuron-framework-model/4bb03c2b-b99d-4a5d-8a8b-12e1a30619aa",
      "type": [
        "Entity",
        "Dataset",
        "MicroConnectomeDataOverrides"
      ],
      "rev": 1
    }
  },
  "_ui_data": {
    "editHistory": []
  }
}

SynapseConfig

The SynapseConfig is a configuration entity that stores the settings for assigning synaptic parameters to circuits.

Distribution Keys

Key

Explanation

variantDefinition

Variant CWL definition information.

defaults

Initial synaptic parameter configurations.

configuration

Final synaptic parameter configuration.

Distribution Schema

%YAML 1.1
---
"$schema": https://json-schema.org/draft/2020-12/schema
title: SynapseConfig distribution schema

'$defs':
  uri:
    type: string
    format: uri
    pattern: '^https?:\/\/[^?#]*$'  # uri without query or fragment

  revision:
    type: integer
    minimum: 1

  variant_info:
    type: object
    required:
      - algorithm
      - version
    algorithm:
      type: string
    version:
      type: string

  synaptic_parameter_assignment:
    type: object
    required:
      - id
      - type
    properties:
      id:
        '$ref': '#/$defs/uri'
      type:
        'oneOf':
          - type: string
            const: SynapticParameterAssignment
          - type: array
            maxItems: 2
            items:
              type: string
              enum:
                - Dataset
                - SynapticParameterAssignment
      rev:
        '$ref': '#/$defs/revision'

  synaptic_parameter:
    type: object
    required:
      - id
      - type
    properties:
      id:
        '$ref': '#/$defs/uri'
      type:
        'oneOf':
          - type: string
            const: SynapticParameter
          - type: array
            maxItems: 2
            items:
              type: string
              enum:
                - Dataset
                - SynapticParameter
      rev:
        '$ref': '#/$defs/revision'

type: object

required:
  - variantDefinition
  - defaults
  - configuration

properties:

  variantDefinition:
    '$ref': '#/$defs/variant_info'

  defaults:
    type: object
    required:
      - synapse_properties
      - synapses_classification
    properties:
      synapse_properties:
        '$ref': '#/$defs/synaptic_parameter_assignment'
      synapses_classification:
        '$ref': '#/$defs/synaptic_parameter' 
    additionalProperties: false

  configuration:
    type: object
    required:
      - synapse_properties
      - synapses_classification
    properties:
      synapse_properties:
        '$ref': '#/$defs/synaptic_parameter_assignment'
      synapses_classification:
        '$ref': '#/$defs/synaptic_parameter' 
    additionalProperties: false

Distribution Example

{
  "variantDefinition": {
    "algorithm": "synapses",
    "version": "v2"
  },
  "defaults": {
    "synapse_properties": {
      "id": "https://bbp.epfl.ch/neurosciencegraph/data/synapticassignment/d57536aa-d576-4b3b-a89b-b7888f24eb21",
      "type": [
        "Dataset",
        "SynapticParameterAssignment"
      ],
      "rev": 9
    },
    "synapses_classification": {
      "id": "https://bbp.epfl.ch/neurosciencegraph/data/synapticparameters/cf25c2bf-e6e4-4367-acd8-94004bfcfe49",
      "type": [
        "Dataset",
        "SynapticParameter"
      ],
      "rev": 6
    }
  },
  "configuration": {
    "synapse_properties": {
      "id": "https://bbp.epfl.ch/data/bbp/mmb-point-neuron-framework-model/839a8b83-1620-4fe7-8f58-658ded0ea1e8",
      "type": [
        "Dataset",
        "SynapticParameterAssignment"
      ],
      "rev": 1
    },
    "synapses_classification": {
      "id": "https://bbp.epfl.ch/data/bbp/mmb-point-neuron-framework-model/d133e408-bd00-41ca-9334-e5fab779ad99",
      "type": [
        "Dataset",
        "SynapticParameter"
      ],
      "rev": 3
    }
  }
}

CanonicalMorphologyModelConfig

The CanonicalMorphologyModelConfig is a configuration entity that stores the canonical models for each (region, mtype) combination, used for topological synthesis.

Distribution Schema

%YAML 1.1
---
"$schema": https://json-schema.org/draft/2020-12/schema
title: CanonicalMorphologyModelConfig distribution schema
type: object
required:
- hasPart
properties:
  version:
    type: integer
    const: 2
  hasPart:
    additionalProperties: false
    patternProperties:
      '^https?:\/\/.*\/Structure\/\d*$':  # brain regions finishing in /Structure/int
        type: object
        required:
          - notation
          - hasPart
        properties:
          notation:
            type: string
          hasPart:
            type: object
            additionalProperties: false
            patternProperties:
              '^https?:\/\/[^?#]*$':  # mtypes
                type: object
                required:
                  - label
                  - hasPart
                properties:
                  label:
                    type: string
                  hasPart:
                    type: object
                    additionalProperties: false
                    patternProperties:
                      '^https?:\/\/[^?#]*$':  # canonical model ids
                        type: object
                        properties:
                          "_rev":
                            type: integer

Distribution Example

{
  "hasPart": {
    "http://api.brain-map.org/api/v2/data/Structure/23": {
      "label": "Anterior amygdalar area",
      "notation": "AAA",
      "about": "BrainRegion",
      "hasPart": {
        "https://bbp.epfl.ch/ontologies/core/bmo/GenericExcitatoryNeuronMType": {
          "label": "GEN_mtype",
          "about": "NeuronMorphology",
          "hasPart": {
            "https://bbp.epfl.ch/data/bbp/mmb-point-neuron-framework-model/canonicalmorphologymodels/dfda5210-39b5-428d-ac0c-43852f99df02": {
              "about": "CanonicalMorphologyModel",
              "_rev": 3
            }
          }
        },
        "https://bbp.epfl.ch/ontologies/core/bmo/GenericInhibitoryNeuronMType": {
          "label": "GIN_mtype",
          "about": "NeuronMorphology",
          "hasPart": {
            "https://bbp.epfl.ch/data/bbp/mmb-point-neuron-framework-model/canonicalmorphologymodels/c58fceb9-a61e-49c8-a6fa-603a99450914": {
              "about": "CanonicalMorphologyModel",
              "_rev": 3
            }
          }
        }
      }
    },
    "http://api.brain-map.org/api/v2/data/Structure/935": {
      "label": "Anterior cingulate area, dorsal part, layer 1",
      "notation": "ACAd1",
      "about": "BrainRegion",
      "hasPart": {
        "http://uri.interlex.org/base/ilx_0383192": {
          "label": "L1_DAC",
          "about": "NeuronMorphology",
          "hasPart": {
            "https://bbp.epfl.ch/data/bbp/mmb-point-neuron-framework-model/canonicalmorphologymodels/3b5e4f0a-2631-4898-b323-907522b07f2c": {
              "about": "CanonicalMorphologyModel",
              "_rev": 3
            }
          }
        }
      }
    }
  }
}

PlaceholderMorphologyConfig

The PlaceholderMorphologyConfig is a configuration entity that stores placeholder morphologies for each (region, mtype) combination, used for morphology assignment.

Distribution Schema

%YAML 1.1
---
"$schema": https://json-schema.org/draft/2020-12/schema
title: PlaceholderMorphologyConfig distribution schema
type: object
required:
- hasPart
properties:
  version:
    type: integer
    const: 2
  hasPart:
    additionalProperties: false
    patternProperties:
      '^https?:\/\/.*\/Structure\/\d*$':  # brain regions finishing in /Structure/int
        type: object
        required:
          - notation
          - hasPart
        properties:
          notation:
            type: string
          hasPart:
            type: object
            additionalProperties: false
            patternProperties:
              '^https?:\/\/[^?#]*$':  # mtypes
                type: object
                required:
                  - label
                  - hasPart
                properties:
                  label:
                    type: string
                  hasPart:
                    type: object
                    additionalProperties: false
                    patternProperties:
                      '^https?:\/\/[^?#]*$':  # morphology ids
                        type: object
                        required:
                          - '_rev'

Distribution Example

{
  "hasPart": {
    "http://api.brain-map.org/api/v2/data/Structure/23": {
      "label": "Anterior amygdalar area",
      "notation": "AAA",
      "about": "BrainRegion",
      "hasPart": {
        "https://bbp.epfl.ch/ontologies/core/bmo/GenericExcitatoryNeuronMType": {
          "label": "GEN_mtype",
          "about": "NeuronMorphology",
          "hasPart": {
            "https://bbp.epfl.ch/data/bbp/mmb-point-neuron-framework-model/9829da8e-33e1-4a04-97ec-7943a4a969eb": {
              "about": "NeuronMorphology",
              "_rev": 3
            }
          }
        },
        "https://bbp.epfl.ch/ontologies/core/bmo/GenericInhibitoryNeuronMType": {
          "label": "GIN_mtype",
          "about": "NeuronMorphology",
          "hasPart": {
            "https://bbp.epfl.ch/data/bbp/mmb-point-neuron-framework-model/9829da8e-33e1-4a04-97ec-7943a4a969eb": {
              "about": "NeuronMorphology",
              "_rev": 3
            }
          }
        }
      }
    },
    "http://api.brain-map.org/api/v2/data/Structure/935": {
      "label": "Anterior cingulate area, dorsal part, layer 1",
      "notation": "ACAd1",
      "about": "BrainRegion",
      "hasPart": {
        "http://uri.interlex.org/base/ilx_0383192": {
          "label": "L1_DAC",
          "about": "NeuronMorphology",
          "hasPart": {
            "https://bbp.epfl.ch/data/bbp/mmb-point-neuron-framework-model/9829da8e-33e1-4a04-97ec-7943a4a969eb": {
              "about": "NeuronMorphology",
              "_rev": 3
            }
          }
        }
      }
    }
  }
}

PlaceholderEModelConfig

The PlaceholderEModelsConfig is a configuration entity that stores the placeholder emodels for each (region, etype) combination, used for emodel assignment.

Distribution Schema

%YAML 1.1
---
"$schema": https://json-schema.org/draft/2020-12/schema
title: PlaceholderEModelConfig distribution schema
type: object
required:
- hasPart
properties:
  version:
    type: integer
    const: 1
  hasPart:
    additionalProperties: false
    patternProperties:
      '^https?:\/\/.*\/Structure\/\d*$':  # brain regions finishing in /Structure/int
        type: object
        required:
          - notation
          - hasPart
        properties:
          notation:
            type: string
          hasPart:
            type: object
            additionalProperties: false
            patternProperties:
              '^https?:\/\/[^?#]*$':  # mtypes
                type: object
                required:
                  - label
                  - hasPart
                properties:
                  label:
                    type: string
                  hasPart:
                    type: object
                    patternProperties:
                      '^https?:\/\/[^?#]*$':  # etypes
                        type: object
                        properties:
                          label:
                            type: string
                          hasPart:
                            type: object
                            patternProperties:
                              '^https?:\/\/[^?#]*$':  # EModel ids
                                type: object
                                required:
                                  - '_rev'
                            additionalProperties: false
                    additionalProperties: false

Distribution Example

{
  "hasPart": {
    "http://api.brain-map.org/api/v2/data/Structure/23": {
      "label": "Anterior amygdalar area",
      "notation": "AAA",
      "about": "BrainRegion",
      "hasPart": {
        "https://bbp.epfl.ch/ontologies/core/bmo/GenericExcitatoryNeuronMType": {
          "label": "GEN_mtype",
          "about": "MType",
          "hasPart": {
            "https://bbp.epfl.ch/ontologies/core/bmo/GenericExcitatoryNeuronEType": {
              "label": "GEN_etype",
              "about": "EType",
              "hasPart": {
                "https://bbp.epfl.ch/data/bbp/mmb-point-neuron-framework-model/65d6a42a-ec6f-4a17-b1d2-b6ff1c7225b8": {
                  "about": "EModel",
                  "_rev": 2
                }
              }
            }
          }
        },
        "https://bbp.epfl.ch/ontologies/core/bmo/GenericInhibitoryNeuronMType": {
          "label": "GIN_mtype",
          "about": "MType",
          "hasPart": {
            "https://bbp.epfl.ch/ontologies/core/bmo/GenericInhibitoryNeuronEType": {
              "label": "GIN_etype",
              "about": "EType",
              "hasPart": {
                "https://bbp.epfl.ch/data/bbp/mmb-point-neuron-framework-model/ff571ada-fc08-4e6b-9b5c-1c21ee22ccb2": {
                  "about": "EModel",
                  "_rev": 1
                }
              }
            }
          }
        }
      }
    },
    "http://api.brain-map.org/api/v2/data/Structure/935": {
      "label": "Anterior cingulate area, dorsal part, layer 1",
      "notation": "ACAd1",
      "about": "BrainRegion",
      "hasPart": {
        "http://uri.interlex.org/base/ilx_0383192": {
          "label": "L1_DAC",
          "about": "MType",
          "hasPart": {
            "http://uri.interlex.org/base/ilx_0738203": {
              "label": "bNAC",
              "about": "EType",
              "hasPart": {
                "https://bbp.epfl.ch/data/bbp/mmb-point-neuron-framework-model/af16d001-7e73-4b10-88ef-868567d77242": {
                  "about": "EModel",
                  "_rev": 1
                }
              }
            },
            "http://uri.interlex.org/base/ilx_0738201": {
              "label": "cNAC",
              "about": "EType",
              "hasPart": {
                "https://bbp.epfl.ch/data/bbp/mmb-point-neuron-framework-model/292427f3-fbdc-4e26-9731-d89b114441b3": {
                  "about": "EModel",
                  "_rev": 1
                }
              }
            }
          }
        }
      }
    }
  }
}