# HG changeset patch
# User bgruening
# Date 1527682833 14400
# Node ID eb98d54e7c9d4b56867335d69ad81433f7a3c9dd
# Parent  4112ea003fc98f2f9a1b70ed18f3f66b31961cac
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/sklearn commit 4ed8c4f6ef9ece81797a398b17a99bbaf49a6978
diff -r 4112ea003fc9 -r eb98d54e7c9d main_macros.xml
--- a/main_macros.xml	Tue May 22 19:26:48 2018 -0400
+++ b/main_macros.xml	Wed May 30 08:20:33 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 4112ea003fc9 -r eb98d54e7c9d 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:20:33 2018 -0400
@@ -0,0 +1,1 @@
+0.7824428015300172