如何绘制出美丽的基因密度图

新媒体求职招聘微信群 http://cgia.cn/news/chuangyi/1592214.html

今天来介绍如何在基因结构图上添加密度信息,在此我们使用TxDb.Hsapiens.UCSC.hg19.knownGene中的数据,通过karyoploteR包即可出图

1.安装R包

if(!requireNamespace("BiocManager",quietly=TRUE))install.packages("BiocManager")BiocManager::install("karyoploteR")BiocManager::install("TxDb.Hsapiens.UCSC.hg19.knownGene")2.加载R包

library(TxDb.Hsapiens.UCSC.hg19.knownGene)library(karyoploteR)

获取基因组数据通过TxDb.Hsapiens.UCSC.hg19.knownGene

txdb-TxDb.Hsapiens.UCSC.hg19.knownGeneall.genes-genes(txdb)head(all.genes)

GRangesobjectwith6rangesand1metadatacolumn:seqnamesrangesstrand

gene_idRleIRangesRle

character1chr--

chr-+

chr--

chr--

chr--

86chrX-+

-------seqinfo:93sequences(1circular)fromhg19genome

通过TxDb.Hsapiens.UCSC.hg19.knownGene我们获取了基因的数据信息,一切准备就绪开始作图

使用kpPlotDensity函数绘制基因组上的基因密度,先从第1条染色体开始,然后我们再绘制整个基因组

kp-plotKaryotype(plot.type=1,chromosomes="chr1")kp-kpPlotDensity(kp,all.genes)

调整窗口大小,设置字体

kp-plotKaryotype(plot.type=1,chromosomes="chr1",cex=1.6)kpPlotDensity(kp,all.genes,window.size=0.5e6,data.panel="ideogram")

将基因密度信息放到图内部

kp-plotKaryotype(plot.type=6,chromosomes="chr1",cex=1.6)kpPlotDensity(kp,all.genes,window.size=0.5e6,data.panel="ideogram",col="#FF",border="#FF")

复制图像并使用r1r0进行反转绘图

kp-plotKaryotype(plot.type=6,chromosomes="chr1",cex=1.6)kpPlotDensity(kp,all.genes,window.size=0.5e6,data.panel="ideogram",col="#FF",border="#FF",r0=0.5,r1=1)kpPlotDensity(kp,all.genes,window.size=0.5e6,data.panel="ideogram",col="#FF",border="#FF",r0=0.5,r1=0)

添加主题并绘制完整的基因密度图

kp-plotKaryotype(plot.type=6,main="GeneDensity",cex=1.2)kpDataBackground(kp,color="#FFFFFFAA")kp-kpPlotDensity(kp,all.genes,window.size=0.5e6,data.panel="ideogram",col="#FF",border="#FF",r0=0.5,r1=1)kp-kpPlotDensity(kp,all.genes,window.size=0.5e6,data.panel="ideogram",col="#FF",border="#FF",r0=0.5,r1=0)

关于更多基因组图的绘制,可查看karyoploteR包的帮助文档,后续将继续介绍更多相关内容

参考:


转载请注明:http://www.bjgongshangzhuce.com/jygn/9250.html


当前时间: