这里是佳奥,这一篇我们主要在IGV内进行可视化操作。
由于只是学习过程,这里的数据我拿上一次跑ChIP-Seq的.bw文件作为示例。
仅做例子。
1 IGV可视化
载入:.bw
选择正确参考基因组。
输入感兴趣基因名称,文章里的是pho。
右键样本,使得尺度一致。
右键,Change Track Color,选择改变的颜色。
2 目标基因表达量绘图
幸运的是,往后部分有资料,那么我们就一步一步来吧。
资料来源
https://share.weiyun.com/5qmxu7Z
我们从第一步,gene-expression开始,数据来源就是all.counts.id,是RNA-Seq分析的结果文件。
##导入表达矩阵
rm(list = ls())
options(stringsAsFactors = F)
a=read.table('all.counts.id.txt',header = T)
dim(a)
##绘制表达量图barplot
##第一个基因pho
cg=a[a[,1]=='pho',7:16]
library(ggpubr)
library(stringr)
dat=data.frame(gene=as.numeric(cg),
sample=names(cg),
group=str_split(names(cg),'_',simplify = T)[,1]
)
ggbarplot(dat,x='sample',y='gene',color = 'group')
##第二个基因Spps
cg=a[a[,1]=='Spps',7:16]
library(ggpubr)
library(stringr)
dat=data.frame(gene=as.numeric(cg),
sample=names(cg),
group=str_split(names(cg),'_',simplify = T)[,1]
)
ggbarplot(dat,x='sample',y='gene',color = 'group')
后续还有需要调整的地方,比如把柱改成实心,具体颜色修改等。
3 多个基因相关性绘图
导入数据,第二步,check-correlation
rm(list = ls())
options(stringsAsFactors = F)
a=read.table('../figure-01-check-gene-expression//all.counts.id.txt',header = T)
dim(a)
dat=a[,7:16]
##需要把数据整理一下,有的在0,1附近,有的上万,采用log(dat+1)
##各组间相关性
library(stringr)
ac=data.frame(group=str_split(colnames(dat),'_',simplify = T)[,1])
rownames(ac)=colnames(dat)
M=cor(log(dat+1))
pheatmap::pheatmap(M,
annotation_col = ac)
相关性0.98,很高。
##内部相关性
pheatmap::pheatmap(scale(M),
annotation_col = ac)
cg=dat[,colnames(dat)[grepl('_1',colnames(dat))]]
library(ggpubr)
cg=log(cg+1)
pairs(cg)
deeptools计算相关度(通过.bw文件计算)
##从.bw文件开始
multiBigwigSummary bins -b ../align/*.rmdup.bw -o results.npz -p 4
##绘制热图
plotCorrelation -in results.npz \
--corMethod spearman -- skipZeros \
--plotTitle "Spearman Correlation of Read Counts" \
--whatToPlot heatmap --colorMap RdYlBu --plotNumbers \
--plotFileFormat pdf \
-o heatmap_SpearmanCorr_readCounts.pdf \
--outFileCorMatrix SpearmanCorr_readCounts.tab
对结果不满意可以把SpearmanCorr_readCounts.tab内容放到R用pheatmap函数来绘制热图:
##先在Linux内把SpearmanCorr_readCounts.tab另存为txt
less SpearmanCorr_readCounts.tab > tab.txt
##导入R绘制热图
txt <- read.table('tab.txt')
txt <- log(txt+1)
pheatmap::pheatmap(txt)
下一篇我们继续寻找差异基因并可视化的内容。
我们下一篇再见!