Neuron (mjukvara)

Nervcell
Utvecklare Michael Hines, John W. Moore och Ted Carnevale
Stabil frisättning
8.2.0 / 1 juli 2022 ; 7 månader sedan ( 2022-07-01 )
Förhandsgranska release
8.2a / 7 juni 2022 ; för 8 månader sedan ( 2022-06-07 )
Förvar
Skrivet i C , C++ , FORTRAN
Operativ system Cross-plattform
Typ Neuronsimulering
Licens Ny BSD-licens
Hemsida https://neuron.yale.edu

Neuron är en simuleringsmiljö för modellering av individer och nätverk av neuroner . Det utvecklades främst av Michael Hines, John W. Moore och Ted Carnevale på Yale and Duke .

Neuron modellerar individuella neuroner genom att använda sektioner som automatiskt delas in i individuella fack, istället för att kräva att användaren manuellt skapar fack. Det primära skriptspråket är hoc men ett Python- gränssnitt är också tillgängligt. Program kan skrivas interaktivt i ett skal eller laddas från en fil. Neuron stöder parallellisering via MPI -protokollet.

Neuron kan hantera diffusionsreaktionsmodeller och integrera diffusionsfunktioner i modeller av synapser och cellulära nätverk. Parallellisering är möjlig via interna flertrådade rutiner, för användning på flerkärniga datorer. Egenskaperna hos neurons membrankanaler simuleras med hjälp av kompilerade mekanismer skrivna med NMODL-språket eller av kompilerade rutiner som arbetar på interna datastrukturer som är inställda med Channel Builder.

Tillsammans med den analoga mjukvaruplattformen GENESIS är Neuron grunden för undervisning i beräkningsneurovetenskap i många kurser och laboratorier runt om i världen.

Användargränssnitt

Neuron har ett grafiskt användargränssnitt (GUI), för användning av personer med minimal programmeringserfarenhet. Det grafiska användargränssnittet är utrustat med en byggare för enstaka och flera fackceller, nätverk, nätverksceller, kanaler och linjära elektriska kretsar. Enstaka och flera fackceller skiljer sig åt genom att celler med flera fack har flera "sektioner", var och en med potentiellt distinkta parametrar för dimensioner och kinetik. Handledningar finns tillgängliga på Neurons webbplats, inklusive för att få ut grundläggande modeller från cell-, kanal- och nätverksbyggarna. [ citat behövs ] Med dessa byggare kan användaren ligga till grund för alla simuleringar och modeller.

Cellbyggare

Cellbyggarmenyn med de sex synliga alternativen

Cell Builder låter användaren generera och modifiera cellstrukturer med stickfigurer. Dessa sektioner utgör grunden för funktionellt distinkta områden av neuronen.

Användaren kan definiera funktionellt distinkta grupper av sektioner. Sektioner som förgrenar sig från varandra kan märkas "dendriter", medan en annan, enkel sektion som skjuter ut från samma centrala kan märkas som "axon". Användaren kan definiera parametrar längs vilka vissa värden är variabla som en funktion över en sektion. Till exempel kan väglängden längs en delmängd definieras som en domän, vars funktioner sedan kan definieras senare.

Användaren kan välja antingen enskilda sektioner eller grupper och ställa in exakta parametrar för längd, diameter, area och längd för den gruppen eller sektionen. Vilket som helst av dessa värden kan ställas in som en funktion av längden eller någon annan parameter för motsvarande sektion. Användaren kan ställa in antalet funktionella segment i en sektion, vilket är en strategi för rumslig upplösning. Ju högre antal segment, desto mer exakt kan Neuron hantera en funktion i en sektion. Segment är de punkter där punktprocessansvariga kan associeras.

Användare kan definiera kinetiska och elektrofysiologiska funktioner över både delmängder och sektioner. Neuron är utrustad med en probabilistisk modell av Hodgkin-Huxley Model jättebläckfisk axon kinetik, samt en funktion för att modellera passiv läckkanal kinetik. Båda dessa funktioner, och de egenskaper de beskriver, kan läggas till membranet i den konstruerade cellen. Värden för läckagehastighet, natriumkonduktans och kaliumkonduktans kan ställas in för modellering. Dessa kinetik kan ställas in som funktioner över en parametriserad domän. Kanaler blir tillgängliga för implementering i ett cellmembran.

Kanalbyggare

Användaren kan generera både spännings- och ligandstyrda kanalmodeller . Channel Builder stöder lokala punktkanaler, som vanligtvis används för enstaka, stora kanaler vars funktion ska modelleras, och allmänna kanaler vars täthet över cellen kan definieras. Maximal konduktans, reverseringspotential, ligandkänslighet, jonpermeabilitet, såväl som exakt dynamik för övergångstillstånd med användning av aktiverings- och inaktiveringsvariabler, och inklusive differentiell konduktans, kan definieras.

