Comments (12)
I just updated the iv_analyse.py script so that it looks at all i_*.lems.dat files in the current directory, instead of relying on a hard-coded list.
I've also added a "peak absolute value" output column and graph, to help with replicating the Ca channel I/V graph.
The plots produced by this seem to be inverted relative to the ones in Boyle & Cohen (2008), so I think our simulation must be recording the current on the opposite side of the membrane to theirs, or something along those lines.
from muscle_model.
Thank you @rayner , but in the new version of the LEMS template, we have m_tau, m_inf, etc .dat output files instead of i_*.lems.dat (if we are going to use the new template)
Also, I was working on your python version of the main matlab version then, and I could generate curves close to what we needed with parameters from the main input.csv file (if we use the same parameters here, we should have the same result!):
In general, for validation purposes, it would be great if we've had some general script to compare every ion channel model we use in the project, with the curves and parameters from literature.
from muscle_model.
@VahidGh following today's meeting; let me know if you are able to use the modified template under Rayner's fork of the BlueBrainShowcase to generate the I/V plots as he showed today. We'll be moving this into the OpenWorm organization soon.
from muscle_model.
@slarson Yes, that's working.
from muscle_model.
@VahidGh great! Can we close this issue then?
from muscle_model.
It depends on what do we expect from the output of these curves.
If the aim is to compare every ion channel's I-V relationship from literature with our simulations, then we have to improve this one.
But if we are going to be sure of the validity of our simulation of these 4 ion channels from Boyle & Cohen model, then with a negligible, we can close this issue (for example, by dividing the currents value of the inverted version of the Ca ion channel by the membrane conductance value (manually, because Cmem is not accessible from this script), it is comparable with the I-V curve from this paper).
from muscle_model.
@slarson, With the help of @pgleeson's CompareToNeuroML2 script, added this script that generates the I-V plots of interest from our NeuroML2 files:
One problem is with the inactivation expressions in calcium current, that surprisingly missing from the original Matlab version. it seems that the combination of values -5 for k_f and 25.2 for V_half_f, causing ineffectiveness of the inactivation expression for the whole Ca current. I'm working on this issue...
Another TO DO is to generalize this script for #30 that the script could get any channel NeuroML2 file (and some other parameters as input) and generate an I-V plot.
from muscle_model.
I left a comment in #30 about a small problem I am having in these simulations. It may be a function of my implementation.
from muscle_model.
@VahidGh Awesome progress! Question -- can we post the target values for these curves that come from digitising the figures directly from the papers? I'm envisioning a script that enables us to plot both the real and simulated data on top of each other and then quantifies how close the fit is in a manner that can be fed into a unit test.
from muscle_model.
Yes, As an example, I digitized the figure from #30, I can do the same here.
FYI, Plotly also provides some great API which are very useful.
I think we can do something about this plotting comparison issue via it's Github Python API.
from muscle_model.
This is the digitized version of this plot:
from muscle_model.
There are now several ways to this; recommend way is here
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.