Advertisement
Guest User

Untitled

a guest
Jan 25th, 2015
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 3.05 KB | None | 0 0
  1. clear all
  2. load BW38.mat
  3.  
  4.  
  5. GeneNamesCell=cellstr(GeneNames);
  6. %%%%%%usinięcie house keeping genes
  7. AFFX='AFFX'
  8. for i=1:length(GeneNamesCell)
  9.    X=strncmp(AFFX,GeneNamesCell,4);
  10. end
  11.  
  12. empty=find(X);
  13. DNAdata(empty,:)=[];
  14. GeneNamesCell(empty,:)=[];
  15. %%%%%%normalizacja z-score
  16. normalDNAdata=zscore(DNAdata);
  17.  
  18. TN=0; TP=0; FP=0; FN=0;
  19. %%%%%%podział na zbiór testowy (1) i uczący(37)
  20.  
  21. for i=1:size(DNAdata,2)
  22.     test=normalDNAdata(:,i);  %dane testowego
  23.     probka=SampleNames(i,:); %zbiór testowy
  24.     gr_test=probka(:,4:6); %grupa zbioru testowego
  25.     uczacy=normalDNAdata;
  26.     uczacy(:,i)=[];
  27.     %selekcja
  28. [mask,data,gene] = geneentropyfilter(uczacy,GeneNamesCell);
  29. testowe= test(mask,:);
  30. [mask2, data2, gene2] = generangefilter(data,gene,'ABSVALUE',log2(4));
  31. testowe= testowe(mask2,:);
  32.  
  33. ALL='ALL';
  34. ALM='ALM';
  35.  
  36. sample=SampleNames(:,4:6);
  37. sample=cellstr(sample);
  38.  
  39. for j=1:38
  40.    ALL = strcmp(sample,'ALL');
  41.    AML = strcmp(sample,'AML');
  42. end
  43.  
  44. DNAdataALL=normalDNAdata(:,ALL);
  45. GeneNamesALL=SampleNames(ALL,:);
  46.  
  47. DNAdataAML=normalDNAdata(:,AML);
  48. GeneNamesAML=SampleNames(AML,:);
  49.  
  50.        %test t-studenta        
  51. [pvaluesP,tscoresP]=mattest(DNAdataALL,DNAdataAML,...
  52.                     'Permute', 100);
  53.                
  54.  Gene005=find(pvaluesP<0.05);
  55.  Gene005names=GeneNamesCell(Gene005);
  56.  
  57.  
  58.  
  59. volcano = mavolcanoplot(DNAdataALL,DNAdataAML,pvaluesP,'Labels', GeneNamesCell);
  60. close all
  61. Genes_vol=0;
  62. Genes_vol = getfield(volcano,'GeneLabels');
  63. for i=1:length(Genes_vol),  
  64.     HKG2= strcmp(Genes_vol{i},GeneNamesCell);  
  65.     [row(i),v(i)]=find(HKG2==1);
  66. end
  67. row=row';
  68. values=DNAdata(row,:);
  69.  
  70. testowe=test(row,:);
  71.  
  72.  
  73. %%%%klasteryzacja hierarchiczna
  74.  
  75. [cidx, ctrs] = kmeans(values, 2,...
  76.                       'dist','corr',...
  77.                       'rep',5,...
  78.                       'disp','final');
  79.                
  80. [row_a,Kl1]= find(cidx==1); %wiersze z genami należącymi do 1-szego klastra
  81. Genes_Kl1=Genes_vol(row_a);
  82. data_Kl1=values(row_a);
  83.  
  84. [row_b,Kl2]= find(cidx==2); %wiersze z genami należącymi do 2-go klastra
  85. Genes_Kl2=Genes_vol(row_b);
  86. data_Kl2=values(row_b);
  87.  
  88.  
  89. %klasyfikacja
  90.  
  91. a=test(row_a,:); % dane zbioru testowego dla genów z klasy ALL
  92. b=test(row_b,:); %AML
  93.  
  94. dif1=(a-data_Kl1);    % odjęcie wartości ekspresji genów 1 (ALL) klastra od wartości ekspresji genów zbioru testowego
  95. dif2=(b-data_Kl2);    %odjęcie wartości ekspresji genów 2 (AML) klastra od wartości ekspresji genów zbioru testowego
  96.  
  97. if mean(dif1)<mean(dif2)  
  98.     wynik='ALL';     %przypisanie grupy ALL do zbioru testowego
  99.     if strncmp(gr_test,wynik,3)==1    %wynik zgadza się z prawdziwą przynależnością zbioru
  100.     TN(i)=1;
  101.     else FN(i)=1;      %błędne dopasowane
  102.     end
  103. else
  104.     wynik2='AML';   %przypisanie grupy AML do zbioru testowego
  105.     if strncmp(gr_test,wynik2,3)==1
  106.     TP(i)=1;
  107.      else FP(i)=1;
  108.     end
  109. end
  110.  
  111.  
  112.  
  113. end
  114.  
  115. TN=sum(TN);
  116. TP=sum(TP);
  117. FP=sum(FP);
  118. FN=sum(FN);
  119.  
  120. I = ((TP + TN)/(TP + TN+ FP + FN))*100; %jakość
  121. SE = TP/(TP+FN);       %czułość
  122. SP = TN/(TN+FP);  %specyficzność
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement