基因组的可视化展示大家应该都熟悉,今天给大家看一下在R语言中的一个用来进行基因组可视化的包Sushi。一些基础的理论就不再赘述了,首先我们看下包的安装:

BiocManager::install("Sushi")

接下来我们直接通过实例来看下包中的各种展示方式:

1. 包支持的数据输入类型

library('Sushi')Sushi_data = data(package = 'Sushi')data(list = Sushi_data$results[,3])

2. 信号轨迹图,所需的基本参数包括要绘制的数据、染色体和开始和停止位置。

chrom = "chr11"chromstart = 1650000chromend = 2350000plotBedgraph(Sushi_DNaseI.bedgraph,chrom,chromstart,chromend,colorbycol=SushiColors(5))

当然,我们也可以展示各信号的位置信息以及坐标轴值:

labelgenome(chrom,chromstart,chromend,n=4,scale="Mb")mtext("ReadDepth",side=2,line=1.75,cex=1,font=2)axis(side=2,las=2,tcl=.2)

如果多个序列同时显示,那就需要设置参数overlay=TRUE,同时如果想多个序列坐标轴范围一致需要用到rescaleoverlay=TRUE

chrom = "chr11"chromstart = 1955000chromend = 1960000plotBedgraph(Sushi_ChIPSeq_CTCF.bedgraph,chrom,chromstart,chromend,transparency=.50,color=SushiColors(2)(2)[1])plotBedgraph(Sushi_DNaseI.bedgraph,chrom,chromstart,chromend,transparency=.50,color=SushiColors(2)(2)[2],overlay=TRUE,rescaleoverlay=TRUE)labelgenome(chrom,chromstart,chromend,n=3,scale="Kb")legend("topright",inset=0.025,legend=c("DNaseI","ChIP-seq(CTCF)"), fill=opaque(SushiColors(2)(2)),border=SushiColors(2)(2),text.font=2,cex=1.0)

#独立展示对比效果需要设置参数flip=TRUEpar(mfrow=c(2,1),mar=c(1,4,1,1))plotBedgraph(Sushi_ChIPSeq_CTCF.bedgraph,chrom,chromstart,chromend,transparency=.50,color=SushiColors(2)(2)[1])axis(side=2,las=2,tcl=.2)mtext("ReadDepth",side=2,line=1.75,cex=1,font=2)legend("topright",inset=0.025,legend=c("DNaseI","ChIP-seq(CTCF)"),fill=opaque(SushiColors(2)(2)),border=SushiColors(2)(2),text.font=2, cex=1.0) plotBedgraph(Sushi_DNaseI.bedgraph, chrom,chromstart, chromend, transparency=.50, flip=TRUE, color=SushiColors(2)(2)[2])labelgenome(chrom,chromstart,chromend,side=3,n=3,scale="Kb")axis(side=2,las=2,tcl=.2,at=pretty(par("yaxp")[c(1,2)]),labels=-1*pretty(par("yaxp")[c(1,2)]))mtext("ReadDepth",side=2,line=1.75,cex=1,font=2)

3. Hi-C测序结果的染色体互作可视化。Hi-C可以展现出整个染色体all-to-all的互作关系。

chrom = "chr11"chromstart = 500000chromend = 5050000phic = plotHic(Sushi_HiC.matrix,chrom,chromstart, chromend, max_y = 20,zrange=c(0,28), palette=SushiColors(7))addlegend(phic[[1]], palette=phic[[2]],title="score", side="right", bottominset=0.4, topinset=0,xoffset=-.035, labelside="left", width=0.025, title.offset=0.035)labelgenome(chrom, chromstart, chromend,n=4, scale="Mb", edgeblankfraction=0.20)

此图和热图想表达的意义是一样的根据颜色的变化可以看出各位点之间相关性打分的大小。当然,还可以对其中的一些细节可以进一步的操作,我们直接看下实例:

chrom = "chr11"chromstart = 500000chromend = 5050000phic =plotHic(Sushi_HiC.matrix,chrom,chromstart,chromend,max_y = 20,zrange=c(0,28),flip=TRUE,palette=topo.colors)addlegend(phic[[1]],palette=phic[[2]],title="score",side="left",bottominset=0.1,topinset=0.5,xoffset=-.035,labelside="right",width=0.025,title.offset=0.035)labelgenome(chrom,chromstart,chromend,side=3,n=4,scale="Mb",edgeblankfraction=0.20)

4. bedpe格式数据的可视化展示

chrom = "chr11"chromstart = 1650000chromend = 2350000pbpe =plotBedpe(Sushi_5C.bedpe,chrom,chromstart,chromend,heights =Sushi_5C.bedpe$score,plottype="loops",colorby=Sushi_5C.bedpe$samplenumber,colorbycol=SushiColors(3))labelgenome(chrom,chromstart,chromend,n=3,scale="Mb")legend("topright",inset=0.01,legend=c("K562","HeLa","GM12878"),col=SushiColors(3)(3),pch=19,bty='n',text.font=2)axis(side=2,las=2,tcl=.2)mtext("Z-score",side=2,line=1.75,cex=.75,font=2)

上图中的拱形的高度代表了Z-score of the 5C interaction。不同的颜色代表不同的细胞系,线的粗细是一个恒量。

#绘制线型的可视化结果:chrom = "chr11"chromstart = 1650000chromend = 2350000pbpe =plotBedpe(Sushi_5C.bedpe,chrom,chromstart,chromend,flip=TRUE,plottype="lines",colorby=Sushi_5C.bedpe$score,colorbycol=SushiColors(5))labelgenome(chrom,chromstart,chromend,side=3,n=3,scale="Mb")addlegend(pbpe[[1]],palette=pbpe[[2]],title="Z-score",side="right",bottominset=0.05,topinset=0.05,xoffset=-.035,labelside="right",width=0.025,title.offset=0.045)

上图就是将拱形进行直线化,直接通过直线将两个互作的片段之间进行连线,并通过颜色代表Z-score大小。

5. 对bed格式的chip数据的可视化展示。

chrom = "chr11"chromstart = 2281200chromend = 2282200plotBed(beddata = Sushi_ChIPSeq_pol2.bed,chrom = chrom,chromstart =chromstart,chromend =chromend,colorby = Sushi_ChIPSeq_pol2.bed$strand,colorbycol= SushiColors(2),row = "auto",wiggle=0.001)labelgenome(chrom,chromstart,chromend,n=2,scale="Kb")legend("topright",inset=0,legend=c("reverse","forward"),fill=SushiColors(2)(2),border=SushiColors(2)(2),text.font=2,cex=0.75)

上图通过颜色将strand进行分别标记

#独立分割srandchrom = "chr11"chromstart = 2281200chromend = 2282200plotBed(beddata = Sushi_ChIPSeq_pol2.bed,chrom = chrom,chromstart =chromstart,chromend =chromend,colorby = Sushi_ChIPSeq_pol2.bed$strand,colorbycol= SushiColors(2),row = "auto",wiggle=0.001,splitstrand=TRUE)labelgenome(chrom,chromstart,chromend,n=2,scale="Kb")legend("topright",inset=0,legend=c("reverse","forward"),fill=SushiColors(2)(2),border=SushiColors(2)(2),text.font=2,cex=0.75)

#多样本数据的比较,点图和矩形图Sushi_ChIPSeq_severalfactors.bed$color=maptocolors(Sushi_ChIPSeq_severalfactors.bed$row,col=SushiColors(6))chrom = "chr15"chromstart = 72800000chromend = 73100000plotBed(beddata =Sushi_ChIPSeq_severalfactors.bed,chrom = chrom,chromstart = chromstart,chromend=chromend,rownumber = Sushi_ChIPSeq_severalfactors.bed$row, type ="circles",color=Sushi_ChIPSeq_severalfactors.bed$color,row="given",plotbg="grey95",rowlabels=unique(Sushi_ChIPSeq_severalfactors.bed$name),rowlabelcol=unique(Sushi_ChIPSeq_severalfactors.bed$color),rowlabelcex=0.75)labelgenome(chrom,chromstart,chromend,n=3,scale="Mb")mtext("ChIP-seq",side=3,adj=-0.065,line=0.5,font=2)

plotBed(beddata =Sushi_ChIPSeq_severalfactors.bed,chrom = chrom,chromstart = chromstart,chromend=chromend,rownumber = Sushi_ChIPSeq_severalfactors.bed$row, type ="region",color=Sushi_ChIPSeq_severalfactors.bed$color,row="given",plotbg="grey95",rowlabels=unique(Sushi_ChIPSeq_severalfactors.bed$name),rowlabelcol=unique(Sushi_ChIPSeq_severalfactors.bed$color),rowlabelcex=0.75)labelgenome(chrom,chromstart,chromend,n=3,scale="Mb")mtext("ChIP-seq",side=3,adj=-0.065,line=0.5,font=2)

我们也可以通过位置信息获得我们想要的基因信息:

chrom = "chr15"chromstart = 60000000chromend = 80000000chrom_biomart =gsub("chr","",chrom)mart=useMart(host='may2009.archive.ensembl.org',biomart='ENSEMBL_MART_ENSEMBL', dataset='hsapiens_gene_ensembl')geneinfobed = getBM(attributes =c("chromosome_name","start_position","end_position"),filters= c("chromosome_name","start","end"), values=list(chrom_biomart,chromstart,chromend),mart=mart)geneinfobed[,1] =paste("chr",geneinfobed[,1],sep="")

