Mercurial > repos > dereeper > pangenome_explorer
comparison Python/Heatmap.py @ 3:e42d30da7a74 draft
Uploaded
author | dereeper |
---|---|
date | Thu, 30 May 2024 11:52:25 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
2:97e4e3e818b6 | 3:e42d30da7a74 |
---|---|
1 import numpy as np | |
2 import pandas as pd | |
3 import seaborn as sns | |
4 import plotly.express as px | |
5 import xarray as xr | |
6 | |
7 import sys, getopt | |
8 | |
9 np.bool = np.bool_ | |
10 | |
11 | |
12 def main(argv): | |
13 inputfile = '' | |
14 outputfile = '' | |
15 try: | |
16 opts, args = getopt.getopt(argv,"hi:o:",["ifile=","ofile="]) | |
17 except getopt.GetoptError: | |
18 print ('Heatmap.py -i <inputfile> -o <outputfile>') | |
19 sys.exit(2) | |
20 for opt, arg in opts: | |
21 if opt == '-h': | |
22 print ('Heatmap.py -i <inputfile> -o <outputfile>') | |
23 sys.exit() | |
24 elif opt in ("-i", "--ifile"): | |
25 inputfile = arg | |
26 elif opt in ("-o", "--ofile"): | |
27 outputfile = arg | |
28 print ('Input file is "', inputfile) | |
29 print ('Output file is "', outputfile) | |
30 | |
31 data = pd.read_csv(inputfile, sep='\t') | |
32 | |
33 #data.drop(columns=data.columns[0], axis=1, inplace=True) | |
34 | |
35 data2 = pd.read_csv(inputfile, sep='\t', header=None) | |
36 data2.drop(index=data2.index[0], axis=0, inplace=True) | |
37 data3 = data2[data2.columns[1:]] | |
38 data3_transposed = data3.T | |
39 | |
40 myList = list(data.columns) | |
41 del myList[0] | |
42 | |
43 myClusters = list(data['ClutserID']) | |
44 | |
45 fig = px.imshow(data3_transposed, | |
46 x=myClusters, | |
47 y=myList, | |
48 labels=dict(y="Strains", x="Clusters"), | |
49 height = 900,width = 900, | |
50 color_continuous_scale=["lightgrey", "red","green"] | |
51 ) | |
52 | |
53 fig.update_traces(hovertemplate="<br>".join(["Cluster: %{x}","Strain: %{y}"])) | |
54 fig.update_coloraxes(showscale=False) | |
55 fig.update_layout(xaxis_scaleanchor="x") | |
56 fig.write_html(outputfile) | |
57 | |
58 if __name__ == "__main__": | |
59 main(sys.argv[1:]) |