Presentation is loading. Please wait.

Presentation is loading. Please wait.

Biological Model Engineering Peter Saffrey, Department of Medicine Cakes Talk Monday, October 20, 2008.

Similar presentations


Presentation on theme: "Biological Model Engineering Peter Saffrey, Department of Medicine Cakes Talk Monday, October 20, 2008."— Presentation transcript:

1 Biological Model Engineering Peter Saffrey, Department of Medicine Cakes Talk Monday, October 20, 2008

2 Talk Outline Computing/biology: some patterns Biological modelling –What is it? –How is it done? Can modelling learn from SE? –Theory –Practice Generally; modelling: –How is it similar to software engineering? –How is it different?

3 Computing/Biology patterns 1 Pattern: “I know a computer can do this but I can’t figure out how to do it” Example microarray to wiggle file : –Csv file 1: id,flag,data Id occurs 3 times Flag indicates whether this data is good or not –Csv file 2: id,chromosome,start,end –We want: chromosome,start,end,normalised_data You can do this in Excel, but it hurts A “known unknown” problem

4 What for?

5 Computing/Biology patterns 2 Pattern: –“I have a problem like this …” –… –“oh, you call it that, do you?” For example: –“I have this network of proteins and I’d like to know some properties of it” –… –“Oh, so that’s graph theory?” An “unknown unknown” problem

6 Biological modelling Specify key parts of system Analyse by simulation/sensitivity analysis/bifurcation analysis Use results to drive experimental work Features of modelling community –Cottage industry –Driven both by biologists and mathematicians –Some standardisation –No process or methodology defined

7 Illustration What do we want to know? What data do we have? What details shall we include? What modelling paradigm? Most suitable technology? Managing construction? Does it match our existing data? Does it tell us something new? Has the data changed? Are there new questions? RequirementsDesign Implementation Validation Maintenance How do I build my model?

8 So? Just acknowledging the existence of these stages might improve the process Can tools from software engineering help at each stage? –Requirements engineering –Good design practice –Implementation techniques –…

9 Coal-Face Software Engineering

10 12 Steps 1.Do you use source control? 2.Can you make a build in one step? 3.Do you make daily builds? 4.Do you have a bug database? 5.Do you fix bugs before writing new code? 6.Do you have an up-to-date schedule?

11 12 Steps 7.Do you have a spec? 8.Do programmers have quiet working conditions? 9.Do you use the best tools money can buy? 10.Do you have testers? 11.Do new candidates write code during their interview? 12.Do you do hallway usability testing?

12 Software and Model Version Control Software Version Control –Works to single set of requirements –Each version an improvement –Looking for a single “best” version Model Version Control –Model base and variety of extensions –Successive versions test different hypotheses –Branching creates combinations of possible versions

13 Software and Model Version Control

14 Test implementation Work with XML models Use a base-and-patch approach Each patch: –refers to an Xpath –Specifies an addition, deletion or removal With some restrictions, patches can be applied in any order and combination This worked well for a EGF model –Different sections of pathway –Different versions for each section –Parameter settings

15 One-step build and Model Usability Nobody makes their models “usable” “My model is too complicated to be used by other people” Is this correct? –Repeatability? –Reusability?

16 Model “Usability”

17 Testing Unit tests –Automated –Quick and simple to apply –Catch errors early Would these work in modelling? –Define basic model behaviour –Check changes do not violate these (regression testing) –Use like assertions to validate boundaries –Capture different analysis types (“build in one step”)

18 Other possibilities Bug tracking –“These parts aren’t right yet” –How would this work with changing models? Configuration management Documentation –Provenance of results –Provenance of model construction

19 Conclusions Modelling is growing in popularity and acceptance There is little agreement on how to do it Many modelers are not software oriented Software experts could: –Help improve process and efficiency –Find new places to apply their expertise

20 Software and Modelling Requirements Design Implementation Verification Maintenance SoftwareModelling What should it do? What are the constraints? What do we want to know? What data do we have? What components? How are they connected? Most suitable technology? Managing construction? Does it do what we asked? Does it do what we wanted? How do we keep it working? How do we keep it current? What details are included? What modelling paradigm? Most suitable technology? Managing construction? Does it match our existing data? Does it tell us something new? Has the data changed? Are there new questions?


Download ppt "Biological Model Engineering Peter Saffrey, Department of Medicine Cakes Talk Monday, October 20, 2008."

Similar presentations


Ads by Google