GWAS(2)——gwas相关的文件处理命令总结

筛选需要的ID

当我们发现有些样本需要保留或剔除时,可以用vcftools进行处理。参考链接:https://www.omicsclass.com/article/647

  • 例子
    假设我们根据需要保留一些样本,先将需要的样本ID存为txt文件(如yes.txt),再用命令:
vcftools --vcf test_vcf.vcf --recode --recode-INFO-all --stdout --keep yes.txt >
out.vcf

得到了需要的样本vcf文件。

计算缺失率、杂合率和最小等位基因频率(maf、het、missing)

maf——plink --noweb --vcf out --freq --out base.original.freq
het——plink --vcf out.vcf --freqx --out Het.snp.vcf --allow-extra-chr
missing——vcftools --vcf out.vcf --missing-site –out 

得到文件可以进行三种频率的计算。

基因型过滤

  1. 首先进行 maf0.05 的过滤,将 maf 小于等于 0.05 的基因型过滤掉。
vcftools --vcf out.vcf --maf 0.05 --min-alleles 2 --max-alleles 2 --recode --recode-INFO-all --out 1out.vcf

计算过滤后新文件的三种频率,作图。
计算过滤后新文件的每条染色体的标记数。

  1. 接着进行缺失率 0.15 的过滤,将 missing 大于 0.15 的标记过滤掉。
plink --bfile out --geno 0.15 --make-bed --out clean
#或者
plink --bfile out --geno 0.15 --out clean.vcf

计算过滤后新文件的三种频率,作图。
计算过滤后新文件的每条染色体的标记数。

最后进行杂合率0.15的过滤,将het大于0.15的标记过滤掉。
需要在 R 中操作,命令大致如下:
①首先 read.table 读取步骤 2 中得到的杂合率结果文件;
②接着用公式,

het$HET_RATE = het$C.HET./(het$C.HOM.A1.+het$C.HET.+het$C.HOM.A2.)

计算位点杂合率(实际上上一步应该已经得到了)
③筛选,用 data <- [which(het$ HET_RATE > 0.15), ],得到 het 大于 0.15 的标记汇总。
④读写成 txt 文件后,在服务器上运行以下命令:

vcftools --vcf miss0.15.recode.vcf --recode --recode-INFO-all --stdout --exclude no.txt > 1.vcf

就得到了过滤好的最终文件。

计算PCA

计算前10个PCA结果

plink --bfile wgas1 --pca 10 --out wgas1_pca 

PCA作图R代码

rm(list = ls())
library(ggplot2)
library(RColorBrewer)
data <- read.table("wgas1_pca.eigenvec",sep = "\t",header = T)
ggplot(data,aes(x=pc1,y=pc2,color=species))+ geom_point()
#######
tiff(filename = "pca.tif", width = 30, height = 16, units = "cm", compression = "lzw", res = 600)
ggplot(data,aes(x=pc1,y=pc2,color=species))+ 
  geom_point()+ 
  theme_bw() +
  theme(panel.border=element_blank(),panel.grid.major=element_blank(),panel.grid.minor=element_blank(),axis.line= element_line(colour = "black"))
dev.off()

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值