From 2009.igem.org
%Any single gene knockout resulting in a growth rate less than CutOffCoeff*InitialGrowthRate will be put into a list
function [Essentials,grRatio,grRateKO,grRateWT,hasEffect,fluxSolution] = FindEssentialGenes(Model,CutOffCoeff)
Essentials=cell(1);
b=1;
solution1 = optimizeCbModel(Model, 'max', 'false', 'false');
InitialGrowthRate = solution1.f
CutOffGrowthRate=CutOffCoeff*InitialGrowthRate;
[grRatio,grRateKO,grRateWT,hasEffect,fluxSolution]=singleGeneDeletion(Model);
%This part uses the results of singleGeneDeletion to make a list
%containing all of the genes whose deletion caused a growth rate less than
%CutOffGrowthRate
for a=(1:length(grRateKO))
if grRateKO(a)<CutOffGrowthRate
Essentials(b) = Model.genes(a);
b=b+1;
end
end
NumberOfEssentialGenes = length(Essentials)
Essentials = Essentials';