我们经常困惑于多少的Hi-C数据才可以满足分析的要求,一般认为分析A/B compartment 至少需要达到100kb的分辨率,TADs至少需要达到40kb分辨率,loops至少需要达到10kb的分辨率。根据(Rao et al.,2014)的研究表明判断数据是否达到该分辨率的一个标准是在该分辨率下若80%的bin有>1000条reads覆盖即说明达到了该分辨率。值得注意的是这里用reads计算而不是fragements,每个有效互作应由一对reads进行确定。下面是计算过程和结果,输入文件为HiC-Pro得到的matrix矩阵和abs.bed文件。
for i in {10000,20000,40000,150000,500000};
do
valid_bin=`awk 'BEGIN{PROCINFO["sorted_in"] = "@ind_num_asc"}{fline[$1]+=$3;sline[$2]+=$3}END{for(i in fline)print fline[i]+sline[i]}' sample1_${i}.matrix | awk '$1>1000{valid++}END{print valid}'`
total_bin=`wc -l sample1_${i}_abs.bed |cut -d " " -f 1`
awk -v valid_bin=$valid_bin -v total_bin=$total_bin 'BEGIN{print "'$i'",valid_bin/total_bin}'
done
脚本运行结果: