Edmund

A survey to determine functional requirements for each domain

Questions


  • What type of CellML models would you / do you normally work with?
Cell models: Electrophysiological, metabolic, signal transduction, gene expression, contraction.

  • Have you used any other CellML tools before? If so, which ones? What did you like and dislike about each one? What about graphing and analysis tools?
mozCellML: Having a tool to solve models. Disliked the graph appearance - need labels, more controllability of axes (e.g. set axis limits, with scaling). No good editor or translator (from Fortran) for CellML available.
  • Do you usually work with a single model at a time, or do you compare multiple models to each other?
Both. But will often compare the same model with different parameters.
  • Could you describe some typical scenarios for how you work with models (i.e. the steps you take when working with CellML models).
  1. Developing: Run, Examine output, graph (or compare visually to stored data), sometimes also fitting, then change parameters and maths. Work on models as components, then combine into a bigger model.
  2. Using: Changing parameters, or minor structural changes => Run => Examine output (essentially the same as for developing).
  • Do the models you work with have many initial conditions, or just a few? Can you think of a rule for determining which initial conditions are useful? Would it make sense for model authors to provide this information, or does it have to be set on a model-by-model basis?
It would be best to show all by default, as there is a large set, and don't want to hide mathematical structure.
The default could be to show all. The model author could then decide what they wanted to do. Doesn't feel strongly about it.
  • Are you happy editing initial conditions as a floating point number, or do you prefer some other representation?
Happy editing as a floating point number.
  • Do you tend to regularly change all the initial conditions in your models, or do you tend to just change a few, and find that the others are irrelevant to individual problems?
Initial conditions all changed, e.g. under different pacing conditions. When working with parameters, only a small subset get changed.
  • Do you often run a model multiple times with different initial conditions? If so, what sort of analyses would you want to do that take data from both runs?
Yes, and typically look for differences by comparing graphs. Would also be useful to calculate the length of action potentials, and integrate currents/fluxes.
  • When plotting graphs, do you find that you only plot a limited number of graph types, or do you end up plotting just about everything against everything? Would you find an interface which automatically detected variable types from the units or metadata, and produced certain types of graphs more useful than an interface which let you plot anything against anything?
Default setting should be author specified, but the user should be able to plot any graphs they like. User should be able to plot dimensionally inconsistent graphs on the Y axis, although doesn't matter either way for the X axis (not important to restrict it). Wants to be able to plot Voltage/time and Current/time on the same axes.

  • Can you list some graph types you use (for example, what is on each axis, and how the variables can be identified). When several dimensions (e.g. ampere and ampere per square metre) may be used depending on the model, please list them all and/or explain the rule.
Not applicable.

  • What sort of changes to the models do you make when you are using (as opposed to writing) the model? Do changes to initial conditions cover it, or do you need to change certain parts of the model? Can you think of a way to identify these expressions ahead of time?
Initial conditions and parameters. Also switch the versions of components being important (e.g. normal vs diseased). Measure the effect of changing three parameters independently, as opposed to changing all at once. A stimulus editor wouldn't be immediately useful.

For undergraduate students using the model, only would want to change parameters.

  • Would a template-driven model designer (for example, which allows you to put together components which perform certain tasks from a list, and automatically assemble them into a working model) be useful to you? If so, can you give an example of how it would be useful, and describe the sorts of parameter tweaking you do to put such models together.

Usually works from existing models, and develop the submodels separately (without reusing them). However, if a broad enough set of templates was available, this could be useful.

  • Do you ever need to fit data(e.g. to recover model parameters from experimental data)? If so, do you always perform a certain type of fitting problem, or would a more general user interface suit you more?
Yes. Always non-linear fitting. To be useful, need a wide choice of fitting algorithms, with the ability to choose any set of parameters, with any constraints on them.
  • Are there any sorts of diagrams used in your field which you would find useful while using the models?
Bifurcation diagrams would be useful.
Diagrams showing compartments could be useful, but shouldn't be a priority. Diagrams which are not as complex as Sarala's work probably wouldn't be useful yet.