view @ 36:420a4bf99244 draft

"planemo upload for repository commit 208a8d348e7c7a182cfbe1b6f17868146428a7e2"
author bgruening
date Tue, 13 Apr 2021 22:38:08 +0000
parents eeaf989f1024
children e76f6dfea5c9
line wrap: on
line source

import argparse
import json
import warnings

import numpy as np
import pandas as pd
from keras.utils import to_categorical

def main(inputs, infile, outfile, num_classes=None):
    input : str
        File path to galaxy tool parameter

    infile : str
        File paths of input vector

    outfile : str
        File path to output matrix

    num_classes : str
        Total number of classes. If None, this would be inferred as the (largest number in y) + 1


    with open(inputs, "r") as param_handler:
        params = json.load(param_handler)

    input_header = params["header0"]
    header = "infer" if input_header else None

    input_vector = pd.read_csv(infile, sep="\t", header=header)

    output_matrix = to_categorical(input_vector, num_classes=num_classes)

    np.savetxt(outfile, output_matrix, fmt="%d", delimiter="\t")

if __name__ == "__main__":
    aparser = argparse.ArgumentParser()
    aparser.add_argument("-i", "--inputs", dest="inputs", required=True)
    aparser.add_argument("-y", "--infile", dest="infile")
    aparser.add_argument("-n", "--num_classes", dest="num_classes", type=int, default=None)
    aparser.add_argument("-o", "--outfile", dest="outfile")
    args = aparser.parse_args()

    main(args.inputs, args.infile, args.outfile, args.num_classes)