?? cii_redundance.m
字號:
%==========================================================================
%
% 文件名稱:Cii_redundance.m
% 摘要:求出基因的分類信息指數(shù)cii,再進行兩兩去冗余分析得到特征基因。
% 作者:李曉明
% 完成日期:2007年1月28日
%
% 第一次修改
% 修改內(nèi)容:改善文件的結構、完善注釋增加文件的可讀性。
% 修改日期:2007年5月14日。
% 第二次修改
% 修改內(nèi)容:修改了choose函數(shù)。輸出的是分類權重較大基因的原始表達量,而不再是歸一化表達量。
% 修改了redundance函數(shù)。輸出的是特征基因的原始表達量,而不再是歸一化表達量。
% 修改目的是使程序更加規(guī)范。便于其他程序調(diào)用本程序的輸出數(shù)據(jù)。
% 修改時間:2007年6月1日。
%==========================================================================
% 主函數(shù)介紹:函數(shù)名:Cii_redundance
% 求出基因的分類信息指數(shù)cii;選出分類信息指數(shù)較大的一組基因(我稱之為備選特征基因。);
% 對備選特征基因進行兩兩去冗余得到特征基因。
% 分類信息指數(shù)越大的基因包含的分類信息越多。
% 分類信息指數(shù)>某一閾值的基因被選出。其余的被淘汰。被選出的基因為備選特征基因。閾值是根據(jù)分類信息指數(shù)的柱圖突跳點選的。
% 對備選特征基因兩兩去冗余,得到特征基因。兩兩去冗余的方法是:相關系數(shù)大的兩個基因中分類信息指數(shù)小的被去掉,大的被保留。
% 弱相關的備選特征基因和強相關的分類信息指數(shù)大的備選特征基因,兩者的集合是特征基因。
% 輸入?yún)?shù):data是基因表達譜數(shù)據(jù),行是基因。列是樣本。
% data的第一行是樣本的類型標志。0表示正常樣本;1表示腫瘤樣本。
%===============================================================
% 07年的胃癌數(shù)據(jù)。
%data = importdata('gastric_cancer1519.xls');%1519*(20+20)
%===============================================================
% 輸入?yún)?shù)格式要求:行是基因。列是樣本。特別注意:數(shù)據(jù)的第一行是樣本類別標記。0表示正常樣本;1表示腫瘤樣本。
%
% 輸出參數(shù):feature_gene是特征基因的原始表達量。
% feature_order是特征基因的順序號。
% important_data是備選特征基因的原始表達量。即分類信息指數(shù)大于閾值未經(jīng)去冗余的基因的原始表達量。
% important_order是備選特征基因的順序號。即分類信息指數(shù)大于閾值未經(jīng)去冗余的基因的順序號。
% 函數(shù)中的閾值:閾值由用戶自行輸入。
% gastric_cancer1519.xls的分類信息指數(shù)閾值=0.99;
% gastric_cancer1519.xls的相關性閾值=0.95;
%==========================================================================
% 主函數(shù):
function [feature_gene, feature_order,important_data, important_order] = Cii_redundance ( data )
%==========================================================================
% 第一步:將基因表達譜數(shù)據(jù)標準化。方法:(x-基因最小值)/(基因最大值-基因最小值)。同時計算每類樣本的個數(shù)。
[ stand_data, sort_1, sort_2 ] = standardization ( data );
%==========================================================================
% 第二步:求基因的分類信息指數(shù)。
[information_index, gene_number] = cii ( stand_data, sort_1 );
%==========================================================================
% 第三步:畫基因的分類信息指數(shù)散點圖。
subplot (2, 1, 1);
[cii_max] = dot_cii ( information_index, gene_number);
%==========================================================================
% 第四步:畫基因的分類信息指數(shù)柱圖。找到柱圖的突跳點。
subplot(2, 1, 2);
[threshold , gene_distributing] = pillar_cii ( information_index, sort_1, sort_2 );
%==========================================================================
% 第五步:根據(jù)設定的閾值,選出一組分類信息指數(shù)較大的基因(備選特征基因)。運行該函數(shù)需要設定合適的分類信息指數(shù)閾值。
[ important_data, important_order, cii_important , std_dataimportant ] = choose ( information_index, gene_number, stand_data, data );
%==========================================================================
% 第六步:對備選特征基因進行兩兩冗余分析,目的是去掉冗余基因。
[ feature_gene, feature_order ] = redundance ( std_dataimportant, cii_important , important_order, data, gene_number );
%==========================================================================
%主函數(shù)結束
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -