考虑到awk中的交错值来获取总覆盖率

时间:2019-08-14 02:05:53

标签: awk

这是我的数据结构。

# id1    id2    len   start    end
# 9     16792   5475   4181     4232
# 11    16792   2317   1086     1137
# 11    32879   2317      8       60
# 11    32858   2317     10       52
# 11    30670   2317     17       63
# 14    12645    532      3       67
# 14    12645    532    158      222
# 14    11879    532      3      223
# 18    23847    644     64      285
# 18    30160    644     98      285
# 18    30160    644    345      477
# 18    30160    644    516      644

我想根据id1的长度(列len)获取id1的覆盖范围,并考虑所有条目的开始和结束值。 问题在于多个条目可以具有并列的值,因此考虑所有条目中的值会高估覆盖率。同样考虑最小的起始值和最大的终止值并不能解决所有问题,因为在没有表示所有长度的地方可能存在间隙。
另外,对于所包含的每个实体,我需要加1,以便说明整个覆盖范围。

我的预期结果应该是这样

9 = 51 / 5475  = 0.009
11 = 108 / 2317 = 0.047
14 = 221 / 532  = 0.415
18 = 484 / 644  = 0.75

0 个答案:

没有答案