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