当前位置:无忧公文网 >范文大全 > 征文 > 特征基因筛选系统的开发应用

特征基因筛选系统的开发应用

时间:2022-05-03 10:05:03 浏览次数:

摘要:文中介绍了运用Matlab7.0编程语言开发的基于粒计算的特征基因筛选系统,阐述了邻域互信息和聚类算法结合使用的筛选算法的优异特点,并对系统程序设计的思路、功能特点做了详细的论述。特征基因筛选系统主要包含聚类划分、特征基因的筛选、图像属性分析、相关度分析这四大功能模块,对于从海量的基因表达谱数据中挖掘出少量的具有分类识别能力且冗余度最小的特征基因具有良好的效果。

关键词:粒计算;特征基因;筛选;系统开发

中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2014)05-0978-04

Development and Application of Genetic Screening System Features

YIN Ying, ZHANG Yu-bing, GAO Kun, LIU Jia-cheng

(College of Computer and Information Technology, Henan Normal University, Xinxiang 453007,China)

Abstract: This paper describes the use of a programming language developed features matlab7.0 genetic screening system based on granular computing, which describes the use of information and mutual neighborhood clustering algorithm combines the excellent characteristics of screening algorithms, and system programming ideas, features discussed in detail. The main characteristics of genetic screening systems division includes these four functional modules ,clustering, filtering, image attributes characteristic gene analysis, correlation analysis, for digging out from the mass of a small amount of gene expression data with the ability to identify and classify the minimum redundancy characterized genes with good results.

Key words: granular computing; characterized genes; screening; system development

特征基因选择在肿瘤识别问题中起着关键作用[1]。通过特征基因选择,不仅能够剔除与疾病无关的基因,降低机器学习算法的时间和空间复杂度,避免“维灾难”,提高分类的预测精度;同时选出的对疾病有鉴别能力的特征基因可以作为肿瘤基因诊断和肿瘤药物治疗靶标确定的依据。而运用划分聚类[2]和邻域互信息的方法可以帮助我们从海量的基因表达谱数据中挖掘出少量的具有分类识别能力且冗余度最小的特征基因,所以我们自主开发出基于粒计算的特征基因选择系统。

本软件主要模块包括:聚类划分、特征基因的选择、图像属性分析、相关度分析。聚类划分指的是软件通过一定的聚类均值条件对海量的基因数据进行区域划分,将属性相似的划分为一个簇,以便于表达[3]。特征基因选择指的是在海量的基因数据中选出几组有代表性质的数据,方便运算表达使用。图像属性分析指的是运用图像表达的方式将划分的簇更形象直观的表达出来。相关度分析指的是软件在筛选基因数据的同时可以显示数据之间的相关度,给用户更多的筛选依据。

1 运行软件和运行环境

1.1运行软件

本系统使用Matlab7.0或以上版本作为运行库,它所具有的非常低的硬件要求和多平台支持,确保特征基因选择系统各预定功能的实现。

1.2运行环境

在PII400/64M以上的各种PC机上运行,可运行于Windows98,Windows2000,Windows XP,Windows 7等操作系统,能打印A3纸张和A4纸张的打印机。

2 系统分析设计

2.1功能需求分析

根据特征基因选择的具体情况,软件需具备以下四大功能:

1)聚类划分

聚类划分指的是软件通过一定的聚类均值条件[4]对海量的基因数据进行区域划分,将属性相似的划分为一个簇,以便于表达[5]。

2)特征基因选择

特征基因选择指的是在海量的基因数据中选出几组有代表性质的数据,方便运算表达使用[6]。

3)图像属性分析

图像属性分析指的是运用图像表达的方式将划分的簇更形象直观的表达出来。

4)相关度分析

相关度分析指的是软件在筛选基因数据的同时可以显示数据之间的相关度,给用户更多的筛选依据。