那么接下来我们就可以绘制基因密度图,所谓基因密度是指一个基因中所含碱基的相对数量,相对数量越大,基因密度越大。比较难懂,通俗点就是在所提供的序列长度中包含的基因越多,那么基因密度越大。

plotBed(beddata =geneinfobed[!duplicated(geneinfobed),],chrom = chrom,chromstart =chromstart,chromend =chromend,row='supplied',palettes = list(SushiColors(7)),type = "density")labelgenome(chrom, chromstart, chromend,n=4,scale="Mb",edgeblankfraction=0.10)mtext("Gene Density",side=3,adj=0,line=0.20,font=2)

6. 曼哈顿图绘制

plotManhattan(bedfile=Sushi_GWAS.bed,pvalues=Sushi_GWAS.bed[,5],col=SushiColors(6),genome=Sushi_hg18_genome,cex=0.75)labelgenome(genome=Sushi_hg18_genome,n=4,scale="Mb",edgeblankfraction=0.20,cex.axis=.5)axis(side=2,las=2,tcl=.2)mtext("log10(P)",side=2,line=1.75,cex=1,font=2)mtext("chromosome",side=1,line=1.75,cex=1,font=2)

7. 基因结构的绘制

chrom = "chr15"chromstart = 72998000chromend = 73020000pg =plotGenes(Sushi_genes.bed,chrom,chromstart,chromend ,types=Sushi_genes.bed$type,maxrows=1,bheight=0.2,plotgenetype="arrow",bentline=FALSE,labeloffset=.4,fontsize=1.2,arrowlength= 0.025,labeltext=TRUE)labelgenome( chrom,chromstart,chromend,n=3,scale="Mb")

#RNA结构的绘制chrom = "chr15"chromstart = 72965000chromend = 72990000pg =plotGenes(Sushi_transcripts.bed,chrom,chromstart,chromend ,types =Sushi_transcripts.bed$type,colorby=log10(Sushi_transcripts.bed$score+0.001),colorbycol=SushiColors(5),colorbyrange=c(0,1.0),labeltext=TRUE,maxrows=50,height=0.4,plotgenetype="box")labelgenome( chrom,chromstart,chromend,n=3,scale="Mb")addlegend(pg[[1]],palette=pg[[2]],title="log10(FPKM)",side="right",bottominset=0.4,topinset=0,xoffset=-.035,labelside="left",width=0.025,title.offset=0.055)

8. 局部放大显示

layout(matrix(c(1,1,2,3),2, 2, byrow =TRUE))par(mar=c(3,4,1,1)) #基础架构chrom = "chr11"chromstart = 1900000chromend = 2350000plotBedgraph(Sushi_DNaseI.bedgraph,chrom,chromstart=chromstart,chromend=chromend,colorbycol=SushiColors(5))labelgenome(chrom,chromstart=chromstart,chromend=chromend,n=4,scale="Mb")mtext("ReadDepth",side=2,line=1.75,cex=1,font=2)axis(side=2,las=2,tcl=.2) #放大的位置zoomregion1 = c(1955000,1960000)zoomregion2 = c(2279000,2284000)zoomsregion(zoomregion1,extend=c(0.01,0.13),wideextend=0.05,offsets=c(0,0.580))zoomsregion(zoomregion2,extend=c(0.01,0.13),wideextend=0.05,offsets=c(0.580,0))#放大区域数据可视化plotBedgraph(Sushi_DNaseI.bedgraph,chrom,chromstart=zoomregion1[1],chromend=zoomregion1[2],colorbycol=SushiColors(5))labelgenome(chrom,chromstart=zoomregion1[1],chromend=zoomregion1[2],n=4,scale="Kb",edgeblankfraction=0.2,cex.axis=.75)zoombox()mtext("ReadDepth",side=2,line=1.75,cex=1,font=2)axis(side=2,las=2,tcl=.2) plotBedgraph(Sushi_DNaseI.bedgraph,chrom,chromstart=zoomregion2[1],chromend=zoomregion2[2],colorbycol=SushiColors(5))labelgenome(chrom,chromstart=zoomregion2[1],chromend=zoomregion2[2],n=4,scale="Kb",edgeblankfraction=0.2,cex.axis=.75)zoombox()mtext("ReadDepth",side=2,line=1.75,cex=1,font=2)axis(side=2,las=2,tcl=.2)

欢迎大家互相学习交流!

