diff median_size.py @ 0:4e629e82c5b1 draft default tip

planemo upload commit a820b38dea9a409c11e220ba904da232fdbc4c05
author estrain
date Fri, 13 Mar 2026 12:51:10 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/median_size.py	Fri Mar 13 12:51:10 2026 +0000
@@ -0,0 +1,26 @@
+#!/usr/bin/env
+
+## Errol Strain (estrain@gmail.com)
+## calculate median insert size from sam file
+
+import numpy as np
+
+def get_data(infile):
+    lengths = []
+    for line in infile:
+        if line.startswith('@'):
+            pass
+        else:
+            line = line.rsplit()
+            length = int(line[8])
+            if length > 0:
+                lengths.append(length)
+            else:
+                pass
+    return lengths
+
+if __name__ == "__main__":
+    import sys
+    lengths = get_data(sys.stdin)
+    md = int(np.median(lengths))
+print(md)