findEpistaticInteractions Finds synthetic lethal and/or synthetic sick interactions based on double deletion analysis data [interactions,epistaticEffect] = findEpistaticInteractions(model,doubleDeletionFitness,lethalFlag,minEffect) INPUTS model COBRA model structure doubleDeletionFitness A matrix of fitness (or growth rate) values for each of the double deletion strains. The diagonal of this matrix contains the single deletion fitness values. OPTIONAL INPUTS lethalFlag Only consider SL interactions (Default = false) minEffect Minimum fitness effect considered to be significant (Default = 1e-2) OUTPUTS interactions A sparse binary matrix indicating a SL or SS interaction between two genes in the model epistaticEffect Magnitude of the epistatic interaction defined as min(f1-f12,f2-f12) where f1 and f2 are the fitness values for the deletion strain of gene 1 and gene 2 respectively and f12 is the fitness value for the double deletion strain of genes 1 and 2 The criteria for establishing a synthetic sick interaction are that the double deletion strain fitness must be at least minEffect lower than the fitness of either of the single deletion strains, i.e. f12 < f1-minEffect and f12 < f2-minEffect The additional criterion for establishing a synthetic lethal interaction is that the double deletion fitness value is smaller than minEffect (i.e. essentially zero) f12 < minEffect Note that the interactions matrix double counts all interactions Markus Herrgard 1/17/07
0001 function [interactions,epistaticEffect] = findEpistaticInteractions(model,doubleDeletionFitness,lethalFlag,minEffect) 0002 %findEpistaticInteractions Finds synthetic lethal and/or synthetic sick 0003 %interactions based on double deletion analysis data 0004 % 0005 % [interactions,epistaticEffect] = findEpistaticInteractions(model,doubleDeletionFitness,lethalFlag,minEffect) 0006 % 0007 %INPUTS 0008 % model COBRA model structure 0009 % doubleDeletionFitness A matrix of fitness (or growth rate) values for 0010 % each of the double deletion strains. The diagonal 0011 % of this matrix contains the single deletion fitness 0012 % values. 0013 % 0014 %OPTIONAL INPUTS 0015 % lethalFlag Only consider SL interactions (Default = false) 0016 % minEffect Minimum fitness effect considered to be significant 0017 % (Default = 1e-2) 0018 % 0019 %OUTPUTS 0020 % interactions A sparse binary matrix indicating a SL or SS 0021 % interaction between two genes in the model 0022 % epistaticEffect Magnitude of the epistatic interaction defined as 0023 % min(f1-f12,f2-f12) where f1 and f2 are the fitness 0024 % values for the deletion strain of gene 1 and gene 2 0025 % respectively and f12 is the fitness value for the 0026 % double deletion strain of genes 1 and 2 0027 % 0028 % The criteria for establishing a synthetic sick interaction are that the 0029 % double deletion strain fitness must be at least minEffect lower than the 0030 % fitness of either of the single deletion strains, i.e. 0031 % f12 < f1-minEffect and f12 < f2-minEffect 0032 % 0033 % The additional criterion for establishing a synthetic lethal interaction 0034 % is that the double deletion fitness value is smaller than minEffect (i.e. 0035 % essentially zero) 0036 % f12 < minEffect 0037 % 0038 % Note that the interactions matrix double counts all interactions 0039 % 0040 % Markus Herrgard 1/17/07 0041 0042 if (nargin < 3) 0043 lethalFlag = false; 0044 end 0045 if (nargin < 4) 0046 minEffect = 1e-2; 0047 end 0048 0049 nGenes = length(model.genes); 0050 0051 singleDeletionFitness = diag(doubleDeletionFitness); 0052 0053 interactions = sparse(nGenes,nGenes); 0054 epistaticEffect = zeros(nGenes,nGenes); 0055 0056 for i = 1:nGenes 0057 fitness1 = singleDeletionFitness(i); 0058 for j = i+1:nGenes 0059 fitness2 = singleDeletionFitness(j); 0060 fitness12 = doubleDeletionFitness(i,j); 0061 isInteraction = fitness12 < fitness1-minEffect & fitness12 < fitness2-minEffect; 0062 if (lethalFlag) 0063 isInteraction = isInteraction & fitness12 < minEffect; 0064 end 0065 if (isInteraction) 0066 interactions(i,j) = 1; 0067 interactions(j,i) = 1; 0068 epistaticEffect(i,j) = min(fitness1-fitness12,fitness2-fitness12); 0069 epistaticEffect(j,i) = min(fitness1-fitness12,fitness2-fitness12); 0070 end 0071 end 0072 end 0073 end