olfactorybulb.neuronunit

class olfactorybulb.neuronunit.tests.OlfactoryBulbCellSpikeTest(*args: Any, **kwargs: Any)[source]

Bases: olfactorybulb.neuronunit.tests.OlfactoryBulbCellTest

get_aps(voltage)[source]
required_capabilities = (neuronunit.capabilities.ReceivesSquareCurrent, neuronunit.capabilities.ProducesMembranePotential, sciunit.capabilities.Runnable, <class 'olfactorybulb.neuronunit.capabilities.SupportsSettingTemperature'>, <class 'olfactorybulb.neuronunit.capabilities.SupportsSettingStopTime'>)
class olfactorybulb.neuronunit.tests.OlfactoryBulbCellTest(*args: Any, **kwargs: Any)[source]

Bases: neuronunit.tests.base.VmTest

check_required_properties()[source]
fetch_cached(model)[source]
generate_prediction(model)[source]
abstract generate_prediction_nocache(model)[source]
get_dependent_prediction(dependent_test_class_generic, model)[source]
get_hash(model)[source]
store_in_cache(model, result)[source]
class olfactorybulb.neuronunit.tests.publications.Abraham2010[source]

Bases: olfactorybulb.neuronunit.tests.publications.BasePublication

temperature = 24.5
class olfactorybulb.neuronunit.tests.publications.Angelo2012[source]

Bases: olfactorybulb.neuronunit.tests.publications.BasePublication

Angelo et. al. (2012) A biophysical signature of network affiliation and sensory processing in mitral cells

current_duration = 1500
sag_testing_voltage = -103.5
temperature = 36
class olfactorybulb.neuronunit.tests.publications.BasePublication[source]

Bases: object

A base class with common parameters. Subclasses of this class are used as mix-in classes to set the parameters of generic tests. E.g. A generic InputResistanceTest is combined with the publication Yu2015 by creating a specific “class InputResistanceTestYu2015(Yu2015, InputResistanceTest)”

current_duration = 1000
rebound_ap_method = 'sag'
rebound_rest_time = 1000
required_capabilities = ()
sag_testing_voltage = -90
sag_window = 100
spike_train_method = 'target_freq'
ss_delay = 1000
temperature = 35
threshold_method = 'dv/dt=20'
class olfactorybulb.neuronunit.tests.publications.BurtonUrban2014[source]

Bases: olfactorybulb.neuronunit.tests.publications.BasePublication

Burton and Urban (2014) Greater excitability and firing irregularity of tufted cells underlies distinct afferent-evoked activity of olfactory bulb mitral and tufted cells

ahp_amplitude_method = 'threshold2minWithin10ms'
ahp_time_method = 'threshold2amplitude50%'
current_duration = 2000
rebound_ap_method = 'sag'
sag_testing_voltage = -103
spike_train_target_freq = 20
temperature = 37
class olfactorybulb.neuronunit.tests.publications.BurtonUrban2015[source]

Bases: olfactorybulb.neuronunit.tests.publications.BurtonUrban2014

Burton & Urban (2015) Rapid Feedforward Inhibition and Asynchronous Excitation Regulate Granule Cell Activity in the Mammalian Main Olfactory Bulb

temperature = 32
class olfactorybulb.neuronunit.tests.publications.Christie2005[source]

Bases: olfactorybulb.neuronunit.tests.publications.BasePublication

temperature = 33.5
class olfactorybulb.neuronunit.tests.publications.Fukunaga2012[source]

Bases: olfactorybulb.neuronunit.tests.publications.BasePublication

temperature = 36
class olfactorybulb.neuronunit.tests.publications.Hovis2010[source]

Bases: olfactorybulb.neuronunit.tests.publications.BasePublication

temperature = 35
class olfactorybulb.neuronunit.tests.publications.Hu2016[source]

Bases: olfactorybulb.neuronunit.tests.publications.BasePublication

