annotate rename_individuals.py @ 0:99a67ac88802 default tip

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