annotate rename_individuals.py @ 0:32f8fbdd754c default tip

Uploaded
author rico
date Fri, 06 Apr 2012 13:59:29 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
32f8fbdd754c Uploaded
rico
parents:
diff changeset
1 #!/usr/bin/env python
32f8fbdd754c Uploaded
rico
parents:
diff changeset
2
32f8fbdd754c Uploaded
rico
parents:
diff changeset
3 import sys
32f8fbdd754c Uploaded
rico
parents:
diff changeset
4 from Population import Population
32f8fbdd754c Uploaded
rico
parents:
diff changeset
5
32f8fbdd754c Uploaded
rico
parents:
diff changeset
6 input_file, output_file = sys.argv[1:3]
32f8fbdd754c Uploaded
rico
parents:
diff changeset
7 tags = sys.argv[3:]
32f8fbdd754c Uploaded
rico
parents:
diff changeset
8
32f8fbdd754c Uploaded
rico
parents:
diff changeset
9 aliases = {}
32f8fbdd754c Uploaded
rico
parents:
diff changeset
10
32f8fbdd754c Uploaded
rico
parents:
diff changeset
11 for tag in tags:
32f8fbdd754c Uploaded
rico
parents:
diff changeset
12 column, alias = tag.split(':', 1)
32f8fbdd754c Uploaded
rico
parents:
diff changeset
13 column = column.strip()
32f8fbdd754c Uploaded
rico
parents:
diff changeset
14 alias = alias.strip()
32f8fbdd754c Uploaded
rico
parents:
diff changeset
15 if alias:
32f8fbdd754c Uploaded
rico
parents:
diff changeset
16 aliases[column] = alias
32f8fbdd754c Uploaded
rico
parents:
diff changeset
17
32f8fbdd754c Uploaded
rico
parents:
diff changeset
18 p_total = Population()
32f8fbdd754c Uploaded
rico
parents:
diff changeset
19 p_total.from_population_file(input_file)
32f8fbdd754c Uploaded
rico
parents:
diff changeset
20
32f8fbdd754c Uploaded
rico
parents:
diff changeset
21 with open(output_file, 'w') as ofh:
32f8fbdd754c Uploaded
rico
parents:
diff changeset
22 for column in p_total.column_list():
32f8fbdd754c Uploaded
rico
parents:
diff changeset
23 individual = p_total.individual_with_column(column)
32f8fbdd754c Uploaded
rico
parents:
diff changeset
24 real_name = individual.real_name
32f8fbdd754c Uploaded
rico
parents:
diff changeset
25 rv = [column, real_name, '']
32f8fbdd754c Uploaded
rico
parents:
diff changeset
26 if column in aliases:
32f8fbdd754c Uploaded
rico
parents:
diff changeset
27 alias = aliases[column]
32f8fbdd754c Uploaded
rico
parents:
diff changeset
28 if alias != real_name:
32f8fbdd754c Uploaded
rico
parents:
diff changeset
29 rv[2] = alias
32f8fbdd754c Uploaded
rico
parents:
diff changeset
30 print >> ofh, '\t'.join(rv)
32f8fbdd754c Uploaded
rico
parents:
diff changeset
31
32f8fbdd754c Uploaded
rico
parents:
diff changeset
32 sys.exit(0)
32f8fbdd754c Uploaded
rico
parents:
diff changeset
33