Hu et. al. (2016) Hyperpolarization-Activated Currents and Subthreshold Resonance in Granule Cells of the Olfactory Bulb

sag_testing_voltage = -103.5
temperature = 32
class olfactorybulb.neuronunit.tests.publications.JohnsonDelaney2010[source]

Bases: olfactorybulb.neuronunit.tests.publications.BasePublication

Johnson and Delaney (2010) Synaptic Activation of T-Type Ca2+ Channels Via mGluR Activation in the Primary Dendrite of Mitral Cells

current_duration = 4000
rebound_ap_method = '-300pA'
temperature = 35
class olfactorybulb.neuronunit.tests.publications.Shpak2012[source]

Bases: olfactorybulb.neuronunit.tests.publications.BasePublication

temperature = 22
class olfactorybulb.neuronunit.tests.publications.Stroh2012[source]

Bases: olfactorybulb.neuronunit.tests.publications.BasePublication

Stroh et. al. (2012) NMDA Receptor-Dependent Synaptic Activation of TRPC Channels in Olfactory Bulb Granule Cells

adp_current_amplitude = 1000
adp_current_duration = 1
temperature = 21
class olfactorybulb.neuronunit.tests.publications.Yu2015[source]

Bases: olfactorybulb.neuronunit.tests.publications.BasePublication

Yu et. al. (2015) Postnatal development attunes olfactory bulb mitral cells to high-frequency signaling

ahp_amplitude_method = 'threshold2min'
ahp_time_method = 'threshold2min'
current_duration = 2000
sag_testing_voltage = -103.5
sag_window = 120
spike_train_target_freq = 30
threshold_method = 'd3v/dt3'
class olfactorybulb.neuronunit.tests.publications.Zibman2011[source]

Bases: olfactorybulb.neuronunit.tests.publications.BasePublication

Zibman et. al. (2011) DISTINCT INTRINSIC MEMBRANE PROPERTIES DETERMINE DIFFERENTIAL INFORMATION PROCESSING BETWEEN MAIN AND ACCESSORY OLFACTORY BULB MITRAL CELLS

current_duration = 500
spike_train_current = 0.1
spike_train_method = 'constant_current'
temperature = 22
class olfactorybulb.neuronunit.tests.utilities.TestCache[source]

Bases: object

__init__()[source]

Initialize self. See help(type(self)) for accurate signature.

cache = {}
clear()[source]
get(key)[source]
pickle_dir = None
store(key, value)[source]
olfactorybulb.neuronunit.tests.utilities.extract_threshold_d3dt3(v)[source]
olfactorybulb.neuronunit.tests.utilities.extract_threshold_dvdt(v, threshold)[source]
olfactorybulb.neuronunit.tests.utilities.get_APs(voltage, ss_delay, method)[source]
Parameters
  • voltage

  • ss_delay

  • method – ‘d3v/dt3’ or ‘dv/dt=20’

Returns

olfactorybulb.neuronunit.tests.utilities.get_zero_crossings_neg2pos(voltage, after_delay=None)[source]

Returns the index locations where voltage value crossed 0 from neg->pos direction

Parameters

voltage – AnalogSignal or numpy array of voltage values

Returns

numpy array of 0-crossing indices

olfactorybulb.neuronunit.tests.utilities.get_zero_crossings_pos2neg(voltage, after_delay=None)[source]

Returns the index locations where voltage value crossed 0 from pos->neg direction

Parameters

voltage – AnalogSignal or numpy array of voltage values

Returns

numpy array of 0-crossing indices

class olfactorybulb.neuronunit.capabilities.SupportsSettingStopTime(*args: Any, **kwargs: Any)[source]

Bases: sciunit.Capability

Indicates that the model’s simulation stop time can be specified

set_stop_time(tstop)[source]

Specifies the simulator stop time

Parameters

temperature – the simulator stop time in ms

Returns

Nothing

