Mercurial > repos > bgruening > sklearn_stacking_ensemble_models
annotate to_categorical.py @ 10:ac40a2fe5750 draft
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
| author | bgruening | 
|---|---|
| date | Tue, 13 Apr 2021 17:21:05 +0000 | 
| parents | |
| children | b8378d4791b7 | 
| rev | line source | 
|---|---|
| 10 
ac40a2fe5750
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 bgruening parents: diff
changeset | 1 import argparse | 
| 
ac40a2fe5750
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 bgruening parents: diff
changeset | 2 import json | 
| 
ac40a2fe5750
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 bgruening parents: diff
changeset | 3 import warnings | 
| 
ac40a2fe5750
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 bgruening parents: diff
changeset | 4 | 
| 
ac40a2fe5750
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 bgruening parents: diff
changeset | 5 import numpy as np | 
| 
ac40a2fe5750
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 bgruening parents: diff
changeset | 6 import pandas as pd | 
| 
ac40a2fe5750
"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 | 
| 
ac40a2fe5750
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 bgruening parents: diff
changeset | 8 | 
| 
ac40a2fe5750
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 bgruening parents: diff
changeset | 9 | 
| 
ac40a2fe5750
"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): | 
| 
ac40a2fe5750
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 bgruening parents: diff
changeset | 11 """ | 
| 
ac40a2fe5750
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 bgruening parents: diff
changeset | 12 Parameter | 
| 
ac40a2fe5750
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 bgruening parents: diff
changeset | 13 --------- | 
| 
ac40a2fe5750
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 bgruening parents: diff
changeset | 14 input : str | 
| 
ac40a2fe5750
"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 | 
| 
ac40a2fe5750
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 bgruening parents: diff
changeset | 16 | 
| 
ac40a2fe5750
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 bgruening parents: diff
changeset | 17 infile : str | 
| 
ac40a2fe5750
"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 | 
| 
ac40a2fe5750
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 bgruening parents: diff
changeset | 19 | 
| 
ac40a2fe5750
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 bgruening parents: diff
changeset | 20 outfile : str | 
| 
ac40a2fe5750
"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 | 
| 
ac40a2fe5750
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 bgruening parents: diff
changeset | 22 | 
| 
ac40a2fe5750
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 bgruening parents: diff
changeset | 23 num_classes : str | 
| 
ac40a2fe5750
"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 | 
| 
ac40a2fe5750
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 bgruening parents: diff
changeset | 25 | 
| 
ac40a2fe5750
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 bgruening parents: diff
changeset | 26 """ | 
| 
ac40a2fe5750
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 bgruening parents: diff
changeset | 27 warnings.simplefilter("ignore") | 
| 
ac40a2fe5750
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 bgruening parents: diff
changeset | 28 | 
| 
ac40a2fe5750
"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: | 
| 
ac40a2fe5750
"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) | 
| 
ac40a2fe5750
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 bgruening parents: diff
changeset | 31 | 
| 
ac40a2fe5750
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 bgruening parents: diff
changeset | 32 input_header = params["header0"] | 
| 
ac40a2fe5750
"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 | 
| 
ac40a2fe5750
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 bgruening parents: diff
changeset | 34 | 
| 
ac40a2fe5750
"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) | 
| 
ac40a2fe5750
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 bgruening parents: diff
changeset | 36 | 
| 
ac40a2fe5750
"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) | 
| 
ac40a2fe5750
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 bgruening parents: diff
changeset | 38 | 
| 
ac40a2fe5750
"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") | 
| 
ac40a2fe5750
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 bgruening parents: diff
changeset | 40 | 
| 
ac40a2fe5750
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 bgruening parents: diff
changeset | 41 | 
| 
ac40a2fe5750
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 bgruening parents: diff
changeset | 42 if __name__ == "__main__": | 
| 
ac40a2fe5750
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 bgruening parents: diff
changeset | 43 aparser = argparse.ArgumentParser() | 
| 
ac40a2fe5750
"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) | 
| 
ac40a2fe5750
"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") | 
| 
ac40a2fe5750
"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) | 
| 
ac40a2fe5750
"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") | 
| 
ac40a2fe5750
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 bgruening parents: diff
changeset | 48 args = aparser.parse_args() | 
| 
ac40a2fe5750
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit e2a5eade6d0e5ddf3a47630381a0ad90d80e8a04"
 bgruening parents: diff
changeset | 49 | 
| 
ac40a2fe5750
"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) | 
