📄 cii_redundance.m
字号:
%==========================================================================
%
% 文件名称:Cii_redundance.m
% 摘要:求出基因的分类信息指数cii,再进行两两去冗余分析得到特征基因。
% 作者:李晓明
% 完成日期:2007年1月28日
%
% 第一次修改
% 修改内容:改善文件的结构、完善注释增加文件的可读性。
% 修改日期:2007年5月14日。
% 第二次修改
% 修改内容:修改了choose函数。输出的是分类权重较大基因的原始表达量,而不再是归一化表达量。
% 修改了redundance函数。输出的是特征基因的原始表达量,而不再是归一化表达量。
% 修改目的是使程序更加规范。便于其他程序调用本程序的输出数据。
% 修改时间:2007年6月1日。
%==========================================================================
% 主函数介绍:函数名:Cii_redundance
% 求出基因的分类信息指数cii;选出分类信息指数较大的一组基因(我称之为备选特征基因。);
% 对备选特征基因进行两两去冗余得到特征基因。
% 分类信息指数越大的基因包含的分类信息越多。
% 分类信息指数>某一阈值的基因被选出。其余的被淘汰。被选出的基因为备选特征基因。阈值是根据分类信息指数的柱图突跳点选的。
% 对备选特征基因两两去冗余,得到特征基因。两两去冗余的方法是:相关系数大的两个基因中分类信息指数小的被去掉,大的被保留。
% 弱相关的备选特征基因和强相关的分类信息指数大的备选特征基因,两者的集合是特征基因。
% 输入参数:data是基因表达谱数据,行是基因。列是样本。
% data的第一行是样本的类型标志。0表示正常样本;1表示肿瘤样本。
%===============================================================
% 07年的胃癌数据。
%data = importdata('gastric_cancer1519.xls');%1519*(20+20)
%===============================================================
% 输入参数格式要求:行是基因。列是样本。特别注意:数据的第一行是样本类别标记。0表示正常样本;1表示肿瘤样本。
%
% 输出参数:feature_gene是特征基因的原始表达量。
% feature_order是特征基因的顺序号。
% important_data是备选特征基因的原始表达量。即分类信息指数大于阈值未经去冗余的基因的原始表达量。
% important_order是备选特征基因的顺序号。即分类信息指数大于阈值未经去冗余的基因的顺序号。
% 函数中的阈值:阈值由用户自行输入。
% gastric_cancer1519.xls的分类信息指数阈值=0.99;
% gastric_cancer1519.xls的相关性阈值=0.95;
%==========================================================================
% 主函数:
function [feature_gene, feature_order,important_data, important_order] = Cii_redundance ( data )
%==========================================================================
% 第一步:将基因表达谱数据标准化。方法:(x-基因最小值)/(基因最大值-基因最小值)。同时计算每类样本的个数。
[ stand_data, sort_1, sort_2 ] = standardization ( data );
%==========================================================================
% 第二步:求基因的分类信息指数。
[information_index, gene_number] = cii ( stand_data, sort_1 );
%==========================================================================
% 第三步:画基因的分类信息指数散点图。
subplot (2, 1, 1);
[cii_max] = dot_cii ( information_index, gene_number);
%==========================================================================
% 第四步:画基因的分类信息指数柱图。找到柱图的突跳点。
subplot(2, 1, 2);
[threshold , gene_distributing] = pillar_cii ( information_index, sort_1, sort_2 );
%==========================================================================
% 第五步:根据设定的阈值,选出一组分类信息指数较大的基因(备选特征基因)。运行该函数需要设定合适的分类信息指数阈值。
[ 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 );
%==========================================================================
%主函数结束
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -