dbbs-lab / bsb-core

The Brain Scaffold Builder
https://bsb.readthedocs.io
GNU General Public License v3.0
22 stars 16 forks source link

RequirementError and CastErrors inside `simulation` bubbled up to wrong node #689

Open Helveg opened 1 year ago

Helveg commented 1 year ago

Compiling:

{
  "name": "DBBS Mouse cerebellum configuration v4.0",
  "storage": {
    "engine": "hdf5",
    "root": "cerebellum.hdf5"
  },
  "network": {
    "x": 150.0,
    "y": 400.0,
    "z": 150.0,
    "chunk_size": [
      50,
      50,
      50
    ]
  },
  "morphologies": [
    "morphologies/GranuleCell.swc",
    {
      "name": "GolgiCell",
      "file": "morphologies/GolgiCell_mouse.swc"
    },
    "morphologies/PurkinjeCell.swc",
    "morphologies/BasketCell.swc",
    "morphologies/StellateCell.swc"
  ],
  "partitions": {
    "dcn_layer": {
      "thickness": 600.0,
      "stack_index": 0
    },
    "granular_layer": {
      "thickness": 150.0,
      "stack_index": 1
    },
    "purkinje_layer": {
      "thickness": 30.0,
      "stack_index": 2
    },
    "b_molecular_layer": {
      "thickness": 50.0,
      "stack_index": 3
    },
    "t_molecular_layer": {
      "thickness": 100.0,
      "stack_index": 4
    },
    "io_layer": {
      "thickness": 15.0
    }
  },
  "regions": {
    "cerebellar_cortex": {
      "type": "stack",
      "children": [
        "dcn_layer",
        "granular_layer",
        "purkinje_layer",
        "b_molecular_layer",
        "t_molecular_layer"
      ]
    },
    "inferior_olive": {
      "type": "stack",
      "children": [
        "io_layer"
      ]
    }
  },
  "cell_types": {
    "granule_cell": {
      "spatial": {
        "radius": 2.5,
        "density": 3.9e-3,
        "geometry": {
          "pf_height": 126,
          "pf_height_sd": 15
        },
        "morphologies": [
          "GranuleCell"
        ]
      },
      "plotting": {
        "display_name": "Granule cell",
        "color": "#e81005",
        "opacity": 0.3
      }
    },
    "mossy_fibers": {
      "spatial": {
        "radius": 1.0,
        "relative_to": "glomerulus",
        "count_ratio": 0.05
      }
    },
    "glomerulus": {
      "spatial": {
        "radius": 1.5,
        "density": 3e-4
      },
      "plotting": {
        "display_name": "Glomerulus",
        "color": "#6F6F70"
      }
    },
    "purkinje_cell": {
      "spatial": {
        "radius": 7.5,
        "planar_density": 0.0017,
        "morphologies": [
          "PurkinjeCell"
        ]
      },
      "plotting": {
        "display_name": "Purkinje cell",
        "color": "#068f0d"
      }
    },
    "golgi_cell": {
      "spatial": {
        "radius": 8.0,
        "density": 9e-6,
        "geometry": {
          "axon_radius": 160
        },
        "morphologies": [
          {
            "names": [
              "GolgiCell"
            ]
          }
        ]
      },
      "plotting": {
        "display_name": "Golgi cell",
        "color": "#1009e3"
      }
    },
    "stellate_cell": {
      "spatial": {
        "radius": 4.0,
        "density": 0.5e-4,
        "morphologies": [
          {
            "names": [
              "StellateCell"
            ]
          }
        ]
      },
      "plotting": {
        "display_name": "Stellate cell",
        "color": "#f5bb1d"
      }
    },
    "basket_cell": {
      "spatial": {
        "radius": 6.0,
        "density": 0.5e-4,
        "morphologies": [
          {
            "names": [
              "BasketCell"
            ]
          }
        ]
      },
      "plotting": {
        "display_name": "Basket cell",
        "color": "#f5830a"
      }
    },
    "dcn_cell": {
      "spatial": {
        "radius": 10.0,
        "relative_to": "purkinje_cell",
        "count_ratio": 0.090909
      },
      "plotting": {
        "display_name": "DCN cell",
        "color": "#080808"
      }
    },
    "dcn_interneuron": {
      "spatial": {
        "radius": 6.0
      },
      "plotting": {
        "display_name": "DCN interneuron",
        "color": "#260582"
      }
    },
    "io_cell": {
      "spatial": {
        "radius": 7.5,
        "density": 1.52e-5
      },
      "plotting": {
        "display_name": "io cell",
        "color": "#7d1bbf"
      }
    }
  },
  "placement": {
    "granular_layer_innervation": {
      "strategy": "bsb.placement.RandomPlacement",
      "partitions": [
        "granular_layer"
      ],
      "cell_types": [
        "mossy_fibers"
      ]
    },
    "granular_layer_placement": {
      "strategy": "bsb.placement.RandomPlacement",
      "partitions": [
        "granular_layer"
      ],
      "cell_types": [
        "granule_cell",
        "golgi_cell",
        "glomerulus"
      ]
    },
    "purkinje_layer_placement": {
      "strategy": "bsb.placement.ParallelArrayPlacement",
      "partitions": [
        "purkinje_layer"
      ],
      "cell_types": [
        "purkinje_cell"
      ],
      "spacing_x": 130.0,
      "angle": 70.0
    },
    "lower_molecular_layer_placement": {
      "strategy": "bsb.placement.RandomPlacement",
      "partitions": [
        "b_molecular_layer"
      ],
      "cell_types": [
        "basket_cell"
      ]
    },
    "upper_molecular_layer_placement": {
      "strategy": "bsb.placement.RandomPlacement",
      "partitions": [
        "t_molecular_layer"
      ],
      "cell_types": [
        "stellate_cell"
      ]
    }
  },
  "connectivity": {
    "mossy_fibers_to_glomerulus": {
      "strategy": "cerebellum.connectome.mossy_glomerulus.ConnectomeMossyGlomerulus",
      "presynaptic": {
        "cell_types": [
          "mossy_fibers"
        ]
      },
      "postsynaptic": {
        "cell_types": [
          "glomerulus"
        ]
      },
      "x_length": 60,
      "z_length": 20
    },
    "glomerulus_to_granule": {
      "strategy": "cerebellum.connectome.glomerulus_granule.ConnectomeGlomerulusGranule",
      "presynaptic": {
        "cell_types": [
          "glomerulus"
        ]
      },
      "postsynaptic": {
        "cell_types": [
          "granule_cell"
        ],
        "morphology_labels": [
          "dendrites"
        ]
      },
      "prepresynaptic": {
        "cell_types": [
          "mossy_fibers"
        ]
      },
      "x_length": 100,
      "z_length": 100,
      "max_radius": 40,
      "convergence": 4
    },
    "glomerulus_to_golgi": {
      "strategy": "cerebellum.connectome.glomerulus_golgi.ConnectomeGlomerulusGolgi",
      "presynaptic": {
        "cell_types": [
          "glomerulus"
        ]
      },
      "postsynaptic": {
        "cell_types": [
          "golgi_cell"
        ],
        "morphology_labels": [
          "basal_dendrites"
        ]
      },
      "radius": 50
    },
    "golgi_to_glomerulus": {
      "strategy": "cerebellum.connectome.golgi_glomerulus_granule.ConnectomeGolgiGlomerulusGranule",
      "presynaptic": {
        "cell_types": [
          "golgi_cell"
        ],
        "morphology_labels": [
          "axon"
        ]
      },
      "postsynaptic": {
        "cell_types": [
          "granule_cell"
        ]
      },
      "intermediate": {
        "cell_types": [
          "glomerulus"
        ]
      },
      "radius": 50,
      "convergence": 40
    },
    "golgi_to_golgi": {
      "strategy": "bsb.connectivity.VoxelIntersection",
      "presynaptic": {
        "cell_types": [
          "golgi_cell"
        ],
        "morphology_labels": [
          "axon"
        ]
      },
      "postsynaptic": {
        "cell_types": [
          "golgi_cell"
        ],
        "morphology_labels": [
          "basal dendrites"
        ]
      },
      "affinity": 0.5,
      "contacts": {
        "distribution": "norm",
        "loc": 160,
        "scale": 5
      }
    },
    "gap_goc": {
      "strategy": "bsb.connectivity.VoxelIntersection",
      "presynaptic": {
        "cell_types": [
          "golgi_cell"
        ],
        "morphology_labels": [
          "basal dendrites"
        ]
      },
      "postsynaptic": {
        "cell_types": [
          "golgi_cell"
        ],
        "morphology_labels": [
          "basal dendrites"
        ]
      },
      "affinity": 0.2,
      "contacts": {
        "distribution": "norm",
        "loc": 3,
        "scale": 1
      }
    },
    "ascending_axon_to_golgi": {
      "strategy": "bsb.connectivity.VoxelIntersection",
      "presynaptic": {
        "cell_types": [
          "granule_cell"
        ],
        "morphology_labels": [
          "basal_ascending_axondendrites"
        ]
      },
      "postsynaptic": {
        "cell_types": [
          "golgi_cell"
        ],
        "morphology_labels": [
          "basal dendrites"
        ]
      }
    },
    "parallel_fiber_to_golgi": {
      "strategy": "bsb.connectivity.VoxelIntersection",
      "presynaptic": {
        "cell_types": [
          "granule_cell"
        ],
        "morphology_labels": [
          "parallel_fiber"
        ]
      },
      "postsynaptic": {
        "cell_types": [
          "golgi_cell"
        ],
        "morphology_labels": [
          "apical_dendrites"
        ]
      },
      "affinity": 0.1
    },
    "ascending_axon_to_purkinje": {
      "strategy": "bsb.connectivity.VoxelIntersection",
      "presynaptic": {
        "cell_types": [
          "granule_cell"
        ],
        "morphology_labels": [
          "ascending_axon"
        ]
      },
      "postsynaptic": {
        "cell_types": [
          "purkinje_cell"
        ],
        "morphology_labels": [
          "aa_targets"
        ]
      },
      "affinity": 0.1
    },
    "parallel_fiber_to_purkinje": {
      "strategy": "bsb.connectivity.VoxelIntersection",
      "presynaptic": {
        "cell_types": [
          "granule_cell"
        ],
        "morphology_labels": [
          "parallel_fiber"
        ]
      },
      "postsynaptic": {
        "cell_types": [
          "purkinje_cell"
        ],
        "morphology_labels": [
          "pf_targets"
        ]
      },
      "affinity": 0.1
    },
    "parallel_fiber_to_basket": {
      "strategy": "bsb.connectivity.VoxelIntersection",
      "presynaptic": {
        "cell_types": [
          "granule_cell"
        ],
        "morphology_labels": [
          "parallel_fiber"
        ]
      },
      "postsynaptic": {
        "cell_types": [
          "basket_cell"
        ],
        "morphology_labels": [
          "dendrites"
        ]
      },
      "affinity": 0.1
    },
    "parallel_fiber_to_stellate": {
      "strategy": "bsb.connectivity.VoxelIntersection",
      "presynaptic": {
        "cell_types": [
          "granule_cell"
        ],
        "morphology_labels": [
          "parallel_fiber"
        ]
      },
      "postsynaptic": {
        "cell_types": [
          "stellate_cell"
        ],
        "morphology_labels": [
          "dendrites"
        ]
      },
      "affinity": 0.1
    },
    "stellate_to_purkinje": {
      "strategy": "bsb.connectivity.VoxelIntersection",
      "presynaptic": {
        "cell_types": [
          "stellate_cell"
        ],
        "morphology_labels": [
          "axon"
        ]
      },
      "postsynaptic": {
        "cell_types": [
          "purkinje_cell"
        ],
        "morphology_labels": [
          "sc_targets"
        ]
      },
      "affinity": 0.1
    },
    "basket_to_purkinje": {
      "strategy": "bsb.connectivity.VoxelIntersection",
      "presynaptic": {
        "cell_types": [
          "basket_cell"
        ],
        "morphology_labels": [
          "axon"
        ]
      },
      "postsynaptic": {
        "cell_types": [
          "purkinje_cell"
        ],
        "morphology_labels": [
          "soma"
        ]
      }
    },
    "stellate_to_stellate": {
      "strategy": "bsb.connectivity.VoxelIntersection",
      "presynaptic": {
        "cell_types": [
          "stellate_cell"
        ],
        "morphology_labels": [
          "axon"
        ]
      },
      "postsynaptic": {
        "cell_types": [
          "stellate_cell"
        ],
        "morphology_labels": [
          "dendrites"
        ]
      },
      "affinity": 0.5,
      "contacts": {
        "distribution": "norm",
        "loc": 100,
        "scale": 4
      }
    },
    "basket_to_basket": {
      "strategy": "bsb.connectivity.VoxelIntersection",
      "presynaptic": {
        "cell_types": [
          "basket_cell"
        ],
        "morphology_labels": [
          "axon"
        ]
      },
      "postsynaptic": {
        "cell_types": [
          "basket_cell"
        ],
        "morphology_labels": [
          "dendrites"
        ]
      },
      "affinity": 0.5,
      "contacts": {
        "distribution": "norm",
        "loc": 100,
        "scale": 4
      }
    }
  },
  "after_placement": {
    "map_relays": {
      "strategy": "bsb.postprocessing.Relay",
      "cell_types": [
        "glomerulus"
      ]
    },
    "microzones": {
      "strategy": "cerebellum.placement.post.LabelMicrozones",
      "targets": [
        "purkinje_cell",
        "dcn_cell",
        "io_cell"
      ]
    },
    "aa_lengths": {
      "strategy": "cerebellum.placement.post.AscendingAxonLengths"
    },
    "dcn_rotations": {
      "strategy": "cerebellum.placement.post.DCNRotations"
    }
  },
  "simulations": {
    "sensory_burst": {
      "simulator": "neuron",
      "resolution": 0.025,
      "duration": 2000,
      "temperature": 32,
      "cell_models": {
        "granule_cell": {
          "model": "dbbs_models.GranuleCellModel",
          "record_spikes": true
        },
        "golgi_cell": {
          "model": "dbbs_models.GolgiCellModel",
          "record_spikes": true,
          "record_soma": true
        },
        "purkinje_cell": {
          "model": "dbbs_models.PurkinjeCellModel",
          "record_soma": true,
          "record_spikes": true
        },
        "basket_cell": {
          "model": "dbbs_models.BasketCellModel",
          "record_spikes": true,
          "record_soma": true
        },
        "stellate_cell": {
          "model": "dbbs_models.StellateCellModel",
          "record_spikes": true,
          "record_soma": true
        }
      },
      "connection_models": {
        "glomerulus_to_granule": {
          "synapses": [
            "AMPA",
            "NMDA"
          ]
        },
        "glomerulus_to_golgi": {
          "synapses": [
            "AMPA_MF",
            "NMDA"
          ]
        },
        "mossy_to_glomerulus": {
          "synapses": []
        },
        "golgi_to_golgi": {
          "synapses": [
            "GABA"
          ]
        },
        "gap_goc": {
          "synapses": [
            "gap"
          ],
          "source": "vgap"
        },
        "ascending_axon_to_purkinje": {
          "synapses": [
            "AMPA"
          ]
        },
        "ascending_axon_to_golgi": {
          "synapses": [
            "AMPA_AA",
            "NMDA"
          ]
        },
        "parallel_fiber_to_golgi": {
          "synapses": [
            "AMPA_PF"
          ]
        },
        "golgi_to_granule": {
          "synapses": [
            "GABA"
          ]
        },
        "parallel_fiber_to_purkinje": {
          "synapses": [
            "AMPA"
          ]
        },
        "parallel_fiber_to_basket": {
          "synapses": [
            "AMPA",
            "NMDA"
          ]
        },
        "parallel_fiber_to_stellate": {
          "synapses": [
            "AMPA",
            "NMDA"
          ]
        },
        "basket_to_purkinje": {
          "synapses": [
            "GABA"
          ]
        },
        "stellate_to_purkinje": {
          "synapses": [
            "GABA"
          ]
        },
        "stellate_to_stellate": {
          "synapses": [
            "GABA"
          ]
        },
        "basket_to_basket": {
          "synapses": [
            "GABA"
          ]
        }
      },
      "devices": {
        "initial": {
          "type": "spike_generator",
          "targetting": "cell_type",
          "cell_types": [
            "golgi_cell",
            "basket_cell",
            "stellate_cell"
          ],
          "locations": {
            "type": "label",
            "labels": [
              "dendrites"
            ],
            "count": 1
          },
          "synapses": [
            "AMPA",
            "AMPA_PF"
          ],
          "noise": true,
          "start": 5000,
          "interval": 5,
          "number": 20,
          "sd": 5
        },
        "initial_pc": {
          "type": "spike_generator",
          "targetting": {
            "type": "cell_type",
            "cell_types": [
              "purkinje_cell"
            ]
          },
          "locations": {
            "type": "label",
            "labels": [
              "aa_targets"
            ],
            "count": 1
          },
          "synapses": [
            "AMPA"
          ],
          "noise": true,
          "start": 5000,
          "interval": 2.5,
          "number": 40,
          "sd": 10
        },
        "initial_mf": {
          "type": "spike_generator",
          "targetting": {
            "type": "cell_type",
            "cell_types": [
              "mossy_fibers"
            ],
            "fraction": 0.5
          },
          "synapses": [],
          "noise": true,
          "start": 5000,
          "interval": 30,
          "number": 2,
          "sd": 2
        },
        "background": {
          "type": "spike_generator",
          "targetting": {
            "type": "cell_type",
            "cell_types": [
              "mossy_fibers"
            ]
          },
          "synapses": [],
          "noise": true,
          "start": 5000,
          "interval": 250,
          "number": 100
        },
        "mossy_fiber_sensory_burst": {
          "type": "spike_generator",
          "targetting": {
            "type": "label",
            "labels": [
              "central_mossy_fibers"
            ]
          },
          "synapses": [],
          "spike_times": [
            6000.0,
            6003.0,
            6006.0,
            6012.0,
            6020.0
          ]
        },
        "granule_recorder": {
          "type": "voltage_recorder",
          "targetting": {
            "type": "label",
            "labels": [
              "grc_active_dends_*"
            ],
            "count": 2
          }
        }
      }
    }
  }
}

