@@ -18,6 +18,13 @@ when defined(d4):
1818var precision: int
1919var output_summary_header = true
2020
21+ const
22+ TbxUcscPreset * = 0x 10000 'i32
23+
24+ proc set_bed_tbx_preset * (bgzi: var BGZI ) {.inline .} =
25+ if bgzi != nil :
26+ bgzi.csi.tbx.conf.preset = TbxUcscPreset
27+
2128try :
2229 var tmp = getEnv (" MOSDEPTH_PRECISION" )
2330 precision = parse_int (tmp)
@@ -636,14 +643,17 @@ proc main(bam: hts.Bam, chrom: region_t, mapq: int, min_len: int, max_len: int,
636643 else :
637644 fbase = wopen_bgzi (prefix & " .per-base.bed.gz" , 1 , 2 , 3 , true ,
638645 compression_level = 1 , levels = levels)
646+ fbase.set_bed_tbx_preset ()
639647 # open(fbase, prefix & ".per-base.bed.gz", "w1")
640648 if quantize.len != 0 :
641649 fquantize = wopen_bgzi (prefix & " .quantized.bed.gz" , 1 , 2 , 3 , true ,
642650 compression_level = 1 , levels = levels)
651+ fquantize.set_bed_tbx_preset ()
643652
644653 if thresholds.len != 0 :
645654 fthresholds = wopen_bgzi (prefix & " .thresholds.bed.gz" , 1 , 2 , 3 , true ,
646655 compression_level = 1 , levels = levels)
656+ fthresholds.set_bed_tbx_preset ()
647657 fthresholds.write_header (thresholds)
648658
649659 if not open (fh_global_dist, prefix & " .mosdepth.global.dist.txt" , fmWrite):
@@ -659,6 +669,7 @@ proc main(bam: hts.Bam, chrom: region_t, mapq: int, min_len: int, max_len: int,
659669 if region != " " :
660670 fregion = wopen_bgzi (prefix & " .regions.bed.gz" , 1 , 2 , 3 , true ,
661671 levels = levels)
672+ fregion.set_bed_tbx_preset ()
662673 if region.isdigit ():
663674 window = uint32 (S.parse_int (region))
664675 else :
@@ -969,4 +980,3 @@ Other options:
969980 main (bam, chrom, mapq, min_len, max_len, eflag, iflag, region, thresholds,
970981 fast_mode, args, use_median = use_median, fragment_mode = fragment_mode,
971982 use_d4 = use_d4)
972-
0 commit comments