软件13 —— rMATS

一、 基本介绍

rMATS是一款对RNA-Seq数据进行差异可变剪切分析的软件。其通过rMATS统计模型对不同样本(有生物学重复的)进行可变剪切事件的表达定量,然后以likelihood-ratio test计算P value来表示两组样品在IncLevel(Inclusion Level)水平上的差异,并利用Benjamini Hochberg算法对p value进行校正得FDR值。(lncLevel是Exon Inclusion Isoform在总Isoform(Exon Inclusion Isoform + Exon Skipping Isoform)中所占比例。)

rMATS可识别的可变剪切事件有5种,分别是外显子跳跃(skipped exon, SE),选择性5’剪接位点(alternative 5' splice site, A5SS),选择性3’剪接位点(alternative 3' splice site, A3SS),外显子互斥(mutually exclusive exons, MXE)和 内含子保留(retained intron, RI)。

官方文档:
https://github.com/Xinglab/rmats-turbo/blob/v4.1.2/README.md

二、 使用方法

(1) 输入

rMATS支持两种格式文件的输入。

  • 第一种是fastq格式,那么在安装的时候还需要安装STAR比对软件以及提供比对的索引文件(STAR的索引文件异常的大),所以rMATS其实是建议使用第二种方式;
  • 第二种是bam格式,rMATS支持其他比对软件比对后的结果bam文件作为输入,比如tophat/ hisat2等,这样也能减少rMATS的运行时间。

(2) 方法

目前rMATS 4.1版不受限于单双端测序,reads长度不一,是否存在生物学重复,是否有比较组,是否需要检测新转录本,是否链特异性等条件,并且其可以进行分步,分机器计算,功能完善,主要可变剪切事件检测完整的一款软件。

$ conda create -n bioinf3
$ conda activate bioinf3  #python 3.9
$ conda install -c bioconda rmats=4.1.2
$ conda install -c bioconda rmats2sashimiplot
$ rmats.py –version
$ rmats2sashimiplot --help

构建索引:

$ for i in `ls ./04_bam/*.bam` ; do (samtools index $i -@ 4) ; done  &

运行rmats.py:

$ rmats.py  --b1 ./06_rmats/LF.txt --b2 ./06_rmats/CF.txt  --gtf ./annotation/genome/Drosophila_melanogaster.BDGP6.32.105.gtf  --od ./06_rmats/  -t paired  --readLength 150  --cstat 0.0001  --nthread 4  --libType fr-firststrand  --tmp ./06_rmats/tmp/  &

(3) 参数

--b1 b1.txt:输入sample1的txt格式的文件,文件内以逗号分隔重复样本的bam文件名(/path/to/1_1.bam,/path/to/1_2.bam)
--b2 b2.txt:输入sample2的txt格式的文件,文件内以逗号分隔重复样本的bam文件名(/path/to/2_1.bam,/path/to/2_2.bam)
-t {paired,single}:双端测序则readType为paired,单端测序则为single
--readLength:测序reads的长度
--gtf gtfFile:需要输入的gtf文件
--od outDir:所有输出文件的路径(文件夹)
--nthread:设置线程数
--cstat:The cutoff splicing difference. The cutoff used in the null hypothesis test for differential splicing. The default is 0.0001 for 0.01% difference. Valid: 0 ≤ cutoff < 1. Does not apply to the paired stats model. 代表的是两个样本中inclusion level的差值
--libType {fr-unstranded,fr-firststrand,fr-secondstrand}:Library type. Default is unstranded (fr-unstranded). Use fr-firststrand or fr-secondstrand for strand-specific data.
--bi STARIndexFolder:The folder name of the STAR binary indexes (i.e., the name of the folder that contains SA file). For example, use ~/STAR_index/hg19 for hg19. (Only if using fastq)
--paired-stats:使用配对统计模型
--variable-read-length:Allow reads with lengths that differ from –readLength to be processed. --readLength will still be used to determine IncFormLen and SkipFormLen
--tmp TMP:The directory for intermediate output such as ".rmats" files from the prep step

(4) 结果

  • AS_Event.MATS.JC.txt 仅用跨剪接点的reads来计算剪接
  • AS_Event.MATS.JCEC.txt 使用跨剪接点的reads和在条纹区域的reads来计算剪接
  • fromGTF.AS_Event.txt 所有来源于GTF和RNA的可能的选择性剪接(AS)事件
  • JC.raw.input.AS_Event.txt 事件计数包括仅跨越由rMATS定义的剪接点的reads
  • JCEC.raw.input.AS_Event.txt 事件计数包括跨越由rMATS定义的剪接点的reads和不跨越外显子边界的reads

其中JC和JCEC的区别在于前者考虑跨越剪切位点的reads,而后者不仅考虑前者的reads还考虑到只比对到第一张图中条纹的区域(也就是说没有跨越剪切位点的reads),但是我们一般使用JC的结果就够了(如果只是单纯的比较两组样品间可变剪切的差异的话)。

