前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言实现拷贝数变异评估预测

R语言实现拷贝数变异评估预测

作者头像
一粒沙
发布2019-07-31 11:36:37
1.6K0
发布2019-07-31 11:36:37
举报
文章被收录于专栏:R语言交流中心R语言交流中心

大家对拷贝数变异很熟悉,为了对样本进行更有意义的拷贝数变异评估,有很多学者建立了很多算法去评估拷贝数。我们今天介绍一个和拷贝数评估相关的R包CNAnorm。

首先是R包的安装:

source("https://bioconductor.org/biocLite.R")

biocLite("CNAnorm")

接下来我们看下具体的实例:

我们利用包自带的数据:

data(LS041)

LS041[1:5,]

数据的结构我们可以看出,有拷贝数的位置(Pos),测试的结果(Test),参照的结果(Norm),还有GC的含量。以上的数据可以通过处理sam/bam文件获得。使用的工具可以是bam2windows.pl脚本。

如果我们的数据是dataframe格式的数据我们需要使用R包自带的函数dataFrame2object进行处理。在此我们的数据需要进行处理:

CN <- dataFrame2object(LS041)

有些时候我们可能不需要所有染色体的GC值都计算,那么我们就可以将不需要计算的染色体过滤掉,利用下面的代码:

toSkip <- c("chrY","chrM")

CN <- gcNorm(CN, exclude = toSkip)#exclude参数就是我们要过滤的染色体名称

我们得到的上面的比率需要进一步的平滑处理,去除无用的噪声。代码如下:

CN <- addSmooth(CN, lambda = 7)#此处lambda默认是7,也不知道为啥,也许经验吧,我们就遵循默认值。

接下来就是评估拷贝数变异与否进行评估:

CN <- peakPloidy(CN, exclude = toSkip)

我们接下来对我们得到的评估结果进行可视化展示,主要展示其拷贝数的变化,以及reads的分布,代码为如下:

plotPeaks(CN, special1 = 'chrX', special2 ='chrY')

当然如果我们评估的拷贝数和实际拷贝数不相符,或者增加减少,我们也可以进行调整,代码如下:

CN <- validation(CN, ploidy =(sugg.ploidy(CN) + 1) )#假设拷贝数都多1

调整和评估的结果差异:

为了展示全基因组的拷贝数情况我们需要对以上的数据进行DNAcopy和discrete处理:

CN <- addDNACopy(CN)

CN <- discreteNorm(CN)

然后就是绘制图形:

plotGenome(CN, superimpose = 'DNACopy')

当然这个就是包的核心可视化图形了,我们可以对其进行更进一步的编辑,那就是只显示一部分染色体的分布情况:

toPlot <- c('chr10', 'chr11', 'chr12')

subSet <- chrs(CN) %in% toPlot

plotGenome(CN[subSet], superimpose ='DNACopy')

最后就是终极大招那就是,更细节的改变:

data(gPar)

gPar$genome$colors$gain.dot <-'darkorange'

gPar$genome$colors$grid <- NULL

gPar$genome$cex$gain.dot <- .4

gPar$genome$cex$loss.dot <- .4

plotGenome(CN[subSet], superimpose ='DNACopy', gPar = gPar, colorful = TRUE)

当然我们也是可以将评估的数据导出:

exportTable(CN, file ="CNAnorm_table.tab", show = 'ploidy')

导出的数据格式如下:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-11-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 R语言交流中心 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档