r语言结构方程模型可视化_R语言实现基因组的可视化相关推荐

  1. r语言清除变量_R语言:结构方程模型、潜变量分析

    原文链接: R语言:结构方程模型.潜变量分析​tecdat.cn 结构方程模型入门 介绍 对于熟悉线性回归拟合结构方程模型的分析师来说,在R环境中,拟合结构方程模型涉及学习新的建模语法,新的绘图语法以 ...

  2. R语言结构方程模型SEM、路径分析房价和犯罪率数据、预测智力影响因素可视化2案例

    最近我们被客户要求撰写关于SEM的研究报告,包括一些图形和统计输出. 1 简介 在本文,我们将考虑观察/显示所有变量的模型,以及具有潜在变量的模型.第一种有时称为"路径分析",而后 ...

  3. R语言:结构方程模型sem、潜变量分析

    原文链接:http://tecdat.cn/?p=3071 对于熟悉线性回归拟合结构方程模型的分析师来说,在R环境中,拟合结构方程模型涉及学习新的建模语法,新的绘图语法以及通常是新的数据输入方法(点击 ...

  4. R语言结构方程模型(SEM)在生态学领域中的应用

    前言:结构方程模型(Sructural Equation Model)是一种建立.估计和检验研究系统中多变量间因果关系的模型方法,它可以替代多元回归.因子分析.协方差分析等方法,利用图形化模型方式清晰 ...

  5. R语言结构方程模型分析与应用

    (R语言平台:模型构建.拟合.筛选及结果发表全流程:潜变量分析:组成变量分析:非线性关系处理.非正态数据.分组数据.嵌套数据分析与处理:混合效应模型:贝叶斯方法:经典案例练习及解读) 现代统计学理论和 ...

  6. R语言结构方程模型(SEM)在生态学领域中的实践

    结构方程模型(Sructural Equation Model)是一种建立.估计和检验研究系统中多变量间因果关系的模型方法,它可以替代多元回归.因子分析.协方差分析等方法,利用图形化模型方式清晰展示研 ...

  7. R语言结构方程模型(SEM)教程

    详情点击链接:R语言结构方程模型(SEM)在生态学应用 结构方程模型(Sructural Equation Model)是一种建立.估计和检验研究系统中多变量间因果关系的模型方法,它可以替代多元回归. ...

  8. 【视频】结构方程模型SEM分析心理学营销数据路径图可视化|数据分享

    最近我们被客户要求撰写关于结构方程模型的研究报告,包括一些图形和统计输出.结构方程建模 (SEM) 是一个非常广泛和灵活的数据分析框架,也许更好地被认为是一系列相关的方法,而不是单一的技术.它与营销研 ...

  9. R与结构方程模型(1):SEM的核心

    R与结构方程模型 简介 图形模型 有向图(directed graphs) 1.标准回归模型 2.路径分析 2.1.关系类型 2.2.多个目标 2.3.间接效应 2.4.多中介模型 2.4.例子 间接 ...

  10. R与结构方程模型(2):潜变量

    R与结构方程模型 降维 主成分分析 因子分析(Factor Analysis) 结构和测量模型 因子分析的其他问题 术语 潜变量的其他用途 总结 R包 原文链接:https://m-clark.git ...

最新文章

  1. 纳微科技完成近亿元融资,华兴医疗产业基金独家投资
  2. 图片过渡效果一例 使用bitmapData操作
  3. 6,synchronized, lock 区别
  4. hibernate select语句返回的类型
  5. 使用七牛图片遇到的图片方向翻转问题
  6. 如何做好会员用户画像分析,比消费者本身更懂自己?
  7. 了解JavaScript中的循环缺点和迭代协议
  8. 计算机科学cs50_世界顶尖CS大学提供500门免费计算机科学课程
  9. 数学建模之初等模型详解
  10. 太阳直射点纬度计算公式_地理小常识:买房小技巧,房屋朝向、楼层和太阳高度角的关系...
  11. java 生成 pdf 标题 表格 注释 合并
  12. eclipse如何设置眼睛保护色
  13. 【渝粤题库】陕西师范大学165104 组织行为学原理 作业(高起专)
  14. python音乐实例详解_python下载无损音乐示例源码(qq音乐)
  15. 【独家】一文读懂文字识别(OCR)
  16. 支付宝快捷支付接入问题
  17. arm mali 天梯图_11月最新版联发科CPU天梯图 直观看天梯图秒懂联发科处理器排行...
  18. linux桌面网络连接是个X,Xbrowser如何运行多个X桌面
  19. css 文字发光效果
  20. 解决网页缩放百分比页面变形问题

热门文章

  1. C语言:1027.自定义函数求最大公约数和最小公倍数
  2. 络达AB1562蓝牙-datasheet详细资料
  3. 【数组算法】乘积小于K的子区间个数
  4. 基于Java环境下的高校跳蚤市场商城系统
  5. 杂项-公司:SAMSUNG
  6. 【笔记】《软件测试(第2版)》-周元哲
  7. 【Latex】texstudio使用和ACL论文模板初步解读
  8. 2019福建计算机一级省考,2019福建省考笔试分数线是多少
  9. Sqlite 读删查改
  10. 就业感言:机会是留给有准备的人的