Ejemplo n.º 1
0
    parameters = deepMirCut.load_parameters(opts)
    parameters = load_input_output_file_parameters(parameters,opts)

    if "ensemble" not in parameters:
        print("Error: ensemble file is required")
        exit()
    if "--ensemble_size" not in opts:
        print("Error: must enter an --ensemble_size")
        exit()
    output_file = "new_ensemble_list.txt"
    if parameters["output_prefix"]:
        output_file = parameters["output_prefix"] + "_ensemble_list.txt"
    num = int(opts["--ensemble_size"])

    dataSet = deepMirCut.readDataset(parameters["validation_file"],parameters)
    new_dataSet = deepMirCut.dropLongSequences(dataSet,parameters)
    X_test,y_test = deepMirCut.prepareData(new_dataSet,parameters)

    members = []
    for i in range(0,len(parameters["ensemble"])):
        print("loading model %d: %s\n"%(i, parameters["ensemble"][i]))
        members.append(load_model(parameters["ensemble"][i], custom_objects={'prox':avg_proximity_metric()}))
    test_pred = []
    macro_f1_scores = []
    for i in range(0,len(members)):
        model = members[i]
        test_pred.append(model.predict(X_test, verbose=parameters["verbose"]))
        perf = get_classification_metrics(y_test,test_pred[i],parameters)
        macro_f1_scores.append(sum([perf[c]["fscore"] for c in ["DR5","DC5","DC3","DR3"]]) / 4)
        print(i,macro_f1_scores[i])
Ejemplo n.º 2
0
    except getopt.GetoptError as err:
        print(err)
        print_usage()
        exit()
    if '--help' in opts:
        print_usage()
        exit()

    parameters = deepMirCut.load_parameters(opts)
    parameters = load_input_output_file_parameters(parameters, opts)

    predictions_outputFile = parameters[
        "output_prefix"] + "_predicted_cutsites.txt"

    inputSet = read_predict_set(input_file, parameters)
    new_inputSet = deepMirCut.dropLongSequences(inputSet, parameters)
    X_vl, _ = deepMirCut.prepareData(new_inputSet, parameters)
    if "ensemble" in parameters:
        predictions = []
        for i in range(0, len(parameters["ensemble"])):
            print("loading model %d: %s\n" % (i, parameters["ensemble"][i]))
            model = load_model(parameters["ensemble"][i],
                               custom_objects={'prox': avg_proximity_metric()})
            predictions.append(
                model.predict(X_vl, verbose=parameters["verbose"]))
        predictions_avg = apply_weights(predictions,
                                        w=parameters["ensemble_weights"])
        print_predictions_output_file(new_inputSet, X_vl, predictions_avg,
                                      predictions_outputFile, parameters)
        if parameters["print_dvs"]:
            deepMirCut.print_classification_values_file(
Ejemplo n.º 3
0
    opts = {}
    opts['--verbose'] = True
    opts['--epochs'] = 20
    opts['--patience'] = 3
    opts['--use_embedding_layer'] = "True"
    opts['--use_crf_layer'] = "False"
    opts['--input_setting'] = '1'  #USE_SEQ_FOLD
    dmc_parameters = deepMirCut.load_parameters(opts)
    dmc_parameters['train_file'] = sys.argv[1]
    dmc_parameters['validation_file'] = sys.argv[2]
    dmc_parameters['batch_size'] = 64

    print("input_setting=", dmc_parameters['input_setting'])

    trainSet = deepMirCut.readDataset(dmc_parameters["train_file"],
                                      dmc_parameters)
    new_trainSet = deepMirCut.dropLongSequences(trainSet, dmc_parameters)
    X_tr, y_tr = deepMirCut.prepareData(new_trainSet, dmc_parameters)
    validationSet = deepMirCut.readDataset(dmc_parameters["validation_file"],
                                           dmc_parameters)
    new_validationSet = deepMirCut.dropLongSequences(validationSet,
                                                     dmc_parameters)
    X_vl, y_vl = deepMirCut.prepareData(new_validationSet, dmc_parameters)

    while (trial_step < new_evals):
        run_trials(pickle_file="tuning_adam_seqOnly.pickle",
                   trials_step=trial_step)
        new_evals -= trial_step

    run_trials(pickle_file="tuning_adam_seqOnly.pickle", trials_step=new_evals)
Ejemplo n.º 4
0
        opts.update({o: a for o, a in opts_array if o not in longopts_map})
        opts["--validation_file"] = validation_file
    except getopt.GetoptError as err:
        print(err)
        print_usage()
        exit()
    if '--help' in opts:
        print_usage()
        exit()

    parameters = deepMirCut.load_parameters(opts)
    parameters = load_input_output_file_parameters(parameters, opts)

    validationSet = deepMirCut.readDataset(parameters["validation_file"],
                                           parameters)
    new_validationSet = deepMirCut.dropLongSequences(validationSet, parameters)
    X_vl, y_vl = deepMirCut.prepareData(new_validationSet, parameters)
    validation_labels = deepMirCut.pred2label(y_vl, parameters)
    if "ensemble" in parameters:
        validation_pred = []
        for i in range(0, len(parameters["ensemble"])):
            print("loading model %d: %s\n" % (i, parameters["ensemble"][i]))
            model = load_model(parameters["ensemble"][i],
                               custom_objects={'prox': avg_proximity_metric()})
            validation_pred.append(
                model.predict(X_vl, verbose=parameters["verbose"]))
            #model.summary()
        validation_pred_avg = apply_weights(validation_pred,
                                            w=parameters["ensemble_weights"])
        pred_labels = deepMirCut.pred2label(validation_pred_avg, parameters)
        deepMirCut.print_validation_output_file(new_validationSet, X_vl,