In silico life: constraint-based modelling at genome scale