annotate rename_individuals.py @ 0:939c20789501 default tip

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