Comments (13)
@slarson, Great, I was looking at the sciunit+neuronunit documentation and samples, today.
This issue also could be a good starting point for instrumenting the ion channel modeling pipeline with both sciunit+Travis CI for the verification & validation step.
I don't know if validating single ion channel via neuronunit needs a test design with training phase (as suggested in this paper) or there is some predesignated test available in existing libraries!
from muscle_model.
I've submitted some pull requests to get some of the required tools into a better position for integration. These allow the analyse*.sh scripts to be decomposed into python functions, including NML2ChannelAnalyse and jnml.
I've also begun work on a neuronunit module to make use of these tools to run all the tests from within python without any command line invocations.
Once that is in order I can create NeuronUnit tests that recapitulate the analysis parameters themselves. As for testing/training as @VahidGh suggested, I think it depends on whether we are looking to test how good our models are, or whether we are trying to improve them by free parameter fitting. For now I think it would be good to know how close we are with the pieces we currently have, and then we can invest effort into model fitting.
from muscle_model.
Some of what I've worked on is here. I've updated neuronunit's jnml module (which will eventually be merged into pyNeuroML to do most of what we need to in Python, although I am still relying on jNeuroML over pyLEMS for model compatibility reasons that need to be worked out.
I can reproduce the I-V curve, so in principle I am ready to devise the validation test itself, but I wanted to point out some weird behavior in the simulation in the first few time steps. See cell Out[240] near the bottom of the notebook linked above. There is some sort of oscillation of the current in the first few steps, and I'm wondering if that is causing problems with the measurement of the peak current, and whether those oscillations should even be there. Maybe it's a time step size issue.
from muscle_model.
Pasting the image in question here for simplicity:
Hmm yeah that oscillation is strange. @rayner we haven't seen this right? Does it change if you change the time step?
from muscle_model.
@VahidGh On this issue, can you remind what that digitiser software is that you found for transforming the raster I/V plot curves from papers into numbers? Can you post an example of its output? Apologies if you have already posted this somewhere and I've lost track of it.
from muscle_model.
This is an online version, and this is a stand-alone one.
As an example, this is the digitized version for V=15 mv:
And this is the published Plotly version of the WebPlotDigitizer output.
from muscle_model.
@rgerkin I'd like to talk about using SciUnit (and NeuronUnit) when making validation test templates for different parts of this project. Is there any chance we can have a chat about this? Thanks.
from muscle_model.
@travs Yeah; chat, email, Hangouts?
from muscle_model.
@rgerkin Just sent you an email.
from muscle_model.
This is worth looking back into again now that we have made progress in comparing simulated and observed I/V curves in ChannelWorm.
from muscle_model.
@slarson Do you have the DOI for that paper in your first message? I want to see if we have the Figure 3A data in the ion_channel db in ChannelWorm.
from muscle_model.
@slarson Do you know where that Fig. 3 came from in your first message? That's what I need to move forward. I thought maybe it came from this referenced in #20 but that's a different paper. I tried Google reverse image searching it but sadly that doesn't work yet for most journal figures (probably you screenshotted part of a pdf).
from muscle_model.
@rgerkin, the fig. 3A is taken from Boyle & Cohen 2008 paper. Which originally comes from Fig. 2B of this study which I've addressed how to access to data in the ipython file.
from muscle_model.
Related Issues (20)
- Draft workflow outline for validation tests
- Write doctests for muscle_model HOT 16
- Write Pytest tests for muscle_model HOT 1
- Write SciUnit validation tests for muscle_model HOT 10
- Document muscle_model testing framework
- Digitize the figure mentioned in #31 HOT 7
- Write a script that takes the digitized figure and the simulation output and calculates the error/difference
- Write a script that generates an overlaid image of the simulated and digitized data HOT 1
- Turn the error-generating script into a SciUnit test
- Integrate the test in the test suite being run on TravisCI
- Add jneuroML to documentation here HOT 3
- Replace jnml in scripts with pynml? HOT 2
- The same conductance for different channels in nml files HOT 6
- Check for performance regressions in testing suite HOT 1
- Create tests to catch performance regressions in specific functions
- Write PyTest tests for basic command line runs HOT 12
- Delete or archive unused branches HOT 1
- Muscle Model Explorer - Error while loading channel files HOT 2
- Add to the readme to create a well cited and reasoned case for the ideal set of ion channels that should be in the muscle model HOT 8
- SciUnit test to reproduce additional muscle patch clamp data in the muscle model HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from muscle_model.