51 lines
1.0 KiB
Python
51 lines
1.0 KiB
Python
#!/usr/bin/env python
|
|
|
|
import sys, os, re
|
|
|
|
|
|
|
|
def main():
|
|
|
|
usage = "\n\n\tusage: {} STAR.Log.final.out [STAR.Log.final.out ...]\n\n".format(sys.argv[0])
|
|
if len(sys.argv) < 2:
|
|
exit(usage)
|
|
|
|
tokens = ['sample_name']
|
|
|
|
processed_first = False
|
|
files = sys.argv[1:]
|
|
|
|
for log_filename in files:
|
|
|
|
token_to_val = { 'sample_name' : log_filename }
|
|
|
|
with open(log_filename) as fh:
|
|
for line in fh:
|
|
line = line.rstrip()
|
|
vals = line.split("|")
|
|
if len(vals) != 2:
|
|
continue
|
|
key = vals[0].strip()
|
|
val = vals[1].strip()
|
|
if not processed_first:
|
|
tokens.append(key)
|
|
|
|
token_to_val[key] = val
|
|
|
|
if not processed_first:
|
|
# print header
|
|
print("\t".join(tokens))
|
|
processed_first = True
|
|
|
|
|
|
vals = [token_to_val[x] for x in tokens]
|
|
print("\t".join(vals))
|
|
|
|
|
|
sys.exit(0)
|
|
|
|
|
|
|
|
if __name__=='__main__':
|
|
main()
|