comparison inspect.xml @ 18:8f8b607d7408 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scanpy/ commit 76bfefa9116713dc1078ae407ab6dd69ed14a244
author iuc
date Wed, 26 Mar 2025 09:38:24 +0000
parents 6551272ddc04
children 8b8dbfaf27da
comparison
equal deleted inserted replaced
17:6551272ddc04 18:8f8b607d7408
1 <tool id="scanpy_inspect" name="Scanpy Inspect and manipulate" version="@TOOL_VERSION@+galaxy1" profile="@PROFILE@"> 1 <tool id="scanpy_inspect" name="Scanpy Inspect and manipulate" version="@TOOL_VERSION@+galaxy2" profile="@PROFILE@">
2 <macros> 2 <macros>
3 <import>macros.xml</import> 3 <import>macros.xml</import>
4 <xml name="params_score_genes"> 4 <xml name="params_score_genes">
5 <param argument="n_bins" type="integer" value="25" label="Number of expression level bins for sampling"/> 5 <param argument="n_bins" type="integer" value="25" label="Number of expression level bins for sampling"/>
6 <param argument="random_state" type="integer" value="0" label="Random seed for sampling"/> 6 <param argument="random_state" type="integer" value="0" label="Random seed for sampling"/>
55 <configfile name="script_file"><![CDATA[ 55 <configfile name="script_file"><![CDATA[
56 @CMD_IMPORTS@ 56 @CMD_IMPORTS@
57 @CMD_READ_INPUTS@ 57 @CMD_READ_INPUTS@
58 58
59 #if str($method.method) == 'pp.calculate_qc_metrics': 59 #if str($method.method) == 'pp.calculate_qc_metrics':
60 #if str($method.qc_vars) != '':
61 #set $qc_vars = [str(x.strip()) for x in str($method.qc_vars).split(',')]
62
63 # function to convert 'True' and 'False' strings to boolean values
64
65 def fix_var_keys(adata, var_keys):
66 for key in var_keys:
67 if key not in adata.var.columns:
68 raise ValueError(f"Column '{key}' not found in adata.var")
69
70 if adata.var[key].dtype == bool:
71 continue # Skip conversion if already boolean
72
73 unique_values = set(adata.var[key].astype(str).str.upper())
74 if not unique_values.issubset({'TRUE', 'FALSE'}):
75 raise ValueError(f"Column '{key}' contains values other than 'True' or 'False'. qc_vars must contain only boolean (True/False) columns.")
76
77 adata.var[key] = adata.var[key].astype(str).str.upper().map({'TRUE': True, 'FALSE': False}).astype(bool)
78 print(f"'{key}' has been converted to a boolean.")
79
80 return adata
81
82 adata = fix_var_keys(adata, $qc_vars)
83 #end if
84
60 sc.pp.calculate_qc_metrics( 85 sc.pp.calculate_qc_metrics(
61 adata=adata, 86 adata=adata,
62 expr_type='$method.expr_type', 87 expr_type='$method.expr_type',
63 var_type='$method.var_type', 88 var_type='$method.var_type',
64 #if str($method.qc_vars) != '': 89 #if str($method.qc_vars) != '':
65 #set $qc_vars = [str(x.strip()) for x in str($method.qc_vars).split(',')]
66 qc_vars=$qc_vars, 90 qc_vars=$qc_vars,
67 #end if 91 #end if
68 #if str($method.percent_top) != '': 92 #if str($method.percent_top) != '':
69 #set $percent_top = [int(x.strip()) for x in str($method.percent_top).split(',')] 93 #set $percent_top = [int(x.strip()) for x in str($method.percent_top).split(',')]
70 percent_top=$percent_top, 94 percent_top=$percent_top,
856 <param name="method" value="logreg"/> 880 <param name="method" value="logreg"/>
857 <conditional name="solver"> 881 <conditional name="solver">
858 <param name="solver" value="liblinear"/> 882 <param name="solver" value="liblinear"/>
859 <conditional name="penalty"> 883 <conditional name="penalty">
860 <param name="penalty" value="l2"/> 884 <param name="penalty" value="l2"/>
861 <param name="random_state" value="1"/>
862 </conditional> 885 </conditional>
886 <param name="random_state" value="1"/>
863 </conditional> 887 </conditional>
864 </conditional> 888 </conditional>
865 </conditional> 889 </conditional>
866 <section name="advanced_common"> 890 <section name="advanced_common">
867 <param name="show_log" value="true"/> 891 <param name="show_log" value="true"/>
906 <param name="method" value="logreg"/> 930 <param name="method" value="logreg"/>
907 <conditional name="solver"> 931 <conditional name="solver">
908 <param name="solver" value="liblinear"/> 932 <param name="solver" value="liblinear"/>
909 <conditional name="penalty"> 933 <conditional name="penalty">
910 <param name="penalty" value="l2"/> 934 <param name="penalty" value="l2"/>
911 <param name="random_state" value="1"/>
912 </conditional> 935 </conditional>
936 <param name="random_state" value="1"/>
913 </conditional> 937 </conditional>
914 </conditional> 938 </conditional>
915 </conditional> 939 </conditional>
916 <section name="advanced_common"> 940 <section name="advanced_common">
917 <param name="show_log" value="true"/> 941 <param name="show_log" value="true"/>
1128 <param name="method" value="logreg"/> 1152 <param name="method" value="logreg"/>
1129 <conditional name="solver"> 1153 <conditional name="solver">
1130 <param name="solver" value="liblinear"/> 1154 <param name="solver" value="liblinear"/>
1131 <conditional name="penalty"> 1155 <conditional name="penalty">
1132 <param name="penalty" value="l2"/> 1156 <param name="penalty" value="l2"/>
1133 <param name="random_state" value="1"/>
1134 </conditional> 1157 </conditional>
1158 <param name="random_state" value="1"/>
1135 </conditional> 1159 </conditional>
1136 </conditional> 1160 </conditional>
1137 </conditional> 1161 </conditional>
1138 <section name="advanced_common"> 1162 <section name="advanced_common">
1139 <param name="show_log" value="true"/> 1163 <param name="show_log" value="true"/>
1215 <has_line_matching expression="group\tnames\tscores\tlogfoldchanges\tpvals\tpvals_adj"/> 1239 <has_line_matching expression="group\tnames\tscores\tlogfoldchanges\tpvals\tpvals_adj"/>
1216 <has_line_matching expression="Ery\tFog1\t21.071571\t2.8023682\t5.701001345880348e-35\t3.135550740234191e-34"/> 1240 <has_line_matching expression="Ery\tFog1\t21.071571\t2.8023682\t5.701001345880348e-35\t3.135550740234191e-34"/>
1217 </assert_contents> 1241 </assert_contents>
1218 </output> 1242 </output>
1219 </test> 1243 </test>
1244 <!-- test 19: check str var conversion to boolean -->
1245 <test expect_num_outputs="2">
1246 <param name="adata" value="sparce_csr_matrix_var_str.h5ad"/>
1247 <conditional name="method">
1248 <param name="method" value="pp.calculate_qc_metrics"/>
1249 <param name="qc_vars" value="mito,negative"/>
1250 </conditional>
1251 <section name="advanced_common">
1252 <param name="show_log" value="true"/>
1253 </section>
1254 <output name="hidden_output">
1255 <assert_contents>
1256 <has_text_matching expression="sc.pp.calculate_qc_metrics"/>
1257 <has_text_matching expression="expr_type='counts'"/>
1258 <has_text_matching expression="var_type='genes'"/>
1259 <has_text_matching expression="qc_vars=\['mito', 'negative'\]"/>
1260 <has_text_matching expression="\'mito\' has been converted to a boolean."/>
1261 <has_text_matching expression="\'negative\' has been converted to a boolean."/>
1262 </assert_contents>
1263 </output>
1264 <output name="anndata_out" ftype="h5ad">
1265 <assert_contents>
1266 <has_h5_keys keys="obs/n_genes_by_counts,obs/log1p_n_genes_by_counts,obs/total_counts,obs/log1p_total_counts,obs/pct_counts_in_top_50_genes,obs/pct_counts_in_top_100_genes,obs/pct_counts_in_top_200_genes,obs/pct_counts_in_top_500_genes,obs/total_counts_mito,obs/log1p_total_counts_mito,obs/pct_counts_mito,obs/total_counts_negative,obs/log1p_total_counts_negative,obs/pct_counts_negative"/>
1267 <has_h5_keys keys="var/n_cells_by_counts,var/mean_counts,var/log1p_mean_counts,var/pct_dropout_by_counts,var/total_counts,var/log1p_total_counts"/>
1268 </assert_contents>
1269 </output>
1270 </test>
1220 </tests> 1271 </tests>
1221 <help><![CDATA[ 1272 <help><![CDATA[
1222 Calculate quality control metrics., using `pp.calculate_qc_metrics` 1273 Calculate quality control metrics., using `pp.calculate_qc_metrics`
1223 =================================================================== 1274 ===================================================================
1224 1275