Andre

A survey to determine functional requirements for each domain

Questions


  • What type of CellML models would you / do you normally work with?
Cardiac Whole Cell

  • 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?
Virtual Cell: Liked the model browser down the left hand side. Could change and save the results. Disliked the client-server nature of the program.
JSim: Liked the graphing interface(was easy to use, and allowed arbitrary functions to be plotted). Disliked that you can't go in and change the maths. Liked that there was a good range of numerical integration tools.
Early mozCellML versions: Too many windows. Graphing was okay early on, but disliked the cmgui based interface. Liked the earlier versions, which drew lines, rather than the points drawn in later versions.
COR: Liked the math editor, graphing was okay but not great. Found that it had lots of features which were not obvious. Didn't like the custom language that was generated, as it created a whole new language to learn.

  • Do you usually work with a single model at a time, or do you compare multiple models to each other?
Often compare multiple models to each other, or different versions of the same model. It is also good to be able to focus in on a single model (but support for multiple models is more important).
  • Could you describe some typical scenarios for how you work with models (i.e. the steps you take when working with CellML models).
  1. Running model lots of times with different parameters, and comparing the results. Sometimes need to decide on the next run based on previous runs, and other times, want to run across a range of parameters.
  2. Debugging a model. In this case, need to alternate between running the model and making changes to it.
  3. Combining models to make a new model. Similar workflow to debugging a model.

  • 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?
A range, from only a few up to many. Can't think of an automated rule. It would, however, make sense for model authors to provide this list ahead of time.

  • 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, but would also like the ability to describe a variable as a field which changes through time (e.g. by a simple cubic, sine curve).
  • 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?
At any given time, only look at a few, but not always the same. It would be useful to hide the others.
  • 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?
Graphs with action potentials and also statistics. Useful statistics would include the APD50 and APD90, as well as restitution curves run for different stimulus frequencies. Change initial conditions and build restitution. Also VMax of action potential and maximum slope.
  • 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?
The more general interface, which doesn't restrict what graphs can be plotted, is more useful. However, it would also be useful to allow model authors to suggest default graphs in the metadata.

  • 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 (although there probably is a list, Andre would prefer to be able to plot anything).

  • 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?
Generally just changing IVs, unless fixing the model (which comes back to writing it).

  • 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.

It probably would be useful, although mainly when trying to put something together quickly, rather than as a final model. For example, might want to put a rat L-type Ca2+ channel etc... to assemble a rat electrophysiological model.

  • 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?
Would like to be able to do it more. A general interface would be best.

  • Are there any sorts of diagrams used in your field which you would find useful while using the models?
Not really. Tables and graphs are more useful than any sort of figure, when using the model (as opposed to publication time).