Nicholas Smith
A survey to determine functional requirements for each domain
Questions
- What type of CellML models would you / do you normally work with?
- 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?
LabHeart: Liked stimulus protocols, also the interface, the speed, and that it was specific to electrophysiology.
COR: Liked the mathematics editor.
- Do you usually work with a single model at a time, or do you compare multiple models to each other?
- Could you describe some typical scenarios for how you work with models (i.e. the steps you take when working with CellML models).
- Checking that a model does what you think, by comparing with the paper. This involves finding a steady state, and comparing with experimental data.
- Combine models, by taking components and assembling them to form a new model.
- Optimising parameters, and then putting those parameters back into the original model.
- Evaluating stiffness of models (eigenvalues) then changing integrators.
- Trying to reduce models, adding new constraints.
- Checking for thermodynamic consistency.
- 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?
- Are you happy editing initial conditions as a floating point number, or do you prefer some other representation?
- 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?
- 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?
- 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?
- 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.
- 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?
- 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.
Not at this stage, but perhaps in the future, because models not currently robust enough for this to work.
- 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?
- Are there any sorts of diagrams used in your field which you would find useful while using the models?