-
Notifications
You must be signed in to change notification settings - Fork 24
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
ChannelModel class returns ReceivesSquareCurrent as failed capability for EGL-19.channel model #221
Comments
@rgerkin this makes it impossible for us to create an instance of ChannelModel with this file. Something you can fix? |
tl;dr I should just remove "ReceivesSquareCurrent" as a capability for this model class, because it isn't really even doing that! It is just actually doing voltage steps. And I'm not sure what those capability checks would even look like, see below: I realize now that in order to run this I was using pyNeuroML's channel analyzer module, which takes this .nml file and wraps it with a LEMS template that provides the ability to inject current. I put the resulting LEMS file [here]https://github.com/scidash/neuronunit/blob/dev/neuronunit/examples/model_zoo/LEMS_Test_ca_boyle.xml) and you will see that it had the original .nml file as an include. Naturally when you check for extra capabilities on the site from this .nml file alone, they will fail because the ability to inject current has not been added, i.e. there is no way in the .nml file on its own to inject current. Ideally, the XML template in pyNeuroML would set up current injection via a pulseGenerator tag as in the Izhikevich example, in which case the capability check would then succeed (on the .xml file), but instead it does so by defining a "vClampedCell" which has its own LEMS-defined dynamics, and I don't think it is realistic to parse those dynamics to determine whether a cell has a certain capability. However, it might be sufficient to just check for a vClampedCell element as an alternative to a pulseGenerator tag, and hope that there is some convention, at least for pyNeuroML, of using such an element in this type of simulation experiment. This could be the basis of a "ReceivesSquareVoltage" capability in the future. But for now I think I should just remove that capability because its implementation is really tied up in the model file in ways that I should coordinate with pyNeuroML people (i.e. Padraig) before trying to solve one specific case. What do you think? |
A bit more things:
|
@NeZanyat |
Hi @rgerkin ChannelModel itself doesn't have ReceivesSquareCurrent as a capability but inherits from LEMSModel that does have it as an extra capability check, so we are still finding that capability showing up as a failed extra capability with the same model when we call this method. Are we missing something? |
@NeZanyat @gidili OK, I see. In the notebook or command line, I never call |
Thanks @rgerkin that'll definitely do it. We will give this a shot asap and report back! 🙏 |
Url to file https://raw.githubusercontent.com/openworm/ChannelWorm2/master/NML2_models/EGL-19.channel.nml
The text was updated successfully, but these errors were encountered: