趋势分析

发布时间:
2015-10-09 15:14:22
作者:
admin
跳到软件

针对时间顺序取样的表达量数据进行聚类,分析其表达模式。   趋势分析图工具使用教程和参数详解
我们趋势分析的方法,其实就是参照一款优秀的软件STEM(Short Time-series Expression Miner,下载地址:http://www.sb.cs.cmu.edu/stem/)。这个软件的主要用途就是针对时间顺序取样的表达量数据进行聚类,分析其表达模式。如果你使用我们的趋势分析工具完成分析,在撰写文章的时候可以直接引用这款STEM软件[1]。
我们对软件做的调整:
因为趋势分析默认模式下是计算所有样本相对第一个样本的表达量的倍数。但如果第一个样本表达量为0,则这些基因因为倍数无法计算而被过滤,导致丢失大量信息。所以,我们对导入文件中表达量为0的基因,自动赋予其一个极小值(0.001),以避免第一个时间点表达量为0的基因被过滤。
我们都了解RNA-seq的基础分析是差异表达。但当样本的实验时间点大于或等于3的时候,我们可能更关心这些基因在多个时间的变化规律(上下波动的变化),而不仅仅满足于差异表达。STEM软件就是用于解决这个问题:将你输入的基因按照其表达趋势进行分类,结合功能富集分析就能更有效地挖掘数据内部的规律(这个数据处理的过程,可参考我们的荔枝范例教程: http://www.omicshare.com/forum/thread-408-1-12.html
(i)软件先按照预先的设定,模拟出n种最具有代表性的可能趋势(一种趋势就是一种基因表达模式);
(ii)计算每一个基因与预设的这些趋势的相关系数,然后将每一个基因归类到与其最相似的趋势中。
以上的两个步骤,也是STEM软件的一个特点:先预设趋势,再分配。这样处理的优点就是趋势更加有规律、整齐划一,便于后期解读。而其他大部分不预设趋势的方法(例如K-means聚类),聚类效果受数据的影响很大。在样本的时间点较少的情况下(3~5个时间点),STEM的聚类效果明显优于其他的聚类方法。当然,如果时间点太多的情况下(6个或6个以上),采用STEM去模拟所有可能的趋势,则会导致趋势过于零碎而加大后期数据整理的工作量,这个时候可以考虑使用其他的聚类算法。

文件格式说明:
输入的表格文件,必须为txt格式。可以选择在excel中将数据打开,然后另存为"文本文件(制表符分隔)(*.txt)"。
输入源表格文件: 基因表达量表,第一列为基因id,后面为样品表达量,趋势顺序按样品在表格中的顺序排列。
基因注释信息文件的第一列为基因名,其他列为相应基因的描述信息。

趋势数量:就是预先设定的趋势的数量。建议设定为20个,最多不超过50。因为趋势预设过多后,会导致趋势过于零碎而难以整理。软件本身会挑选最有代表性趋势(本身是这个软件的核心算法)作为预设趋势,所以不用担心由于预设的趋势数量不够多,导致某些表达模式的基因无法被涵盖。

数据预处理:
  a.Log2标准化:我们推荐的设置。就是以第一个时间点为对照,计算所有样本相对第一个时间点的表达量倍数。并对表达量倍数取log2值(log2处理的倍数值)。这样处理后,第一个样本的表达量为0,后续大于0的样本就是表达上调的样本,小于0的样本就是表达下调的样本。
  b.标准化:就是以第一个时间点为对照,计算所有样本相对第一个时间点的表达量的差值(直接使用差值)。这样处理后,第一个时间点的样本表达量依然为0,但后续的时间点样本的数值会波动很大。因为同样是表达差异倍数为2倍的基因,从10上调到20,其差值是10。而从1000上调到2000就是差值1000。而通常趋势分析更关注倍数的变化,更不是绝对值的差异。所以这个参数不推荐。
  c.不做标准化/加0:直接使用输入软件的原始值进行趋势分析。因为在某些情况下,你希望直接观察表达量绝对值的变化,而不希望使用变化倍数或差值。或者,你输入软件的是两组平行实验的log2 差异倍数值(A1vsB1,A2vsB2,A3vsB3),这种数据也不应该按照以上第一种和第二种策略预处理。因为趋势分析软件默认第一个时间点的表达量为0(在前两个模式中都是如此)。所以为了保证原有的软件模块可以正常运行,STEM软件在这种模式下,会在第一个样本前加一个表达量为0的虚拟样本(但其实不存在)。

显著趋势P值:默认将P值<0.05的趋势认为是显著趋势。趋势分析就是将各个基因分配到预设的有代表性的趋势中。如果某类基因与我们的实验处理相关,那它们的表达模式理论上是相似的,会集中在特定的趋势中。那么就会导致该趋势的基因数量大于随机分布的期望值。这个原理和GO、KEGG富集分析的原理相似。软件在完成富集分析后,会按照你设定的显著性阈值(例如:adjusted P=5%,使用bonferroni校正)判定显著富集的趋势。显著富集的趋势在最终输出的趋势总图中,将会有颜色标注。而不显著的趋势,则没有颜色。
但注意:有颜色的显著富集的趋势值得我们优先关注,但并不意味着不显著的趋势就没有生物学意义,不值得关注。因为统计显著性本身受很多因素的影响,这里的富集检验只是给大家一个数据挖掘的优先级。

最小变化倍数:在STEM处理数据前,软件会对数据进行一个过滤,过滤掉那些表达量没有变化的基因。默认的设置就是一个基因表达量的最大值和最小值的差异倍数如果小于2(就是这个参数填写的数值),则被判定为没有变化而被滤去。因为我们推荐的导入STEM分析的基因是差异基因的并集,这些基因的最大/最小值的变化倍数本身已大于2,这种情况下这个参数可以不考虑。

⑤添加描述信息:第一列是基因名,其他列是对应的基因注释信息。这是备选参数。趋势分析的结果,我们会输出各个趋势的基因列表。如果在这些列表中,加入基因的注释信息,将有利于你的解读。所以,如果你在这个参数中导入基因注释文件,我们将会在输出结果中给每个基因加入注释信息(当然,你也可以在后期使用表格合并工具来实现)。

①all_profile.xls:趋势汇总文件。

②all.xls:所有基因文件。

③trend_all_by_gene_number.png:显示基因数量的趋势总图

④trend_all_by_pvalue.png:显示P值的趋势总图。

⑤Profile*.png:单个趋势的图。

⑥Profile*.xls:单个趋势的结果文件。

示例文件:趋势分析例子文件   描述信息文件
生物云平台
输出结果:

1.trend_all_by_gene_number.png,trend_all_by_pvalue.png 趋势分析结果总览,按照基因数量和p值排序,统计各个趋势的结果。下图是按p值排序的统计结果。
生物云平台

2.all.xls 基因表达量总表,包含基因id,和各个分组的表达量信息,运行添加注释信息则会包 含注释信息


3. all_profile.xls 基因趋势总表,各个分组的值为处理后的值,profile表示趋势的序号,SPOT为程序运行时的基因序号。运行添加注释信息则会包含注释信息
生物云平台

4. profile[0-n].png,profile[0-n].xls 各个趋势的结果图,下图所示,以及各个趋势的结果表格(基因id以及各组表达量信息,运行添加注释信息则会包含注释信息)
生物云平台