1、引入模块(有些模块是没有必要的),单线程。
数据格式:chr gene|exon|introns begin end 类型的数据。
大根堆调整算法。
这里$code() 等价了右孩子与左孩子的比对。
小根堆调整算法只需要将$code() > 0 和$code >= 0 替换为 $code < 0 和 $code <= 0 即可。
小根堆调整算法
堆排序
多列条件排序。这里优先为2、1、3列排序
PS:
perl这种传递函数参数的特性和内置的$a、$b变量很方便的完成了多列条件比对。