总想试试二分查找应用
问题:判断一个数值落在那个区间的个数
详细描述:
1. 设定 bin 的距离:
bin = 1x, 4x ,10x, 50x, 100x, 200x, 300x, 400x, 500x
2. 设定一组位点的深度:
depths = 431,401,23,354,452,123,.....
要求 :
1. 统计深度在的 分别1X~4X区间, 4X~10x区间 ...... 的位点的数目;
2. 统计深度在的 分别1X以上, 4X以上 ...... 的位点的数目;
应用 :
1. samtool depth 生成vcf , 进行分bin的统计, 比如1x 4x ,10x, 50x, 100x, ... 的点的个数;
2. 也可以应用 CNV 分bin 统计深度。
解决方案
思路:
1. 通过二分查找,确定每个深度在bin 的的下标;
2. 通过下标确定深度在bin 区间(左右边界);
比如 depth = 431 在bin 的index=8 (400x, 500x] += 1
复杂度:O(logn)
实现:bin_count
GitHub :https://github.com/JinYang-Law/bioScript.git
文章转载自罗大黑学生信,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




