First time here? Checkout the FAQ!
x
+1 vote
by (470 points)
Hello i would like to create an experiment where at the end i should have an APD restitution or ca2+ restitution curve with a S1S2 protocole, as i am new i was seeing the examples but i just find the example for a single cell restitution curve not for tisssue, i need some orientation if some one can help me at least with some ideas i will be very glad.

1 Answer

0 votes
by (19.1k points)

Hi Igniole,

As you've realized correctly, the APD restitution experiment is on single cell level. On the tissue level, there is a restitution example for conduction velocity: https://opencarp.org/documentation/examples/02_ep_tissue/03d_conduction_velocity_restitution

Starting from this carputils script, you can adapt it to your needs to generate APD or CaT restitution. This example includes APD computation on the tissue level: https://opencarp.org/documentation/examples/02_ep_tissue/03_study_prep_apd Details of the tools are provided in the user manual.

Cheers,

Axel

by (470 points)
edited by
i was thinking the same  but the problem is that running the 03d_conduction_velocity_restitution script i got errors(down), mo information about the restitution curve just output files with new states of ionic model's parametters . the second thing is i would like to modify the script and change the tissue measurements(length) but i do not see in the script where they were defined( there is no mesh definition) the only thing i know about  the tissue definition it is just the conductivity.


the second thing is my protocol is not exactly s1s2 it looks like this : first the tissue
initialized at steady-state  at 600-ms BCL, after a it was paced from the stimulus electrode for 20 beats at 600-ms bCL and then for 67  beats at each subsequent BCL, starting from 500 ms and shortened
in 50-ms steps to 300 ms, and then shortened in 10-ms steps.
i am wandering how i can reproduce this protocol in opencarp


here is the errors i got running the  03d_conduction_velocity_restitution script.


Pace GTT2_fast to limit cycle at basic cycle length bcl=500
----------------------------------------------------------------------

stty: 'standard input': Inappropriate ioctl for device
stty: 'standard input': Inappropriate ioctl for device
Computing state files for chosen CIs
----------------------------------------------------------------------

Writing GTT2_fast_bcl_500_beats_5_CI_275.sv
stty: 'standard input': Inappropriate ioctl for device
stty: 'standard input': Inappropriate ioctl for device
Writing GTT2_fast_bcl_500_beats_5_CI_300.sv
stty: 'standard input': Inappropriate ioctl for device
stty: 'standard input': Inappropriate ioctl for device
Writing GTT2_fast_bcl_500_beats_5_CI_325.sv
stty: 'standard input': Inappropriate ioctl for device
stty: 'standard input': Inappropriate ioctl for device
Writing GTT2_fast_bcl_500_beats_5_CI_350.sv
stty: 'standard input': Inappropriate ioctl for device
stty: 'standard input': Inappropriate ioctl for device
Writing GTT2_fast_bcl_500_beats_5_CI_375.sv
stty: 'standard input': Inappropriate ioctl for device
stty: 'standard input': Inappropriate ioctl for device
Writing GTT2_fast_bcl_500_beats_5_CI_400.sv
stty: 'standard input': Inappropriate ioctl for device
stty: 'standard input': Inappropriate ioctl for device
Writing GTT2_fast_bcl_500_beats_5_CI_425.sv
stty: 'standard input': Inappropriate ioctl for device
stty: 'standard input': Inappropriate ioctl for device
Writing GTT2_fast_bcl_500_beats_5_CI_450.sv
stty: 'standard input': Inappropriate ioctl for device
stty: 'standard input': Inappropriate ioctl for device
Writing GTT2_fast_bcl_500_beats_5_CI_475.sv
stty: 'standard input': Inappropriate ioctl for device
stty: 'standard input': Inappropriate ioctl for device
Writing GTT2_fast_bcl_500_beats_5_CI_500.sv
stty: 'standard input': Inappropriate ioctl for device
stty: 'standard input': Inappropriate ioctl for device


Perform CV restitution experiments
----------------------------------------------------------------------

CI       CV
[ms]    [m/s]
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/bin/restituteCV", line 323, in <module>
run()
File "/usr/local/lib/python3.6/dist-packages/carputils/tools.py", line 524, in wrapped
ret = run(args, job)
File "/usr/local/lib/python3.6/dist-packages/bin/restituteCV", line 296, in run
to.config(args)
File "/usr/local/lib/python3.6/dist-packages/carputils/tuning.py", line 191, in config
self.surf       = args.surf
AttributeError: 'Namespace' object has no attribute 'surf'

 Something went wrong......Try again
  
 Canceled Process
by (19.1k points)
The conduction velocity restitution example indeed uses an external tool (restituteCV), which generates the mesh itself.
To do it in carputils, you can use the functions of the mesh class, e.g. https://opencarp.org/documentation/carputils-documentation#master/classcarputils_1_1mesh_1_1grid_1_1Grid.html%23details

Regarding the stimulation protocol: Unfortunately we currently have an issue that the documentation of the subclasses are not transferred to the PDF manual and the online parameter list. Jorge is working on it. For now, you can find them directly in the prm file.

All members of the stim structure: https://git.opencarp.org/openCARP/openCARP/-/blob/master/simulator/openCARP.prm#L402

Documentation of stim.protocol as an example: https://git.opencarp.org/openCARP/openCARP/-/blob/master/simulator/openCARP.prm#L112
by (470 points)
Thanks, Axel for your help i will try with this new information to create my own experiment,  but the last thing is  I would like to start with the 03d_conduction_velocity_restitution script and modify it, as you can see in my last question(above) there are some errors so I can't even see the restitution curve on carptilsGui running that  03d_conduction_velocity_restitution example, can you please help me to fix it or do you think that there is a way to use information from the output files (for example  GTT2_fast_bcl_500_beats_5_CI_375.sv) and to plot the restitution curve with matlab for example?
by (19.1k points)
Hi Igniole,

The example was indeed not working due to a problem with restituteCV. This is fixed now in the master branch: https://git.opencarp.org/openCARP/carputils/-/commit/27ada15fd8a0161e376e008aa315115bcd601dfc
If you update your carputils repository, it should be working.
Welcome to openCARP Q&A. Ask questions and receive answers from other members of the community. For best support, please use appropriate TAGS!
architecture, carputils, documentation, experiments, installation-containers-packages, limpet, slimfem, website, governance
MathJax.Hub.Config({ tex2jax: { inlineMath: [ ['$','$'], ["\\(","\\)"] ], config: ["MMLorHTML.js"], jax: ["input/TeX"], processEscapes: true } }); MathJax.Hub.Config({ "HTML-CSS": { linebreaks: { automatic: true } } });
...