BedTotalSize: Difference between revisions
From genomewiki
Jump to navigationJump to search
No edit summary |
No edit summary |
||
Line 27: | Line 27: | ||
print "Total length of all features: "+str(sum) | print "Total length of all features: "+str(sum) | ||
</pre> | |||
<pre> | |||
# you could also do this in awk with the single line statement: | |||
# | |||
# awk '{sum += $3-$2}END{printf "total size: %d\n",sum}' file.bed | |||
# | |||
# Plus, I don't think you want to add 1 to your stop-start calculation. | |||
# This relates to the subtle nature of the "0-relative" vs. "1-relative" | |||
# coordinate systems. When in 0-relative you don't need the + or - 1's anywhere. | |||
</pre> | </pre> |
Revision as of 16:49, 11 August 2006
#!/usr/bin/env python from sys import * import sys from re import * if len(argv)==2: print " Will read bed-style features from stdin" print " Will add all features-lengths together" print "" print " SYNTAX: " print " totalSize " exit() line = sys.stdin.readline() sum = 0 while line!="": fields = line.split() start = int(fields[1]) stop = int(fields[2]) sum += (stop-start+1) line = sys.stdin.readline() print "Total length of all features: "+str(sum)
# you could also do this in awk with the single line statement: # # awk '{sum += $3-$2}END{printf "total size: %d\n",sum}' file.bed # # Plus, I don't think you want to add 1 to your stop-start calculation. # This relates to the subtle nature of the "0-relative" vs. "1-relative" # coordinate systems. When in 0-relative you don't need the + or - 1's anywhere.