目前基于基因表达谱的数据挖掘方法已普遍成熟,可以利用的有Relief[7]、Fisher判别[8]、Wilcoxon和KruskalWallis秩和检验方法[9]、信噪比方法、主成分分析方法[10]、因子分析方法、独立分量分析方法、经典粗糙集和邻域粗糙集、人工神经网络和集成神经网络、小波包变换和离散余弦变换、遗传算法和遗传规划、流形学习、张量分析等方法。通过查阅资料,现有的技术可以设计多种基因表达谱分类识别算法,并结合SVM、NSC、FLDA、DLDA等多种分类器及集成分类器,进行大量的基因表达谱分类识别实验,以图和表的形式给出大量实验结果,同时对各种方法的性能进行比较。但是以上方法都是侧重于算法思想本身,没有可视化的界面,普通用户如果想操控海量基因数据进行筛选时,显得麻烦繁琐,仍需要学习大量的专业知识。

本系统将软件工程的思想,融入对生物基因筛选之中,制作出一款简便的使用软件,只需要简单的命令操作,就可以得到全面系统精确的有效数据。

2.2作业流程分析

现有的作业流程如图1所示。

图1

从导入数据到打印结果共有7个步骤,基本上每一步都要手动干预,最终将数据保存到移动设备中。

2.3系统框架结构设计

本系统提供良好的用户界面,实现简洁的操作流程,快捷有效地为生物基因工作者提供基因数据筛选的便利,改善和提高工作效率。系统结构如图2所示。

图2

系统界面采用传统的菜单栏方式,除了实现最为基础的新建、剪贴、复制、粘贴、撤销操作之外,还添加了专为处理海量基因数据设置的数据添加、数据对比、数据查找、定点分析等操作,更为方便快捷。如果需要更复杂的数据操作,系统还可以将数据直接导出到EXCEL中,并且可以随时将EXCEL处理后的数据导回到系统中进行进一步的筛选工作。

3 关键技术的实现

3.1 聚类分析

给定一个包含n个数据对象的数据库,以及要生成簇的数目k,随机选取k个对象作为初始的k个聚类中心;然后计算剩余各个样本到每一个聚类中心的距离,把该样本归到离它最近的那个聚类中心所在的类,对调整后的新类使用平均值的方法计算新的聚类中心;如果相邻两次的聚类中心没有任何变化,说明样本调整结束且聚类平均误差准则函数已经收敛。下面是k均值聚类的核心代码:

%%%用K均值算法进行聚类

square_distance=sqrt(sum((repmat(data_array(3,:),m,1)-data_array).^2));

X=square_distance";

X=zscore(X);

a=randint(1,10,[0 1000]);

startdata=X(a);

idx=kmeans(X,10,"Start",startdata);

figure("name","聚类");

close figure 聚类

[S,H]=silhouette(X,idx);

for j=1:10

b=find(idx==j);

Close=(repmat(data_array(3,:),m,1)-data_array).^2;

for ii=1:numel(b)

NBH1=find(Close(:,b(ii))<=delta);

forjj=1:numel(b)

NBH2=find(Close(:,b(jj))<=delta);

ifnumel(NBH1)<=numel(NBH2)

jiaoji=sum(ismember(NBH2,NBH1));

else

jiaoji=sum(ismember(NBH1,NBH2));

end

NEX=numel(NBH1)*numel(NBH2)/numel(jiaoji);

NMI=-log2(NEX/m);

NR(jj)=NEX/m*NMI;

end

MNR(ii)=sum(NR);

end

alpha(j)=max(MNR);

end

alphadata=alpha/max(alpha);

3.2 图像显示

本系统利用matlab软件很好地实现了数据筛选结果可观化,利用不同类型的图像表示结果的不同变化特点,以下是图像形成的核心代码:

figure;%不同基因同一属性柱状图表示

load gene1.mat

i=input("请输入所有样本的第i个属性(i<9217)i=");

title("不同基因同一属性值柱状图");

xlabel("样本基因");

ylabel("属性值");

n=input("第n个属性");

n=abs(n);

bar3(data1(:,n));

%同一基因不同属性值饼状图表示

alphadata=alpha/max(alpha);

nn=abs(nn);

pie3(alphadata);

title("同一基因不同属性值饼状图");

%所以样本基因的单个属性散点图

load gene1.mat

i=input("请输入所有样本第i个属性值(i<9217)i=");

data1=data1(:,i);

% a=rand(1,3);

scatter(1:size(data1,1),data1);

title("所有样本基因的单个属性散点图");

ylabel("属性值");

xlabel("整个样本基因");

load gene1.mat%不同基因同一属性值折线图

i=input("请输入所有样本的第i个属性(i<9217)i=");

a=rand(1,3);

figure;

plot(data1(:,i),"Color",[a]);

title("不同基因同一属性值折线图");

xlabel("样本")

ylabel("属性值");

4 系统设计的主要创新点

4.1 多图式转换

系统菜单选项的视图栏中基本设置了折线图、柱状图、饼图、散点图四种表现形式。折线图指的是不同基因同一属性值的不同表示,横坐标表示不同个基因,纵坐标表示某个属性值的变化,图上可用不同颜色的折线表示不同属性。柱状图则与折线图类似,但是一般只能表示一种属性,特别研究某种重要的属性在多个基因中值的变化。饼图指的是单个基因数据对于不同属性值的大小比较,用于已经筛选出的基因,能更容易直观地看出这个代表基因不同属性值的比例。散点图则类似于聚类的表示,对于同一种属性,必定有无数个值,可以用一种颜色表示一种属性,从而直观看出他们的具体取值分布。

4.2 海量数据操控

系统菜单选项的数据栏是主要针对数据进行的操作,添加数据指的是对于源数据的导入一般是直接导入,不需要手动输入的。所以如果遇到有遗漏某个数据的时候,可以进行直接添加,再次运行筛选。数据分析主要是给出筛选结果的理由,就是根据什么来筛选代表基因,这个时候就需要把筛选过程中主要的数值根据显示出来,比如说分类精度、相关度等。数据对比是相对于图表而言。在图表中,有时不能突出显示用户想要看到的几个基因数据,所以这个功能可以帮助用户找到他想要看到的几个基因的不同属性值对比。查找定点是一个查找功能,在大量基因的数据表格和图表中都可以运用。类似于EXCEL中的查找,已知某个基因或者属性值,在大量范围数据中,查找出来并予以标记。

5 结束语

针对基因数据庞大,处理繁琐,筛选过程复杂等特点,系统结合邻域互信息和k均值聚类思想,利用简单直观的界面,帮助用户实现海量基因数据筛选的操作。利用matlab软件特有的图像编辑功能,将筛选的数据属性形象直观地表达出来。经过多次尝试,系统处理基因数据方便快捷,结果直观可靠,达到了预期的效果,今后将根据用户的反馈继续完善。

参考文献:

[1] 陈智勤.基于邻域粗糙集的加权KNN肿瘤基因表达谱分类算法[J].计算机系统应用,2012(12).

[2] 秦奇伟,梁吉业,钱宇华.一种基于邻域距离的聚类特征选择方法[J].计算机科学,2012(1).

[3] 谢娟英,郭文娟,谢维信.基于邻域的K中心点聚类算法[J].陕西师范大学学报:自然科学版,2012,40(4):16-22.

[4] 孙吉贵,刘杰,赵连宇.聚类算法研究[J].软件学报,2008,19(1):48-61.

[5] 刘靖明,韩丽川,侯立文.一种新的聚类算法——粒子群聚类算法[J].计算机工程与应用,2005(20).

[6] 朱颢东,李红婵.基于互信息和粗糙集理论的特征选择[J].计算机工程,2011(15).

[7] 张丽新,王家廞,赵雁南,杨泽红,基于Relief的组合式特征选择[J].复旦学报:自然科学版,2004(5).

[8] 黄利文,梁飞豹.改进的Fisher判别方法[J].福州大学学报:自然科学版,2006(4).

[9] 郑洪武.用Wilcoxon符号秩检验方法来评价培训的有效性[J].福建建材,2003(4).

[10] 滕达.浅谈主成分分析与因子分析方法的联系与区别[J].中国新技术新产品,2011(22).

推荐访问: 筛选 基因 特征 开发 系统