matlab軟件課程設(shè)計(jì)---matlab實(shí)現(xiàn)dna序列的分類(lèi)識(shí)別_第1頁(yè)
已閱讀1頁(yè),還剩22頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  《數(shù)學(xué)軟件實(shí)踐》</b></p><p><b>  課程設(shè)計(jì)報(bào)告</b></p><p>  題 目:MATLAB實(shí)現(xiàn)DNA序列的分類(lèi)識(shí)別</p><p><b>  學(xué) 號(hào):</b></p><p><b>  姓 名:<

2、/b></p><p><b>  教 師</b></p><p><b>  日 期:</b></p><p>  不要?jiǎng)h除分節(jié)符,此行不會(huì)被打印。</p><p>  不要?jiǎng)h除分節(jié)符,此行不會(huì)被打印</p><p><b>  論文題目</b&g

3、t;</p><p><b>  論文題目1</b></p><p><b>  摘 要2</b></p><p><b>  1 問(wèn)題重述3</b></p><p><b>  2 問(wèn)題分析3</b></p><p>&

4、lt;b>  3 模型假設(shè)3</b></p><p><b>  4 符號(hào)說(shuō)明4</b></p><p>  5 模型的建立與求解4</p><p>  5.1 問(wèn)題一的模型5</p><p>  5.1.1 模型建立6</p><p><b>  模型I6

5、</b></p><p>  5.1.2 模型求解6</p><p>  5.2 問(wèn)題二的模型6</p><p>  5.2.1 模型建立7</p><p><b>  模型II7</b></p><p>  5.2.2 模型求解7</p><p> 

6、 5.3 問(wèn)題三的模型7</p><p>  5.3.1 模型建立7</p><p><b>  模型III7</b></p><p>  5.3.2 模型求解 ……7</p><p>  6 模型的評(píng)價(jià)與改進(jìn)7</p><p><b>  附 錄9</b>&

7、lt;/p><p>  A.1 附錄描述19</p><p>  A.2 附錄描述29</p><p>  A.3 附錄描述39</p><p><b>  摘 要</b></p><p><b>  序列矩陣</b></p><p>  首先調(diào)用

8、函數(shù),將文檔中的字符讀入到中,將其中不是的字符用來(lái)替換,存到矩陣中。</p><p>  給定序列, ,分別表示序列的前()個(gè)元素中出現(xiàn)的次數(shù).編寫(xiě)函數(shù)計(jì)算出序列每一行的。</p><p>  根據(jù)定義的歐幾里得距離矩陣,為了求解方便,寫(xiě)編寫(xiě)一個(gè)函數(shù),求出四個(gè)矩陣,然后編寫(xiě)函數(shù),便可以求出對(duì)應(yīng)的。</p><p>  根據(jù)定義的路徑距離矩陣,編寫(xiě)函數(shù),根據(jù)不同的,求

9、出不同的。</p><p>  根據(jù)定義的商矩陣,編寫(xiě)函數(shù),由(b)和(c)求出的和計(jì)算出對(duì)應(yīng)的。</p><p>  根據(jù)定義的商矩陣,編寫(xiě)函數(shù),由(b)求出的計(jì)算出對(duì)應(yīng)的。</p><p><b>  最大特征矩陣</b></p><p>  對(duì)于給定的序列, 令,其中分別表示矩陣的標(biāo)準(zhǔn)化()的最大特征根。將求得的結(jié)

10、果放于矩陣中。</p><p>  調(diào)用給定程序作出序列的聚類(lèi)樹(shù)圖</p><p>  可以根據(jù)給定的程序,對(duì)于分別作圖。</p><p>  MATLAB的一些基礎(chǔ)知識(shí)</p><p>  關(guān)鍵字:序列、最大特征根、聚類(lèi)樹(shù)圖、MATLAB基礎(chǔ)知識(shí)</p><p><b>  1 問(wèn)題重述</b>

11、</p><p>  題目給的是關(guān)于序列的問(wèn)題,首先給出一個(gè)文檔,是構(gòu)成序列的字符,但其中有不是的字符,要求將文檔中的所有字符序列讀入到矩陣中,并將其中不是的字符用中的任意一個(gè)換掉,得到正確的矩陣。然后分別計(jì)算矩陣 (例如表示前個(gè)字符中含有的的個(gè)數(shù))。再根據(jù)四個(gè)矩陣不同的輸入順序求出6個(gè)不同的矩陣,對(duì)每個(gè)矩陣,可以求出對(duì)應(yīng)的,再由求出對(duì)應(yīng)的。對(duì)每個(gè)矩陣,也可以求出對(duì)應(yīng)的矩陣。</p><p&g

12、t;  假設(shè)輸入序列的第一行,求出6個(gè)不同的后,每個(gè)矩陣可以求得一個(gè)最大特征根,這樣6個(gè)有6個(gè)最大特征根,放于矩陣 (為24*6的矩陣)的第一行中,6個(gè)有6個(gè)最大特征根,放于矩陣 (為24*6的矩陣)的第一行中,6個(gè)有6個(gè)最大特征根,放于矩陣 (為24*6的矩陣)的第一行中。當(dāng)把序列的24行遍歷完,三個(gè)矩陣便賦值完成。</p><p>  提示中給了畫(huà)序列的聚類(lèi)樹(shù)圖的程序,調(diào)用此程序,便可完成3個(gè)圖的繪制。<

13、;/p><p><b>  2 問(wèn)題分析</b></p><p>  首先調(diào)用函數(shù),將文檔中的字符讀入到矩陣中,將其中不是的字符用來(lái)替換。編寫(xiě)函數(shù)計(jì)算出序列每一行的。根據(jù)定義的歐幾里得距離矩陣,為了求解方便,先由函數(shù),求出四個(gè)矩陣,然后由函數(shù),便可以求出對(duì)應(yīng)的。根據(jù)定義的路徑距離矩陣,由函數(shù),根據(jù)不同的,求出不同的。根據(jù)定義的商矩陣,由函數(shù)和求出的和計(jì)算出對(duì)應(yīng)的。根據(jù)定義

14、的商矩陣,由函數(shù)求出的計(jì)算出對(duì)應(yīng)的。</p><p>  編寫(xiě)函數(shù),假設(shè)輸入DNA序列的第一行,求出6個(gè)不同的后,每個(gè)矩陣對(duì)應(yīng)一個(gè)最大特征根,6個(gè)的6個(gè)最大特征根放于矩陣的第一行中,6個(gè)的6個(gè)最大特征根放于矩陣的第一行中,6個(gè)的6個(gè)最大特征根放于矩陣的第一行中。遍歷完序列的24行,得到三個(gè)最大特征根矩陣。</p><p>  由提示中給定的畫(huà)序列聚類(lèi)樹(shù)圖的程序畫(huà)出對(duì)應(yīng)的聚類(lèi)樹(shù)圖。</

15、p><p><b>  3 模型假設(shè)</b></p><p>  假設(shè)實(shí)驗(yàn)數(shù)據(jù)足夠準(zhǔn)確。</p><p>  假設(shè)實(shí)驗(yàn)過(guò)程中不存在儀器誤差。</p><p>  假設(shè)提示中給的程序完整且正確。</p><p><b>  4 符號(hào)說(shuō)明</b></p><p&g

16、t;<b>  表 1</b></p><p>  5 模型的建立與求解</p><p>  5.1 問(wèn)題一的模型</p><p>  讀取數(shù)據(jù)到矩陣中,并將其中不是的字符用替換掉,得到處理過(guò)的矩陣。并根據(jù)輸入的序列的每一行,計(jì)算出4個(gè)矩陣。</p><p>  5.1.1 模型建立</p><p&g

17、t;  首先,文檔中的數(shù)據(jù)未經(jīng)過(guò)處理,必須編寫(xiě)一個(gè)函數(shù),將中的所有字符讀入到工作空間中,其中共有24個(gè)序列,每一個(gè)序列都以開(kāi)始,此時(shí)函數(shù)中要有判斷語(yǔ)句,如果遇到就將它的下一行序列讀入到矩陣中,讀入完成以后,要運(yùn)用一段程序,判斷其中的字符若不是,就用替換。</p><p>  這樣就很清楚的得到了序列矩陣。</p><p>  提示中給定的,分別表示序列的前()個(gè)元素中出現(xiàn)的次數(shù)。編寫(xiě)函數(shù),

18、根據(jù)中某一行的輸入,得出需要的矩陣。</p><p><b>  模型I </b></p><p><b>  讀取部分:</b></p><p>  P=importdata('TF24.txt'); %讀取TF中的數(shù)據(jù)到a中,P是cell類(lèi)型的列向量 </p><p><b

19、>  判斷部分:</b></p><p><b>  for i=1:m</b></p><p>  if double(Q{i}(1))==62</p><p>  A(j)=i; %A數(shù)組存放的的是首字符為'>'的行數(shù)</p><p><b>  j=j+1;<

20、/b></p><p><b>  end</b></p><p><b>  end</b></p><p><b>  取數(shù)據(jù)部分:</b></p><p><b>  for i=1:n</b></p><p>  DN

21、A{i}=cell2mat((Q(A(i)+1:A(i+1)-1))');%將介于兩個(gè)'>'之間的段取出,然后轉(zhuǎn)置,然后分開(kāi)成單個(gè)字符,放于cell的第一個(gè)中</p><p><b>  end</b></p><p>  替換非正常數(shù)據(jù)部分:</p><p>  if DNA{i}(j)~='A'

22、&&DNA{i}(j)~='T'&&DNA{i}(j)~='G'&&DNA{i}(j)~='C'</p><p>  disp('此處有一個(gè)字符不是ATGC');</p><p>  DNA{i}(j)='A';</p><p>  dis

23、p('轉(zhuǎn)換完成!');</p><p><b>  end</b></p><p>  5.1.2 模型求解</p><p><b>  部分結(jié)果展示</b></p><p><b>  圖表 1 矩陣</b></p><p>  圖

24、表 2 輸入的第一行后得出的矩陣的部分結(jié)果</p><p>  5.2 問(wèn)題二的模型</p><p>  要求解的最大特征根矩陣,首先要把求解出來(lái),而在求解時(shí),涉及到這6個(gè),而在求解它們是還有這4個(gè)矩陣,的不同只是因?yàn)檩斎腠樞虻牟煌a(chǎn)生的。所以先設(shè)計(jì)函數(shù)把求解出來(lái)。再由函數(shù)求解不同的,根據(jù)求解出來(lái)的,解相應(yīng)的就變得簡(jiǎn)單多了。取出其中的及其對(duì)應(yīng)的,分別求它們的最大特征根矩陣,放到三

25、個(gè)數(shù)組中,再根據(jù)給定的作圖程序,做出序列的聚類(lèi)樹(shù)圖。</p><p>  5.2.1 模型建立</p><p>  為了求解方便,寫(xiě)編寫(xiě)一個(gè)函數(shù),兩層for循環(huán)遍歷求出。</p><p>  由函數(shù),其中輸入4個(gè)形參,便可以求出對(duì)應(yīng)的。由函數(shù),根據(jù)不同的,求出不同的,我們注意到,是對(duì)稱(chēng)矩陣,為了減少運(yùn)算量,只求取的上三角矩陣便可。</p><p&

26、gt;  由函數(shù),由于已經(jīng)求出和,便可計(jì)算出對(duì)應(yīng)的。此時(shí)求解中注意到有除法運(yùn)算,而且最后對(duì)角線上全是0。為了避免除數(shù)為0的情況,將對(duì)角陣的值全部變?yōu)?,運(yùn)算完成以后再將對(duì)角線賦值為0即可。</p><p>  由函數(shù),根據(jù)求出的計(jì)算出對(duì)應(yīng)的,只需要一個(gè)判斷即可。</p><p>  由函數(shù),求解的最大特征根矩陣,將求得的結(jié)果放于矩陣中。MATLAB有自帶的求最大特征根的函數(shù),</p&

27、gt;<p>  只是它會(huì)求解出一列數(shù)據(jù),用函數(shù)取出最大的即可。的最大特征根求解中,只需要把需要的6個(gè)參數(shù)換成相應(yīng)的,即可。</p><p>  調(diào)用給定程序作出序列的聚類(lèi)樹(shù)圖,調(diào)用過(guò)程中,變化的只是特征根矩陣。</p><p><b>  模型II</b></p><p><b>  for i=1:n</b&g

28、t;</p><p><b>  for j=1:n</b></p><p>  Aij(i,j)=A(j)-A(i);</p><p>  Tij(i,j)=T(j)-T(i);</p><p>  Gij(i,j)=G(j)-G(i);</p><p>  Cij(i,j)=C(j)-C(i)

29、;</p><p><b>  end</b></p><p><b>  end</b></p><p>  function ED=I_ED(x,y,z,w) %x y z w是Aij,Tij.Gij,Cij中的一個(gè)</p><p>  ED=sqrt((x-2*y).^2+(z-2*w).^2

30、);</p><p>  function EP=I_EP(ED,PD)</p><p>  n=length(PD);</p><p><b>  for i=1:n</b></p><p>  PD(i,i)=1;</p><p><b>  end</b></p&

31、gt;<p>  EP=ED./PD;</p><p><b>  for i=1:n</b></p><p>  EP(i,i)=0;</p><p><b>  end</b></p><p>  function EG=I_EG(ED) </p><p>

32、  n=length(ED);</p><p>  EG=zeros(n);</p><p><b>  for i=1:n</b></p><p><b>  for j=1:n</b></p><p><b>  if i~=j</b></p><p&g

33、t;  EG(i,j)=ED(i,j)/abs(i-j);</p><p><b>  else</b></p><p>  EG(i,j)=0;</p><p><b>  end</b></p><p><b>  end</b></p><p>&

34、lt;b>  end</b></p><p>  function y=I_EGa1(ED1,ED2,ED3,ED4,ED5,ED6)</p><p>  N=length(ED1);</p><p>  y(1)=max(eigs(ED1)/N);</p><p>  y(2)=max(eigs(ED2)/N);</

35、p><p>  y(3)=max(eigs(ED3)/N);</p><p>  y(4)=max(eigs(ED4)/N);</p><p>  y(5)=max(eigs(ED5)/N);</p><p>  y(6)=max(eigs(ED6)/N);</p><p>  EGe=zeros(24);</p&g

36、t;<p>  for i=1:24</p><p>  for j=i+1:24</p><p>  EGe(i,j)=norm(EGa1(i,:)-EGa1(j,:));</p><p>  EGe(j,i)=EGe(i,j); </p><p><b>  end</b></p><

37、;p><b>  end</b></p><p>  EGe0=pdist(EGe,'euclidean'); % Pairwise distance</p><p>  EGtree=linkage(EGe0); % Create hierarchical cluster tree</p>

38、<p>  EPtreeShow=dendrogram(EGtree,'orientation','left'); % Dendrogram plot</p><p>  5.2.2 模型求解</p><p><b>  部分結(jié)果顯示:</b></p><p>  圖表 3

39、 圖表 4 </p><p>  圖表 5 圖表 6 </p><p>  圖表 7 圖表 8 </p><p>  5.3 問(wèn)題三的模型</p><p>  由于

40、序列的第20行數(shù)據(jù)比其他行多近一半的數(shù)據(jù),一般的電腦運(yùn)行時(shí)會(huì)出現(xiàn)溢出現(xiàn)象,為了解決這個(gè)問(wèn)題,第二十行的程序需要加以改進(jìn),使其能夠適應(yīng)一般的電腦運(yùn)行內(nèi)存。</p><p>  5.3.1 模型建立</p><p>  運(yùn)行時(shí)的問(wèn)題從求解出以后就出現(xiàn)了。所以的函數(shù)不能用,現(xiàn)在我考慮,可能是先求解出導(dǎo)致占用了過(guò)多內(nèi)存,我現(xiàn)在把, , , 的原始公式直接帶入編寫(xiě)的函數(shù)中,發(fā)現(xiàn)運(yùn)行速度變快。但是這樣

41、6個(gè)需要依次求出,然后依次運(yùn)行,,,,,一遍運(yùn)行完成后,得到3個(gè)最大特征根矩陣第20行中的一個(gè),運(yùn)行6次,3個(gè)矩陣的第20行變求出來(lái)了。</p><p><b>  模型III</b></p><p>  求解第20行第一個(gè)值</p><p>  n=length(DNA{20});</p><p>  ED1=zero

42、s(n,n);</p><p><b>  for i=1:n</b></p><p><b>  for j=1:n</b></p><p>  ED1(i,j)=sqrt(((A(j)-A(i))-2*(G(j)-G(i)))^2+((T(j)-T(i))-2*(C(j)-C(i)))^2);</p>&

43、lt;p><b>  end</b></p><p><b>  end</b></p><p>  u1=max(eigs(ED1)/n);</p><p>  求解第20行第一個(gè)值</p><p>  PD1=I_PD(ED1);</p><p>  EP1=I_E

44、P(ED1,PD1);</p><p>  u2=max(eigs(EP1)/n);</p><p>  求解第20行第一個(gè)值</p><p>  EG1=I_EG(ED1) ;</p><p>  u3=max(eigs(EG1)/n);</p><p>  clear('ED1','PD1&

45、#39;,'EP1','EG1','u1','u2','u3');</p><p>  5.3.2 模型求解 </p><p><b>  第20行結(jié)果展示:</b></p><p>  圖表 9 的20行 圖表 10 的20行 圖表

46、11 的20行</p><p><b>  序列聚類(lèi)樹(shù)圖:</b></p><p>  圖表 12 的聚類(lèi)樹(shù)圖 圖表 13 的聚類(lèi)樹(shù)圖 圖表 14 的聚類(lèi)樹(shù)圖</p><p>  6 模型的評(píng)價(jià)與改進(jìn)</p><p>  此文章能較好的將序列進(jìn)行分類(lèi)和鑒別,運(yùn)行最終的主程序,便可清楚地給出其聚類(lèi)樹(shù)

47、圖和相應(yīng)的最大特征根矩陣。但是其在處理大量序列的過(guò)程中,容易出現(xiàn)溢出現(xiàn)象,表明程序仍然是不夠完善的,畢竟編程過(guò)程中用到的兩層循環(huán)對(duì)于程序的影響是很大的,可以考慮將其中的循環(huán)盡量的簡(jiǎn)化,但是我還是沒(méi)有更好的方法。根據(jù)我對(duì)第20行的重新編碼,可以處理的數(shù)據(jù)也可以很大,但是需要手動(dòng)的運(yùn)算量增加,整體運(yùn)行時(shí)間較長(zhǎng),消耗的計(jì)算機(jī)內(nèi)存較大,這些都是需要改進(jìn)的地方。</p><p><b>  參考文獻(xiàn)</b&

48、gt;</p><p>  張養(yǎng)安、劉林章,MATLAB軟件在數(shù)據(jù)處理中的應(yīng)用,水土保持研究,2005年8月</p><p>  姜長(zhǎng)元,MATLAB和Word的鏈接及應(yīng)用,洛陽(yáng)師范學(xué)院,2005年第二期</p><p>  王沫然,MATLAB與科學(xué)計(jì)算(第二版),電子出版社,2008年9月。</p><p><b>  附 錄

49、</b></p><p><b>  A.1 附錄描述1</b></p><p><b>  問(wèn)題一中的程序:</b></p><p>  P=importdata('TF24.txt'); %讀取TF中的數(shù)據(jù)到a中,P是cell類(lèi)型的列向量 </p><p>  Q=P

50、;%將取出來(lái)的數(shù)據(jù)放到Q中</p><p>  DNA=cell(24,1);</p><p>  m=length(Q);</p><p>  A=zeros(1,25);</p><p><b>  j=1;k=1;</b></p><p>  A(25)=m+1;</p>&l

51、t;p><b>  for i=1:m</b></p><p>  if double(Q{i}(1))==62</p><p>  A(j)=i; %A數(shù)組存放的的是首字符為'>'的行數(shù)</p><p><b>  j=j+1;</b></p><p><b>

52、;  end</b></p><p><b>  end</b></p><p>  n=length(A)-1;</p><p><b>  for i=1:n</b></p><p>  DNA{i}=cell2mat((Q(A(i)+1:A(i+1)-1))');%將介于兩

53、個(gè)'>'之間的段取出,然后轉(zhuǎn)置,然后分開(kāi)成單個(gè)字符,放于cell的第一個(gè)中</p><p><b>  end</b></p><p>  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</p><p>  % 找到不是ATGC的字符替換</p><p>  %%

54、%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</p><p>  for i=1:24</p><p>  for j=1:length(DNA{i})</p><p>  if DNA{i}(j)~='A'&&DNA{i}(j)~='T'&&DNA{i}(j)~=

55、9;G'&&DNA{i}(j)~='C'</p><p>  disp('此處有一個(gè)字符不是ATGC');</p><p><b>  i,j</b></p><p>  DNA{i}(j)='A';</p><p>  disp('轉(zhuǎn)換完成

56、!');</p><p><b>  end</b></p><p><b>  end</b></p><p><b>  end</b></p><p>  function [A T G C]=I_calculate(X)</p><p>

57、  % X是輸入的數(shù)組,即DNA{i} i=1,2,3...24</p><p>  % A T G C是輸出數(shù)據(jù),是行向量,A(i)表示前i個(gè)字符中含有的A的個(gè)數(shù)</p><p>  % 劉海鵬 2012.08.25</p><p>  A=zeros(1,length(X));</p><p>  T=zeros(1,length(X))

58、;</p><p>  G=zeros(1,length(X));</p><p>  C=zeros(1,length(X));</p><p><b>  A(1)=0;</b></p><p><b>  T(1)=0;</b></p><p><b>  G

59、(1)=0;</b></p><p><b>  C(1)=0;</b></p><p>  if X(1)=='A'</p><p>  A(1)=A(1)+1;</p><p>  elseif X(1)=='T'</p><p>  T(1)=T(

60、1)+1;</p><p>  elseif X(1)=='G'</p><p>  G(1)=G(1)+1;</p><p><b>  else</b></p><p>  C(1)=C(1)+1;</p><p><b>  end </b><

61、/p><p>  for i=2:length(X)</p><p>  if X(i)=='A'</p><p>  A(i)=A(i-1)+1;</p><p>  T(i)=T(i-1);</p><p>  G(i)=G(i-1);</p><p>  C(i)=C(i-1)

62、;</p><p>  elseif X(i)=='T'</p><p>  A(i)=A(i-1);</p><p>  T(i)=T(i-1)+1;</p><p>  G(i)=G(i-1);</p><p>  C(i)=C(i-1);</p><p>  elseif

63、X(i)=='G'</p><p>  A(i)=A(i-1);</p><p>  T(i)=T(i-1);</p><p>  G(i)=G(i-1)+1;</p><p>  C(i)=C(i-1);</p><p><b>  else </b></p>&l

64、t;p>  A(i)=A(i-1);</p><p>  T(i)=T(i-1);</p><p>  G(i)=G(i-1);</p><p>  C(i)=C(i-1)+1;</p><p><b>  end</b></p><p><b>  end</b>&l

65、t;/p><p>  % z1=0;z2=0;z3=0;z4=0;</p><p>  % for i=1:length(X)</p><p>  % if X(i)=='A'</p><p>  % z1=z1+1;</p><p>  % elseif X(i)==

66、9;T'</p><p>  % z2=z2+1;</p><p>  % elseif X(i)=='G'</p><p>  % z3=z3+1;</p><p>  % else z4=z4+1;</p><p><b>  %

67、 end</b></p><p>  % A(i)=z1;</p><p>  % T(i)=z2;</p><p>  % G(i)=z3;</p><p>  % C(i)=z4;</p><p><b>  % end</b></p>

68、;<p><b>  問(wèn)題二中的程序</b></p><p>  function [Aij,Tij,Cij,Gij]=I_ED1(A,T,G,C)</p><p>  n=length(A);</p><p>  Aij=zeros(n);</p><p>  Tij=zeros(n);</p>

69、;<p>  Cij=zeros(n);</p><p>  Gij=zeros(n);</p><p><b>  for i=1:n</b></p><p><b>  for j=1:n</b></p><p>  Aij(i,j)=A(j)-A(i);</p>&

70、lt;p>  Tij(i,j)=T(j)-T(i);</p><p>  Gij(i,j)=G(j)-G(i);</p><p>  Cij(i,j)=C(j)-C(i);</p><p><b>  end</b></p><p><b>  end</b></p><p

71、>  function ED=I_ED(x,y,z,w) %x y z w是Aij,Tij.Gij,Cij中的一個(gè)</p><p>  ED=sqrt((x-2*y).^2+(z-2*w).^2);</p><p>  % ED1=I_ED(Aij,Gij,Tij,Cij);</p><p>  % ED2=I_ED(Cij,Tij,Aij,Gij);<

72、/p><p>  % ED3=I_ED(Aij,Cij,Tij,Gij);</p><p>  % ED4=I_ED(Gij,Tij,Aij,Cij);</p><p>  % ED5=I_ED(Aij,Tij,Cij,Gij);</p><p>  % ED6=I_ED(Gij,Cij,Aij,Tij);</p><p>

73、;  function PD=I_PD(ED)</p><p>  n=length(ED);</p><p><b>  for i=1:n</b></p><p>  for j=i+2:n</p><p>  ED(i,j)=ED(i,j-1)+ED(j-1,j);</p><p><

74、b>  end</b></p><p>  ED(i,i)=0;</p><p><b>  end</b></p><p>  ED=triu(ED);</p><p>  PD=ED+ED';</p><p>  % PD1=I_PD(ED1);</p>

75、<p>  % PD2=I_PD(ED2);</p><p>  % PD3=I_PD(ED3);</p><p>  % PD4=I_PD(ED4);</p><p>  % PD5=I_PD(ED5);</p><p>  % PD6=I_PD(ED6);</p><p>  function EP=I

76、_EP(ED,PD)</p><p>  n=length(PD);</p><p><b>  for i=1:n</b></p><p>  PD(i,i)=1;</p><p><b>  end</b></p><p>  EP=ED./PD;</p>

77、<p><b>  for i=1:n</b></p><p>  EP(i,i)=0;</p><p><b>  end</b></p><p>  % EP1=I_EP(ED1,PD1);</p><p>  % EP2=I_EP(ED2,PD2);</p><p

78、>  % EP3=I_EP(ED3,PD3);</p><p>  % EP4=I_EP(ED4,PD4);</p><p>  % EP5=I_EP(ED5,PD5);</p><p>  % EP6=I_EP(ED6,PD6);</p><p>  function EG=I_EG(ED) </p><p>

79、  n=length(ED);</p><p>  EG=zeros(n);</p><p><b>  for i=1:n</b></p><p><b>  for j=1:n</b></p><p><b>  if i~=j</b></p><p&g

80、t;  EG(i,j)=ED(i,j)/abs(i-j);</p><p><b>  else</b></p><p>  EG(i,j)=0;</p><p><b>  end</b></p><p><b>  end</b></p><p>&

81、lt;b>  end</b></p><p>  % EG1=I_EG(ED1);</p><p>  % EG2=I_EG(ED2);</p><p>  % EG3=I_EG(ED3);</p><p>  % EG4=I_EG(ED4);</p><p>  % EG5=I_EG(ED5);&l

82、t;/p><p>  % EG6=I_EG(ED6);</p><p>  function y=I_EGa1(ED1,ED2,ED3,ED4,ED5,ED6)</p><p>  N=length(ED1);</p><p>  y(1)=max(eigs(ED1)/N);</p><p>  y(2)=max(eigs

83、(ED2)/N);</p><p>  y(3)=max(eigs(ED3)/N);</p><p>  y(4)=max(eigs(ED4)/N);</p><p>  y(5)=max(eigs(ED5)/N);</p><p>  y(6)=max(eigs(ED6)/N);</p><p>  % EGa1(,

84、1:6)=I_EGa1(ED1,ED2,ED3,ED4,ED5,ED6);</p><p>  % EGa2(,1:6)=I_EGa1(EP1,EP2,EP3,EP4,EP5,EP6);</p><p>  % EGa3(,1:6)=I_EGa1(EG1,EG2,EG3,EG4,EG5,EG6);</p><p>  EGe=zeros(24);</p>

85、<p>  for i=1:24</p><p>  for j=i+1:24</p><p>  EGe(i,j)=norm(EGa1(i,:)-EGa1(j,:));</p><p>  EGe(j,i)=EGe(i,j); </p><p><b>  end</b></p><p

86、><b>  end</b></p><p>  EGe0=pdist(EGe,'euclidean'); % Pairwise distance</p><p>  EGtree=linkage(EGe0); % Create hierarchical cluster tree</p>&

87、lt;p>  EPtreeShow=dendrogram(EGtree,'orientation','left'); % Dendrogram plot</p><p>  問(wèn)題3中的程序(第20行)</p><p>  n=length(DNA{20});</p><p>  ED1=zeros(n,n);</p

88、><p><b>  for i=1:n</b></p><p><b>  for j=1:n</b></p><p>  ED1(i,j)=sqrt(((A(j)-A(i))-2*(G(j)-G(i)))^2+((T(j)-T(i))-2*(C(j)-C(i)))^2);</p><p><b

89、>  end</b></p><p><b>  end</b></p><p>  u1=max(eigs(ED1)/n);</p><p>  PD1=I_PD(ED1);</p><p>  EP1=I_EP(ED1,PD1);</p><p>  u2=max(eigs(

90、EP1)/n);</p><p>  EG1=I_EG(ED1) ;</p><p>  u3=max(eigs(EG1)/n);</p><p>  EGa1(20,1)=u1;EGa2(20,1)=u2;EGa3(20,1)=u3;</p><p>  clear('ED1','PD1','EP1&

91、#39;,'EG1','u1','u2','u3');</p><p>  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</p><p><b>  % ED2=CT</b></p><p>  %%%%%%%%%%%%%%%%%%%%%%%%%

92、%%%%%%%%%%%%%%%</p><p>  ED2=zeros(n);</p><p><b>  for i=1:n</b></p><p><b>  for j=1:n</b></p><p>  ED2(i,j)=sqrt(((C(j)-C(i))-2*(T(j)-T(i)))^2+

93、((A(j)-A(i))-2*(G(j)-G(i)))^2);</p><p><b>  end</b></p><p><b>  end</b></p><p>  u1=max(eigs(ED2)/n);</p><p>  PD2=I_PD(ED2);</p><p&g

94、t;  EP2=I_EP(ED2,PD2);</p><p>  u2=max(eigs(EP2)/n);</p><p>  EG2=I_EG(ED2) ;</p><p>  u3=max(eigs(EG2)/n);</p><p>  EGa1(20,2)=u1;EGa2(20,2)=u2;EGa3(20,2)=u3;</p>

95、;<p>  clear('ED2','PD2','EP2','EG2','u1','u2','u3');</p><p>  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</p><p><b>  % ED3=AC&

96、lt;/b></p><p>  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ED1=AG</p><p>  ED3=zeros(n);</p><p><b>  for i=1:n</b></p><p><b>  for j=1:n</b>&l

97、t;/p><p>  ED3(i,j)=sqrt(((A(j)-A(i))-2*(C(j)-C(i)))^2+((T(j)-T(i))-2*(G(j)-G(i)))^2);</p><p><b>  end</b></p><p><b>  end</b></p><p>  u1=max(eigs

98、(ED3)/n);</p><p>  PD3=I_PD(ED3);</p><p>  EP3=I_EP(ED3,PD3);</p><p>  u2=max(eigs(EP3)/n);</p><p>  EG3=I_EG(ED3) ;</p><p>  u3=max(eigs(EG3)/n);</p>

99、;<p>  EGa1(20,3)=u1;EGa2(20,3)=u2;EGa3(20,3)=u3;</p><p>  clear('ED3','PD3','EP3','EG3','u1','u2','u3');</p><p>  %%%%%%%%%%%%%%%%

100、%%%%%%%%%%%%%%%%%%%%%%%%</p><p><b>  % ED4=GT</b></p><p>  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ED1=AG</p><p>  ED4=zeros(n);</p><p><b>  for i=

101、1:n</b></p><p><b>  for j=1:n</b></p><p>  ED4(i,j)=sqrt(((G(j)-G(i))-2*(T(j)-T(i)))^2+((A(j)-A(i))-2*(C(j)-C(i)))^2);</p><p><b>  end</b></p>&

102、lt;p><b>  end</b></p><p>  u1=max(eigs(ED4)/n);</p><p>  PD4=I_PD(ED4);</p><p>  EP4=I_EP(ED4,PD4);</p><p>  u2=max(eigs(EP4)/n);</p><p>  E

103、G4=I_EG(ED4) ;</p><p>  u3=max(eigs(EG4)/n);</p><p>  EGa1(20,4)=u1;EGa2(20,4)=u2;EGa3(20,4)=u3;</p><p>  clear('ED4','PD4','EP4','EG4','u1',

104、'u2','u3');</p><p>  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</p><p><b>  % ED5=AT</b></p><p>  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ED1=AG</p>

105、;<p>  ED5=zeros(n);</p><p><b>  for i=1:n</b></p><p><b>  for j=1:n</b></p><p>  ED5(i,j)=sqrt(((A(j)-A(i))-2*(T(j)-T(i)))^2+((C(j)-C(i))-2*(G(j)-G(i

106、)))^2);</p><p><b>  end</b></p><p><b>  end</b></p><p>  u1=max(eigs(ED5)/n);</p><p>  PD5=I_PD(ED5);</p><p>  EP5=I_EP(ED5,PD5);&l

107、t;/p><p>  u2=max(eigs(EP5)/n);</p><p>  EG5=I_EG(ED5) ;</p><p>  u3=max(eigs(EG5)/n);</p><p>  EGa1(20,5)=u1;EGa2(20,5)=u2;EGa3(20,5)=u3;</p><p>  clear('

108、;ED5','PD5','EP5','EG5','u1','u2','u3');</p><p>  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</p><p><b>  % ED6=GC</b></p><

109、;p>  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</p><p>  ED6=zeros(n);</p><p><b>  for i=1:n</b></p><p><b>  for j=1:n</b></p><p>  ED6(i,j)=sq

110、rt(((G(j)-G(i))-2*(C(j)-C(i)))^2+((A(j)-A(i))-2*(T(j)-T(i)))^2);</p><p><b>  end</b></p><p><b>  end</b></p><p>  u1=max(eigs(ED6)/n);</p><p>  

111、PD6=I_PD(ED6);</p><p>  EP6=I_EP(ED6,PD6);</p><p>  u2=max(eigs(EP6)/n);</p><p>  EG6=I_EG(ED6) ;</p><p>  u3=max(eigs(EG6)/n);</p><p>  EGa1(20,6)=u1;EGa2

112、(20,6)=u2;EGa3(20,6)=u3;</p><p>  clear('ED6','PD6','EP6','EG6','u1','u2','u3','C','G','T','A');</p><p>&l

113、t;b>  A.2 附錄描述2</b></p><p><b>  主程序</b></p><p><b>  clear;</b></p><p><b>  clc;</b></p><p>  profile on;</p><p&g

114、t;  profile clear;</p><p>  DNA=cell(24,1);</p><p>  I_importdata;</p><p>  clear('P','Q','m');</p><p>  EGa1=zeros(24,6);</p><p> 

115、 EGa2=zeros(24,6);</p><p>  EGa3=zeros(24,6);</p><p>  for i=1:19</p><p>  [A T G C]=I_calculate(DNA{i});</p><p>  [Aij,Tij,Cij,Gij]=I_ED1(A,T,G,C);</p><p>

116、;  clear('A','T','G','C');</p><p>  ED1=I_ED(Aij,Gij,Tij,Cij);</p><p>  ED2=I_ED(Cij,Tij,Aij,Gij);</p><p>  ED3=I_ED(Aij,Cij,Tij,Gij);</p><

117、;p>  ED4=I_ED(Gij,Tij,Aij,Cij);</p><p>  ED5=I_ED(Aij,Tij,Cij,Gij);</p><p>  ED6=I_ED(Gij,Cij,Aij,Tij);</p><p>  clear('Aij','Cij','Gij','Tij');&l

118、t;/p><p>  EGa1(i,:)=I_EGa1(ED1,ED2,ED3,ED4,ED5,ED6);</p><p>  PD1=I_PD(ED1);</p><p>  PD2=I_PD(ED2);</p><p>  PD3=I_PD(ED3);</p><p>  PD4=I_PD(ED4);</p>

119、;<p>  PD5=I_PD(ED5);</p><p>  PD6=I_PD(ED6);</p><p>  EP1=I_EP(ED1,PD1);</p><p>  EP2=I_EP(ED2,PD2);</p><p>  EP3=I_EP(ED3,PD3);</p><p>  EP4=I_EP(

120、ED4,PD4);</p><p>  EP5=I_EP(ED5,PD5);</p><p>  EP6=I_EP(ED6,PD6);</p><p>  EGa2(i,:)=I_EGa1(EP1,EP2,EP3,EP4,EP5,EP6);</p><p>  clear('PD1','PD2','PD

121、3','PD4','PD5','PD6','EP1','EP2','EP3','EP4','EP5','EP6');</p><p>  EG1=I_EG(ED1);</p><p>  EG2=I_EG(ED2);</p>

122、<p>  EG3=I_EG(ED3);</p><p>  EG4=I_EG(ED4);</p><p>  EG5=I_EG(ED5);</p><p>  EG6=I_EG(ED6);</p><p>  EGa3(i,:)=I_EGa1(EG1,EG2,EG3,EG4,EG5,EG6);</p><p&g

123、t;  clear('ED1','ED2','ED3','ED4','ED5','ED6','EG1','EG2','EG3','EG4','EG5','EG6');</p><p><b>  end</b

124、></p><p>  [A T G C]=I_calculate(DNA{20});</p><p><b>  I_20ED1;</b></p><p>  for i=21:24</p><p>  [A T G C]=I_calculate(DNA{i});</p><p>  [A

125、ij,Tij,Cij,Gij]=I_ED1(A,T,G,C);</p><p>  clear('A','T','G','C');</p><p>  ED1=I_ED(Aij,Gij,Tij,Cij);</p><p>  ED2=I_ED(Cij,Tij,Aij,Gij);</p>&

126、lt;p>  ED3=I_ED(Aij,Cij,Tij,Gij);</p><p>  ED4=I_ED(Gij,Tij,Aij,Cij);</p><p>  ED5=I_ED(Aij,Tij,Cij,Gij);</p><p>  ED6=I_ED(Gij,Cij,Aij,Tij);</p><p>  clear('Aij

127、','Cij','Gij','Tij');</p><p>  EGa1(i,:)=I_EGa1(ED1,ED2,ED3,ED4,ED5,ED6);</p><p>  PD1=I_PD(ED1);</p><p>  PD2=I_PD(ED2);</p><p>  PD3=I_PD(

128、ED3);</p><p>  PD4=I_PD(ED4);</p><p>  PD5=I_PD(ED5);</p><p>  PD6=I_PD(ED6);</p><p>  EP1=I_EP(ED1,PD1);</p><p>  EP2=I_EP(ED2,PD2);</p><p> 

129、 EP3=I_EP(ED3,PD3);</p><p>  EP4=I_EP(ED4,PD4);</p><p>  EP5=I_EP(ED5,PD5);</p><p>  EP6=I_EP(ED6,PD6);</p><p>  EGa2(i,:)=I_EGa1(EP1,EP2,EP3,EP4,EP5,EP6);</p>&

130、lt;p>  clear('PD1','PD2','PD3','PD4','PD5','PD6','EP1','EP2','EP3','EP4','EP5','EP6');</p><p>  EG1=I_EG(ED1

131、);</p><p>  EG2=I_EG(ED2);</p><p>  EG3=I_EG(ED3);</p><p>  EG4=I_EG(ED4);</p><p>  EG5=I_EG(ED5);</p><p>  EG6=I_EG(ED6);</p><p>  EGa3(i,:)=

132、I_EGa1(EG1,EG2,EG3,EG4,EG5,EG6);</p><p>  clear('ED1','ED2','ED3','ED4','ED5','ED6','EG1','EG2','EG3','EG4','EG5','

133、EG6');</p><p><b>  end</b></p><p>  I_dendrogram(EGa1);</p><p><b>  hold on;</b></p><p>  I_dendrogram(EGa2);</p><p><b> 

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論