怎样使用Mfuzz进行时间序列表达模式聚类分析

技术怎样使用Mfuzz进行时间序列表达模式聚类分析怎样使用Mfuzz进行时间序列表达模式聚类分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获

如何使用Mfuzz对时间序列表达模式进行聚类分析,很多新手都不是很清楚。为了帮助大家解决这个问题,下面小编就详细讲解一下。需要的人可以从中学习,希望你能有所收获。

在前一篇文章中,我们介绍了STEM软件,它可以对时间序列数据的基因表达模式进行聚类和分析。下面是另一个功能相同的R包Mfuzz。这个R包的地址如下

https://www . bio conductor . org/packages/release/bioc/html/Mfuzz . html

UZZ采用了一种新的聚类算法——模糊c均值算法,文献中称之为软聚类算法。与K-means等硬聚类算法相比,在一定程度上减少了噪声对聚类结果的干扰,该算法有效定义了基因与聚类之间的关系,即基因是否属于一个聚类,对应的值为memebership。

为了分析,我们只需要提供基因表达水平的数据。需要注意的是,Mfuzz默认你提供的数据是规范化的表达式级别,这意味着表达式级别必须在样本之间直接比较。对于FPKM和TPM,我们可以直接在样本之间进行比较。但是对于计数的量化结果,首先要对数据进行归一化,可以使用edgeR或者DESeq得到归一化后的数据进行后续分析。

假设已经有了归一化的表达式量,可以通过以下步骤得到聚类结果。

00-1010预处理包括读取数据,去除不同时间点表达过低或变化过少的基因。代码如下

x-read.table(

normalization . count . txt ',

row.names=1,

sep='\t ',

表头=T)

计数-数据.矩阵(x)

eset-new('ExpressionSet ',exprs=count)

#根据标准差去除样本间差异过小的基因。

Eset-filter.std(eset,min.std=0)需要注意的是,Mfuzz聚类需要一个ExpressionSet类型的对象,所以需要先构造这样一个带有expression quantity的对象。

00-1010聚类需要用一个数值来表征不同基因之间的距离。欧几里得距离用在Mfuzz中。因为普通欧氏距离的定义没有考虑不同维度之间的维度差异,需要先进行标准化。代码如下

ESET-standarded e(ESET)

1. 预处理

MFUZZ中的聚类算法需要提供两个参数。第一个参数是我们最终想要得到的簇数,这个参数是我们直接指定的。第二个参数叫做fuzzifier value,用小写字母M表示,一个最优值可以通过函数来计算。代码如下

#集群数量

c-6

#评估最佳M值

m-mestimate(eSet)

#聚类

Cl-mfuzz(eSet,c=c,m=m)将完整的聚类结果保存在对象Cl中。此对象的常见操作如下

#检查每个集群中的基因数量

cl $大小

#提取聚类下的基因

cl$cluster[cl$cluster==1]

#检查基因和聚类之间的隶属关系

Cl $会员

2. 标准化

代码如下

mfuzz.plot(

eSet,

cl,

mfrow=c(2,3),

New.window=FALSE)生成的图片如下

怎样使用Mfuzz进行时间序列表达模式聚类分析

对于感兴趣的表达模式,可以通过上述用法提取该聚类下的基因列表,并通过GO/KEGG等功能富集分析进行进一步挖掘。

阅读以上内容对你有帮助吗?如果您想了解更多相关知识或阅读更多相关文章,请关注行业资讯频道,感谢您的支持。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/80654.html

(0)

相关推荐

  • solr4.7拼音检索怎么实现(solr读音)

    技术solr4.7拼音检索怎么实现这篇文章主要介绍“solr4.7拼音检索怎么实现”,在日常操作中,相信很多人在solr4.7拼音检索怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”

    攻略 2021年12月22日
  • 在RecyclerView中如何实现button的跳转功能

    技术在RecyclerView中如何实现button的跳转功能这篇文章主要为大家展示了“在RecyclerView中如何实现button的跳转功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一

    攻略 2021年10月25日
  • 如何快速涨到1000粉丝,1000个抖音粉丝多少钱?

    技术如何快速涨到1000粉丝,1000个抖音粉丝多少钱?如何快速涨到1000粉丝?我们总结了一份抖音涨粉运营指南,希望能帮助大家突破1000粉丝,早日开通购物车!
    1、互粉互赞群
    最简单的方式是加一些抖音群,或专门用于互

    测评 2021年11月11日
  • linux命令中su和su -有什么区别

    技术linux命令中su和su -有什么区别这篇文章主要介绍了linux命令中su和su -有什么区别,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。简单俩

    攻略 2021年11月20日
  • 前端面试手写代码——JS数组去重

    技术前端面试手写代码——JS数组去重 前端面试手写代码——JS数组去重JavaScript 数组去重类型总结,4大类型,8种基础写法1 测试用例
    // 测试用例
    const a = {};
    const

    礼包 2021年10月19日
  • springcloud判断微服务循环调用(springmessaging)

    技术如何进行spring-messaging远程代码执行漏洞分析这篇文章给大家介绍如何进行spring-messaging远程代码执行漏洞分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。0x00

    攻略 2021年12月20日