generated from SABS-R3/software-engineering-projects-pk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.py
49 lines (38 loc) · 1010 Bytes
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
##### EXAMPLE USAGE SCRIPT #######
import os
import numpy as np
import pkmodel as pk
t_0 = 0
t_end = 1
precison = 1000
model1_args = {
'name': 'model1',
'Q_p1': 3.0,
'V_c': 2.0,
'V_p1': 0.10,
'CL': 2.0
}
model2_args = {
'name': 'iv-2 comp',
'V_c': 1.0,
'CL': 1.0,
'k_a': 5
}
# Protocol
trial_protocol = pk.Protocol(quantity = 2, t_start = t_0, t_end=t_end, n = precison)
X = trial_protocol.linear_dose()
# Model
trial1 = pk.Model(2,model1_args,'iv',X)
trial2 = pk.Model(2,model2_args,'sc',X)
models = [trial1,trial2]
# Solution
trial_sol = pk.Solution(models,
t_eval = np.linspace(t_0, t_end, precison),y0=[[0,0],[0,0]])
trial_sol.analyse_models()
# Visualisation
labels = [model1_args['name'],model2_args['name']]
path = []
for model in models:
path.append(os.path.join('data',model.model_args['name']))
trial_vis = pk.Visualisation(path, labels, [trial1.dose_type,trial2.dose_type])
trial_vis.visualise(labels,os.path.join('data/plots', 'testplot.png'))