class olfactorybulb.neuronunit.capabilities.SupportsSettingTemperature(*args: Any, **kwargs: Any)[source]

Bases: sciunit.Capability

Indicates that the model can be executed using a specific temperature in Celsius

set_temperature(temperature=6.3)[source]

Specifies the simulator temperature

Parameters

temperature – the simulator temperature in degrees Celsius

Returns

Nothing

class olfactorybulb.neuronunit.capabilities.SupportsVoltageClamp(*args: Any, **kwargs: Any)[source]

Bases: sciunit.Capability

Indicates that the model can be held at three levels of voltages using a voltage clamp

clamp_voltage(voltages=[0, 0, 0], durations=[0, 0, 0])[source]

Maintains the model membrane potential for the specified durations at the specified voltages

Parameters
  • voltages – a 3-element array of voltages to clamp to

  • durations – a 3-element array of durations to maintain the corresponding voltage levels

Returns

neo.core.AnalogSignal of the current required to keep the model at the specified voltages

class olfactorybulb.neuronunit.models.neuron_cell.NeuronCellModel(in_seg, out_seg=None, name=None)[source]

Bases: sciunit.Model, sciunit.capabilities.Runnable, neuronunit.capabilities.ReceivesSquareCurrent, neuronunit.capabilities.ProducesMembranePotential, neuronunit.capabilities.ProducesSpikes, olfactorybulb.neuronunit.capabilities.SupportsVoltageClamp, olfactorybulb.neuronunit.capabilities.SupportsSettingStopTime, olfactorybulb.neuronunit.capabilities.SupportsSettingTemperature

Defines a NeuronUnit model for running NeuronUnit tests against a cell model (1+ sections) implemented in NEURON simulator.

The class implements methods to inject current and record membrane potential at specified cell segments.

The class assumes the NEURON model has been loaded, synaptically isolated, and ready for current injection experiments. As input, it takes references to the NEURON segments where current is to be injected and membrane voltage measured.

IMPORTANT: When modifying this class, ensure all unit tests pass before checking in your changes to prevent breaking of dependent NeuronUnit tests.

Usage:

# Load and setup your model in NEURON first from neuron import h h.load_file(‘cell.hoc’) soma = h.Cell[0].soma dendrite = h.Cell[0].dend

# Pass the segment where the current will be injected, and where the membrane potential will be measured model = NeuronCellModel(in_seg=soma(0.5), out_seg=dendrite(1.0), name=”Smith et. al. (1996) Random Cell”)

# Judge the model test.judge(model)

__init__(in_seg, out_seg=None, name=None)[source]

Initialize self. See help(type(self)) for accurate signature.

clamp_voltage(voltages=[0, 0, 0], durations=[0, 0, 0])[source]

Maintains the model membrane potential for the specified durations at the specified voltages

Parameters
  • voltages – a 3-element array of voltages to clamp to

  • durations – a 3-element array of durations to maintain the corresponding voltage levels

Returns

neo.core.AnalogSignal of the current required to keep the model at the specified voltages

default_sampling_period = 1
get_backend()[source]
get_membrane_potential()[source]
inject_square_current(current={'amplitude': 0, 'delay': 0, 'duration': 0}, stop_on_spike=False)[source]
nrn_vector_to_AnalogSignal(vector, units)[source]

Resample the signal stored by the NEURON vector at the specified steps_per_ms frequency

Parameters
  • vector – reference to a NEURON h.Vector()

  • units – the units to use with the result

  • steps_per_ms – the number of points to use to represent each ms of the recorded signal

Returns

reset_instruments()[source]

Resets the current and voltage clamps and Vector recorders

set_stop_time(tstop)[source]

Specifies the simulator stop time

Parameters

temperature – the simulator stop time in ms

Returns

Nothing

set_temperature(celsius)[source]

Specifies the simulator temperature

Parameters

temperature – the simulator temperature in degrees Celsius

Returns

Nothing

setup_recorders(sampling_period)[source]