2º Curso Prático de Modelagem Computacional em ... - SisNe

32
2º Curso Prático de Modelagem Computacional em Neurociência Neurossimuladores Renan O. Shimoura Doutorando

Transcript of 2º Curso Prático de Modelagem Computacional em ... - SisNe

2º Curso Prático de Modelagem Computacional em Neurociência

NeurossimuladoresRenan O. Shimoura

Doutorando

O que são?

• Linguagens computacionais ou pacotes para uma linguagemjá existente desenvolvidos para facilitar a simulação deneurônios e/ou redes neurais;

• Contém diversas funções e rotinas já pré-implementadascom foco nos elementos necessários para construção de umneurônio ou rede de neurônios, assim como nosmecanismos biofísicos envolvidos.

Por que utilizar neurossimuladores?

• Otimização da produtividade científica;

• Geralmente gastasse mais tempo escrevendo os códigos doque utilizando-os para rodar os experimentos;

• Ajuda na reprodutibilidade e universalização de rotinascomputacionais;

• Ajuda o pesquisador a concentrar-se em pesquisa de altonível em neurociência, sem a distração em problemas denível técnico computacional e matemático.

• Definir o nível de modelagem envolvida em sua hipótese• Qual o nível de detalhamento biológico será utilizado em seu

trabalho?• Você está trabalhando com redes ou neurônios individuais?

• Neurônio individual• Será utilizado modelos fenomenológicos ou baseados em canais

iônicos?• Terá morfologia?

• Redes• Qual o tamanho da rede?

• Buscar informações sobre a confiabilidade do simulador

Como escolher um simulador

ModelDB: uma ferramenta paracompartilhamento de modelos

Neurosimuladores

• Neuron• Modelos baseados em Hodgkin-Huxley

• Modelos com morfologia

• Redes com o NetPyne

• NEST• Paralelização em clusters

• Simulações de grande porte

• BRIAN2• Maior liberdade na implementação de

diferentes modelos de neurônios e sinapses

• Redes de médio porte

Organização das principais funções

Grupo de neurônios

Cria o neurônio ou grupo de neurônios

Se detalhado, cria-se o SOMA e os segmentos

(morfologia)

Equações do modelo

Rede

Topologia da rede

Sinapses

Conecta populações de neurônios ou

pares de neurônios

Define o modelo de sinapse

usado

Possibilidade de mecanismos

sinápticos. Ex: plasticidade

Estímulo

Insere estímulo externo ou

referente à rede não simulada

implicitamente

NEURON

• NEURON é um ambiente desimulação para modelagemindividual e em rede de neurônios.

• Oferece ferramentas convenientespara construção, gerenciamento euso de modelos de um jeito queseja numericamente sólido ecomputacionalmente eficiente.

Website: http://www.neuron.yale.edu/

Download e instalação: https://www.neuron.yale.edu/neuron/download

• Possibilidade de criar modelos via GUI (graphical user interface)

Hines ML, Carnevale NT (2005). RecentDevelopments in NEURON.

• Utiliza interpretador hoc (sintaxe similar a C) ouPython;

NetPyNE

NetPyNE

• NEST é um simulador para redes neurais comneurônios que disparam;

• Tem seu foco na dinâmica, tamanho e estrutura desistemas neurais;

• Não é otimizado para estudo de neurôniosindividuais com morfologia exata.

NEST Simulator

Website: www.nest-simulator.org

BRIAN2 Simulator

• BRIAN é um simulador para redes neurais construído combase em Python;

• Simplifica a implementação de modelos, mas mantém aflexibilidade;

• Define os modelos por equações diferenciais.

• Há a possibilidade dos códigos serem gerados em outraslinguagens de programação:• Python;• C++;• Android.

• Tem seu foco em rede de tamanho médio (de poucos a~100000 neurônios) e possível de rodar em PC’s.

• Não otimizado para supercomputadores;

• Boa ferramenta para pesquisa e ensino;

• Gratuito;

• Tem suporte para simulação em GPU.

Website: briansimulator.org

Documentação:

Tutoriais:

Exemplos:

Instalação

• Windows:• Baixe e instale o programa Anaconda no site:https://www.continuum.io/downloads#windows

• Siga os passos de instalação padrão e instale na pasta desua preferência;

• Se a instalação ocorrer corretamente, um ícone doaplicativo Anaconda Navigator será criado;

• Acesse o Prompt de Comando• Vá no botão de pesquisa do Windows e digite: cmd

• Digite no prompt: conda –V• Se a instalação estiver correta você verá a versão do Anaconda

instalado em seu computador

• Digite: conda install -c brian-team brian2

• Agora digite: conda install brian2

• Se tudo ocorrer corretamente o Brian2 estará instalado em seu computador

• Alguns pacotes adicionais podem ser necessários:

conda install matplotlib nose ipython jupyter-notebook

Instalação

• LINUX:• É possível fazer a instalação via Anaconda, porém, o

modo mais rápido é através do comando de instalaçãode biblioteca em python, o pip.

• Abra o terminal e digite o comando:

pip install brian2

Instalação

Modelo Integra-e-Dispara

(Imagem retirada de Gerstner et al., 2014)

Modelo Integra-e-Dispara

𝑉𝑟𝑒𝑠𝑡

𝑉(𝑡)

𝑉𝑟𝑒𝑠𝑡

𝑉(𝑡)

(Imagem retirada de Gerstner et al., 2014)

Modelo Integra-e-Dispara

)()( tIRVVdt

dVrest

( )I tV

(Imagem adaptada de Gerstner et al., 2014)

𝜏𝑑𝑉

𝑑𝑡= − 𝑉 − 𝑉𝑟𝑒𝑠𝑡 + 𝑅 ∙ 𝐼 𝑡

𝑆𝑒 𝑉 > 𝑉𝑙𝑖𝑚𝑖𝑎𝑟 , 𝑒𝑛𝑡ã𝑜 𝑉 = 𝑉𝑟𝑒𝑠𝑡

Modelo Integra-e-Dispara

Referências

• Gerstner W, Kistler WM, Naud R, Paninski L. Neuronaldynamics : from single neurons to networks and models ofcognition. 2014. doi:10.1007/s13398-014-0173-7.2.

• Goodman DFM, Brette R. The brian simulator. Front Neurosci2009;3:192–7. doi:10.3389/neuro.01.026.2009.

• Hines ML, Davison AP, Muller E. NEURON and Python. FrontNeuroinform 2009;3:1. doi:10.3389/neuro.11.001.2009.

• Hines ML, Carnevale NT. Recent Developments in NEURON.2005. In: Bower JM, Beeman D (eds): Special Issue on RealisticNeural Modeling - Wam-Bamm '05 Tutorials. Brains, Minds andMedia, Vol. 1, bmm221. (urn:nbn:de:0009-3-2210)