怎样使用R语言利用vcf格式文件计算核苷酸多样性
发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,本篇文章给大家分享的是有关怎样使用R语言利用vcf格式文件计算核苷酸多样性,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。首先是使用bcf
千家信息网最后更新 2025年01月25日怎样使用R语言利用vcf格式文件计算核苷酸多样性首先是使用bcftools软件操作vcf文件
本篇文章给大家分享的是有关怎样使用R语言利用vcf格式文件计算核苷酸多样性,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
将vcf文件按照染色体拆分
bcftools view snp.vcf.gz scaffold_1 > popgenome-vcf/scaffold_1
bcftools view snp.vcf.gz scaffold_2 > popgenome-vcf/scaffold_2
如果当前目录下只有vcf格式文件,会遇到报错Failed to open .vcf.gz: could not load index
,可以参考 https://www.cnblogs.com/chenwenyan/p/11945445.html
tabix -p vcf snp.vcf.gz
如果当前目录下没有popgenome-vcf
这个目录,还需要新建目录
mkdir popgenome-vcf
今天参考的文章里写道 In theory, the r PopGenome can read VCF files directly, using the readVCF function. However, because our samples are haploid, we need to use a different function, r readData, which requires a folder with a separate VCF for each scaffold. 这个是为什么呢?
接下来是在R语言里的操作
读入数据#install.packages("PopGenome")
library(PopGenome)
getwd()
setwd("VCF/")
snp<-readData("popgenome-vcf",format = "VCF")
统计一些基本信息get.sum.data(snp)
这里可以直接统计 转换和颠换的比例
获取样本名称并分组pops<-get.individuals(snp)[[1]]
pop1<-pops[grep("B\\.bam",pops)]
pop2<-pops[grep("b\\.bam",pops)]
pop1
pop2
给数据划分类群snp<-set.populations(snp,list(pop1,pop2))
snp@populations
计算FSTsnp<-F_ST.stats(snp)
get.F_ST(snp)
这里的指标都是什么意思呢?
计算核苷酸多样性get.diversity(snp)[[1]]
这里的指标也看不懂是什么意思呀
设置划窗计算指标win_snp<-sliding.window.transform(snp,
width = 10000,
jump = 2000,type = 2)
win_snp<-F_ST.stats(win_snp)
win_snp@nucleotide.F_ST
win_snp@nuc.diversity.within
接下来用折线图来展示结果
FSTlibrary(ggplot2)
win_fst <- data.frame(x=1:dim(win_snp@nucleotide.F_ST)[1],
y=win_snp@nucleotide.F_ST[,1])
head(win_fst)
p1<-ggplot(win_fst,aes(x=x,y=y))+
geom_point()+
geom_line()+
theme_bw()+
theme(panel.grid = element_blank())+
scale_x_continuous(breaks = win_fst$x,
labels = win_fst$x)+
labs(x=NULL,y=NULL,title = "FST")
ggsave("FST.pdf",p1,width = 15,height = 4)
核苷酸多样性bb_div <- win_snp@nuc.diversity.within[,1] # diversity among B (bb = "big B")
lb_div <- win_snp@nuc.diversity.within[,2] # diversity among B (lb = "little b")
bb_div
df1<-data.frame(x=1:length(bb_div),y=bb_div)
df2<-data.frame(x=1:length(lb_div),y=lb_div)
p2<-ggplot()+
geom_line(data=df1,aes(x=x,y=y),color="red")+
geom_point(data=df1,aes(x=x,y=y),size=2,color="red")+
geom_line(data=df2,aes(x=x,y=y),color="blue")+
geom_point(data=df2,aes(x=x,y=y),size=2,color="blue")+
theme_bw()+labs(x=NULL,y=NULL)
ggsave("diversity.pdf",p2,width = 15,height = 4)
以上就是怎样使用R语言利用vcf格式文件计算核苷酸多样性,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。
文件
多样性
核苷酸
目录
格式
语言
指标
接下来
意思
数据
文章
更多
知识
篇文章
参考
统计
实用
信息
只有
名称
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
天下二安装服务器进不去
股票多屏软件开发
搜侠武汉网络技术有限公司
中专网络技术毕业
中国大唐网络技术有限公司
安天网络安全保护工具
软件开发计算机培训学校费用多少
网络安全自动防护网
网络技术提
软件开发实训课设
服务器管理器开放端口
邹平软件开发入门教学在线学习
康熙朱批奏折数据库
国土数据库与林草数据库
如何数据库应用
惠普刀片服务器机箱
vr软件开发专业好考吗
服务器磁盘阵列找不到
网络安全为人民服务心得体会
php内置web服务器
软件开发管理幅度
网络安全从自身做起
公安厅网络技术侦查总队
数据库计算机二级考什么
远景网络技术有限公司
沧州御煌网络技术有限公司吴桥
微信红包牛牛软件开发公司
至强是服务器系列cpu
即时通讯软件开发销售
服务器怎么有时候网站打不开