Mercurial > repos > bgruening > keras_model_builder
annotate to_categorical.py @ 13:ebd3bd2f2985 draft default tip
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 80417bf0158a9b596e485dd66408f738f405145a
| author | bgruening | 
|---|---|
| date | Mon, 02 Oct 2023 08:46:12 +0000 | 
| parents | 9ac42e46dfbd | 
| children | 
| rev | line source | 
|---|---|
| 8 
ebe52da3c0bb
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: diff
changeset | 1 import argparse | 
| 
ebe52da3c0bb
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: diff
changeset | 2 import json | 
| 
ebe52da3c0bb
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: diff
changeset | 3 import warnings | 
| 
ebe52da3c0bb
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: diff
changeset | 4 | 
| 
ebe52da3c0bb
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: diff
changeset | 5 import numpy as np | 
| 
ebe52da3c0bb
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: diff
changeset | 6 import pandas as pd | 
| 
ebe52da3c0bb
"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 | 
| 
ebe52da3c0bb
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: diff
changeset | 8 | 
| 
ebe52da3c0bb
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: diff
changeset | 9 | 
| 
ebe52da3c0bb
"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): | 
| 
ebe52da3c0bb
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: diff
changeset | 11 """ | 
| 
ebe52da3c0bb
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: diff
changeset | 12 Parameter | 
| 
ebe52da3c0bb
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: diff
changeset | 13 --------- | 
| 
ebe52da3c0bb
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: diff
changeset | 14 input : str | 
| 
ebe52da3c0bb
"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 | 
| 
ebe52da3c0bb
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: diff
changeset | 16 | 
| 
ebe52da3c0bb
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: diff
changeset | 17 infile : str | 
| 
ebe52da3c0bb
"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 | 
| 
ebe52da3c0bb
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: diff
changeset | 19 | 
| 
ebe52da3c0bb
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: diff
changeset | 20 outfile : str | 
| 
ebe52da3c0bb
"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 | 
| 
ebe52da3c0bb
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: diff
changeset | 22 | 
| 
ebe52da3c0bb
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: diff
changeset | 23 num_classes : str | 
| 
ebe52da3c0bb
"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 | 
| 
ebe52da3c0bb
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: diff
changeset | 25 | 
| 
ebe52da3c0bb
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: diff
changeset | 26 """ | 
| 
ebe52da3c0bb
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: diff
changeset | 27 warnings.simplefilter("ignore") | 
| 
ebe52da3c0bb
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: diff
changeset | 28 | 
| 
ebe52da3c0bb
"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: | 
| 
ebe52da3c0bb
"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) | 
| 
ebe52da3c0bb
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: diff
changeset | 31 | 
| 
ebe52da3c0bb
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: diff
changeset | 32 input_header = params["header0"] | 
| 
ebe52da3c0bb
"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 | 
| 
ebe52da3c0bb
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: diff
changeset | 34 | 
| 
ebe52da3c0bb
"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) | 
| 
ebe52da3c0bb
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: diff
changeset | 36 | 
| 
ebe52da3c0bb
"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) | 
| 
ebe52da3c0bb
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: diff
changeset | 38 | 
| 
ebe52da3c0bb
"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") | 
| 
ebe52da3c0bb
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: diff
changeset | 40 | 
| 
ebe52da3c0bb
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: diff
changeset | 41 | 
| 
ebe52da3c0bb
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: diff
changeset | 42 if __name__ == "__main__": | 
| 
ebe52da3c0bb
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: diff
changeset | 43 aparser = argparse.ArgumentParser() | 
| 
ebe52da3c0bb
"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) | 
| 
ebe52da3c0bb
"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") | 
| 9 
9ac42e46dfbd
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
8diff
changeset | 46 aparser.add_argument( | 
| 
9ac42e46dfbd
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
8diff
changeset | 47 "-n", "--num_classes", dest="num_classes", type=int, default=None | 
| 
9ac42e46dfbd
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit ea12f973df4b97a2691d9e4ce6bf6fae59d57717"
 bgruening parents: 
8diff
changeset | 48 ) | 
| 8 
ebe52da3c0bb
"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") | 
| 
ebe52da3c0bb
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: diff
changeset | 50 args = aparser.parse_args() | 
| 
ebe52da3c0bb
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
 bgruening parents: diff
changeset | 51 | 
| 
ebe52da3c0bb
"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) | 
