bmtk.simulator.bionet.modules package¶
Submodules¶
bmtk.simulator.bionet.modules.comsol module¶
- class bmtk.simulator.bionet.modules.comsol.ComsolMod(comsol_files, waveforms=None, amplitudes=1, cells=None, set_nrn_mechanisms=True, node_set=None)[source]¶
Bases:
SimulatorMod
This module takes extracellular potentials that were calculated in COMSOL and imposes them on a biophysically detailed network. It is similar to BioNet’s xstim module, but offers the additional flexibility of FEM, instead of relying on simplified analytical solutions. As such, this module allows to use BMTK as a part of the hybrid modelling approach, where extracellular potentials are calculated using FEM in a first step and then imposed on a model of a neuronal network in a second step.
- initialize(sim)[source]¶
Checks if a waveform argument was passed which determines how to comsol.txt and waveform.csv should be treated. If no waveform is specified:
Loads COMSOL output Sets up nearest neighbour interpolation object (for spatial interpolation) Performs temporal interpolation so COMSOL and BMTK timings match.
- If one or more waveforms are specified:
- Iterates over COMSOL outputs:
Loads COMSOL output Iterates over cells:
Retrieves potentials at each segment via spatial interpolation
- Parameters:
sim – Simulation object
- load_comsol(comsol_file)[source]¶
Extracts data and headers from comsol.txt. Returns pandas DataFrame. The first three columns are the x-, y-, and z-coordinates of the solution nodes. For a stationary comsol study, the potentials are stored in the fourth column. For a time-dependent study, each subsequent column stores the potentials at one timepoints.
- Parameters:
comsol_file – (str) “/path/to/comsol.txt”
- Returns:
(pd DataFrame) Potentials extracted from comsol.txt
- step(sim, tstep)[source]¶
Checks if a waveform argument was passed which determines how potentials should be retrieved. Iterates over all cells:
- If no waveform is specified:
Retrieves nearest neighbour with interpolator Looks up potentials (for each segment of the cell) in comsol data at current time
- If one or more waveforms are specified:
Initialises extracellular potential v_ext at 0 Iterates over COMSOL outputs (thus making a linear combination of several FEM solutions):
Calls interpolated potentials Multiplies by corresponding waveform value at current time and by corresponding amplitude Adds to v_ext
- Parameters:
sim – Simulation object
tstep – (int) timestep
bmtk.simulator.bionet.modules.ecephys_module module¶
- class bmtk.simulator.bionet.modules.ecephys_module.BioECEphysUnitsModule(name, **kwargs)[source]¶
Bases:
ECEphysUnitsModule
bmtk.simulator.bionet.modules.ecp module¶
- class bmtk.simulator.bionet.modules.ecp.EcpMod(tmp_dir, file_name, electrode_positions, contributions_dir=None, cells=None, variable_name='v', electrode_channels=None, cell_bounds=None, minimum_distance=None)[source]¶
Bases:
SimulatorMod
- block(sim, block_interval)[source]¶
This method is called once after every block of time, as specified by the configuration.
Unlike the step method which is called during every time-step, the block method will typically be called only a few times over the entire simulation. The block method is preferable for accessing and saving to the disk, summing up existing data, or similar functionality
- Parameters:
sim – Simulation object
block_interval – The time interval (tstep_start, tstep_end) for which the block is being called on.
- finalize(sim)[source]¶
Call once at the very end of the simulation.
- Parameters:
sim – Simulation object
- initialize(sim)[source]¶
Will be called once at the beginning of the simulation run, after the network and simulation parameters have all been finalized.
- Parameters:
sim – Simulation object
- step(sim, tstep)[source]¶
Called on every single time step (dt).
The step method is used for anything that should be recorded or changed continously. dt is determined during the setup, and the sim parameter can be used to access simulation, network and individual cell properties
- Parameters:
sim – Simulation object.
tstep – The decrete time-step
bmtk.simulator.bionet.modules.iclamp module¶
- class bmtk.simulator.bionet.modules.iclamp.AmpsReaderNRN(**args)[source]¶
Bases:
AmpsReader
- class bmtk.simulator.bionet.modules.iclamp.CSVAmpReaderNRN(**args)[source]¶
Bases:
CSVAmpReader
- class bmtk.simulator.bionet.modules.iclamp.IClampMod(input_type, **mod_args)[source]¶
Bases:
IClampMod
- initialize(sim)[source]¶
Will be called once at the beginning of the simulation run, after the network and simulation parameters have all been finalized.
- Parameters:
sim – Simulation object
- property input2reader_map¶
bmtk.simulator.bionet.modules.record_cellvars module¶
- class bmtk.simulator.bionet.modules.record_cellvars.MembraneReport(tmp_dir, file_name, variable_name, cells=None, gids=None, sections='all', buffer_data=True, transform={}, **kwargs)[source]¶
Bases:
SimulatorMod
- block(sim, block_interval)[source]¶
This method is called once after every block of time, as specified by the configuration.
Unlike the step method which is called during every time-step, the block method will typically be called only a few times over the entire simulation. The block method is preferable for accessing and saving to the disk, summing up existing data, or similar functionality
- Parameters:
sim – Simulation object
block_interval – The time interval (tstep_start, tstep_end) for which the block is being called on.
- finalize(sim)[source]¶
Call once at the very end of the simulation.
- Parameters:
sim – Simulation object
- initialize(sim)[source]¶
Will be called once at the beginning of the simulation run, after the network and simulation parameters have all been finalized.
- Parameters:
sim – Simulation object
- step(sim, tstep)[source]¶
Called on every single time step (dt).
The step method is used for anything that should be recorded or changed continously. dt is determined during the setup, and the sim parameter can be used to access simulation, network and individual cell properties
- Parameters:
sim – Simulation object.
tstep – The decrete time-step
- class bmtk.simulator.bionet.modules.record_cellvars.SomaReport(tmp_dir, file_name, variable_name, cells, sections='soma', buffer_data=True, transform={}, **kwargs)[source]¶
Bases:
MembraneReport
Special case for when only needing to save the soma variable
- initialize(sim)[source]¶
Will be called once at the beginning of the simulation run, after the network and simulation parameters have all been finalized.
- Parameters:
sim – Simulation object
- step(sim, tstep, rel_time=0.0)[source]¶
Called on every single time step (dt).
The step method is used for anything that should be recorded or changed continously. dt is determined during the setup, and the sim parameter can be used to access simulation, network and individual cell properties
- Parameters:
sim – Simulation object.
tstep – The decrete time-step
bmtk.simulator.bionet.modules.record_clamp module¶
- class bmtk.simulator.bionet.modules.record_clamp.ClampReport(tmp_dir, file_name, variable_name, buffer_data=True, **kwargs)[source]¶
Bases:
SimulatorMod
- block(sim, block_interval)[source]¶
This method is called once after every block of time, as specified by the configuration.
Unlike the step method which is called during every time-step, the block method will typically be called only a few times over the entire simulation. The block method is preferable for accessing and saving to the disk, summing up existing data, or similar functionality
- Parameters:
sim – Simulation object
block_interval – The time interval (tstep_start, tstep_end) for which the block is being called on.
- finalize(sim)[source]¶
Call once at the very end of the simulation.
- Parameters:
sim – Simulation object
- initialize(sim, clamps)[source]¶
Will be called once at the beginning of the simulation run, after the network and simulation parameters have all been finalized.
- Parameters:
sim – Simulation object
- step(sim, tstep)[source]¶
Called on every single time step (dt).
The step method is used for anything that should be recorded or changed continously. dt is determined during the setup, and the sim parameter can be used to access simulation, network and individual cell properties
- Parameters:
sim – Simulation object.
tstep – The decrete time-step
- property variable¶
bmtk.simulator.bionet.modules.record_netcons module¶
- class bmtk.simulator.bionet.modules.record_netcons.NetconReport(tmp_dir, file_name, variable_name, cells, sections='all', syn_type='Exp2Syn', buffer_data=True, transform={}, **kwargs)[source]¶
Bases:
SimulatorMod
- block(sim, block_interval)[source]¶
This method is called once after every block of time, as specified by the configuration.
Unlike the step method which is called during every time-step, the block method will typically be called only a few times over the entire simulation. The block method is preferable for accessing and saving to the disk, summing up existing data, or similar functionality
- Parameters:
sim – Simulation object
block_interval – The time interval (tstep_start, tstep_end) for which the block is being called on.
- finalize(sim)[source]¶
Call once at the very end of the simulation.
- Parameters:
sim – Simulation object
- initialize(sim)[source]¶
Will be called once at the beginning of the simulation run, after the network and simulation parameters have all been finalized.
- Parameters:
sim – Simulation object
- step(sim, tstep)[source]¶
Called on every single time step (dt).
The step method is used for anything that should be recorded or changed continously. dt is determined during the setup, and the sim parameter can be used to access simulation, network and individual cell properties
- Parameters:
sim – Simulation object.
tstep – The decrete time-step
bmtk.simulator.bionet.modules.record_spikes module¶
- class bmtk.simulator.bionet.modules.record_spikes.SpikesMod(tmp_dir, spikes_file_csv=None, spikes_file=None, spikes_file_nwb=None, cache_to_disk=True, spikes_sort_order=None, mode='a', compression='gzip')[source]¶
Bases:
SimulatorMod
Module use for saving spikes
- block(sim, block_interval)[source]¶
This method is called once after every block of time, as specified by the configuration.
Unlike the step method which is called during every time-step, the block method will typically be called only a few times over the entire simulation. The block method is preferable for accessing and saving to the disk, summing up existing data, or similar functionality
- Parameters:
sim – Simulation object
block_interval – The time interval (tstep_start, tstep_end) for which the block is being called on.
bmtk.simulator.bionet.modules.save_synapses module¶
- class bmtk.simulator.bionet.modules.save_synapses.ConnectionWriter(network_dir)[source]¶
Bases:
object
- class bmtk.simulator.bionet.modules.save_synapses.H5Merger(network_dir, grp_keys)[source]¶
Bases:
object
- class bmtk.simulator.bionet.modules.save_synapses.SaveSynapses(network_dir, single_file=False, **params)[source]¶
Bases:
SimulatorMod
bmtk.simulator.bionet.modules.seclamp module¶
- class bmtk.simulator.bionet.modules.seclamp.SEClamp(input_type, **mod_args)[source]¶
Bases:
SimulatorMod
- initialize(sim)[source]¶
Will be called once at the beginning of the simulation run, after the network and simulation parameters have all been finalized.
- Parameters:
sim – Simulation object
- step(sim, tstep)[source]¶
Called on every single time step (dt).
The step method is used for anything that should be recorded or changed continously. dt is determined during the setup, and the sim parameter can be used to access simulation, network and individual cell properties
- Parameters:
sim – Simulation object.
tstep – The decrete time-step
bmtk.simulator.bionet.modules.sim_module module¶
- class bmtk.simulator.bionet.modules.sim_module.SimulatorMod[source]¶
Bases:
object
Class for writing custom bionet functions that will be called during the simulation. To use overwrite one or more of the following methods in a subclass, and bionet will call the function at the appropiate time.
- To call during a simulation:
… sim = Simulation(…) mymod = MyModule(…) sim.add_mod(mymod) sim.run()
- block(sim, block_interval)[source]¶
This method is called once after every block of time, as specified by the configuration.
Unlike the step method which is called during every time-step, the block method will typically be called only a few times over the entire simulation. The block method is preferable for accessing and saving to the disk, summing up existing data, or similar functionality
- Parameters:
sim – Simulation object
block_interval – The time interval (tstep_start, tstep_end) for which the block is being called on.
- finalize(sim)[source]¶
Call once at the very end of the simulation.
- Parameters:
sim – Simulation object
- initialize(sim)[source]¶
Will be called once at the beginning of the simulation run, after the network and simulation parameters have all been finalized.
- Parameters:
sim – Simulation object
- step(sim, tstep)[source]¶
Called on every single time step (dt).
The step method is used for anything that should be recorded or changed continously. dt is determined during the setup, and the sim parameter can be used to access simulation, network and individual cell properties
- Parameters:
sim – Simulation object.
tstep – The decrete time-step
bmtk.simulator.bionet.modules.xstim module¶
- class bmtk.simulator.bionet.modules.xstim.StimXElectrode(positions_file, waveform, mesh_files_dir, dt)[source]¶
Bases:
object
Extracellular Stimulating electrode
- class bmtk.simulator.bionet.modules.xstim.XStimMod(positions_file, waveform, mesh_files_dir=None, cells=None, set_nrn_mechanisms=True, resistance=300.0, node_set=None)[source]¶
Bases:
SimulatorMod
- initialize(sim)[source]¶
Will be called once at the beginning of the simulation run, after the network and simulation parameters have all been finalized.
- Parameters:
sim – Simulation object
- step(sim, tstep)[source]¶
Called on every single time step (dt).
The step method is used for anything that should be recorded or changed continously. dt is determined during the setup, and the sim parameter can be used to access simulation, network and individual cell properties
- Parameters:
sim – Simulation object.
tstep – The decrete time-step
bmtk.simulator.bionet.modules.xstim_waveforms module¶
- class bmtk.simulator.bionet.modules.xstim_waveforms.BaseWaveform[source]¶
Bases:
object
Abstraction of waveform class to ensure calculate method is implemented
- class bmtk.simulator.bionet.modules.xstim_waveforms.BaseWaveformType(waveform_config)[source]¶
Bases:
object
Specific waveform type
- class bmtk.simulator.bionet.modules.xstim_waveforms.ComplexWaveform(el_collection)[source]¶
Bases:
BaseWaveform
Superposition of simple waveforms
- class bmtk.simulator.bionet.modules.xstim_waveforms.WaveformCustom(waveform_file)[source]¶
Bases:
BaseWaveform
Custom waveform defined by csv file
- class bmtk.simulator.bionet.modules.xstim_waveforms.WaveformTypeDC(waveform_config)[source]¶
Bases:
BaseWaveformType
,BaseWaveform
DC (step) waveform
- class bmtk.simulator.bionet.modules.xstim_waveforms.WaveformTypeSin(waveform_config)[source]¶
Bases:
BaseWaveformType
,BaseWaveform
Sinusoidal waveform