Skip to content

Commit 23edf30

Browse files
committed
pass in pk schedule csv by folder, filename
1 parent e8d7472 commit 23edf30

File tree

2 files changed

+25
-2
lines changed

2 files changed

+25
-2
lines changed

addons/PhysiPKPD/src/PhysiPKPD_PK.cpp

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -360,8 +360,28 @@ void setup_pk_single_dosing_schedule(Pharmacokinetics_Model *pPK, double current
360360
{
361361
if (read_csv)
362362
{
363-
std::string filename = "./config/" + pPK->substrate_name + "_dose_schedule.csv";
363+
std::string filename;
364+
if (!(schedule_node.child("folder")) || !(schedule_node.child("filename")))
365+
{
366+
std::cout << "PhysiPKPD WARNING: Reading in a dosing schedule from a CSV file, but no folder or filename is given." << std::endl
367+
<< "\tWill look for it in ./config/" << pPK->substrate_name + "_dose_schedule.csv" << std::endl
368+
<< std::endl
369+
<< "\tSpecify this in the config by updating the <schedule> element to:" << std::endl
370+
<< "\t<schedule format=\"csv\">" << std::endl
371+
<< "\t <folder>path/to/folder</folder>" << std::endl
372+
<< "\t <filename>file.csv</filename>" << std::endl
373+
<< "\t</schedule>" << std::endl;
374+
375+
filename = "./config/" + pPK->substrate_name + "_dose_schedule.csv";
376+
}
377+
else
378+
{
379+
std::string folder = schedule_node.child("folder").text().as_string();
380+
filename = folder + "/" + schedule_node.child("filename").text().as_string();
381+
}
382+
364383
std::ifstream file(filename, std::ios::in);
384+
365385
if (!file)
366386
{
367387
std::cout << "PhysiPKPD ERROR: " << filename << " not found in ./config/. " << pPK->substrate_name + "_read_dose_schedule_from_csv" << " set to true in config file." << std::endl;

sample_projects_physipkpd/template_pkpd/config/pkpd_model.xml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,10 @@
6767
</Dirichlet_options>
6868
<PK enabled="true">
6969
<model>2C</model>
70-
<schedule format="csv" />
70+
<schedule format="csv">
71+
<folder>./config</folder>
72+
<filename>PKPD_D1_dose_schedule.csv</filename>
73+
</schedule>
7174
<elimination_rate units="1/min">0.0027</elimination_rate>
7275
<k12 units="1/min">0.0048</k12>
7376
<k21 units="1/min">.0048</k21>

0 commit comments

Comments
 (0)