Mercurial > repos > bgruening > sklearn_clf_metrics
annotate to_categorical.py @ 42:9fdff01a34b0 draft
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 9981e25b00de29ed881b2229a173a8c812ded9bb
| author | bgruening | 
|---|---|
| date | Wed, 09 Aug 2023 12:37:34 +0000 | 
| parents | fc0801adfba1 | 
| children | 
| rev | line source | 
|---|---|
| 
35
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
1 import argparse | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
2 import json | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
3 import warnings | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
4 | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
5 import numpy as np | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
6 import pandas as pd | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
7 from keras.utils import to_categorical | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
8 | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
9 | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
10 def main(inputs, infile, outfile, num_classes=None): | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
11 """ | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
12 Parameter | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
13 --------- | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
14 input : str | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
15 File path to galaxy tool parameter | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
16 | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
17 infile : str | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
18 File paths of input vector | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
19 | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
20 outfile : str | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
21 File path to output matrix | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
22 | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
23 num_classes : str | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
24 Total number of classes. If None, this would be inferred as the (largest number in y) + 1 | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
25 | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
26 """ | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
27 warnings.simplefilter("ignore") | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
28 | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
29 with open(inputs, "r") as param_handler: | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
30 params = json.load(param_handler) | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
31 | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
32 input_header = params["header0"] | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
33 header = "infer" if input_header else None | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
34 | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
35 input_vector = pd.read_csv(infile, sep="\t", header=header) | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
36 | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
37 output_matrix = to_categorical(input_vector, num_classes=num_classes) | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
38 | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
39 np.savetxt(outfile, output_matrix, fmt="%d", delimiter="\t") | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
40 | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
41 | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
42 if __name__ == "__main__": | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
43 aparser = argparse.ArgumentParser() | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
44 aparser.add_argument("-i", "--inputs", dest="inputs", required=True) | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
45 aparser.add_argument("-y", "--infile", dest="infile") | 
| 
36
 
fc0801adfba1
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ca87db9c038a6fcf96aa39da50f384865fd932ff"
 
bgruening 
parents: 
35 
diff
changeset
 | 
46 aparser.add_argument( | 
| 
 
fc0801adfba1
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ca87db9c038a6fcf96aa39da50f384865fd932ff"
 
bgruening 
parents: 
35 
diff
changeset
 | 
47 "-n", "--num_classes", dest="num_classes", type=int, default=None | 
| 
 
fc0801adfba1
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ca87db9c038a6fcf96aa39da50f384865fd932ff"
 
bgruening 
parents: 
35 
diff
changeset
 | 
48 ) | 
| 
35
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
49 aparser.add_argument("-o", "--outfile", dest="outfile") | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
50 args = aparser.parse_args() | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
51 | 
| 
 
3c5034b0d775
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 
bgruening 
parents:  
diff
changeset
 | 
52 main(args.inputs, args.infile, args.outfile, args.num_classes) | 
