From 2009.igem.org
function [MatchListArray, Diff, minimumDiff, positionOfMinimumDiff] = FindMatchesArray(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')