尔云生信代码|依据表型数据基于无监督聚类算法对研究群体进行分层聚类分析
科研有捷径,输入代码,一键获取科研成果!就是这么省事,来具体看下有多方便!
搜索http://985.so/a9kb查看全部代码(目前共计50+持续新增中),也可以点击右侧【目录】,可以看到更多有趣的代码;真香提示:文末可以知道如何获取代码~
无监督聚类是深度学习中一种建模框架,其主要是利用K-Means算法进行向量特征中心化聚类,该算法最终收敛并得到最后的K个类及类内的观察值。在k= n(任意正整数)的约束下,K-Means算法最小化了类内的距离(内聚最大化),最大化了类间距离(分离最大化),最终达到分类的效果。
在实际的队列或病例对照研究中,主观的分组会带来较大的系统误差,同时对于协变量的研究有利于探索疾病发生过程中更深层次的,我们可以利用有效信息将研究群体内部的特征进行聚类整合研究,将上述特征,此时我们可采用。
就目前的队列研究中,对于某种研究特征(有效信息)在某一独立研究群体(具有同种研究特征如某种疾病患者群体)中作用的探索方法较多,但均具有一定的主观分类化的情况,因此,为了能够更好的从数据真实的角度探索某种特征的变化过程是否对研究群体构成分类,从而探索某种特征是否与研究特征(如癌症)具有一定的相关性。无监督聚类的方法目前是最为合适的一种方案,在实际的聚类应用中,我们通常会考虑使用k-均值和k-中心化算法来进行聚类分析,这两种算法为了保证聚类的质量,需要优先确定最佳的簇数,并使用轮廓系数来评估聚类的结果。这样的过程就利用向量化的原理将多组特征进行相互的比对寻找到最佳的中心向量,完成多维度信息的降维处理,使我们的研究更加简便化。
本代码目前主要针对于具有生存数据的疾病研究,如肿瘤。代码是基于无监督聚类算法,结合肿瘤数据的基因表达谱(也可是任意想要研究的表型谱,如甲基化,蛋白组,代谢组,临床特征)和生存数据。只需要输入表型矩阵以及生存数据,软件会自动计算样本的无监督聚类分组以及生存差异分析。同时绘制出K曲线,分组PCA图,样本分布条形图,生存曲线。
使用方法:
Rscript Cluster.R -Expression= -Phenotype= -cluster.number= -Genenumber.hotmap=
参数说明:
USAGE:
Cluster.R -Expression=-Phenotype=-cluster.number=-Genenumber.hotmap=
PARAMETERS:
-Expressionthe gene expression matrix, gene as column, sample as row, input csv format.
-Phenotypethe gene Phenotype matrix, sample as row,input csv format.
Note: Maintain a one-to-one correspondence with the name of Expression, the first two lines of the file must contain two fields:"Stge"and"Time". In addation, for non-clinical data, replace the"Stge"and"Time"columns with ‘NA’. In the end, you only need to pay attention to your clustering results, that is, "cluester" Group.csv"and"Cluster.PCA.pdf.
-cluster.numberthe number, Choose the expected classification index K (0-5).
Note: The cluster.number can be given at the beginning of the program at will, and then you can find the inflection point according to the K-Cluster. pdf file and enter the running program again.
-Genenumber.hotmapthe number, Select the number of genes you want to display in the hotmap.
操作步骤:
打开命令行界面(Mac & Linux ),输入“Rscript Cluster.R”调阅帮助文档,确定该程序所需的输入文件,请留意Note部分内容,务必保持一致。
用户根据帮助文档中的参数说明内容,对参数进行设置。首先,软件必须输入参数有4个:
(1)“-Expression”,此文件均表示表型矩阵文件(此处以TCGA数据框肿瘤基因表达数据为例),以基因(表型)为列,样本为行,保存为csv文件;注:表型矩阵文件中数据类型需保持一致,需先进行质量控制,矩阵中不可出现‘null’等字样,如有出现请替换成‘NA’。
(2)“-Phenotype”,此文件均表示分类表型矩阵文件(此处以TCGA数据框肿瘤临床特征分类数据为例,如T,M,N,G,Age,Gander等),
(3)”-cluster.number”, 参数是指你的理想聚类个数,在第一次运行软件的时候可以输入0-5以内的任意正整数,根据软件运行结果中的“K-Cluster.pdf”确定最佳聚类个数,再一次运行软件。
(4) “-Genenumber.hotmap”, 参数是指你想要展示在热图中的基因个数。注意:此处如需展示您想要展示的表型内容,请把这一部分内容放到“-Expression”文件的最前面,并指定个数。
完成参数提交后,按下回车键,整个程序即正式开始进入执行。每步执行内容都会给出提示。程序执行完毕后,界面会显示“Program execution is completed”结束语。
流程图:

结果展示:

1.该图片主要进行K值(Cluster.number)的挑选,挑选主要看K值之后的变化斜率是否稳定。

2.此图为样本群体的PCA聚类图展示,主要用于观察几组分类样本的向量中心是否可以较好的分离。

3.该图片为基因表达值或表型值的热图在不同的表型分组中如:聚类分组,年龄分组等,的表达差异。

4.此图为K-M生存曲线,其中P值为三个聚类组别之间的显著差异度,‘Number at risk’部分为每组中样本分布个数的具体细节,‘Number of censoring’是样本分布区域的具体细节展示。
(如非临床数据,则此部分内容不进行输出)

5.该文件包括了每一个样本的聚类分组信息
如需代码及示例数据等文件,请扫码聊天框回复 “B39”领取!
写在文末:
如果您近期想做生信方面的文章而苦于没有思路,或者不知道如何来入手生信分析,或者兑具体的某一个图有作图需求,都可以扫码咨询小云,我们有专业的技术团队,生信热点思路设计、生信分析、热点方向生信挖掘等,如有需要,可扫码下方二维码了解详情:


