Run "filter" and "export" in arvados containers.
[lightning.git] / example-1kg-plot.py
1 #!/usr/bin/env python
2
3 import csv
4 import os
5 import scipy
6 import sys
7
8 infile = sys.argv[1]
9 X = scipy.load(infile)
10
11 colors = None
12 if len(sys.argv) > 2:
13     labels = {}
14     for fnm in os.listdir(sys.argv[3]):
15         if '.2.fasta' not in fnm:
16             labels[fnm] = '---'
17     if len(labels) != len(X):
18         raise "len(inputdir) != len(inputarray)"
19     with open(sys.argv[2], 'rb') as csvfile:
20         for row in csv.reader(csvfile):
21             ident=row[0]
22             label=row[1]
23             for fnm in labels:
24                 if row[0] in fnm:
25                     labels[fnm] = row[1]
26     colors = []
27     labelcolors = {
28         'PUR': 'firebrick',
29         'CLM': 'firebrick',
30         'MXL': 'firebrick',
31         'PEL': 'firebrick',
32         'TSI': 'green',
33         'IBS': 'green',
34         'CEU': 'green',
35         'GBR': 'green',
36         'FIN': 'green',
37         'LWK': 'coral',
38         'MSL': 'coral',
39         'GWD': 'coral',
40         'YRI': 'coral',
41         'ESN': 'coral',
42         'ACB': 'coral',
43         'ASW': 'coral',
44         'KHV': 'royalblue',
45         'CDX': 'royalblue',
46         'CHS': 'royalblue',
47         'CHB': 'royalblue',
48         'JPT': 'royalblue',
49         'STU': 'blueviolet',
50         'ITU': 'blueviolet',
51         'BEB': 'blueviolet',
52         'GIH': 'blueviolet',
53         'PJL': 'blueviolet',
54     }
55     for fnm in sorted(labels.keys()):
56         colors.append(labelcolors[labels[fnm]])
57
58 from matplotlib.figure import Figure
59 from matplotlib.patches import Polygon
60 from matplotlib.backends.backend_agg import FigureCanvasAgg
61 fig = Figure()
62 ax = fig.add_subplot(111)
63 ax.scatter(X[:,0], X[:,1], c=colors, s=60, marker='o', alpha=0.5)
64 canvas = FigureCanvasAgg(fig)
65 canvas.print_figure(infile+".png", dpi=80)