1 # Copyright (C) The Lightning Authors. All rights reserved.
3 # SPDX-License-Identifier: AGPL-3.0
13 X = numpy.load(infile)
19 with open(sys.argv[2], 'rt', newline='') as samplelist:
20 for row in csv.reader(samplelist):
22 samples.append(sampleid)
23 phenotype_column = int(sys.argv[4])
24 if os.path.isdir(sys.argv[3]):
25 phenotype_files = os.scandir(sys.argv[3])
27 phenotype_files = [sys.argv[3]]
28 for phenotype_file in phenotype_files:
29 with open(phenotype_file, 'rt', newline='') as phenotype:
30 dialect = csv.Sniffer().sniff(phenotype.read(1024))
32 for row in csv.reader(phenotype, dialect):
34 label = row[phenotype_column]
35 for sampleid in samples:
37 labels[sampleid] = label
73 for sampleid in samples:
74 if (sampleid in labels) and (labels[sampleid] in labelcolors):
75 colors.append(labelcolors[labels[sampleid]])
77 colors.append('black')
79 from matplotlib.figure import Figure
80 from matplotlib.patches import Polygon
81 from matplotlib.backends.backend_agg import FigureCanvasAgg
83 ax = fig.add_subplot(111)
84 ax.scatter(X[:,0], X[:,1], c=colors, s=60, marker='o', alpha=0.5)
85 canvas = FigureCanvasAgg(fig)
86 canvas.print_figure(sys.argv[5], dpi=80)