edgeR对表达量矩阵进行基因表达差异分析

通过前期的基因定量,我们通过**RSEM**或者Kallisto这些工具得到了每个基因或者转录本的表达量矩阵。输出的矩阵包含了基因以及在各个样本中的表达量信息,这些信息将为我们后期判定基因表达量变化趋势以及变化的显著性提供原始参考。

Trinity工具包同样也提供了一系列的脚本用以处理这些基因表达量变化差异显著性分析,在Trinity中主要使用的是edgeR包进行处理。

在此之前我们需要注意一点:对于基因表达量分析由于是要对比不同样本,因此需要每个基因在不同样本中的表达量均有记录(哪怕是无表达量的0也可)。因此,Trinity建议在计算基因表达量时采用的参考转录本库应该是一个库,即先通过所有样本原始数据进行拼接而得到统一的转录本库,进而依照该转录本库进行回帖计算表达量。

在这个工作之前需要两个数据:

1. 基因表达的counts.matrix 文件

2. 生物学重复的表文件(由于后期比较的时候采用的配对显著性验证,因此会将每个样本之间进行比较,而存在生物学重复的类型需要通过该文件指明生物学重复情况)

此外,由于Trinity调用了多个R包,因此需要在进行运算前安装这些R包

> source("http://bioconductor.org/biocLite.R")  #由于包都是Bioconductor上的,因此需要安装这个东西

> biocLite('edgeR')

> biocLite('limma')

> biocLite('DESeq2')

> biocLite('ctc')

> biocLite('Biobase')

> install.packages('gplots')

> install.packages('ape')

可以看到Trinity提供的这个脚本是可以支持edgeR、DESeq2、voom/limma以及ROTS的,也就是说后期需要指定使用哪个软件进行分析。

edgeR软件可以支持没有生物学重复的实验数据。通过指定dispersion参数进行设定,该参数很重要需要参考edgeR的使用说明进行设定。我们的数据是有生物学重复的因此采用以下脚本进行:

$cat samples.isoforms.txt

J J1.rsem

J J2.rsem

J J3.rsem

SF SF1.rsem

SF SF2.rsem

SF SF3.rsem

SM SM1.rsem

SM SM2.rsem

SM SM3.rsem

#查看样品信息三个处理三个生物学重复

$run_DE_analysis.pl  #调用脚本(trinity自带)

--matrix isoforms.counts.matrix  #采用的表达矩阵(脚本align_and_estimate_abundance.pl生成的)

--method edgeR  #采用的比对方式

--samples_file samples.isoforms.txt 

--output DEEdgeRout  #结果输出到一个单独的文件夹

运行完了过后我们就去看看结果:

