RNA检测流程

1 比对

RNA数据的比对软件,和DNA数据的比对软件有何区别br> 由于转录过程中存在可变剪接,测得的reads有很大一部分跨越不同外显子,所有RNA数据的比对软件要支持reads的splice比对。

Hist2 下载
https://github.com/DaehwanKimLab/hisat2

-x :对hg19参考基因组做的索引

2 sam转bam

3 定量分析

比对完成后,根据基因在参考基因组上的位置信息,便可统计每个基因从起始到终止范围内覆盖的reads数目。采用subread软件中的featureCounts工具对基因进行表达水平的定量,featureCounts主要使用-Q 10 -B -C参数,分别过滤掉比对质量值低于10的reads,非成对比对上的reads,比对到基因组多个区域的reads。

featureCounts利用高效的染色体拆分和特征模块的技术,先对染色体拆分成bin,在bin中拆分blocks,在blocks中拆分feature。它有两种重要的特征值:features和meta-features。其中features通常是对应于基因注释文件(GTF)的exon,meta-features通常是对应于注释文件的gene。在每个染色体上的features根据起始位置进行排序,将染色体分成大小为128kb的没有重叠的bins,根据feaatures的起始位置分配到对应的bin中,其中图中的实线表示的features。在每一个bin中连续的features中数量相等的分类成相同的模块(Block),其中在每一个bin中Block的数量是与在这个bin中features的数目的平方根相等。图中搜索的reads首先与基因组的bins进行比较,然后再与bin中的blocks比较,最后与blocks中的features进行比较,最终的read的定位结果是定位到了第i个bin中的第一个blocks中,且read与blocks中的两个features有重叠,即junction read。

RNA检测流程
RNA检测流程
RNA检测流程

gtf:

RNA检测流程

4. stringTie 进行FPKM定量

安装stringTie
https://ccb.jhu.edu/software/stringtie/index.shtml=manual#input

在输出的 out.gtf 和 ballgown_out_dir 目录中有FPKM结果

或者使用 rsem-calculate-expression 软件,可以同时进行readcount计算,FPKM,TPM 计算。

5. star-fusion 检测融合

融合基因是指两个基因的全部或部分序列融合而成的嵌合基因,一般由染色体易位、缺失等原因所致。融合基因首次发现于血液系统的恶性肿瘤中,其中以慢性粒细胞白血病中BCR-ABL的基因融合最为经典,治疗慢性粒细胞白血病的药物伊马替尼/格列卫,其作用靶点就是该融合基因。高通量RNA测序技术因其通量高、成本低、检测精度高和检测范围广等优点大大加快了融合基因的研究,诺禾致源使用STAR-Fusion软件进行融合基因的检测,STAR-Fusion是利用STAR比对的融合输出结果来检测融合转录本的软件包,STAR-Fusion分析流程如下图所示。分为SATR比对,STAR-Fusion.predict,STAR-Fusion.filter,具体如下。

STAR比对:是STAR比对的标准比对过程中的一个延伸,第一步,利用MMP算法(连续最大可比对种子搜索)将种子准确的定位到参考基因组上,下一步,选择基因组比对窗口将固定的种子进行聚类。

STAR-Fusion.predict:将Split reads又称JunctionReads(含有两个基因融合断点的reads,流程图中S=3即为Split reads的数目)和Discordant pair又称SpanningFrags(不一致比对的reads,即reads的两端比对到不同的两个基因,图中J=2即为Discordant pair的数目)比对到参考基因组的注释文件。STAR-Fusion根据支持融合断点的Split reads和Discordant pair的数目应用最少reads支持准则对融合基因进行筛选。

STAR-Fusion.filter:这一步是融合基因检测的最后一步,主要是筛选出最可靠的融合基因,过滤到最初预测的不可靠的候选的融合基因。过滤的过程主要是先按照基因对和断点的距离进行分类,然后按照在推断的断点reads的支持和比对的范围以及推断的融合基因的序列的相似性,过滤掉配对混乱的融合基因对。

FusionInspector 是一个癌症转录分析工具包,软件会对STAR-Fusion的预测结果通过再检测,再次打分,进一步对融合基因的分析结果进行校正分析。具体方法:输入的文件是我们用STAR-Fusion得到的融合基因的列表,参考基因组文件,样品的clean data。FusionInspector会根据STAR-Fusion得到的融合基因,对每对融合基因提取在基因组上的区域并构建融合基因的最小融合的contig序列。将reads比对到这些候选的融合的contig上。最后对每个融合基因支持的JunctionReads与SpanningFrags进行识别。得到最终的融合基因列表。

STAR-Fusion官网推荐对STAR-Fusion的预测结果再次用校验工具FusionInspector进行进一步的矫正分析。通过两次的矫正保证了融合基因结果的准确性。我们融合基因分析的过程就是利用FusionInspector对STAR-Fusion预测结果进行校正。

RNA检测流程
.libPaths("path_to/software/conda_py38/conda3/envs/r3.6/lib/R/library")library(DESeq2)dat  read.delim('deseq2TestDATA.xls', row.names = 1, sep = 't', check.names = FALSE)coldata  data.frame(condition = factor(rep(c('control', 'treat'), each = 3), levels = c('control', 'treat')))##DESeq2 默认流程#第一步,构建 DESeqDataSet 对象dds  DESeqDataSetFromMatrix(countData = dat, colData = coldata, design= ~condition)#第二步,计算差异倍数并获得 p 值#备注:parallel = TRUE 可以多线程运行,在数据量较大时建议开启dds1  DESeq(dds, fitType = 'mean', minReplicatesForReplace = 7, parallel = FALSE)#注意,需将 treat 在前,control 在后,意为 treat 相较于 control 中哪些基因上调/下调res  results(dds1, contrast = c('condition', 'treat', 'control'))#输出表格至本地#差异分析结果保存在“res1”中,包含了基因id、标准化后的基因表达值、log2转化后的差异倍数(Fold Change)值、显著性p值以及校正后p值padj(adjusted p values)(默认FDR校正)等主要信息res1  data.frame(res, stringsAsFactors = FALSE, check.names = FALSE)write.table(res1, 'control_treat.DESeq2.txt', col.names = NA, sep = 't', quote = FALSE)##筛选差异表达基因#首先对表格排个序,按 padj 值升序排序,相同 padj 值下继续按 log2FC 降序排序res1  res1[order(res1$padj, res1$log2FoldChange, decreasing = c(FALSE, TRUE)), ]#log2FC≥1 & padj#log2FC≤-1 & padj#其余标识 none,代表非差异的基因res1[which(res1$log2FoldChange >= 1 & res1$padj  0.01),'sig']  'up'res1[which(res1$log2FoldChange  -1 & res1$padj  0.01),'sig']  'down'res1[which(abs(res1$log2FoldChange)  1 | res1$padj >= 0.01),'sig']  'none'#输出选择的差异基因总表res1_select  subset(res1, sig %in% c('up', 'down'))write.table(res1_select, file = 'control_treat.DESeq2.select.txt', sep = 't', col.names = NA, quote = FALSE)#根据 up 和 down 分开输出res1_up  subset(res1, sig == 'up')res1_down  subset(res1, sig == 'down')write.table(res1_up, file = 'control_treat.DESeq2.up.txt', sep = 't', col.names = NA, quote = FALSE)write.table(res1_down, file = 'control_treat.DESeq2.down.txt', sep = 't', col.names = NA, quote = FALSE)##ggplot2 差异火山图library(ggplot2)#默认情况下,横轴展示 log2FoldChange,纵轴展示 -log10 转化后的 padjp  ggplot(data = res1, aes(x = log2FoldChange, y = -log10(padj), color = sig)) +geom_point(size = 1) + #绘制散点图scale_color_manual(values = c('red', 'gray', 'green'), limits = c('up',

来源:风风是超人

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年7月8日
下一篇 2022年7月8日

相关推荐