Switch to side-by-side view

--- a
+++ b/singlecellmultiomics/utils/bigWigDiff.py
@@ -0,0 +1,48 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+import argparse
+import pyBigWig
+import numpy as np
+import pandas as pd
+
+
+if __name__=='__main__':
+
+    argparser = argparse.ArgumentParser(
+          formatter_class=argparse.ArgumentDefaultsHelpFormatter,
+          description='Calculate absolute difference between two bigwig files')
+
+    argparser.add_argument(
+        'file_A',
+        type=str)
+
+    argparser.add_argument(
+        'file_B',
+        type=str)
+
+    argparser.add_argument(
+        '-o',
+        type=str,
+        help="Output path (.bw)", required=True)
+
+
+    args = argparser.parse_args()
+
+    with pyBigWig.open(args.o,'w') as out, \
+         pyBigWig.open(args.file_A) as a, \
+         pyBigWig.open(args.file_B) as b:
+
+        out.addHeader(list( a.chroms().items()))
+        for contig in a.chroms():
+            try:
+                diff = pd.DataFrame( np.array( a.intervals(contig) )).set_index([0,1] ) - \
+                   pd.DataFrame( np.array( b.intervals(contig) )).set_index([0,1] )
+            except ValueError:
+                continue
+
+            chroms = [contig]*diff.shape[0]
+            starts = list([int(i) for i in diff.index.get_level_values(0)] )
+            ends = list([int(i) for i in diff.index.get_level_values(1)] )
+            values = list(diff.iloc[:,0].values)
+            out.addEntries(chroms,starts,ends=ends,values=values)