Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Refactor
bsb
to bsb-core
and plugins, to break cyclical dependenc…
…ies (#766) * added `get_placement_set` to sim cell * Replaced `simulation` boot assignment with property * Cell redesign * linting * added more object loading type handlers * use improved object loader * wip adapter * wip, recommit later * Morphology pipeline can store end result * give underlying cast error * Fixed error with `has_own_init` checking incorrect class * Requirement handlers can check if the node data is written in shortform * Preferably parse swc with inhouse swc parser * Added NameSelector shorthand * Fixed unserializable `FileDependency` attributes * Implemented current_clamp * Fixed pipeline calls * Added morphology creation from swc data * Refactored current_clamp to v4 * Fixed args passed to iclamp * Added stable morpho comparison and allowed indicesless MorphologySet * Removed useless print commands * removed dead code * Fixed failing CLI tests inside of PyCharm * composed NestConnection nodes * fixed `class_` * Prepared configs for v4 nest sims * removed trailing dots * object/class/function type handler fixes * current clamp import fixes * removed some invalid `relay` occurences * removed cerebellum related postprocessing code * added `cell_types` to Relay postprocessing * tag cell model instances with id and pos * Refactoring of devices and Targetting; Fixed bugs. - Refactoring of current_clamp, spike_generator and voltage_recorder - Added LabelTargetting - Refactoring of SphericalTargetting and SphericalTargetting - Fixed some bugs in targetting.py, adapter.py and connection.py - Added __lt__ operator in TransceiverModel class * improved defaults and cleaned up imports of spike generator * allowed synapse spec shortform * Added `output` option for run simulation command * Added `output` option for run simulation command * updated SimulationResult dataflow * linted NestCell * Added connections to the NEST adapter * NEST adapter capable of setting up sims, results missing * fixed `chunk_iter` * added nodecollection recorder shortcut * implement devices * Set up base nest devices * component cleanup * default static synapse * catch missing models & connect error * fixed None values messing with SLI * fixed None values messing with SLI * Use empty NodeCollections for empty datasets * wip device * wip device * cleanup MPI stuff from simulation * connect conns one to one * tqdm the connection progress * Predict best iteration strategy according to available memory * Check if synapse model exists * Store a lazy version of the synapse collection * Added NEST install to GHA fixed args fixed path? added NEST version variable fixed `python-path` debug paths install NEST install cython & cmake install under predictable PATH and use `nest_vars` to rig PyNEST * wip nest test * removed stray code * added the simulation that's under consideration to `post_prepare` hooks * `post_prepare` hooks are functions * `GetStatus` is deprecated * Fixed LazySynapseCollection's magic methods and collection attr * Created a first test to validate the NEST adapter * Factored out treeing of values, use it for dict and list * fix docbuild * skip gif_pop test under mpi * try abspath for nest cache * set default model to `iaf_psc_alpha` * added brunel test network * removed some unused references * wip targetting refactoring * fixed nest install path on GHA * fixed syntax error * removed missing unused nonlocal simdata reference * huh? * try some debug stuff after source diving * more debug * apt failure * fix for path validation error? * (re)moved some code * refactored targetting * added basic external nest device * removed GHA debug code * replaced apt-get with apt * added `placement` dict to simdata * use placement simdata as source of PS * refactored targetting * Fix decorated super calls in node classes * fixed extension based sorted * add possibility to mark a parser error as a user error * raise a user error when `$import` is used incorrectly * disable simulation reporting until #719 is fixed * fixed some targetting errors * eager load the nest devices * added missing `.devices` to simdata * Added `spike_recorder` and `poisson_generator` devices to nest adapter * use devices in brunel * catch missing module option `profiling` error in broken installs * Fix subtle plotting bug with cubic and swapaxes interaction (#722) * improved .. clarity .. of ununderstandable module * added devices dict * lost changes * carry over `_bsb_entry_points` to subpieces of simulator plugins * it's a dict * fill in simulation slots * add Brunel network with BSB generated connectivity * wip rewrite adapter * more wip * wip arbor cfg * global import * rewriting adapter using brunel template * make `get_chunk_stats` public PS api * pass along chunks arg * add lif cells for brunel * components can be abc now * change the ConnectionModel relation from connection type to tag. closes #693 Will need to go over NEST/NEURON for breaking changes * fix ReceiverCollection and Receiver * move connection code to connection model * fix references to gid manager * update simulation and result code * removed unused cell code * change label format * add resolution * tidbits * change default iterator to iterate single conns * add connection models to arbor brunel * add receiver collection polymorphism * init index * kind of devices * Updated neuron devices to bsb v4 - current clamp, spike generator, voltage recorder, voltage clamp - Added LabelTargetting - Added __lt__ method in TransceiverModel * Added tags attribute in MorphologyDependencyNode * Bug fixes. - Added __lt__ method in TransceiverModel - NeuronCell instances saves id and positions - Renamed instance.model to instance.cell_model * Synapse names are retrived from MechAccessor var * If a `default` dynamic value is given, attr should not be required * bump to bsb-hdf5 version that fixed `load_ids` * test load_ids with individual chunk * Added neuron unittests * Fixed create_transmitters and _allocate_transmitters - create_transmitters: Now the id of the cells in simdata are mapped through simdata.transmap and the adapter works with multithreads. - _allocate_transmitters: fixed gid - Fixed a report message * black fix * test GHA run with dbbs-models * fix engine references * fix property assignment * raise error for using arborize models with missing morphos * pass on synapse spec weight and delay to `insert_receiver` * fix * fix default targetting of nest devices * removed any reference to `default_neuron/synapse_model` * use tag if set * rename `neuron_model` to `model` * removed outdated info * adapt docstr * declare scaffold attribute * fix arbor mpi logic * fix 0.9 updated function signature * fix absolute import * catch lif parameter errors * fix lif parameter error * removed unused `DeviceConnectionModel` class * change `prepare_samples` signature * add spike_recorder to arbor devices * change device import trigger not to pollute module * test arbor brunel * type hint simdata populations attr * store offset on populations * factor out `sort_models`, add `lookup_offset` * rename `gap_' to `gap_junction` * pass the populations to `create_connections_*` for global offset * renamed `test` to `test_nest` and fixed `neuron_model` occurences * switch to de facto output * use NEST for `test_simulate`, since it is built from source in tests * fix missing arbor dep for tests * if not a str, assume it is a manually set object * fix numpy deprecation * post_prepare's are functions * cleanup test file * format test config * fix voltage recorder targetting * Auto stash before merge of "feature/simulation" and "origin/feature/simulation" * fix py3.9 callable syntax * fix mixin reflist resolution * WIP adapter * updated test configs * update or disable NEURON devices * switch some tests over to RandomStorageFixture * add option to setup during class init for RandomStorageFixture * switch to f string * factor out SimulationData * update and disable NEURON tests * shield bsb-arbor with a mocked import * add `Configuration` type hint * made resolution a required attribute * add spiketrains and analogsignals shortcuts * fix prev commit * add iaf_cond_alpha test * added missing resolution attributes * Use `bsb-core` as PyPI name, to install the framework `bsb` backbone * moved `nest` to new `bsb-nest` repo * move neuron to bsb-neuron * moved arbor to bsb-arbor * moved json parser to bsb-json * moved unittest folder to bsb-test * replaced bsb.unittest import * fix tests * fix remaining tests, add up(one) shortcut * fix right handed notation. closes #672 * b0! Fixed tests * rem plugins.txt * set test requirements in pyproject.toml * fix bsb.config.parsers refs in docs * do not install NEST for bsb-core CI * fix tests * more ci fixes * oops * fix packing warning * swap yz * swap chunk yz * fix mpi tests * fix 3.12 assertion * fixed docs --------- Co-authored-by: alessiomarta <81438612+alessiomarta@users.noreply.github.com> Co-authored-by: Francesco Sheiban <frances.j.shei@gmail.com> Co-authored-by: Lennart Landsmeer <lennart@landsmeer.email> Co-authored-by: alessio <alessio.marta@gmail.com>
- Loading branch information