E N D
N2AA neuroinformatics framework Sandia National Laboratories is a multi-program laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin Corporation, for the U.S. Department of Energy’s National Nuclear Security Administration under contract DE-AC04-94AL85000.
The Challenge Society for Neuroscience >30,000 scientists attend >1,000 topic areas presented Need to integrate all this knowledge. Beyond capacity of anyone to comprehend. Complete model of human cognition cannot exist as an idea in one person's mind. Must be an information structure held in a large computer system.
NeuroinformaticsVision NEUROSCIENCE Neuroscience Modelers This diagram is not exhaustive! Cognitive Systems Electrophysiology Molecular Behavior Anatomy Allen Institute Direct contribution of neuroscience data PyNN Informatics Tools NIF Neuro-morpho GENESIS Draws from online databases NEURON Simulation Runs on lower level simulation platform Xyce MATLAB Neuro-construct Python C++
Brain A unified modeling framework has Stem Cell Synapse Neuron Hippocampus has has Dentate Gyrus CA3 has has has is is is is becomes Mossy Terminal Granule Cell Progenitor Cell connects Pyramidal Cell connects Attributes Name = Hippocampus CA3 pyramidal call Organism = Vertebrata Neurotransmitter released = Glutamate Dendrite Length = 12481.9 +- 2998.9 um V’ = (G * (V_rest - V) + I_inj) / C G = 0.3 … Equations (a type of attribute)
Example: Cable Model Cable Model HH = $include (“HH Compartment”) HH.$n = 3 C = $include (“HH Connection”) C.A = HH C.B = HH C.$p = C.A.$index == C.B.$index - 1 Passive Membrane V' = (G * (V_rest - V) + I_inj) / C G = 0.3 V_rest = 10.613 C = 1 Passive Membrane Cable Model Potassium Channel parent = $inherit (“Ion Channel”) I = G * n^4 * (E - V) n' = alpha_n * (1 – n) – beta_n * n alpha_n := (10 - V) / (100 * (exp ((10 - V) / 10) - 1)) beta_n := 0.125 * exp (-V / 80) G = 36 E = -12 has has Potassium Channel Ion Channel $up.V' += I / C is is has Hodgkin-Huxley Compartment Hodgkin-Huxley Connection connects Ion Channel Sodium Channel has is HH Connection A = $connect (“HH Compartment”) B = $connect (“HH Compartment”) A.V' += (B.V – A.V) / R B.V' += (A.V – B.V) / R R = 10 Sodium Channel parent = $inherit (“Ion Channel”) I = G * m^3 * h * (E – V) m’ = alpha_m * (1 – m) – beta_m * m h’ = alpha_h * (1 – h) – beta_h * h alpha_m := (25 – V) / (10 * (exp ((25 – V) / 10) – 1)) beta_m := 4 * exp (- V / 18) alpha_h := 0.07 * exp (- V / 20) beta_h := 1 / (exp ((30 – V) / 10) + 1) G = 120 E = 115 HH Compartment parent = $inherit (“Passive Membrane”) K = $include (“Potassium Channel”) Na = $include (“Sodium Channel”)
Neural Compiler Neuroscience Results Device Engineering NiCE
Neural Compiler Outputs Xyce * seed: 1380077478872 .tran 0 0.0 * initial condition equations for HHmod * remaining equations for HHmod CV_1 V_1_node 0 1 BV_1_equ 0 V_1_node I={ (G_m_1 * (V_rest_1 - V(V_1_node)) + I_inj_1) / C_m_1} .param I_inj_1 = {10.0} .param C_m_1 = {1.0} .param V_rest_1 = {10.613} .param G_m_1 = {0.3} CV_2 V_2_node 0 1 BV_2_equ 0 V_2_node I={ (G_m_1 * (V_rest_1 - V(V_2_node)) + I_inj_1) / C_m_1} CV_3 V_3_node 0 1 BV_3_equ 0 V_3_node I={ (G_m_1 * (V_rest_1 - V(V_3_node)) + I_inj_1) / C_m_1} * initial condition equations for HHmodHHmod * remaining equations for HHmodHHmod BB.V_4_equ 0 V_2_node I={ (V(V_1_node) - V(V_2_node)) / (C_m_1 * R_4)} .param R_4 = {10.0} BA.V_4_equ 0 V_1_node I={ (V(V_2_node) - V(V_1_node)) / (C_m_1 * R_4)} BB.V_5_equ 0 V_3_node I={ (V(V_2_node) - V(V_3_node)) / (C_m_1 * R_4)} BA.V_5_equ 0 V_2_node I={ (V(V_3_node) - V(V_2_node)) / (C_m_1 * R_4)} * outputs .print tran C++ class Model : public _Compartment { public: class HHmod : public _Compartment { public: … virtual void update (float _24t, float & _24dt) { float Na_2ealpha_5fh; Na_2ealpha_5fh = 0.07f * exp(-V / 20.0f); float Na_2ealpha_5fm; Na_2ealpha_5fm = (25.0f - V) / (10.0f * (exp((25.0f - V) / 10.0f) - 1.0f)); float K_2ealpha_5fn; K_2ealpha_5fn = (10.0f - V) / (100.0f * (exp((10.0f - V) / 10.0f) - 1.0f)); float Na_2ebeta_5fh; Na_2ebeta_5fh = 1.0f / (exp((30.0f - V) / 10.0f) + 1.0f); float Na_2ebeta_5fm; Na_2ebeta_5fm = 4.0f * exp(-V / 18.0f); float K_2ebeta_5fn; K_2ebeta_5fn = 0.125f * exp(-V / 80.0f); _nextV_27 += (0.3f * (10.613f - V) + I_5finj) / 1.0f + K_2eI / 1.0f + Na_2eI / 1.0f; Na_2eh_27 = Na_2ealpha_5fh * (1.0f - Na_2eh) - Na_2ebeta_5fh * Na_2eh; Na_2eI = 120.0f * pow (Na_2em, 3.0f) * Na_2eh * (115.0f - V); K_2eI = 36.0f * pow (K_2en, 4.0f) * (-12.0f - V); Na_2em_27 = Na_2ealpha_5fm * (1.0f - Na_2em) - Na_2ebeta_5fm * Na_2em; K_2en_27 = K_2ealpha_5fn * (1.0f - K_2en) - K_2ebeta_5fn * K_2en; if (_24index == 0.0f) I_5finj = 10.0f; } … }; };
Typical behavior 10 pA V1 V3 V2 Iinj mV ms ms
Workflow Simulate Database of Neural Structure & Dynamics • Contributed models • Neurophysiology literature • Online databases Algorithmic motifs Fit parameters • Visualization • Automatic analysis Characterize model behavior
Simulate spike propagation through a Hodgkin-Huxley cable V1 V3 V2 Neuroscience Representation: Iinj N2A Representation: HH HH HH Connections Parts