Running cardiacmodelling/appredict-no-emulators
or cardiacmodelling/appredict-with-emulators
¶
See also
Offical docker run
documentation.
Without dynamic CellML (--model <file>
) or PKPD (--pkpd-file <file>
)¶
user@host:~/tmp> mkdir testoutput
user@host:~/tmp> docker run --rm \
-u `id -u`:`id -g` \
-v `pwd`/testoutput:/home/appredict/apps/ApPredict/testoutput:Z \
cardiacmodelling/appredict-no-emulators:<version> \
apps/ApPredict/ApPredict.sh --model 1 --plasma-conc-high 100
Warning
- Don’t be tempted to
Cntl-C
to finish early, otherwise you may be left with aroot
-owned directory to remove! - For
cardiacmodelling/appredict-no-emulators:0.0.9
only, the last line should be/bin/bash apps/ApPredict/ApPredict.sh <args>
See also
With dynamic CellML (--model <file>
) or PKPD (--pkpd-file <file>
)¶
For simplicity, the annotated [1] CellML file is called this.cellml
, the PKPD file is
called this.pkpd
, and both are in the directory where the docker run ...
command is
being run.
user@host:~/tmp> mkdir testoutput
user@host:~/tmp> docker run --rm \
-u `id -u`:`id -g` \
-v `pwd`/testoutput:/home/appredict/apps/ApPredict/testoutput:Z \
-v `pwd`/this.cellml:/home/appredict/apps/ApPredict/this.cellml:ro \
-v `pwd`/this.pkpd:/home/appredict/apps/ApPredict/this.pkpd:ro \
cardiacmodelling/appredict-no-emulators:<version> \
apps/ApPredict/ApPredict.sh --model apps/ApPredict/this.cellml --pkpd-file apps/ApPredict/this.pkpd
Warning
- Don’t be tempted to
Cntl-C
to finish early, otherwise you may be left with aroot
-owned directory to remove! - For
cardiacmodelling/appredict-no-emulators:0.0.9
only, the last line should be/bin/bash apps/ApPredict/ApPredict.sh <args>
See also
Sample ApPredict
argument input¶
The following is derived from cardiacmodelling/appredict-no-emulators:0.0.9
(i.e. around December 2022)
***********************************************************************************************
* ApPredict::Please provide some of these inputs:
*
* EITHER --model
* options: 1 = Shannon, 2 = TenTusscher (06), 3 = Mahajan,
* 4 = Hund-Rudy, 5 = Grandi, 6 = O'Hara-Rudy 2011 (endo),
* 7 = Paci (ventricular), 8 = O'Hara-Rudy CiPA v1 2017 (endo)
* OR --model <name of pre-compiled cellmlfile (without .cellml)>
* OR --model <file> (a CellML file, relative to current working directory or an absolute path)
*
* SPECIFYING PACING:
* --pacing-freq Pacing frequency (Hz) (optional - defaults to 1Hz)
* --pacing-max-time Maximum time for which to pace the cell model in MINUTES
* (optional - defaults to time for 10,000 paces at this frequency)
* --pacing-stim-duration Duration of the square wave stimulus pulse applied (ms)
* (optional - defaults to stimulus duration from CellML)
* --pacing-stim-magnitude Height of the square wave stimulus pulse applied (uA/cm^2)
* (optional - defaults to stimulus magnitude from CellML)
*
* SPECIFYING DRUG PROPERTIES dose-response properties for each channel:
* Channels are named:
* * herg (IKr current - hERG),
* * na (fast sodium current - NaV1.5),
* * nal (late/persistent sodium current - NaV1.5 (perhaps!)),
* * cal (L-type calcium current- CaV1.2),
* * iks (IKs current - KCNQ1 + MinK),
* * ik1 (IK1 current - KCNN4 a.k.a. KCa3.1),
* * ito ([fast] Ito current - Kv4.3 + KChIP2.2).
*
* For each channel you specify dose-response parameters [multiple entries for repeat experiments]
* EITHER with IC50 values (in uM), for example for 'hERG':
* --ic50-herg hERG IC50 (optional - defaults to "no effect")
* OR with pIC50 values (in log M):
* --pic50-herg hERG pIC50 (optional - defaults to "no effect")
* (you can use a mixture of these for different channels if you wish,
* e.g. --ic50-herg 16600 --pic50-na 5.3 )
* AND specify Hill coefficients (dimensionless):
* --hill-herg hERG Hill (optional - defaults to "1.0")
* AND specify the saturation effect of the drug on peak conductance (%):
* --saturation-herg saturation level effect of drug (optional - defaults to 0%)
*
* SPECIFYING CONCENTRATIONS AT COMMAND LINE:
* --plasma-concs A list of (space separated) plasma concentrations at which to test (uM)
* OR alternatively:
* --plasma-conc-high Highest plasma concentration to test (uM)
* --plasma-conc-low Lowest plasma concentration to test (uM)
* (optional - defaults to 0)
*
* both ways of specifying test concentrations have the following optional arguments
* --plasma-conc-count Number of intermediate plasma concentrations to test
* (optional - defaults to 0 (for --plasma-concs) or 11 (for --plasma-conc-high))
* --plasma-conc-logscale <True/False> Whether to use log spacing for the plasma concentrations
*
* SPECIFYING CONCENTRATIONS IN A FILE (for PKPD runs):
* if you want to run at concentrations in a file instead of specifying at command line, you can do:
* --pkpd-file <relative or absolute filepath>
* To evaluate APD90s throughout a PKPD profile please provide a file with the data format:
* Time(any units)<tab>Conc_trace_1(uM)<tab>Conc_trace_2(uM)<tab>...Conc_trace_N(uM)
* on each row.
*
* SECOND DRUG:
* To run a second compound, with independent binding model
* That is, total_block = block_drug_1 + block_drug_2 - block_drug_1*block_drug_2
* Supply the following argument:
* --drug-two-conc-factor Factor to multiply the concentrations of drug 1 (specified as above)
* to use when evaluating the block due to drug 2.
* To specify drug properties (and UQ below) use the same format, but just before the channel name
* insert 'drug-two-' into the option names, for instance: --pic50-drug-two-herg
*
* UNCERTAINTY QUANTIFICATION:
* --credible-intervals [x y z...] This flag must be present to do uncertainty calculations.
* It can optionally be followed by a specific list of percentiles that are required
* (not including 0 or 100, defaults to just the 95% intervals).
* Then to specify 'spread' parameters for assay variability - for use with Lookup Tables:
* --pic50-spread-herg (for each channel that you are providing ic50/pic50 values for,
* --hill-spread-herg herg is just given as an example)
* (for details of what these spread parameters are see 'sigma' and '1/beta' in Table 1 of:
* Elkins et al. 2013 Journal of Pharmacological and Toxicological
* Methods, 68(1), 112-122. doi: 10.1016/j.vascn.2013.04.007 )
* --brute-force <N> Make credible intervals with brute force forward simulations,
* rather than using lookup tables, and do N samples each time.
*
*
* OTHER OPTIONS:
* --no-downsampling By default, we print downsampled output to create small action potential
* traces, but you can switch this off by calling this option.
* --output-dir By default output goes into '$CHASTE_TEST_OUTPUT/ApPredict_output'
* but you can redirect it (useful for parallel scripting)
* with this argument.
* --version Print out Chaste and ApPredict versions, along with dependency versions
* and exit immediately (this info automatically goes to a 'provenance_info.txt'
* file on completion of a normal run without this flag).
Footnotes
[1] | “Annotated” implies metadata tags for voltage, time, ionic current conductances should be added using the Cardiac Electrophysiology Web Lab tool, or pre-annotated models can be downloaded from GitHub Chaste/cellml. |