Neuron (oprogramowanie)
Deweloperzy | Michaela Hinesa, Johna W. Moore'a i Teda Carnevale'a |
---|---|
Wersja stabilna | 8.2.0 / 1 lipca 2022 r
|
Wersja podglądu | 8.2a / 7 czerwca 2022
|
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
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.
Linki zewnętrzne
- Książka NEURON
- Samouczek Neurona
- Samouczek dotyczący budowy przykładowego modelu
- Zrzut ekranu kreatora sieci, wyświetlający ukończoną prostą sieć
- Stworzenie funkcji opisującej przewodnictwo różniczkowe kilku jonów, przyjmując za dziedzinę sparametryzowaną długość drogi odcinka
- Samouczek dotyczący funkcjonalności menu Biofizyka konstruktora komórek
- Plik ZIP, który tworzy pełny model prostego neuronu, z wykresami zależności napięcia od czasu i napięcia od odległości w czasie.
- Samouczek obejmujący podstawowe użycie kontroli przebiegu, menedżerów procesów punktowych i wykresów
- „Samouczek opisujący interfejs i proces tworzenia sieci” .