(bioinforspace) [spider 17:47:55 e[35;1m]/data1/spider/ytbiosoft/data/trinity.all/DEEdgeRout

$ll

total 19148

-rw-rw-r-- 1 spider spider    1258 Apr 12 09:37 isoforms.counts.matrix.J_vs_SF.J.vs.SF.EdgeR.Rscript

-rw-rw-r-- 1 spider spider 3719202 Apr 12 09:37 isoforms.counts.matrix.J_vs_SF.edgeR.DE_results

-rw-rw-r-- 1 spider spider  672993 Apr 12 09:37 isoforms.counts.matrix.J_vs_SF.edgeR.DE_results.MA_n_Volcano.pdf

-rw-rw-r-- 1 spider spider 1865558 Apr 12 09:37 isoforms.counts.matrix.J_vs_SF.edgeR.count_matrix

-rw-rw-r-- 1 spider spider    1258 Apr 12 09:37 isoforms.counts.matrix.J_vs_SM.J.vs.SM.EdgeR.Rscript

-rw-rw-r-- 1 spider spider 3956875 Apr 12 09:38 isoforms.counts.matrix.J_vs_SM.edgeR.DE_results

-rw-rw-r-- 1 spider spider  743109 Apr 12 09:38 isoforms.counts.matrix.J_vs_SM.edgeR.DE_results.MA_n_Volcano.pdf

-rw-rw-r-- 1 spider spider 2024265 Apr 12 09:38 isoforms.counts.matrix.J_vs_SM.edgeR.count_matrix

-rw-rw-r-- 1 spider spider    1264 Apr 12 09:38 isoforms.counts.matrix.SF_vs_SM.SF.vs.SM.EdgeR.Rscript

-rw-rw-r-- 1 spider spider 3946943 Apr 12 09:38 isoforms.counts.matrix.SF_vs_SM.edgeR.DE_results

-rw-rw-r-- 1 spider spider  723375 Apr 12 09:38 isoforms.counts.matrix.SF_vs_SM.edgeR.DE_results.MA_n_Volcano.pdf

-rw-rw-r-- 1 spider spider 1919916 Apr 12 09:38 isoforms.counts.matrix.SF_vs_SM.edgeR.count_matrix

一共12个文件共4类,包括:

1. Rscript(包括分析的脚本,通过这个脚本的修改可以调整参数和输出的图片)

2. cout_matrix (提取出来的两两比对的数据)

3. DE_results (这个是比对结果)

4. PDF (可视化的图片)

在此我们看一下这四类文件:

Rscript:脚本就不用看了

cout_matrix :

DE_results:

PDF:

(MA plot请参考:https://www.jianshu.com/p/cdfac0bfb733)

接下来对差异数据进行注释和处理:

首先绘制差异基因的热图以及样本分布

调用analyze_diff_expr.pl脚本:

获取处理脚本的帮助文件

$analyze_diff_expr.pl

####################################################################################

Required:

--matrix|m <string>      TMM.EXPR.matrix

Optional:

  -P <float>            p-value cutoff for FDR  (default: 0.001)

  -C <float>            min abs(log2(a/b)) fold change (default: 2  (meaning 2^(2) or 4-fold).

  --output <float>      prefix for output file (default: "diffExpr.P${Pvalue}_C${C})

Misc:

  --samples|s <string>                          sample-to-replicate mappings (provided to run_DE_analysis.pl)

  --max_DE_genes_per_comparison <int>    extract only up to the top number of DE features within each pairwise comparison.

                                                        This is useful when you have massive numbers of DE features but still want to make

                                                        useful heatmaps and other plots with more manageable numbers of data points.

  --order_columns_by_samples_file        instead of clustering samples or replicates hierarchically based on gene expression patterns,

                                                      order columns according to order in the --samples file.

  --max_genes_clust <int>                default: 10000  (if more than that, heatmaps are not generated, since too time consuming)

  --examine_GO_enrichment                run GO enrichment analysis

      --GO_annots <string>                  GO annotations file

      --gene_lengths <string>            lengths of genes file

      --include_GOplot                  optional: will generate inputs to GOplot and attempt to make a preliminary pdf plot/report for it.

##############################################################

跑如下代码:

```

$analyze_diff_expr.pl --matrix isoforms.TMM.EXPR.matrix --samples ../samples.isoforms.txt -P 0.001 -C 2

得到下面8个文件

-rw-rw-r-- 1 spider spider    4560 Apr 12 10:47 diffExpr.P0.001_C2.matrix

-rw-rw-r-- 1 spider spider    5023 Apr 12 10:47 diffExpr.P0.001_C2.matrix.R

-rw-rw-r-- 1 spider spider    54737 Apr 12 10:47 diffExpr.P0.001_C2.matrix.RData

-rw-rw-r-- 1 spider spider    10253 Apr 12 10:47 diffExpr.P0.001_C2.matrix.log2.centered.dat

-rw-rw-r-- 1 spider spider    10877 Apr 12 10:47 diffExpr.P0.001_C2.matrix.log2.centered.genes_vs_samples_heatmap.pdf

-rw-rw-r-- 1 spider spider    6620 Apr 12 10:47 diffExpr.P0.001_C2.matrix.log2.dat

-rw-rw-r-- 1 spider spider    1496 Apr 12 10:47 diffExpr.P0.001_C2.matrix.log2.sample_cor.dat

-rw-rw-r-- 1 spider spider    6821 Apr 12 10:47 diffExpr.P0.001_C2.matrix.log2.sample_cor_matrix.pdf

在这些结果包括

1. 两两比较的样本信息(.samples)

2. 样本比较后的基因表达情况上调还是下调的文件以及整合在一起的基因(.subset)

3. 差异基因在不同样本中分布数量(DE_feature_counts.P0.001_C2.matrix)

4. 差异基因表达量矩阵(diffExpr.P0.001_C2.matrix)

5. 差异基因对数转换后的表达矩阵 (diffExpr.P0.001_C2.matrix.log2.centered.dat)

6. 出的两个图(PDF)

看看两个PDF的图


我的图可能效果不大好,可能是样本的问题。可以看自己的图。

另外,还包括一个R脚本和一个Rdata(这两个文件可以通过修改和调用实现对后期出图的控制)

要提示一点就是注意对于R脚本修改后可以通过shell在所在文件夹进行直接运行后得到对应的图片

$Rscript diffExpr.P0.001_C2.matrix.R

通过edgeR这个R包对之前得到的表达量矩阵进行了差异表达验证,其中两个参数很重要一个是FDRFoldChange,通过设定这两个值可以筛选出想要的差异基因。

最后还可以用脚本define_clusters_by_cutting_tree.pl做一个聚类分析的图(数据就是上一步生成的.matrix.RData文件)


$define_clusters_by_cutting_tree.pl --Ptree 60 -R diffExpr.P0.001_C2.matrix.RData

最后生成一个diffExpr.P0.001_C2.matrix.RData.clusters_fixed_P_60文件:

-rw-rw-r-- 1 spider spider 816 Apr 12 11:28 __tmp_plot_clusters.R

-rw-rw-r-- 1 spider spider 7384 Apr 12 11:28 my_cluster_plots.pdf

-rw-rw-r-- 1 spider spider 5407 Apr 12 11:28 subcluster_1_log2_medianCentered_fpkm.matrix

-rw-rw-r-- 1 spider spider 4924 Apr 12 11:28 subcluster_2_log2_medianCentered_fpkm.matrix

可以查看一下PDF文件


完毕!

欢迎交流哦:909474045@qq.com

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,319评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,801评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,567评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,156评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,019评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,090评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,500评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,192评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,474评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,566评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,338评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,212评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,572评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,890评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,169评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,478评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,661评论 2 335