Neuron (oprogramowanie)

Neuron
Deweloperzy Michaela Hinesa, Johna W. Moore'a i Teda Carnevale'a
Wersja stabilna
8.2.0 / 1 lipca 2022 r . ; 7 miesięcy temu ( 2022-07-01 )
Wersja podglądu
8.2a / 7 czerwca 2022 ; 8 miesięcy temu ( 2022-06-07 )
Magazyn
Napisane w C , C++ , FORTRAN
System operacyjny Międzyplatformowe
Typ Symulacja neuronów
Licencja Nowa licencja BSD
Strona internetowa https://neuron.yale.edu

Neuron to środowisko symulacyjne do modelowania pojedynczych i sieci neuronów . Został opracowany głównie przez Michaela Hinesa, Johna W. Moore'a i Teda Carnevale'a z Yale i Duke'a .

Neuron modeluje poszczególne neurony za pomocą sekcji, które są automatycznie dzielone na poszczególne przedziały, zamiast wymagać od użytkownika ręcznego tworzenia przedziałów. Podstawowym językiem skryptowym jest hoc , ale dostępny jest również interfejs Python . Programy można pisać interaktywnie w powłoce lub ładować z pliku. Neuron obsługuje równoległość za pośrednictwem MPI .

Neuron jest w stanie obsługiwać modele dyfuzji-reakcji i integrować funkcje dyfuzji z modelami synaps i sieci komórkowych. Równoległość jest możliwa za pomocą wewnętrznych procedur wielowątkowych, do użytku na komputerach wielordzeniowych. Właściwości kanałów błonowych neuronu są symulowane przy użyciu skompilowanych mechanizmów napisanych przy użyciu języka NMODL lub skompilowanych procedur działających na wewnętrznych strukturach danych, które są skonfigurowane za pomocą Channel Builder.

Wraz z analogiczną platformą oprogramowania GENESIS , Neuron jest podstawą nauczania neuronauki obliczeniowej na wielu kursach i laboratoriach na całym świecie.

Interfejs użytkownika

Neuron posiada graficzny interfejs użytkownika (GUI) do użytku przez osoby z minimalnym doświadczeniem w programowaniu. GUI jest wyposażony w narzędzie do tworzenia jedno- i wielokomorowych komórek, sieci, komórek sieciowych, kanałów i liniowych obwodów elektrycznych. Komórki z pojedynczym i wieloma przedziałami różnią się tym, że komórki z wieloma przedziałami mają kilka „sekcji”, z których każda ma potencjalnie różne parametry wymiarów i kinetyki. Samouczki są dostępne na stronie internetowej Neuron, w tym dotyczące uzyskiwania podstawowych modeli z komórki, budowania kanałów i sieci. [ potrzebne źródło ] Dzięki tym konstruktorom użytkownik może stworzyć podstawę wszystkich symulacji i modeli.

Konstruktor komórek

Menu kreatora komórek z widocznymi sześcioma opcjami

Cell Builder pozwala użytkownikowi generować i modyfikować struktury komórek typu stick figure. Sekcje te stanowią podstawę funkcjonalnie odrębnych obszarów neuronu.

Użytkownik może zdefiniować funkcjonalnie odrębne grupy przekrojów. Sekcje rozgałęziające się od siebie można nazwać „dendrytami”, podczas gdy inną, pojedynczą sekcję, która wystaje z tej samej części centralnej, można nazwać „aksonem”. Użytkownik może zdefiniować parametry, wzdłuż których określone wartości są zmienne jako funkcja w przekroju. Na przykład długość ścieżki wzdłuż podzbioru można zdefiniować jako domenę, której funkcje można następnie zdefiniować później.

Użytkownik może wybrać poszczególne sekcje lub grupy i ustawić dokładne parametry długości, średnicy, powierzchni i długości dla tej grupy lub sekcji. Dowolną z tych wartości można ustawić jako funkcję długości lub innego parametru odpowiedniej sekcji. Użytkownik może ustawić liczbę segmentów funkcjonalnych w przekroju, co jest strategią rozdzielczości przestrzennej. Im większa liczba segmentów, tym dokładniej Neuron może obsłużyć funkcję w sekcji. Segmenty to punkty, do których można przypisać kierowników procesów punktowych.

Użytkownicy mogą definiować funkcje kinetyczne i elektrofizjologiczne zarówno w podzbiorach, jak i sekcjach. Neuron jest wyposażony w probabilistyczny model modelu Hodgkina-Huxleya , a także funkcję modelowania kinetyki pasywnego kanału wycieku . Obie te funkcje i cechy, które opisują, można dodać do błony skonstruowanej komórki. Wartości szybkości wycieku, przewodności sodu i potasu można ustawić do modelowania, a kinetykę można ustawić jako funkcje w sparametryzowanej domenie. Kanały stają się dostępne do implementacji w błonie komórkowej.

Kreator kanałów

Użytkownik może generować modele kanałów bramkowanych napięciem i ligandem . Program Channel Builder obsługuje lokalne kanały punktowe, zwykle używane w przypadku pojedynczych, dużych kanałów, których funkcja ma być modelowana, oraz kanały ogólne, których gęstość w komórce można zdefiniować. Maksymalne przewodnictwo, potencjał odwrotny, czułość ligandu, przepuszczalność jonów, a także precyzyjna dynamika stanów przejściowych można zdefiniować za pomocą zmiennych aktywacji i inaktywacji, w tym przewodnictwa różniczkowego.

