dbNSFP4.6a整理成snpeff需要的文件

文章介绍了一种方法,通过使用dbNSFP_sort.pl脚本对dbNSFP4.6a的大文件进行分染色体处理,以降低内存需求。脚本通过逐个染色体读取、压缩和索引,最终生成适用于snpeff注释的有序文本文件。
摘要由CSDN通过智能技术生成

 dbNSFP4.6a是按照染色体分的,整理成一个文件用于snpeff注释突变。

dbNSFP_sort.pl在"https://pcingola.github.io/SnpEff/snpsift/dbnsfp/"下载,直接使用该代码需要的内存太大,笔者在150GB内存的服务器上运行过,没有成功。

ls dbNSFP4.6a_variant.chr*gz | while read id;do zcat $id | head -n 1000 |gzip > temp/${id:0:0-3}.gz;done

version="4.6a"
zcat dbNSFP${version}_variant.chr* | perl ../dbNSFP_sort.pl 7 8 > dbNSFP${version}_hg19.txt

该代码是调用 dbNSFP_sort.pl进行分染色体整理,占用的内存不需要全部读入,而是分染色体处理。最后合并的方式。

#!/bin/bash

version="4.6a"
chromesome=("1" "10" "11" "12" "13" "14" "15" "16" "17" "18" "19" "2" "20" "21" "22" "3" "4" "5" "6" "7" "8" "9" "M" "X" "Y")

for chroi in ${chromesome[@]}
do
	zcat dbNSFP${version}_variant.chr${chroi}.gz | perl ../dbNSFP_sort.pl 7 8 >temp_${chroi}.txt
	cat temp_${chroi}.txt | grep -P "^\\." > dot_${chroi}.txt
	cat temp_${chroi}.txt | grep -P -v "^\\." > nodot_${chroi}.txt
	cat nodot_${chroi}.txt | sed -n "1p" > dbNSFP${version}_hg19.txt
	cat nodot_${chroi}.txt | sed -n "1p" > newNodot_${chroi}.txt
	sed -i "1d" nodot_${chroi}.txt
	rm temp_${chroi}.txt
done

for chroi in ${chromesome[@]}
do
	for chroj in ${chromesome[@]} 
	do
		 cat nodot_${chroi}.txt | grep  -P "^${chroj}\t" >> newNodot_${chroj}.txt
	done
	rm nodot_${chroi}.txt
done

for chroi in ${chromesome[@]}
do
	echo "dealing ============> newNodot_${chroi}.txt"
	cat newNodot_${chroi}.txt | perl ../dbNSFP_sort.pl 7 8 > nodot_${chroi}.txt
	sed -i "1d" nodot_${chroi}.txt
	rm newNodot_${chroi}.txt
done

for chroi in ${chromesome[@]}
do 
	cat dot_${chroi}.txt >> dbNSFP${version}_hg19.txt
	rm dot_${chroi}.txt
done

for chroi in ${chromesome[@]}
do
	cat nodot_${chroi}.txt >> dbNSFP${version}_hg19.txt
	rm nodot_${chroi}.txt
done

最后

version="4.6a"
bgzip dbNSFP${version}_hg19.txt
tabix -s 1 -b 2 -e 2 dbNSFP${version}_hg19.txt.gz

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值