From ee9331d05cefbb804aa78e560b6ac9da71d0fc28 Mon Sep 17 00:00:00 2001 From: Andrea Telatin <15690844+telatin@users.noreply.github.com> Date: Sun, 6 Feb 2022 20:10:53 +0000 Subject: [PATCH] pre-2.6.0-counts --- bin/covtotarget | Bin 516824 -> 516824 bytes bin/gff2bed | Bin 501992 -> 501992 bytes input/someregions.bed | 5 +++++ input/unsorted.bam | Bin 0 -> 475 bytes scripts/bedToGtf.py | 27 +++++++++++++++++++++++++++ scripts/comparecounts.py | 19 +++++++++++++++++++ src/bamtocounts.nim | 28 ++++++++++++++++++++-------- src/covutils.nim | 6 +++++- 8 files changed, 76 insertions(+), 9 deletions(-) create mode 100644 input/someregions.bed create mode 100644 input/unsorted.bam create mode 100755 scripts/bedToGtf.py create mode 100755 scripts/comparecounts.py diff --git a/bin/covtotarget b/bin/covtotarget index 64c039462cff2f0da656bb90b7b59c2645ed9678..e4c4f2932d3b7d455c7b755fc32f283e99aa4211 100755 GIT binary patch delta 34421 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 diff --git a/input/someregions.bed b/input/someregions.bed new file mode 100644 index 0000000..c9f1685 --- /dev/null +++ b/input/someregions.bed @@ -0,0 +1,5 @@ +seq1 5 112 include_5 +seq1 410 532 overlap_2 +seq1 800 950 empty1_0 +seq2 300 532 shared1_10 +seq2 566 769 shared2_10 diff --git a/input/unsorted.bam b/input/unsorted.bam new file mode 100644 index 0000000000000000000000000000000000000000..69b6a6361360da403f8da8a10c4eb88c04dd1b1e GIT binary patch literal 475 zcmb2|=3rp}f&Xj_PR>jWj~S+3xXsmMz`*vvwPfSGB>e|ws=Gd%@>+4=jKHq>N`@D7 z=SuB$^1qdw!X|gBNssOKf7yK-pC*~_>SfqqW@fW%S>N*u_h)AcriLG!l#%t5{l)HO zT|u%|SFM(Axh%;nn`@oVyM5crh)Ld(+Ans#-LtKPE8Oq$!b$GpOIYocHu6OJ_{B`~ z;qY^cyk^~T%Bjil;iH%*Di50;zxuGd`RlwVmHR_gH_K#xk~c}K>_JWc1t^SyhlCUMu{^#_K|x2*H_GBPm8qxta`!{x+=20b-4Ha=;8MK_KA z_96{8B9|Uj{n#eR!{F)*rbqGIN$UXS2BpIJr1GN)KKXy|+C8msv36a)%; z2Io1+K8XL^xXc4a9J<$}8JNMb2_gUq1HXs> literal 0 HcmV?d00001 diff --git a/scripts/bedToGtf.py b/scripts/bedToGtf.py new file mode 100755 index 0000000..f0fac58 --- /dev/null +++ b/scripts/bedToGtf.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python + +import argparse, sys + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="Convert bed file to gtf file.") + parser.add_argument("bed", help="Input bed file.") + parser.add_argument("gtf", help="Output gtf file.") + args = parser.parse_args() + + if args.gtf: + outfile = open(args.gtf, "w") + else: + outfile = sys.stdout + with open(args.bed) as f: + for line in f: + line = line.strip() + if line: + + fields = line.split() + + chrom, start, end, name = fields[0], fields[1], fields[2], fields[3] + strand = "+" + #chr2 215593349 215593782 REG1 + #seq1 bamtocov exon 5 111 . + . gene_id "include_5" + print(f"{chrom}\tbamtocov\texon\t{start}\t{end}\t.\t{strand}\t.\tgene_id \"{name}\"", file=outfile) + \ No newline at end of file diff --git a/scripts/comparecounts.py b/scripts/comparecounts.py new file mode 100755 index 0000000..bdad1cb --- /dev/null +++ b/scripts/comparecounts.py @@ -0,0 +1,19 @@ +#!/usr/bin/env python3 +import sys +inputfile = sys.argv[1] + +with open(inputfile) as f: + totaldelta = 0 + for line in f: + line = line.strip() + if line: + fields = line.split() + id1, c1, id2, c2 = fields[0], fields[1], fields[2], fields[3] + if id1 == id2: + delta = int(c2) - int(c1) + p = delta / (int(c2)) * 100 if int(c2) > 0 else 0 + + totaldelta += delta + print(f"{id1}\t{delta}\t{p:.2f}\t{c1},{c2}") + + print(f"Total delta: {totaldelta}") \ No newline at end of file diff --git a/src/bamtocounts.nim b/src/bamtocounts.nim index 5c6e89c..c38c201 100644 --- a/src/bamtocounts.nim +++ b/src/bamtocounts.nim @@ -19,6 +19,7 @@ proc handler() {.noconv.} = setControlCHook(handler) var + do_strict = false do_norm = false debug = false verbose = false @@ -67,13 +68,20 @@ proc countsToString(c: stranded_counts, stranded: bool): string = else: $(c.fwd + c.rev) -proc alignments_count(table: var OrderedTable[string, stranded_counts], bam:Bam, mapq:uint8, eflag:uint16, regions: target_t): float = +proc alignments_count(table: var OrderedTable[string, stranded_counts], bam:Bam, mapq:uint8, eflag:uint16, regions: target_t, strict = false): float = var total: float = 0 for read in bam: total += 1 + if read.tid notin regions: + continue + if read.mapping_quality == 0 or ( (read.flag and 1796) != 0): + continue + for region in regions[read.tid]: - #if read.start >= region.start and read.stop <= region.stop: - if (read.stop >= region.start and read.stop <= region.stop) or (read.start >= region.start and read.start <= region.stop): + + if (read.stop >= region.start and read.stop <= region.stop) or (read.start >= region.start and read.start <= region.stop): + if strict and ( read.start < region.start or read.stop > region.stop ): + continue table[region.label].inc(read.flag.reverse) return total / 1000000 @@ -108,6 +116,7 @@ Options: -r, --fasta FASTA file for use with CRAM files [default: $env_fasta]. -F, --flag Exclude reads with any of the bits in FLAG set [default: 1796] -Q, --mapq Mapping quality threshold [default: 0] + --strict Read must be contained, not just overlap, with feature --stranded Print strand-specific counts --coords Also print coordinates of each feature @@ -137,6 +146,7 @@ Options: do_norm = bool(args["--norm-len"]) do_strand = bool(args["--stranded"]) do_coords = bool(args["--coords"]) + do_strict = bool(args["--strict"]) debug = bool(args["--debug"]) verbose = bool(args["--verbose"]) gffIdentifier = $args["--id"] @@ -183,18 +193,20 @@ Options: try: targetTable = gff_to_table($args[""], gffField, gffSeparator, gffIdentifier) except Exception as e: - stderr.writeLine("ERROR: Unable to parse GFF file: ", $args[""]) + stderr.writeLine("ERROR: Unable to parse GFF file: ", $args[""], ": ", e.msg) quit(1) else: try: targetTable = bed_to_table($args[""]) except Exception as e: - stderr.writeLine("ERROR: Unable to parse BED file: ", $args[""]) + stderr.writeLine("ERROR: Unable to parse BED file: ", $args[""], ": ", e.msg) quit(1) if debug: stderr.writeLine("[OK] Target table loaded") + + #stderr.writeLine("Target table: ", targetTable) if len(targetTable) == 0: stderr.writeLine("ERROR: No target regions found (try changing --id and --type): see an example line below") @@ -213,10 +225,10 @@ Options: for index, chrName in bam.hdr.targets: #feature_coords = tuple[chrom, starts, stops, name] if debug: - stderr.writeLine(" > BAM targets: ", chrName, "-", index) + stderr.writeLine(" > BAM targets: ", chrName, " - index:", index) if index in cookedTarget: if debug: - stderr.writeLine(" + Coocked targets: ", chrName, "-", index) + stderr.writeLine(" + Coocked targets: ", chrName, " - index:", index) for interval in cookedTarget[index]: let c : feature_coords = (chrom: chrName.name, starts: $interval.start, stops: $interval.stop, name: interval.label, length: int(interval.stop - interval.start)) @@ -253,7 +265,7 @@ Options: if debug: stderr.writeLine("\\/ Target regions: ", len(targetCounts)) - let perMillion = targetCounts.alignments_count(bam, uint8(mapq), eflag, cookedTarget) + let perMillion = targetCounts.alignments_count(bam, uint8(mapq), eflag, cookedTarget, do_strict) if debug: stderr.writeLine("/\\ Counts done: ", perMillion) diff --git a/src/covutils.nim b/src/covutils.nim index 82f84b0..221a2e9 100644 --- a/src/covutils.nim +++ b/src/covutils.nim @@ -254,16 +254,20 @@ proc gff_line_to_region*(line: string, gffField = "CDS", gffSeparator = ";", gff # Try splitting on "=" if len(splittedField) == 2: reg.name = splittedField[1].strip(chars = {'"', '\'', ' '}) + break else: let resplittedField = gffAnnotPart.split(" ") if len(resplittedField) == 2: - reg.name = resplittedField[0].strip(chars = {'"', '\'', ' '}) + reg.name = resplittedField[1].strip(chars = {'"', '\'', ' '}) + break else: reg.name = "Error" + break + except Exception as e: stderr.write_line("[warning] fields 8 is not a string):", cse[8], "\n ", e.msg) return nil