@@ -104,22 +104,37 @@ void setup_pk_model(Pharmacokinetics_Model *pNew, pugi::xml_node pk_node)
104
104
rrc::RRCDataPtr result;
105
105
106
106
// reading given SBML
107
+ std::string sbml_folder = " ./config/" ; // default folder for SBML files
108
+ if (!(pk_node.child (" sbml_folder" )))
109
+ {
110
+ std::cout << " PhysiPKPD WARNING: No SBML folder provided for " << pNew->substrate_name << " ." << std::endl
111
+ << " You may include a folder as a string in " << " sbml_folder" << std::endl
112
+ << " For now, PhysiPKPD will use " << sbml_folder << " as the default folder for SBML files." << std::endl
113
+ << std::endl;
114
+ }
115
+ else
116
+ {
117
+ sbml_folder = pk_node.child (" sbml_folder" ).text ().as_string ();
118
+ // check that sbml_folder ends in a file separator
119
+ if (sbml_folder.back () != ' /' )
120
+ {
121
+ sbml_folder += " /" ;
122
+ }
123
+ }
107
124
std::string sbml_filename = " PK_default.xml" ;
108
- // if (parameters.strings.find_index(pNew->substrate_name + "_sbml_filename")==-1)
109
125
if (!(pk_node.child (" sbml_filename" )))
110
126
{
111
127
std::cout << " PhysiPKPD WARNING: No SBML filename provided for " << pNew->substrate_name << " ." << std::endl
112
- << " You may include a filename as a string in " << pNew->substrate_name + " _sbml_filename" << std::endl
113
- << " For example: <" << pNew->substrate_name << " _sbml_filename type=\" string\" >PK_default.xml</" << pNew->substrate_name + " _sbml_filename>" << std::endl
114
- << " Place that file in ./config/ for PhysiPKPD to properly locate it." << std::endl
115
- << " For now, PhysiPKPD will use ./config/" + sbml_filename << std::endl
128
+ << " You may include a filename as a string in " << " sbml_filename" << std::endl
129
+ << " Place that file in " << sbml_folder << " for PhysiPKPD to properly locate it." << std::endl
130
+ << " For now, PhysiPKPD will use " + sbml_folder + " /" + sbml_filename << std::endl
116
131
<< std::endl;
117
132
}
118
133
else
119
134
{
120
135
sbml_filename = pk_node.child (" sbml_filename" ).text ().as_string ();
121
136
}
122
- sbml_filename = " ./config/ " + sbml_filename;
137
+ sbml_filename = sbml_folder + sbml_filename;
123
138
char sbml[sbml_filename.length ()+1 ];
124
139
strcpy (sbml, sbml_filename.c_str ());
125
140
0 commit comments