千家信息网

如何根据vcf文件计算SNP密度并用circlize可视化结果

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,如何根据vcf文件计算SNP密度并用circlize可视化结果,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。命令vcft
千家信息网最后更新 2025年01月31日如何根据vcf文件计算SNP密度并用circlize可视化结果

如何根据vcf文件计算SNP密度并用circlize可视化结果,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

命令
vcftools --vcf snp.bialles.vcf --SNPdensity 100000 --out StatResults/SNPdensity

100000 是指定窗口长度
--out 是输出文件的前缀

使用R语言中的circlize包画图


代码

df<-read.table("SNPdensity.snpden",sep="\t",header=T)
head(df)
df<-df[,c(1,2,4)]
colnames(df)<-c("Chr","X","Y")
head(df)
df$X<-df$X/1000000
options(scipen=999)
library(circlize)
library(RColorBrewer)
col<-RColorBrewer::brewer.pal(8,"Paired")
circos.initialize(factors=df$Chr,x=df$X)
circos.trackPlotRegion(factors=df$Chr,y=df$Y,
panel.fun=function(x,y){
circos.axis()
},track.height = 0.05)

for(i in 1:8){
highlight.sector(sector.index = paste0("LG",i),col=col[i])
circos.text(CELL_META$xcenter, CELL_META$ycenter,
labels = paste0("LG",i),
sector.index = paste0("LG",i),cex=0.5)
}
circos.trackPlotRegion(factors=df$Chr,y=df$Y)
circos.trackLines(df$Chr,df$X,df$Y,col=col)
circos.trackPlotRegion(factors=df$Chr,y=df$Y)
circos.trackPoints(df$Chr,df$X,df$Y,col=col,cex=0.5)
circos.trackPlotRegion(factors=df$Chr,y=df$Y)
circos.trackHist(df$Chr,df$X,col=col)
circos.clear()

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

0