Mercurial > repos > devteam > merge_cols
annotate mergeCols.py @ 3:ae7843d06f8f draft default tip
"planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/merge_cols commit ed2daf7024ea79a04bbb4a0896b9402ab2daf89f"
author | devteam |
---|---|
date | Thu, 16 Jul 2020 04:37:14 -0400 |
parents | dd40b1e9eebe |
children |
rev | line source |
---|---|
2
dd40b1e9eebe
"planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/merge_cols commit dc2e3b631f515e905d5645baa4fb49df8e8cc0d5"
devteam
parents:
0
diff
changeset
|
1 import sys |
0 | 2 |
3 | |
4 def __main__(): | |
2
dd40b1e9eebe
"planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/merge_cols commit dc2e3b631f515e905d5645baa4fb49df8e8cc0d5"
devteam
parents:
0
diff
changeset
|
5 if len(sys.argv) < 4: |
dd40b1e9eebe
"planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/merge_cols commit dc2e3b631f515e905d5645baa4fb49df8e8cc0d5"
devteam
parents:
0
diff
changeset
|
6 sys.exit('No columns to merge\n') |
0 | 7 else: |
2
dd40b1e9eebe
"planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/merge_cols commit dc2e3b631f515e905d5645baa4fb49df8e8cc0d5"
devteam
parents:
0
diff
changeset
|
8 cols = sys.argv[3:] |
0 | 9 |
3
ae7843d06f8f
"planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/merge_cols commit ed2daf7024ea79a04bbb4a0896b9402ab2daf89f"
devteam
parents:
2
diff
changeset
|
10 with open(sys.argv[1], 'r') as infile, open(sys.argv[2], 'w') as outfile: |
ae7843d06f8f
"planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/merge_cols commit ed2daf7024ea79a04bbb4a0896b9402ab2daf89f"
devteam
parents:
2
diff
changeset
|
11 skipped_lines = 0 |
ae7843d06f8f
"planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/merge_cols commit ed2daf7024ea79a04bbb4a0896b9402ab2daf89f"
devteam
parents:
2
diff
changeset
|
12 for line in infile: |
ae7843d06f8f
"planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/merge_cols commit ed2daf7024ea79a04bbb4a0896b9402ab2daf89f"
devteam
parents:
2
diff
changeset
|
13 line = line.rstrip('\r\n') |
ae7843d06f8f
"planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/merge_cols commit ed2daf7024ea79a04bbb4a0896b9402ab2daf89f"
devteam
parents:
2
diff
changeset
|
14 if line and not line.startswith('#'): |
ae7843d06f8f
"planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/merge_cols commit ed2daf7024ea79a04bbb4a0896b9402ab2daf89f"
devteam
parents:
2
diff
changeset
|
15 fields = line.split('\t') |
ae7843d06f8f
"planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/merge_cols commit ed2daf7024ea79a04bbb4a0896b9402ab2daf89f"
devteam
parents:
2
diff
changeset
|
16 line += '\t' |
ae7843d06f8f
"planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/merge_cols commit ed2daf7024ea79a04bbb4a0896b9402ab2daf89f"
devteam
parents:
2
diff
changeset
|
17 for col in cols: |
ae7843d06f8f
"planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/merge_cols commit ed2daf7024ea79a04bbb4a0896b9402ab2daf89f"
devteam
parents:
2
diff
changeset
|
18 try: |
ae7843d06f8f
"planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/merge_cols commit ed2daf7024ea79a04bbb4a0896b9402ab2daf89f"
devteam
parents:
2
diff
changeset
|
19 line += fields[int(col) - 1] |
ae7843d06f8f
"planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/merge_cols commit ed2daf7024ea79a04bbb4a0896b9402ab2daf89f"
devteam
parents:
2
diff
changeset
|
20 except Exception: |
ae7843d06f8f
"planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/merge_cols commit ed2daf7024ea79a04bbb4a0896b9402ab2daf89f"
devteam
parents:
2
diff
changeset
|
21 skipped_lines += 1 |
0 | 22 |
3
ae7843d06f8f
"planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/merge_cols commit ed2daf7024ea79a04bbb4a0896b9402ab2daf89f"
devteam
parents:
2
diff
changeset
|
23 outfile.write("{}\n".format(line)) |
2
dd40b1e9eebe
"planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/merge_cols commit dc2e3b631f515e905d5645baa4fb49df8e8cc0d5"
devteam
parents:
0
diff
changeset
|
24 |
0 | 25 if skipped_lines > 0: |
2
dd40b1e9eebe
"planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/merge_cols commit dc2e3b631f515e905d5645baa4fb49df8e8cc0d5"
devteam
parents:
0
diff
changeset
|
26 print('Skipped %d invalid lines' % skipped_lines) |
dd40b1e9eebe
"planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/merge_cols commit dc2e3b631f515e905d5645baa4fb49df8e8cc0d5"
devteam
parents:
0
diff
changeset
|
27 |
dd40b1e9eebe
"planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/merge_cols commit dc2e3b631f515e905d5645baa4fb49df8e8cc0d5"
devteam
parents:
0
diff
changeset
|
28 |
dd40b1e9eebe
"planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/merge_cols commit dc2e3b631f515e905d5645baa4fb49df8e8cc0d5"
devteam
parents:
0
diff
changeset
|
29 if __name__ == "__main__": |
dd40b1e9eebe
"planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/merge_cols commit dc2e3b631f515e905d5645baa4fb49df8e8cc0d5"
devteam
parents:
0
diff
changeset
|
30 __main__() |