SE.MATS.JC.txt为例:

1)ID
2)GeneID
3)geneSymbol
4)chr
5)strand

外显子的位置信息:

6)exonStart_0base
7)exonEnd
8)upstreamES
9)upstreamEE
10)downstreamES
11)downstreamEE
12)ID

13-16列展示两组样品在inclusion junction counts(IJC)和skipping junction counts(SJC)的count数,重复样本的结果以逗号分隔;列名分别为IJC_SAMPLE_1,SJC_SAMPLE_1,IJC_SAMPLE_2,SJC_SAMPLE_2

下面几列为:

17)lncFormLen:length of inclusion form, used for normalization(inclusion形式的有效长度)
18)SkipFormLen:length of skipping form, used for normalization(skipping形式的有效长度)
19)P-Value:Significance of splicing difference between two sample groups(两组样品选择性剪接差异的显著性)
20)FDR:False Discovery Rate calculated from p-value
21)lncLevel1:inclusion level for SAMPLE_1 replicates (comma separated) calculated from normalized counts(从归一化计数计算的SAMPLE_1重复的inclusion水平,逗号分隔)
22)IncLevel2:inclusion level for SAMPLE_2 replicates (comma separated) calculated from normalized counts(从归一化计数计算的SAMPLE_2重复的inclusion水平,逗号分隔)
23)IncLevelDifference:average(IncLevel1) - average(IncLevel2)(两组样本IncLevel均值的差异)

其中:

lncLevel = Exon Inclusion Isoform / (Exon Inclusion Isoform + Exon Skipping Isoform)
lncLevel = (IJC_SAMPLE / lncFormLen) / (SJC_SAMPLE / SkipFormLen)
effective length = segment length / read length + 1

在输出的结果文件中还有一个summary文本文档,在该文件中统计了上述各个文件中的可变剪接事件数,其中SignificantEventsJC默认为JC文件中满足FDR值小于等于0.05的事件数。

(5) 可视化

rmats2sashimiplot是专门用来对rMATS分析结果做可视化的软件。可以预先用samtools对bam文件建立索引,不然rmats2sashimiplot会先建索引,比较慢。rMATS的结果文件中,如SE.MATS.JC.txt中染色体都是默认加上chr的,而bam文件中的染色体根据基因组注释文件来源不同不一定有chr,需要使两者一致。

方法:

$ rmats2sashimiplot  --b1  ./04_bam/LF1.bam,./04_bam/LF2.bam,./04_bam/LF3.bam  --b2 ./04_bam/CF1.bam,./04_bam/CF2.bam,./04_bam/CF3.bam  -t SE  -e ./06_rmats/plot/SE.MATS.JC_top5.txt  --l1 LF  --l2 CF  --exon_s 1  --intron_s 1  -o ./06_rmats/plot/  &

参数:
--b1 B1:sample_1 in bam format (s1_rep1.bam[,s1_rep2.bam])
--b2 B2:sample_2 in bam format (s2_rep1.bam[,s2_rep2.bam])
-t:rMATS结果中产生的可变剪切类型 {SE,A5SS,A3SS,MXE,RI}
-e EVENTS_FILE:The rMATS output event file (Only if using rMATS format result as event file) 在*.MATS.JC.txt文件里把需要画图的基因信息提取出来
-c:需要画图展示的基因的位置信息,基因组区域的坐标和注释,gff3文件,-c {chromosome}:{strand}:{start}:{end}:{/path/to/gff3}
--l1 L1:The label for first sample
--l2 L2:The label for second sample
-o OUT_DIR:The output directory
--exon_s 1:缩小外显子的大小。默认值为1
--intron_s 1:缩小内含子的大小。例如,如果--intron_s为5,表示内含子的大小为5:1(如果内含子的实际大小是5,那么就将缩小为1)。默认值为1。
--group-info:如果用户想要将样本分组,可以使用* .gf文件指定此参数
--color:可以使用自定义绘图的颜色序列。颜色的数量应该与bam_files对应
--font-size:更改字体大小,默认等于8
--no-text-background:透明文本背景
--hide-number:隐藏连接数
--min-counts 0:用于指定展示的最小count数,如果实际的counts数小于该阈值,则不会在图中显示。

结果:



图上方标题为:可变剪接事件3个外显子所在的基因组坐标及正负链信息。
跨外显子比对的 reads 使用连接外显子 junction 边界的弧线表示。弧线的粗细和比对到 junction 上的 reads 数成正比,同时弧线上的数字指出了 junction reads 的数目。
右上方标注了各个样本可变剪接事件所在的基因及IncLevel(最终会用这2个值做组间的差异AS分析)。
最下方为根据gtf推断出的选择性剪接异构体。

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

推荐阅读更多精彩内容