0
|
1 <tool id="ctb_obgrep" name="Compound Search" version="0.1">
|
|
2 <description>an advanced molecular grep program using SMARTS</description>
|
|
3 <parallelism method="multi" split_inputs="infile" split_mode="to_size" split_size="10000" shared_inputs="" merge_outputs="outfile"></parallelism>
|
|
4 <requirements>
|
|
5 <requirement type="package" version="2.3.2">openbabel</requirement>
|
|
6 </requirements>
|
|
7 <command>
|
|
8 ## The command is a Cheetah template which allows some Python based syntax.
|
|
9 ## Lines starting hash hash are comments. Galaxy will turn newlines into spaces
|
|
10 obgrep
|
|
11
|
|
12 $invert_matches
|
|
13 #if $n_times != 0:
|
|
14 -t $n_times
|
|
15 #end if
|
|
16
|
|
17 $only_name
|
|
18 $full_match
|
|
19 $number_of_matches
|
|
20 -i ${infile.ext}
|
|
21 "${smarts_pattern}"
|
|
22 "${infile}"
|
|
23 > "${outfile}" 2>&1
|
|
24 </command>
|
|
25 <inputs>
|
|
26 <param name="infile" type="data" format="sdf,mol,mol2,cml,inchi,smi" label="Compound File" help="Specify a compound file in SDF Format."/>
|
|
27 <param name="smarts_pattern" type="text" format="text" label="SMARTS Pattern" help="Specify a SMARTS Pattern for your search."/>
|
|
28 <param name="invert_matches" type="boolean" label="Invert the matching, print non-matching molecules" truevalue="-v" falsevalue="" checked="false" />
|
|
29 <param name="n_times" type="integer" value="0" label="Print a molecule only if the pattern occurs # times inside the molecule" />
|
|
30 <param name="only_name" type="boolean" label="Only print the name of the molecules" truevalue="-n" falsevalue="" checked="false" />
|
|
31 <param name="full_match" type="boolean" label="Full match, print matching-molecules only when the number of heavy atoms is also equal to the number of atoms in the SMARTS pattern" truevalue="-f" falsevalue="" checked="false" />
|
|
32 <param name="number_of_matches" type="boolean" label="Print the number of matches" truevalue="-c" falsevalue="" checked="false" />
|
|
33 </inputs>
|
|
34 <options sanitize="False"/>
|
|
35 <outputs>
|
|
36 <data name="outfile" format_source="infile" label="${tool.name} on ${on_string}"/>
|
|
37 </outputs>
|
|
38 <tests>
|
|
39 <test>
|
|
40 <param name="infile" ftype="smi" value="8_mol.smi"/>
|
|
41 <param name="smarts_pattern" value="CO"/>
|
|
42 <param name="invert_matches" value="" />
|
|
43 <param name="n_times" value="0"/>
|
|
44 <param name="only_name" value="" />
|
|
45 <param name="full_match" value="" />
|
|
46 <param name="number_of_matches" value="" />
|
|
47 <output name="outfile" ftype="smi" file="obgrep_on_8_mol.smi"/>
|
|
48 </test>
|
|
49 </tests>
|
|
50 <help>
|
|
51
|
|
52 .. class:: infomark
|
|
53
|
|
54 **What this tool does**
|
|
55
|
|
56 Uses the Open Babel Obgrep_ to search for molecules inside multi-molecule files (e.g. SMI, SDF, etc.) or across multiple files.
|
|
57 It is known that not all SMARTS features from the Daylight Toolkit are supported, please have a look here_.
|
|
58
|
|
59
|
|
60 .. _Obgrep: http://openbabel.org/wiki/Obgrep
|
|
61 .. _here: http://openbabel.org/wiki/SMARTS
|
|
62
|
|
63 -----
|
|
64
|
|
65 .. class:: infomark
|
|
66
|
|
67 **Input**
|
|
68
|
|
69 | - `SD-Format`_
|
|
70 | - `SMILES Format`_
|
|
71
|
|
72 .. _SD-Format: http://en.wikipedia.org/wiki/Chemical_table_file
|
|
73 .. _SMILES Format: http://en.wikipedia.org/wiki/Simplified_molecular_input_line_entry_specification
|
|
74
|
|
75 -----
|
|
76
|
|
77 .. class:: infomark
|
|
78
|
|
79 **Output**
|
|
80
|
|
81 Same as input format.
|
|
82
|
|
83 -----
|
|
84
|
|
85 .. class:: infomark
|
|
86
|
|
87 **Cite**
|
|
88
|
|
89 N M O'Boyle, M Banck, C A James, C Morley, T Vandermeersch, and G R Hutchison - `Open Babel: An open chemical toolbox.`_
|
|
90
|
|
91 .. _`Open Babel: An open chemical toolbox.`: http://www.jcheminf.com/content/3/1/33
|
|
92
|
|
93 `Open Babel`_
|
|
94
|
|
95 .. _`Open Babel`: http://openbabel.org/wiki/Main_Page
|
|
96
|
|
97 </help>
|
|
98 </tool>
|