Nätverks- och nätverkscellbyggare

Neuron möjliggör generering av blandade modeller, befolkade med både artificiella celler och neuroner. Konstgjorda celler fungerar i huvudsak som punktprocesser, implementerade i nätverket. Konstgjorda celler kräver endast en punktprocess, med definierade parametrar. Användaren kan skapa nätverkscellers struktur och dynamik. Användaren kan skapa synapser genom att använda simulerade synapspunktsprocesser som arketyper. Parametrar på dessa punktprocesser kan manipuleras för att simulera både hämmande och excitatoriska svar. Synapser kan placeras på specifika segment av den konstruerade cellen, där de återigen kommer att bete sig som punktprocesser, förutom att de är känsliga för aktiviteten hos ett pre-synaptiskt element. Celler kan hanteras. Användaren skapar det grundläggande nätet av nätverksceller och tar tidigare färdiga nätverksceller som arketyper. Anslutningar kan definieras mellan källceller och målsynapser på andra celler. Cellen som innehåller målsynapsen blir det postsynaptiska elementet, medan källcellerna fungerar som presynaptiska element. Vikter kan läggas till för att definiera styrkan för aktivering av en synaps av den presynaptiska cellen. Ett plottalternativ kan aktiveras för att öppna en graf av spikar över tid för individuella neuroner.

Simulering och inspelning

Neuron är utrustad med en mängd simuleringsverktyg. Framför allt inkluderar det flera "punktprocesser", som är enkla funktioner i ett visst segment av en cell. Punktprocesser inkluderar simuleringar av spänning , patch , enkelelektrod och strömklämmor , såväl som flera simulerade synapser. Synapspunktsprocesser är distinkta för sin förmåga att modellera stimuleringsintensiteter som varierar icke-linjärt över tiden. Dessa kan placeras på vilket segment som helst av en sektion av en byggd cell, individ eller nätverk, och deras exakta värden, inklusive amplitud och varaktighet av stimulering, fördröjningstid för aktivering i en körning och tidsavklingningsparametrar (för synapser), kan definieras från punktprocesshanterarmodulen. När de implementeras i ett nätverk som synapser, definieras punktprocessparametrar i synapsbyggaren för en viss nätverkscell. Grafer som beskriver spänning, konduktans och strömaxlar över tid kan användas för att beskriva förändringar i elektriskt tillstånd vid platsen för valfritt segment i cellen. Neuron tillåter grafer över förändringar vid både enskilda punkter över tiden och över ett helt avsnitt genom tiden. Löptiden kan ställas in. Alla punktprocesser, inklusive de som står för celler eller synapser av artificiella neuroner, och alla grafer återspeglar varaktigheten.

Exempel

Det här exemplet skapar en enkel cell, med en enkelfacksoma och en multifacksaxon . Den har dynamiken i cellmembranet simulerad med hjälp av Hodgkin-Huxley bläckfisk axon kinetik. Simulatorn stimulerar cellen och kör i 50 ms.


  

 
	
	  
	
	  
	
	 
	
	 

 
	  
	  
	 
	 
	
	  



 0 


 
    


  
  
  




  


 //skapa två sektioner, kroppen av neuron och en mycket lång axon  skapar  soma  ,  axon  soma  {  //längd är inställd på 100 mikrometer  L  =  100  //diameter är inställd på 100 mikrometer  diam  =  100  //infoga en mekanism som simulerar standard bläckfisk Hodgkin–Huxley kanaler  infoga  hh  //insert a mechanism simulating passive membrane properties  insert  pas  }  axon  {  L  =  5000  diam  =  10  insert  hh  insert  pas  //axonet ska simuleras med 10 fack. Som standard används ett enda fack   nseg  =  10  }  //anslut den proximala änden av axonen till den distala änden av soma  connect  axonen  (  ),  soma  (  1  )  //deklarera och sätt in en strömklämma i mitten av soma  objref  stim  soma  stim  =  ny  IClamp  (  0.5  )  //definiera några parametrar för stimulus: fördröjning, varaktighet (båda i ms) och amplitud (i nA)  stim  .  del  =  10  stim  .  dur  =  5  stim  .  amp  =  10  //ladda en standard NEURON-biblioteksfil som definierar körningsrutinen  load_file  (  "stdrun.hoc"  )  //ställ in simuleringen att köra i 50 ms  tstop  =  50 //   kör  simuleringskörningen  () 

En plot kan genereras som visar spänningsspåren från soma och den distala änden av axonet. Aktionspotentialen den uppträder i soma vid stimuleringspunkten. Diagrammet är membranspänning mot tid.

NEURON Plot.png

externa länkar