resim.flask package¶
Submodules¶
resim.flask.flaskapp module¶
ReSim Flask App
ReSim GUI powered by Flask app.
-
resim.flask.flaskapp.
create_app
(debug=False)¶
resim.flask.resim_compute module¶
ReSim: chemoREsistance SIMulator
This is a simplified ReSim version for GUI.
-
resim.flask.resim_compute.
run_web_resim
(gr_s=0.015, gr_pr=0.015, gr_ar=0.015, dose=240, ds=0.9, ke=0.7, ki=10, qf=10, total_0=0.5, s_0=0.84, pr_0=0.1, q_0=0.06, t=365, n=20)¶ Simplified ReSim for GUI
The function receives input params from web form and using resim to compute
Parameters: - gr_s (float) –
- gr_pr (float) –
Returns: A dictionary of keys ‘ids’ and ‘graphJSON’ back to flask app for plotly.
resim.flask.resim_form module¶
ReSim Web Form for GUI
Web forms for run_web_resim input params panel.
-
resim.flask.resim_form.
params
¶ list – a list contains the params available in the web form.
-
resim.flask.resim_form.
tooltiplabels
¶ list – a list contains tooltips for the params.
-
resim.flask.resim_form.
unitlabels
¶ list – a list contains the unit for params.
-
class
resim.flask.resim_form.
DrugRelatedParamsInput
(formdata=None, obj=None, prefix='', data=None, meta=None, **kwargs)¶ Bases:
wtforms.form.Form
Web Form for drug related params input
-
dose
= <UnboundField(FloatField, (), {'default': 240, 'label': 'dose ', 'description': ' ', 'validators': [<wtforms.validators.InputRequired object>, <wtforms.validators.NumberRange object>]})>¶
-
ds
= <UnboundField(FloatField, (), {'default': 0.9, 'label': 'ds ', 'description': 'day^-1', 'validators': [<wtforms.validators.InputRequired object>, <wtforms.validators.NumberRange object>]})>¶
-
ke
= <UnboundField(FloatField, (), {'default': 0.7, 'label': 'ke ', 'description': 'day^-1', 'validators': [<wtforms.validators.InputRequired object>, <wtforms.validators.NumberRange object>]})>¶
-
ki
= <UnboundField(FloatField, (), {'default': 10, 'label': 'ki ', 'description': ' ', 'validators': [<wtforms.validators.InputRequired object>, <wtforms.validators.NumberRange object>]})>¶
-
qf
= <UnboundField(FloatField, (), {'default': 10, 'label': 'qf ', 'description': ' ', 'validators': [<wtforms.validators.InputRequired object>, <wtforms.validators.NumberRange object>]})>¶
-
-
class
resim.flask.resim_form.
GrowthRateParamsInput
(formdata=None, obj=None, prefix='', data=None, meta=None, **kwargs)¶ Bases:
wtforms.form.Form
Web Form for growth rate params input
-
gr_ar
= <UnboundField(FloatField, (), {'default': 0.015, 'label': 'gr_ar ', 'description': 'day^-1', 'validators': [<wtforms.validators.InputRequired object>, <wtforms.validators.NumberRange object>]})>¶
-
gr_pr
= <UnboundField(FloatField, (), {'default': 0.015, 'label': 'gr_pr ', 'description': 'day^-1', 'validators': [<wtforms.validators.InputRequired object>, <wtforms.validators.NumberRange object>]})>¶
-
gr_s
= <UnboundField(FloatField, (), {'default': 0.015, 'label': 'gr_s ', 'description': 'day^-1', 'validators': [<wtforms.validators.InputRequired object>, <wtforms.validators.NumberRange object>]})>¶
-
-
class
resim.flask.resim_form.
InitialStateParamsInput
(formdata=None, obj=None, prefix='', data=None, meta=None, **kwargs)¶ Bases:
wtforms.form.Form
Web Form for initial state params input
-
pr_0
= <UnboundField(FloatField, (), {'default': 0.1, 'label': 'pr_0 ', 'description': ' ', 'validators': [<wtforms.validators.InputRequired object>, <wtforms.validators.NumberRange object>, <function check_pr0>]})>¶
-
q_0
= <UnboundField(FloatField, (), {'default': 0.06, 'label': 'q_0 ', 'description': ' ', 'validators': [<wtforms.validators.InputRequired object>, <wtforms.validators.NumberRange object>, <function check_q0>]})>¶
-
s_0
= <UnboundField(FloatField, (), {'default': 0.84, 'label': 's_0 ', 'description': ' ', 'validators': [<wtforms.validators.InputRequired object>, <wtforms.validators.NumberRange object>, <function check_s0>]})>¶
-
total_0
= <UnboundField(FloatField, (), {'default': 0.5, 'label': 'total_0', 'description': '10^8 ', 'validators': [<wtforms.validators.InputRequired object>, <wtforms.validators.NumberRange object>]})>¶
-
-
class
resim.flask.resim_form.
SimulationParamsInput
(formdata=None, obj=None, prefix='', data=None, meta=None, **kwargs)¶ Bases:
wtforms.form.Form
Web Form for simulation params input
-
n
= <UnboundField(IntegerField, (), {'default': 3, 'label': 'n ', 'description': 'times ', 'validators': [<wtforms.validators.InputRequired object>, <wtforms.validators.NumberRange object>]})>¶
-
t
= <UnboundField(IntegerField, (), {'default': 365, 'label': 't ', 'description': 'days ', 'validators': [<wtforms.validators.InputRequired object>, <wtforms.validators.NumberRange object>]})>¶
-
-
class
resim.flask.resim_form.
WholeInputForm
(formdata=None, obj=None, prefix='', data=None, meta=None, **kwargs)¶ Bases:
wtforms.form.Form
Web Form of params input panel
-
Drug
= <UnboundField(FormField, (<class 'resim.flask.resim_form.DrugRelatedParamsInput'>,), {})>¶
-
GrowthRate
= <UnboundField(FormField, (<class 'resim.flask.resim_form.GrowthRateParamsInput'>,), {})>¶
-
InitialState
= <UnboundField(FormField, (<class 'resim.flask.resim_form.InitialStateParamsInput'>,), {})>¶
-
Simulation
= <UnboundField(FormField, (<class 'resim.flask.resim_form.SimulationParamsInput'>,), {})>¶
-
-
resim.flask.resim_form.
check_pr0
(form, field)¶ Custom Form Validator: raise error if sum of (s_0, pr_0, q_0) =/= 1
-
resim.flask.resim_form.
check_q0
(form, field)¶ Custom Form Validator: raise error if sum of (s_0, pr_0, q_0) =/= 1
-
resim.flask.resim_form.
check_s0
(form, field)¶ Custom Form Validator: raise error if sum of (s_0, pr_0, q_0) =/= 1
-
resim.flask.resim_form.
equal_len
(labels)¶ A function to add whitespace(s) to match labels
resim.flask.resim_plot module¶
ReSim GUI Plotting Module
Plot the simulation result, including progression free survival estimation and overall dynamics using plotly.
Example
fig_fht = plot_fht(res) fig_od = plot_overalldynamics(res)
-
resim.flask.resim_plot.
colorb
¶ list – rgb codes of blue color.
-
resim.flask.resim_plot.
colorg
¶ list – rgb codes of green color.
-
resim.flask.resim_plot.
coloro
¶ list – rgb codes of orange color.
-
resim.flask.resim_plot.
colorp
¶ list – rgb codes of purple color.
-
resim.flask.resim_plot.
colorr
¶ list – rgb codes of red color.
-
resim.flask.resim_plot.
colors
¶ list – list contains colorb, colorg, coloro, colorp, colorr.
-
resim.flask.resim_plot.
celltypes
¶ list – list with all cell types available in resim model.
-
resim.flask.resim_plot.
plot_allN
(res, celltype)¶ plot all n simulation result for a cell type
Parameters: - res – result from resim simulation simulate method (dict).
- celltype – string specify which cell type to plot.
Returns: plotly figure
-
resim.flask.resim_plot.
plot_fht
(res)¶ plot first hitting time (progress time)
Parameters: res – result from resim simulation simulate method (dict). Returns: plotly figure
-
resim.flask.resim_plot.
plot_overalldynamics
(res, colorlist=[['rgb(8,81,156)', 'rgb(49,130,189)', 'rgb(107,174,214)', 'rgb(189,215,231)'], ['rgb(0,109,44)', 'rgb(44,162,95)', 'rgb(102,194,164)', 'rgb(186,228,179)'], ['rgb(166,54,3)', 'rgb(230,85,13)', 'rgb(253,141,60)', 'rgb(253,190,133)'], ['rgb(84,39,143)', 'rgb(117,107,177)', 'rgb(158,154,200)', 'rgb(203,201,226)'], ['rgb(165,15,21)', 'rgb(222,45,38)', 'rgb(251,106,74)', 'rgb(252,174,145)']], celltypelist=['sensitive', 'primary resistant', 'acquired resistant', 'quiescent', 'total'])¶ plot overall subpopulation dynamics with 90 & 95 CI
Parameters: - res – result from resim simulation simulate method (dict).
- colorlist – list with rgb code for plotting (list of lists).
- celltypelist – list specify which cell type to plot (list).
Returns: plotly figure