Konstruktor sieci i komórek sieciowych

Neuron pozwala na generowanie modeli mieszanych, wypełnionych zarówno sztucznymi komórkami, jak i neuronami. Sztuczne komórki działają zasadniczo jako procesy punktowe, zaimplementowane w sieci. Sztuczne komórki wymagają jedynie procesu punktowego, o określonych parametrach. Użytkownik może tworzyć strukturę i dynamikę komórek sieci. Użytkownik może tworzyć synapsy, używając symulowanych procesów punktów synaps jako archetypów. Parametrami tych procesów punktowych można manipulować, aby symulować zarówno reakcje hamujące, jak i pobudzające. Synapsy można umieścić na określonych segmentach konstruowanej komórki, gdzie znowu będą zachowywać się jak procesy punktowe, z tą różnicą, że są wrażliwe na działanie elementu presynaptycznego. Komórkami można zarządzać. Użytkownik tworzy podstawową siatkę komórek sieci, biorąc za archetypy wcześniej ukończone komórki sieci. Można zdefiniować połączenia między komórkami źródłowymi a synapsami docelowymi w innych komórkach. Komórka zawierająca docelową synapsę staje się elementem postsynaptycznym, podczas gdy komórki źródłowe funkcjonują jako elementy presynaptyczne. Wagi można dodać, aby określić siłę aktywacji synapsy przez komórkę presynaptyczną. Można aktywować opcję wykresu, aby otworzyć wykres skoków w czasie dla poszczególnych neuronów.

Symulacja i nagrywanie

Neuron jest wyposażony w mnóstwo narzędzi do symulacji. Przede wszystkim obejmuje kilka „procesów punktowych”, które są prostymi funkcjami w określonym segmencie komórki. Procesy punktowe obejmują symulacje napięcia , patcha , pojedynczej elektrody i prądu zaciski, a także kilka symulowanych synaps. Procesy punktów synaps są różne ze względu na ich zdolność do modelowania intensywności stymulacji, które zmieniają się nieliniowo w czasie. Można je umieścić na dowolnym segmencie dowolnej sekcji zbudowanej komórki, pojedynczej lub sieci, a ich dokładne wartości, w tym amplitudę i czas trwania stymulacji, czas opóźnienia aktywacji w przebiegu i parametry zaniku czasu (dla synaps), można zdefiniować z modułu menedżera procesów punktowych. Po zaimplementowaniu w sieci jako synapsy parametry procesu punktowego są definiowane w konstruktorze synaps dla określonej komórki sieci. Wykresy opisujące osie napięcia, przewodnictwa i prądu w czasie mogą być użyte do opisania zmian stanu elektrycznego w miejscu dowolnego segmentu ogniwa. Neuron pozwala na wykresy zmian zarówno w poszczególnych punktach w czasie, jak iw całym przekroju w czasie. Czas trwania biegu można ustawić. Wszystkie procesy punktowe, w tym stojące za komórkami lub synapsami sztucznych neuronów, a wszystkie wykresy odzwierciedlają czas trwania.

Przykłady

Ten przykład tworzy prostą komórkę z jednokomorową somą i wielokomorowym aksonem . Ma dynamikę błony komórkowej symulowaną za pomocą aksonu kałamarnicy Hodgkina-Huxleya . Symulator stymuluje komórkę i działa przez 50 ms.


  

 
	
	  
	
	  
	
	 
	
	 

 
	  
	  //stwórz dwie sekcje, ciało neuronu i bardzo długi akson  tworzą  soma  ,  axon  soma  {  //długość jest ustawiona na 100 mikrometrów  L  =  100  //średnica jest ustawiona na 100 mikrometrów  diam  =  100  //wstaw mechanizm symulujący standardowe kanały kałamarnicy Hodgkina-Huxleya  wstaw  hh  //wstaw mechanizm symulujący właściwości biernej błony  wstaw  pas  }  akson  {  L  =  5000  diam  =  
	 
	 
	
	  



 0 


 
     10  insert  hh  insert  pas  // akson powinien być symulowany przy użyciu 10 przedziałów. Domyślnie używany jest pojedynczy przedział   nseg  =  10  }  //połącz proksymalny koniec aksonu z dalszym końcem somy  connect  axon  (  ),  soma  (  1  )  //zadeklaruj i włóż cęgi prądowe w środek somy  objref  stim  soma  stim  =  nowy  IClamp  (  0.5  ) 


  
  
  




  


 // zdefiniuj niektóre parametry bodźca: opóźnienie, czas trwania (oba w ms) i amplitudę (w nA)  stymulację  .  del  =  10  stym  .  dur  =  5  stym  .  amp  =  10  // załaduj domyślny plik biblioteki NEURON, który definiuje procedurę uruchamiania  load_file  (  "stdrun.hoc"  )  // ustaw symulację na 50 ms  tstop  =  50  // uruchom symulację  run  () 

Można wygenerować wykres pokazujący przebiegi napięcia, zaczynając od somy i dystalnego końca aksonu. Potencjał czynnościowy na końcu aksonu pojawia się nieco później niż pojawia się w somie w punkcie stymulacji. Wykres przedstawia napięcie membrany w funkcji czasu.

NEURON Plot.png

Linki zewnętrzne