# HG changeset patch # User Henry S. Thompson # Date 1700858409 0 # Node ID c42a5f7c97c5e82961eeabb1028c7cdc3a5cc06e # Parent a5d54736a77faf06425d327f52006704e8668fea renamed to by_interval.py diff -r a5d54736a77f -r c42a5f7c97c5 bin/by_year.py --- a/bin/by_year.py Fri Nov 24 20:39:08 2023 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,45 +0,0 @@ -#!/usr/bin/python3 -'''Split stamped data by year -Usage: origin-year output-dir by_year.py year-file sorted-ks-file.tsv [field] -If field is given, ks-file is tsv and stamp is in that field, -which, as for cut, is 1-origin''' - -import sys, os, os.path - -if len(sys.argv)>5: - (origin, outdir, year_file, in_file, field) = sys.argv[1:] - field=int(field)-1 -else: - (origin, outdir, year_file, in_file) = sys.argv[1:] - field=3 - -if not os.access(outdir,os.F_OK): - os.mkdir(outdir) - -origin = int(origin) -current = origin -is_first = True -with open(year_file,'r') as years, open(in_file,'r') as stamped: - y = years.readline() - l = stamped.readline() - while y: - y = float(y) - if is_first: - ysuf = 'prev' - else: - ysuf = str(current-1) - with open(os.path.join(outdir,'ks_%s.tsv'%ysuf),'w') as y_file: - while l: - if float(l.split('\t')[field]) < y: - y_file.write(l) - else: - break - l = stamped.readline() - y = years.readline() - current += 1 - is_first = False - else: - with open(os.path.join(outdir,'ks_post.tsv'),'w') as y_file: - while l: - y_file.write(l) - l = stamped.readline()