raises:

Traceback (most recent call last):
  File "C:\Python310\lib\runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Python310\lib\runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "D:\GIT\bsb\bsb\__main__.py", line 3, in <module>
    cli.handle_cli()
  File "D:\GIT\bsb\bsb\cli\__init__.py", line 10, in handle_cli
    handle_command(sys.argv[1:], exit=True)
  File "D:\GIT\bsb\bsb\cli\__init__.py", line 30, in handle_command
    namespace.handler(namespace, dryrun=dryrun)
  File "D:\GIT\bsb\bsb\cli\commands\__init__.py", line 97, in execute_handler
    self.handler(context)
  File "D:\GIT\bsb\bsb\cli\commands\_commands.py", line 134, in handler
    cfg = from_file(context.config)
  File "D:\GIT\bsb\bsb\config\__init__.py", line 141, in from_file
    return self.from_file(f)
  File "D:\GIT\bsb\bsb\config\__init__.py", line 145, in from_file
    return self.from_content(file.read(), path)
  File "D:\GIT\bsb\bsb\config\__init__.py", line 150, in from_content
    return _from_parsed(self, parser, tree, meta, path)
  File "D:\GIT\bsb\bsb\config\__init__.py", line 210, in _from_parsed
    conf = self.Configuration(tree)
  File "D:\GIT\bsb\bsb\config\_make.py", line 65, in __call__
    instance = meta_subject.__new__(
  File "D:\GIT\bsb\bsb\config\_make.py", line 210, in __new__
    instance.__post_new__(**kwargs)
  File "D:\GIT\bsb\bsb\config\_make.py", line 310, in __post_new__
    _bubble_up_exc(e, self._meta)
  File "D:\GIT\bsb\bsb\config\_make.py", line 329, in _bubble_up_exc
    errr.wrap(type(exc), exc, append=node + attr)
  File "D:\cerebellum\lib\site-packages\errr\__init__.py", line 7, in wrap
    return err_type.wrap(*args, **kwargs)
  File "D:\cerebellum\lib\site-packages\errr\exception.py", line 132, in wrap
    raise err from None
  File "D:\GIT\bsb\bsb\config\_make.py", line 308, in __post_new__
    post_new(self, *args, _parent=None, _key=None, **kwargs)
  File "D:\GIT\bsb\bsb\config\_make.py", line 280, in __post_new__
    setattr(self, name, value)
  File "D:\GIT\bsb\bsb\config\_attrs.py", line 797, in __set__
    self.fill(value, _parent=instance, _key=_key or self.attr_name),
  File "D:\GIT\bsb\bsb\config\_attrs.py", line 806, in fill
    _cfgdict.update(value or builtins.dict())
  File "D:\GIT\bsb\bsb\config\_attrs.py", line 747, in update
    self[ckey] = value
  File "D:\GIT\bsb\bsb\config\_attrs.py", line 691, in __setitem__
    value = self._elem_type(value, _parent=self, _key=key)
  File "D:\GIT\bsb\bsb\config\_make.py", line 65, in __call__
    instance = meta_subject.__new__(
  File "D:\GIT\bsb\bsb\config\_make.py", line 210, in __new__
    instance.__post_new__(**kwargs)
  File "D:\GIT\bsb\bsb\config\_make.py", line 280, in __post_new__
    setattr(self, name, value)
  File "D:\GIT\bsb\bsb\config\_attrs.py", line 797, in __set__
    self.fill(value, _parent=instance, _key=_key or self.attr_name),
  File "D:\GIT\bsb\bsb\config\_attrs.py", line 806, in fill
    _cfgdict.update(value or builtins.dict())
  File "D:\GIT\bsb\bsb\config\_attrs.py", line 747, in update
    self[ckey] = value
  File "D:\GIT\bsb\bsb\config\_attrs.py", line 691, in __setitem__
    value = self._elem_type(value, _parent=self, _key=key)
  File "D:\GIT\bsb\bsb\config\_make.py", line 65, in __call__
    instance = meta_subject.__new__(
  File "D:\GIT\bsb\bsb\config\_make.py", line 204, in __new__
    ncls = class_determinant(_cls, kwargs)
  File "D:\GIT\bsb\bsb\config\_make.py", line 418, in _get_dynamic_class
    raise RequirementError(f"Dynamic node must contain a '{attr_name}' attribute")
bsb.exceptions.RequirementError: Dynamic node must contain a 'device' attribute in {root}.simulations.sensory_burst

Process finished with exit code 1

while the error should be raised in {root}.simulations.sensory_burst.devices.initial, fixing those, the next set of errors are a CastError:

Traceback (most recent call last):
  File "C:\Python310\lib\runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Python310\lib\runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "D:\GIT\bsb\bsb\__main__.py", line 3, in <module>
    cli.handle_cli()
  File "D:\GIT\bsb\bsb\cli\__init__.py", line 10, in handle_cli
    handle_command(sys.argv[1:], exit=True)
  File "D:\GIT\bsb\bsb\cli\__init__.py", line 30, in handle_command
    namespace.handler(namespace, dryrun=dryrun)
  File "D:\GIT\bsb\bsb\cli\commands\__init__.py", line 97, in execute_handler
    self.handler(context)
  File "D:\GIT\bsb\bsb\cli\commands\_commands.py", line 134, in handler
    cfg = from_file(context.config)
  File "D:\GIT\bsb\bsb\config\__init__.py", line 141, in from_file
    return self.from_file(f)
  File "D:\GIT\bsb\bsb\config\__init__.py", line 145, in from_file
    return self.from_content(file.read(), path)
  File "D:\GIT\bsb\bsb\config\__init__.py", line 150, in from_content
    return _from_parsed(self, parser, tree, meta, path)
  File "D:\GIT\bsb\bsb\config\__init__.py", line 210, in _from_parsed
    conf = self.Configuration(tree)
  File "D:\GIT\bsb\bsb\config\_make.py", line 65, in __call__
    instance = meta_subject.__new__(
  File "D:\GIT\bsb\bsb\config\_make.py", line 210, in __new__
    instance.__post_new__(**kwargs)
  File "D:\GIT\bsb\bsb\config\_make.py", line 310, in __post_new__
    _bubble_up_exc(e, self._meta)
  File "D:\GIT\bsb\bsb\config\_make.py", line 329, in _bubble_up_exc
    errr.wrap(type(exc), exc, append=node + attr)
  File "D:\cerebellum\lib\site-packages\errr\__init__.py", line 7, in wrap
    return err_type.wrap(*args, **kwargs)
  File "D:\cerebellum\lib\site-packages\errr\exception.py", line 132, in wrap
    raise err from None
  File "D:\GIT\bsb\bsb\config\_make.py", line 308, in __post_new__
    post_new(self, *args, _parent=None, _key=None, **kwargs)
  File "D:\GIT\bsb\bsb\config\_make.py", line 280, in __post_new__
    setattr(self, name, value)
  File "D:\GIT\bsb\bsb\config\_attrs.py", line 797, in __set__
    self.fill(value, _parent=instance, _key=_key or self.attr_name),
  File "D:\GIT\bsb\bsb\config\_attrs.py", line 806, in fill
    _cfgdict.update(value or builtins.dict())
  File "D:\GIT\bsb\bsb\config\_attrs.py", line 747, in update
    self[ckey] = value
  File "D:\GIT\bsb\bsb\config\_attrs.py", line 691, in __setitem__
    value = self._elem_type(value, _parent=self, _key=key)
  File "D:\GIT\bsb\bsb\config\_make.py", line 65, in __call__
    instance = meta_subject.__new__(
  File "D:\GIT\bsb\bsb\config\_make.py", line 210, in __new__
    instance.__post_new__(**kwargs)
  File "D:\GIT\bsb\bsb\config\_make.py", line 280, in __post_new__
    setattr(self, name, value)
  File "D:\GIT\bsb\bsb\config\_attrs.py", line 797, in __set__
    self.fill(value, _parent=instance, _key=_key or self.attr_name),
  File "D:\GIT\bsb\bsb\config\_attrs.py", line 806, in fill
    _cfgdict.update(value or builtins.dict())
  File "D:\GIT\bsb\bsb\config\_attrs.py", line 747, in update
    self[ckey] = value
  File "D:\GIT\bsb\bsb\config\_attrs.py", line 691, in __setitem__
    value = self._elem_type(value, _parent=self, _key=key)
  File "D:\GIT\bsb\bsb\config\_make.py", line 65, in __call__
    instance = meta_subject.__new__(
  File "D:\GIT\bsb\bsb\config\_make.py", line 210, in __new__
    instance.__post_new__(**kwargs)
  File "D:\GIT\bsb\bsb\config\_make.py", line 280, in __post_new__
    setattr(self, name, value)
  File "D:\GIT\bsb\bsb\config\_attrs.py", line 457, in __set__
    raise CastError(
bsb.exceptions.CastError: 'cell_type' is not convertible to Targetting, for attribute 'targetting' of <bsb.simulators.neuron.devices.spike_generator.SpikeGenerator object at 0x0000024F294E18D0>. in {root}.simulations.sensory_burst

Process finished with exit code 1

This should also be raised from one of the spike generator nodes