eoscircuits.mbcircuits package

Submodules

eoscircuits.mbcircuits.circuit module

Mushroom Body Circuit

This module supports:

1. Generating and changing random connectivity patterns between PNs and KCs with varying degree of fan-in ratio (number of PNs connected to a given KC) 2. Changing the strength of feedback inhibition of the APL neuron

class eoscircuits.mbcircuits.circuit.MBCircuit(graph, config)[source]

Bases: eoscircuits.basecircuit.Circuit

Mushroom Body Circuit

Parameters
Return type

None

change_apl_strength(N)[source]

Set APL Strength

Parameters

N (float) – The larger the N the weaker the inhibition. N should be in the range of [1, inf]. Typical values are around config.NK

Return type

None

change_pn_to_kc(routing=None, fanin=None, seed=None)[source]
Parameters
  • routing (Optional[numpy.ndarray]) –

  • fanin (Optional[int]) –

  • seed (Optional[int]) –

Return type

None

config: eoscircuits.mbcircuits.circuit.MBConfig

Configuration of Circuit. Fully Specifies the Circuit

classmethod create_from_config(cfg)[source]

Create Instance from Config

Parameters

cfg – Config instance that specifies the configuration of the module

Returns

A new ANTCircuit instance

Return type

ALCircuit

classmethod create_graph(cfg)[source]

class method that creates an instance of networkx graph from configuration

Return type

networkx.classes.multidigraph.MultiDiGraph

extra_comps: List[NDComponent]

Extra Components to be aded to NeuroKernel at Run Time

property inputs

Output OTP Nodes IDs and the Variables

property outputs

Output BSG Nodes IDs and the Variables

class eoscircuits.mbcircuits.circuit.MBConfig(NO:Iterable[Iterable[int]], affs:Iterable[float], receptors:Iterable[str]=None, resting:float=None, node_params:dict=<factory>, osns:Iterable[Iterable[str]]=None, NP:Union[int, Iterable[int]]=None, NPreLN:int=None, NPosteLN:Union[int, Iterable[int]]=None, NPostiLN:Union[int, Iterable[int]]=None, prelns:Iterable[str]=None, postelns:Iterable[Iterable[str]]=None, postilns:Iterable[Iterable[str]]=None, pns:Iterable[Iterable[str]]=None, osn_to_preln:Iterable[Iterable[float]]=None, osn_to_postiln:Iterable[Iterable[float]]=None, osn_to_posteln:Iterable[Iterable[float]]=None, preln_to_axt:Iterable[Iterable[float]]=None, axt_to_pn:Iterable[Iterable[float]]=None, postiln_to_pn:Iterable[Iterable[float]]=None, posteln_to_pn:Iterable[Iterable[float]]=None, NK:int=None, NAPL:int=None, NFanIn:int=6, kcs:Iterable[str]=None, apls:Iterable[str]=None, pn_to_kc:Iterable[Iterable[float]]=None, kc_to_apl:Iterable[float]=None, apl_to_kc:Iterable[float]=None)[source]

Bases: eoscircuits.alcircuits.circuit.ALConfig

Parameters
  • NO (Iterable[Iterable[int]]) –

  • affs (Iterable[float]) –

  • receptors (Iterable[str]) –

  • resting (float) –

  • node_params (dict) –

  • osns (Iterable[Iterable[str]]) –

  • NP (Union[int, Iterable[int]]) –

  • NPreLN (int) –

  • NPosteLN (Union[int, Iterable[int]]) –

  • NPostiLN (Union[int, Iterable[int]]) –

  • prelns (Iterable[str]) –

  • postelns (Iterable[Iterable[str]]) –

  • postilns (Iterable[Iterable[str]]) –

  • pns (Iterable[Iterable[str]]) –

  • osn_to_preln (Iterable[Iterable[float]]) –

  • osn_to_postiln (Iterable[Iterable[float]]) –

  • osn_to_posteln (Iterable[Iterable[float]]) –

  • preln_to_axt (Iterable[Iterable[float]]) –

  • axt_to_pn (Iterable[Iterable[float]]) –

  • postiln_to_pn (Iterable[Iterable[float]]) –

  • posteln_to_pn (Iterable[Iterable[float]]) –

  • NK (int) –

  • NAPL (int) –

  • NFanIn (int) –

  • kcs (Iterable[str]) –

  • apls (Iterable[str]) –

  • pn_to_kc (Iterable[Iterable[float]]) –

  • kc_to_apl (Iterable[float]) –

  • apl_to_kc (Iterable[float]) –

Return type

None

NAPL: int = None

Number of APLs

NFanIn: int = 6

Number of PNs (regardless of receptor type) connected to each KC

NK: int = None

Number of KCs

apl_to_kc: Iterable[float] = None
apls: Iterable[str] = None
default_apl_to_kc()[source]

Create Densely Connected APL to KC routing table

default_kc_to_apl()[source]

Create Densely Connected KC to APL routing table

default_pn_to_kc(fanin=None, seed=None)[source]

PN to KC Connectivity

The indices of PNs connected to KC is sampled uniformly from all the PNs, regardless of receptor types.

Parameters
  • fanin (Optional[int]) – number of PNs connected to a single KC

  • seed (Optional[int]) – seed for random number generator

Return type

numpy.ndarray

kc_to_apl: Iterable[float] = None
property kcdends
kcs: Iterable[str] = None
property node_types

List of Recognized Node Types

pn_to_kc: Iterable[Iterable[float]] = None
exception eoscircuits.mbcircuits.circuit.MBException[source]

Bases: eoscircuits.basecircuit.EOSCircuitException

Base Mushroom Body Exception

eoscircuits.mbcircuits.model module

class eoscircuits.mbcircuits.model.APL[source]

Bases: object

params = {'N': 1.0}
class eoscircuits.mbcircuits.model.KC[source]

Bases: object

params = {'threshold': 1.0}
class eoscircuits.mbcircuits.model.KCDend[source]

Bases: object

params = {'bias': 1.0, 'gain': 1.0}
class eoscircuits.mbcircuits.model.Model[source]

Bases: object

NeuroBallad Element that also wraps the underlying NDComponent

class eoscircuits.mbcircuits.model.PN2KC[source]

Bases: object

params = {'weight': 1.0}

Module contents

Mushroom Body Circuit

This module supports:

  1. Generating and changing random connectivity patterns between PNs and KCs with varying degree of fan-in ratio (number of PNs connected to a given KC)

  2. Changing the strength of feedback inhibition of the APL neuron