From 2009.igem.org
function [MatchListArray, Diff, minimumDiff, positionOfMinimumDiff] = FindMatchListArray(List, CellArrayOfLists)
%example: CellArrayOfLists = MinimalGenomeArray;
%example: List = YourSuspectedResearchedLiteratureEssentialGenes; (or your
%suspected minimal genome)
%If the lists were chosen in this way, the Researched List would be compared with every
%Minimal Genome list one at a time. For each comparison, this code
%would output (for this example) the list of matches and lets you know which
%list you should analyze further to improve your researched gene list.
Diff=zeros(1);
MatchListArray=cell(1);
for z=1:length(CellArrayOfLists)
z
r=1;
MatchList=cell(1);
Match=zeros(max(length(CellArrayOfLists{z}), length(List)));
for a=(1:length(CellArrayOfLists{z}))
for b=(1:length(List))
if strcmp(CellArrayOfLists{z}(a), List(b)) == 1
Match(b)=1;
end
end
a;
end
for c=1:length(List)
if Match(c) == 1
MatchList(r) = List(c);
r=r+1;
end
end
MatchList=MatchList';
%NumberOfMatches=sum(Match) %sum(Match) not MatchList
MatchListArray{z}=MatchList
end
for t=1:length(CellArrayOfLists)
Diff(t)=length(CellArrayOfLists{t})-length(MatchListArray{t});
end
Diff
[minimumDiff, positionOfMinimumDiff] = min(Diff)
[maxValue minValue avg minPosition] = MaxMinAvg(MatchListArray)
disp('Use InvertList.m on the researched essential genes and the MatchListArray entry that has the smallest difference')
disp('Or use InverListArray.m on the researched essential genes and the whole MatchListArray')
disp('It would output what genes the model is suggesting should be included in the researched list')