Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Adexp model Use case. #26

Open
russelljjarvis opened this issue Jan 7, 2021 · 4 comments
Open

Add Adexp model Use case. #26

russelljjarvis opened this issue Jan 7, 2021 · 4 comments

Comments

@russelljjarvis
Copy link
Collaborator

russelljjarvis commented Jan 7, 2021

I believe the adaptive exponential model is often better able to fit to accommodation or adaptation of real neuron firing patterns.

If you see below you can see optimized Izhikevich versus adaptive exponential models trying to match an empirical voltage trace from Allen Cell Types (allen specimen id 325479788). Note the plots below come from python/seaborn.

real_trace

below the trace from specimen id 325479788 will appear orange against optimized models.

AdExp model fit:

use_case

Izhikevich model fit

IZHI_correction

Here is a notebook demonstrating the Adexp model in NB form:
notebook

@russelljjarvis
Copy link
Collaborator Author

russelljjarvis commented Jan 7, 2021

Note not sure if the units of the voltage trace are mV or just volts. If its volts I may need to recalibrate by applying units to the parameters and or the output voltage. In the python examples units are mV

@jpsamaroo
Copy link
Collaborator

They should be mV; I don't know of a neuron model that resets to -75V 😉

This is quite cool! I know this might be asking a lot, but would you know how to convert this sort of comparison into a robust test that we can run as part of the testsets? I would love to have behavioral verification of models done automatically by the package.

In any case, let's leave this issue open until we find a way to incorporate this sort of information into this repository somehow.

@russelljjarvis
Copy link
Collaborator Author

russelljjarvis commented Jan 10, 2021

AOK, well this unit mV issue should be easy for me to fix in the next week or so.

"This is quite cool! I know this might be asking a lot, but would you know how to convert this sort of comparison into a robust test that we can run as part of the testsets? I would love to have behavioral verification of models done automatically by the package."

In principle yes, this was mostly what my PhD involved but in python.

the allensdk for python means that a continuous integration script can download membrane potential traces as needed to do this sort of data driven testing. I am doubtfull that the same API exists for julia. I have used PyCall to do various things, but the interface dates rapidly and also it causes bad julia execution slow downs.

One could easily store some of these experimental files in julias equivalent of a pickle and do some testing that way, but its not a graceful solution.

@russelljjarvis
Copy link
Collaborator Author

Also the Izhikevich model can perform realistic adaptation patterns against ramp current injections but it struggles a bit with square pulses. Nonetheless, it's a problem when realistic behaviour is desirable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants