Running a simulation with multiple-channel drug action
Getting the data
Download and save the attached file DrugAction.tgz. Either use an Archive Manager to extract the content to disk or save it and then unpack it with
tar xvfz DrugAction.tgz
Tagging conductances in a CellML file
Before performing drug action simulations with the executable, your CellML file must have the relevant ion-channel conductances tagged.
i.e. add a cmeta tag to the relevant variable:
<variable units="milliS_per_cm2" name="g_Kmax" public_interface="out" initial_value="0.282" cmeta:id="IKr_conductance"/>
and then add the following RDF metadata description. This tells Chaste to convert the model leaving the parameter modifiable, and also tells Chaste what name to use - the name in the <bqbiol:is> tag is the one to use in the XML parameter file later. It MUST end in _conductance (to ensure that only conductances are modified!).
<rdf:Description rdf:about="#IKr_conductance"> <modifiable-parameter xmlns="https://chaste.comlab.ox.ac.uk/cellml/ns/pycml#">yes</modifiable-parameter> <bqbiol:is rdf:resource="https://chaste.comlab.ox.ac.uk/cellml/ns/oxford-metadata#membrane_rapid_delayed_rectifier_potassium_current_conductance"/> </rdf:Description>
Understanding the XML parameters file
This tutorial is based upon 1D Propagation tutorial.
Open ChasteParameters.xml (it is sensible to do this in a web-browser or XML editor in order to get syntax highlighting). The file has been altered to add the following sections:
- physiological parameters:
- The following xml has been added, this specifies a drug concentration and IC50 values for (in this case) two ion-channels. You can use any units, but they need to be self-consistent (concentration in same units as IC50 values), if not specified the dose-response curve hill coefficient defaults to 1.
<!-- Parameters for drug action model --> <ApplyDrug concentration="3"> <!-- Current names should match those in the Oxford metadata --> <IC50 current="membrane_fast_sodium_current" hill="1.0">16000</IC50> <!-- Add action on a second channel --> <!-- Hill coefficient defaults to 1.0 --> <IC50 current="membrane_rapid_delayed_rectifier_potassium_current">5</IC50> </ApplyDrug>
- Here we named the currents which are to have their conductances modified - i.e. the name of the conductance tags WITHOUT _conductance on the end.
- The following xml has been added, this specifies a drug concentration and IC50 values for (in this case) two ion-channels. You can use any units, but they need to be self-consistent (concentration in same units as IC50 values), if not specified the dose-response curve hill coefficient defaults to 1.
- post-processing:
- The following XML has been added:
<!-- Postprocessing parameters --> <PostProcessing> <!-- Extract nodal time trace at node 200 --> <TimeTraceAtNode node_number="200"/> </PostProcessing>
- The following XML has been added:
As we wish to record an action potential for comparing control and drug action.
Running the simulation
Change directory to DrugAction
cd DrugAction
In this folder you will find the following files:
- ChasteParameters.xml -- this file describes the simulation, and can be used to override the default parameter values (in releases of the executable up to and including version 2.0, the default parameters were read in from another xml file, ChasteDefaults.xml).
- ChasteParameters_2_3.xsd -- XML schema for input validation (in general never has to be altered or touched).
Run the simulation by doing
<path_to_chaste>/Chaste.sh ChasteParameters.xml
A folder called testoutput will appear once the simulation has finished.
Visualising the results
Move into the newly created output folder
cd testoutput/ChasteResults
In this folder you will find the following files and folders:
- progress_status.txt -- this file can be viewed whilst the simulation is running to gauge how long it will take
- DrugActionResults.h5 -- the output of the simulation, in HDF5 format
- NodalTraces_V.dat -- voltage trace at node 200.
- output (folder) -- contains the following files:
- DrugActionResults_mesh.pts -- output converted into meshalyzer format
- DrugActionResults_mesh.cnnx -- output converted into meshalyzer format
- DrugActionResults_V.dat -- output converted into meshalyzer format
Move now into the Meshalyzer-compatible output folder
cd output
Launch Meshalyzer with
<path_to_meshalyzer>/meshalyzer DrugActionResults_mesh
and visualise the results by loading the DrugActionResults_V.dat file.
Or use gnuplot to look at the voltage trace
gnuplot > plot "NodalTraces_V.dat"
You should then change the drug concentration to zero:
<!-- Parameters for drug action model --> <ApplyDrug concentration="0"> <!-- Current names should match those in the Oxford metadata --> <IC50 current="membrane_fast_sodium_current" hill="1.0">16000</IC50> <!-- Add action on a second channel --> <!-- Hill coefficient defaults to 1.0 --> <IC50 current="membrane_rapid_delayed_rectifier_potassium_current">5</IC50> </ApplyDrug>
then re-run the simulation and compare results. You should observe the following:
Attachments
-
drug_action_traces.png
(20.5 KB)
Voltage trace at node 200 with and without drug action
-
DrugAction.tgz
(11.3 KB)
Simulation files for DrugAction tutorial