annotate rename_individuals.py @ 0:4d28d3295ac3 default tip

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