Mercurial > repos > bgruening > openbabel_filter
comparison ob_filter.xml @ 12:340f8d63c1f4 draft
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/openbabel commit cda909c5e0b88fa3d12abe43fc72b8dd0729417a"
author | bgruening |
---|---|
date | Thu, 09 Apr 2020 10:09:51 -0400 |
parents | da03b00048b1 |
children | ff2dd4b7d918 |
comparison
equal
deleted
inserted
replaced
11:da0059ee548a | 12:340f8d63c1f4 |
---|---|
8 <command detect_errors="aggressive"> | 8 <command detect_errors="aggressive"> |
9 <![CDATA[ | 9 <![CDATA[ |
10 python '$__tool_directory__/ob_filter.py' | 10 python '$__tool_directory__/ob_filter.py' |
11 -i '${infile}' | 11 -i '${infile}' |
12 -o '${outfile}' | 12 -o '${outfile}' |
13 -iformat '${infile.ext}' | 13 -iformat "${infile.ext}" |
14 -oformat '${infile.ext}' | 14 -oformat "${infile.ext}" |
15 #if $filter_methods.filter_methods_opts == "__filter_by_name__": | 15 #if $filter_methods.filter_methods_opts == "__filter_by_name__": |
16 --list_of_names '$name_file' | 16 --list_of_names '$name_file' |
17 --filters '__filter_by_name__' | 17 --filters '__filter_by_name__' |
18 #else | 18 #else |
19 --filters '{ | 19 --filters '{ |
20 #if $filter_methods.filter_methods_opts == "ruleof5": | 20 #if $filter_methods.filter_methods_opts == "ruleof5": |
21 "hbd" : [0, 5], | 21 "hbd" : [0, 5], |
22 "hba" : [0, 10], | 22 "hba" : [0, 10], |
23 "molwt" : [0, 500], | 23 "molwt" : [0, 500], |
24 "logp" : [-5, 5], | 24 "logp" : [-5, 5], |
25 #elif $filter_methods.filter_methods_opts == "LeadLike": | 25 #elif $filter_methods.filter_methods_opts == "LeadLike": |
26 "rotbonds" : [0, 7], | 26 "rotbonds" : [0, 7], |
27 "molwt" : [0, 350], | 27 "molwt" : [0, 350], |
28 "logp" : [-5, 3.5], | 28 "logp" : [-5, 3.5], |
29 #elif $filter_methods.filter_methods_opts == "DrugLike": | 29 #elif $filter_methods.filter_methods_opts == "DrugLike": |
30 "hba" : [0, 10], | 30 "hba" : [0, 10], |
31 "rotbonds" : [0, 8], | 31 "rotbonds" : [0, 8], |
32 "molwt" : [150, 500], | 32 "molwt" : [150, 500], |
33 "logp" : [-5, 5], | 33 "logp" : [-5, 5], |
34 "psa" : [0, 150], | 34 "psa" : [0, 150], |
35 #elif $filter_methods.filter_methods_opts == "FragmentLike": | 35 #elif $filter_methods.filter_methods_opts == "FragmentLike": |
36 "rotbonds" : [0, 5], | 36 "rotbonds" : [0, 5], |
37 "molwt" : [0, 250], | 37 "molwt" : [0, 250], |
38 "logp" : [-5, 2.5], | 38 "logp" : [-5, 2.5], |
39 #else: | 39 #else: |
40 #for $filter in $filter_methods.filter_set: | 40 #for $filter in $filter_methods.filter_set: |
41 #if $filter.filter_sel.filter_sel_opts == "field": | |
42 #set $filter_selected = $filter.filter_sel['field_name'] | |
43 "$filter_selected": [$filter.filter_sel['field_min'], $filter.filter_sel['field_max'] ], | |
44 #else: | |
41 #set $filter_selected = $filter.filter_sel.filter_sel_opts | 45 #set $filter_selected = $filter.filter_sel.filter_sel_opts |
42 #set $filter_min = $filter_selected + "_min" | 46 #set $filter_min = $filter_selected + "_min" |
43 #set $filter_max = $filter_selected + "_max" | 47 #set $filter_max = $filter_selected + "_max" |
44 "$filter_selected" : [$filter.filter_sel[$filter_min], $filter.filter_sel[$filter_max] ], | 48 "$filter_selected" : [$filter.filter_sel[$filter_min], $filter.filter_sel[$filter_max] ], |
45 #end for | 49 #end if |
46 #end if | 50 #end for |
51 #end if | |
47 }' | 52 }' |
48 #end if | 53 #end if |
49 ]]> | 54 ]]> |
50 </command> | 55 </command> |
51 <inputs> | 56 <inputs> |
78 <option value="rotbonds">Number of rotatable bonds</option> | 83 <option value="rotbonds">Number of rotatable bonds</option> |
79 <option value="molwt">Molecular weight</option> | 84 <option value="molwt">Molecular weight</option> |
80 <option value="logp">Predicted value of logP</option> | 85 <option value="logp">Predicted value of logP</option> |
81 <option value="mr">Predicted value for the molecular refractivity</option> | 86 <option value="mr">Predicted value for the molecular refractivity</option> |
82 <option value="atoms">Number of atoms</option> | 87 <option value="atoms">Number of atoms</option> |
88 <option value="field">Filter by a user-defined SDF property</option> | |
83 <!-- Add later, we need to add a new smarts pattern to plugindefines.txt | 89 <!-- Add later, we need to add a new smarts pattern to plugindefines.txt |
84 <option value="hatoms">Number of heavy atoms</option>--> | 90 <option value="hatoms">Number of heavy atoms</option>--> |
85 <!-- We skip that options, for further information please read: http://www.dalkescientific.com/writings/diary/archive/2011/06/04/dealing_with_sssr.html --> | 91 <!-- We skip that options, for further information please read: http://www.dalkescientific.com/writings/diary/archive/2011/06/04/dealing_with_sssr.html --> |
86 <!--<option value="rings">Number of rings</option>--> | 92 <!--<option value="rings">Number of rings</option>--> |
87 </param> | 93 </param> |
114 <param name="mr_max" type="float" value="" label="Maximum threshold value for the molecular refractivity"/> | 120 <param name="mr_max" type="float" value="" label="Maximum threshold value for the molecular refractivity"/> |
115 </when> | 121 </when> |
116 <when value="atoms"> | 122 <when value="atoms"> |
117 <param name="atoms_min" type="integer" value="" label="Minimum number of atoms"/> | 123 <param name="atoms_min" type="integer" value="" label="Minimum number of atoms"/> |
118 <param name="atoms_max" type="integer" value="" label="Maximum number of atoms"/> | 124 <param name="atoms_max" type="integer" value="" label="Maximum number of atoms"/> |
125 </when> | |
126 <when value="field"> | |
127 <param name="field_name" type="text" value="" label="Name of the SDF property to filter by"> | |
128 <sanitizer invalid_char=""> | |
129 <valid initial="string.ascii_letters,string.digits"> | |
130 <add value="_" /> | |
131 <add value="." /> | |
132 <add value=" " /> | |
133 </valid> | |
134 </sanitizer> | |
135 </param> | |
136 <param name="field_min" type="integer" value="" label="Minimum value"/> | |
137 <param name="field_max" type="integer" value="" label="Maximum value"/> | |
119 </when> | 138 </when> |
120 <!--<when value="rings"> | 139 <!--<when value="rings"> |
121 <param name="rings_min" type="integer" value="" label="Minimum number of rings"/> | 140 <param name="rings_min" type="integer" value="" label="Minimum number of rings"/> |
122 <param name="rings_max" type="integer" value="" label="Maximum number of rings"/> | 141 <param name="rings_max" type="integer" value="" label="Maximum number of rings"/> |
123 </when>--> | 142 </when>--> |
139 <test> | 158 <test> |
140 <param name="infile" ftype="smi" value="CID_2244.smi"/> | 159 <param name="infile" ftype="smi" value="CID_2244.smi"/> |
141 <param name="filter_methods_opts" value="ruleof5" /> | 160 <param name="filter_methods_opts" value="ruleof5" /> |
142 <output name="outfile" ftype="smi" file="ob_filter_on_CID2244.smi" /> | 161 <output name="outfile" ftype="smi" file="ob_filter_on_CID2244.smi" /> |
143 </test> | 162 </test> |
163 <test> | |
164 <param name="infile" ftype="sdf" value="CID_2244.sdf"/> | |
165 <param name="filter_methods_opts" value="user" /> | |
166 <param name="filter_sel_opts" value="field" /> | |
167 <param name="field_name" value="PUBCHEM_EXACT_MASS"/> | |
168 <param name="field_min" value="100"/> | |
169 <param name="field_max" value="200"/> | |
170 <output name="outfile" ftype="sdf" file="ob_filter_on_CID2244.sdf" lines_diff="2"/> | |
171 </test> | |
144 <!-- | 172 <!-- |
145 Limitation of the test framework: | 173 Limitation of the test framework: |
146 https://trello.com/card/disambiguated-conditional-parameters-not-supported-in-unit-tests/506338ce32ae458f6d15e4b3/820 | 174 https://trello.com/card/disambiguated-conditional-parameters-not-supported-in-unit-tests/506338ce32ae458f6d15e4b3/820 |
147 <test> | 175 <test> |
148 <param name="infile" ftype="smi" value="CID_2244.smi"/> | 176 <param name="infile" ftype="smi" value="CID_2244.smi"/> |