你还在为beagle填充烦恼吗?老子头大之脑壳治疗版

上篇文章有bug,替换掉这个代码就行了

#用上篇文章的代码,拿到一致性都是相同的,仔细一看没改填充后的文件
for sample in $sp; do
   bcftools gtcheck -g sites_gt.vcf.gz $filled_vcf -s "$sample" |grep "$sample" | awk '{print $2,$4}' | tail -1 | awk '{result = ($2 - $1) / $2; print result}' >> gt_${i}.txt
 done

填充小剧场

和师兄交流一下,他说没用过bcftools做过填充一致性,

舔脸问:你咋做的,亲爱的师兄

师兄说:自己写代码

我:哦莫,我就不想写。。。

师兄瞥了我一眼

我:写!现在就开写,我是您忠实的拥趸者!

旁边人:好大一只舔狗。

我:啥舔狗,有我甜吗?

#填充一致性
#先把填充后的剥干净,就是脱光
bcftools annotate -x INFO,FORMAT/DS filled_data_1.vcf.gz | sed 's:|:/:g'| grep -v '^#' | cut -f 10- > filled_new_file.txt
#在把用来验证的真实的数据,也脱光
bcftools annotate -x INFO,FORMAT/DS st.vcf.gz | sed 's:|:/:g'| grep -v '^#' | cut -f 10- > st_new_file.txt 
#脱光后你看我我看你,同型号就是1,不同的就是0,把1相加就是所有同型号的
awk 'FNR==NR {a[FNR]=$0; next} {split(a[FNR], arr1); split($0, arr2); for(i=1; i<=NF; i++) { if (arr1[i] == arr2[i]) printf "1 "; else printf "0 " } print ""}' st_new_file.txt filled_new_file.txt | awk '{ count += gsub(/1/, ""); } END { print count }'
#然后统计一下你的所有样本位点数之和,用上面的结果比一下。

嘤嘤嘤嘤嘤,加群吧,以后解决问题方便点!

微信七天就过期了,所以选择呆鹅

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值