微信公眾號(hào):生物信息學(xué)習(xí)
如果各個(gè)樣本測(cè)的數(shù)據(jù)量相差較大,想把這些樣本downsample到相同的reads,可用以下方法:
目標(biāo)reads數(shù)為15000000垫竞,需要先計(jì)算出需要downsample的比例透揣,因?yàn)槲矣玫膁ownsample工具samtools無法downsample到特定reads數(shù)疏哗,只能downsample到一定的比例疲迂,因此想要downsample到固定reads,則需要先用目標(biāo)reads數(shù)/總reads數(shù)作為downsample的比例朱嘴,再用samtools提取reads倾鲫,代碼如下:
#samtools無法直接downsample到一個(gè)固定數(shù)目的reads
frac=$( samtools idxstats input.bam | cut -f3 | awk 'BEGIN {total=0} {total += $1} END {frac=15000000/total; if (frac > 1) {print 1} else {print frac}}' )
samtools view -s $frac input.bam > subsample.bam
最終就可以得到我們的目標(biāo)reads數(shù)很接近的reads了。