MATLAB: Merging the unique values

matrix manipulation

final_result =
'Genes' 'T0&T2' 'T1&T3' 'T2&T4' 'T3&T5' 'T4&T6'
'YAR029W' 'dd' 'uu' 'dd' 'uu' 'du'
'YBL095W' 'du' 'ud' 'ud' 'du' 'du'
'YBL111C' 'uu' 'uu' 'ud' 'ud' 'du'
'YBL113C' 'uu' 'uu' 'uu' 'ud' 'ud'
'YBR096W' 'uu' 'uu' 'ud' 'ud' 'dd'
'YBR138C' 'ud' 'ud' 'ud' 'du' 'du'
In these i have to find the genes having same variable(1st variable in each interval) for all the intervals for example
'YAR029W'has 'd'(1st variable) in interval 'T0&T2' ,in same interval i want to find which genes havibg variable'd',for example
'YBL095W','YBR138C',has value 'd'('d' may be 1sy or 2nd variable )
Same should be done for 2nd gene also in interval 'T0&T2'
'YBL111C' has 1st value 'u',the genes having 'u' must be displayed where , 'YBL113C''YBR096W','YBR138C' must be displayed
So i need output as
'Gene1' 'T0&T2'
'YAR029W' 'dd'
'YBL095W' 'du'
'YBR138C' 'ud'
;
;
'Gene3' 'T0&T2'
'YBL111C' 'uu'
'YBL113C' 'uu'
'YBR096W' 'uu'
'YBR138C' 'ud'
;
;
I have 1000 genes please help

Best Answer

%i'm not sur if i've understood what you meant, but try this
a=final_result;[n,m]=size(a);B=a(2:end,1);
for k=2:m
A=a(2:end,k); C=[B A];
ent1={strcat('out',num2str(2*k-3)) char(a(1,k))};
ent2={strcat('out',num2str(2*k-2)) char(a(1,k))};
s{1,k-1} =[ ent1;C(cellfun(@(x)any(regexp(x,'d')),A),:)];
s{2,k-1}= [ ent2;C(cellfun(@(x)any(regexp(x,'u[u,d]')),A),:)];
disp(s{1,k-1});disp(s{2,k-1})
end