# HG changeset patch # User bgruening # Date 1527683137 14400 # Node ID 1b23a97c3ff195c9f3fc270291c7b81bc5396804 # Parent 70ab4fc0e8130c14363119e7e7ea0e61f73149f3 planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 4ed8c4f6ef9ece81797a398b17a99bbaf49a6978 diff -r 70ab4fc0e813 -r 1b23a97c3ff1 main_macros.xml --- a/main_macros.xml Tue May 22 19:31:47 2018 -0400 +++ b/main_macros.xml Wed May 30 08:25:37 2018 -0400 @@ -16,6 +16,47 @@ return y +## generate an instance for one of sklearn.feature_selection classes +## must call "@COLUMNS_FUNCTION@" + +def feature_selector(inputs): + selector = inputs["selected_algorithm"] + selector = getattr(sklearn.feature_selection, selector) + options = inputs["options"] + + if inputs['selected_algorithm'] == 'SelectFromModel': + if not options['threshold'] or options['threshold'] == 'None': + options['threshold'] = None + if 'extra_estimator' in inputs and inputs['extra_estimator']['has_estimator'] == 'no_load': + fitted_estimator = pickle.load(open("inputs['extra_estimator']['fitted_estimator']", 'r')) + new_selector = selector(fitted_estimator, prefit=True, **options) + else: + estimator=inputs["estimator"] + if inputs["extra_estimator"]["has_estimator"]=='no': + estimator=inputs["extra_estimator"]["new_estimator"] + estimator=eval(estimator.replace('__dq__', '"').replace("__sq__","'")) + new_selector = selector(estimator, **options) + + elif inputs['selected_algorithm'] in ['RFE', 'RFECV']: + if 'scoring' in options and (not options['scoring'] or options['scoring'] == 'None'): + options['scoring'] = None + estimator=inputs["estimator"] + if inputs["extra_estimator"]["has_estimator"]=='no': + estimator=inputs["extra_estimator"]["new_estimator"] + estimator=eval(estimator.replace('__dq__', '"').replace("__sq__","'")) + new_selector = selector(estimator, **options) + + elif inputs['selected_algorithm'] == "VarianceThreshold": + new_selector = selector(**options) + + else: + score_func = inputs["score_func"] + score_func = getattr(sklearn.feature_selection, score_func) + new_selector = selector(score_func, **options) + + return new_selector + + python @@ -794,6 +835,13 @@ + + + + + + + @@ -975,8 +1023,8 @@ - - + + diff -r 70ab4fc0e813 -r 1b23a97c3ff1 test-data/mv_result07.tabular --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/mv_result07.tabular Wed May 30 08:25:37 2018 -0400 @@ -0,0 +1,1 @@ +0.7824428015300172