Neuron (mjukvara)
Utvecklare | Michael Hines, John W. Moore och Ted Carnevale |
---|---|
Stabil frisättning | 8.2.0 / 1 juli 2022
|
Förhandsgranska release | 8.2a / 7 juni 2022
|
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
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.
externa länkar
- NEURON-boken
- En Neuron handledning
- Handledning för att konstruera exempelmodell
- Skärmdump av nätverksbyggaren, som visar ett färdigt enkelt nätverk
- Skapande av en funktion som beskriver differentiell konduktans för flera joner, med den paramateriserade väglängden för en sektion som en domän
- Handledning om funktionaliteten i biofysikmenyn för cellbyggaren
- Zip-fil som skapar en fullständig modell av en enkel neuron, med grafer för spänning mot tid och spänning mot avstånd över tid.
- Handledning som täcker rudimentär användning av körningskontroll, punktprocesshanterare och grafer
- "Handledning som beskriver gränssnittet och processen för att skapa ett nätverk" .