Simulating ion channel block #77
Replies: 3 comments 1 reply
-
Hello Lucas, You can pass parameters for celular models at runtime using the extra_data module. and https://github.com/rsachetto/MonoAlg3D_C/blob/master/src/extra_data_library/extra_data.c To build you model you can use the mono utility in the simulator root folder: ./mono model model_folder model_name This will create a scaffold for a new model and add it in the model src/models_library/model_folder/ and it will also add the build script. After creating the model, just make the simulator again. The extra_data module, in my opinion, is the most convoluted module to implement. But it is necessary when you need to pass information from the mesh to the celular model. For instance, you can block the INa channel just for a specific region. Best, |
Beta Was this translation helpful? Give feedback.
-
Thanks for the help Rafael, I was able to use the existing extra_data function in the ToR-ORd mixed model to pass in the ion channel parameters. While reading across the model, I came upon an interesting line of code: I am curious, how is this mask function formed and passed into the model? Trying to model the transmurality within my BiV mesh is the next goal for me, since the T wave in the ECG depends a lot upon it. |
Beta Was this translation helpful? Give feedback.
-
This mask defines the cell type. You can see it in this file: on the function In this case, the value of the transmurality is given by the position of the cell in the mesh: OMP(parallel for)
for (int i = 0; i < num_active_cells; i++) {
real center_x = ac[i]->center.x;
// ENDO
if (center_x < side_length_endo)
extra_data->transmurality[i] = 0.0;
// MID
else if (center_x >= side_length_endo && center_x < side_length_mid)
extra_data->transmurality[i] = 1.0;
// EPI
else
extra_data->transmurality[i] = 2.0;
} You could also pass the transmurality in the mesh itself (.alg file) and read it to the mesh_extra_info, using the domain module. In the cell model side, you have acess to a void pointer, created at the extra_data function (solver->ode_extra_data) , that you can cast to your struct defined in the extra_data module. If you are solving the model using the GPU, you have to copy this data to the device. I don't know if I made myself clear. Let me know if you need anything else. |
Beta Was this translation helpful? Give feedback.
-
Hello Rafael,
If I would like to simulate some ion channel effects, i.e. -50% INa block using the ToR-ORd model, is there a way to dynamically pass blocking parameters to the model at runtime?
In the case that I need to create my own ionic model, what would be the basic steps to recompile my own model?
Best,
Lucas
Beta Was this translation helpful? Give feedback.
All reactions