- Notifications
You must be signed in to change notification settings - Fork 406
/
Copy pathexpand-clade-definitions
executable file
·34 lines (25 loc) · 1.07 KB
/
expand-clade-definitions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/usr/bin/env python3
"""
usage: expand-clade-definitions <clades.tsv>
Reads in a clade definitions file suitable for `augur clades` and expands any
hierarchically-defined clades (i.e. clade definitions that inherit from earlier
clade definitions).
This should probably become a part of Augur in the future, as it's useful for
programmatic manipulation of clade definitions files.
"""
importcsv
fromaugur.cladesimportread_in_clade_definitions
fromsysimportstdout
defwrite_out_clade_definitions(file, defs):
out=csv.writer(file, dialect="excel-tab", lineterminator="\n")
out.writerow(("clade", "gene", "site", "alt"))
out.writerows(
(clade, gene, site+1, alt)
forclade, mutsindefs.items()
forgene, site, altinmuts)
if__name__=="__main__":
fromargparseimportArgumentParser
cli=ArgumentParser(description=__doc__.strip().split("\n\n", 1)[1])
cli.add_argument("clades", metavar="<clades.tsv>")
args=cli.parse_args()
write_out_clade_definitions(stdout, read_in_clade_definitions(args.clades))