Mercurial > repos > bgruening > simsearch
annotate simsearch.xml @ 12:526f6e88fbe7
ChemicalToolBoX update.
| author | Bjoern Gruening <bjoern.gruening@gmail.com> |
|---|---|
| date | Fri, 31 May 2013 22:33:03 +0200 |
| parents | 980199050694 |
| children | dbe9c82028d1 |
| rev | line source |
|---|---|
|
12
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
1 <tool id="chemfp_simsearch" name="Similarity Search" version="0.1.1"> |
| 0 | 2 <description>of fingerprint data sets</description> |
| 3 <requirements> | |
| 4 <requirement type="package" version="1.1p1">chemfp</requirement> | |
| 7 | 5 <requirement type="package" version="2.3.2">openbabel</requirement> |
| 0 | 6 </requirements> |
| 7 <command> | |
| 8 #if $method_opts.method_opts_selector == "chemfp": | |
| 9 ## TODO: remove all comment lines, in muti mode many comment lines will be appear, also in the middle of the result file, remove them | |
|
12
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
10 #if int($method_opts.knn) == 0: |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
11 #set $k = 'all' |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
12 #else: |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
13 #set $k = int($method_opts.knn) |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
14 #end if |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
15 simsearch |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
16 -k $k |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
17 --threshold $method_opts.threshold |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
18 --query-format fps |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
19 $method_opts.counts |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
20 --target-format fps |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
21 -o "${outfile}" |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
22 |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
23 ## build and search an in-memory data structure (faster for multiple queries) |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
24 --memory |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
25 |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
26 #if $method_opts.query_opts.query_opts_selector == "normal": |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
27 -q "${method_opts.query_opts.query}" |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
28 #else: |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
29 --NxN |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
30 #end if |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
31 |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
32 "${method_opts.query_opts.targets}" |
| 0 | 33 #else: |
| 34 ## OpenBabel needs the original molecule file (molecule.'fileformat') next to the fastsearch index (molecule.fs). We use a composite datatype to accomplish that. | |
| 35 ## Furthermore OpenBabel is really picky with fileextensions. We need to specify every datatype. I did not find a solution to specify the query-filetype. | |
| 36 ## A workaround is to create a symlink with a proper file-extension. | |
| 37 #import tempfile | |
| 38 #set $temp_file = tempfile.NamedTemporaryFile() | |
| 39 #set $temp_link = "%s.%s" % ($temp_file.name, $method_opts.query.ext) | |
| 40 $temp_file.close() | |
| 41 ln -s $method_opts.query $temp_link; | |
| 42 obabel -i fs "${os.path.join($method_opts.fastsearch.extra_files_path,'molecule.fs')}" -S "${temp_link}" -at${method_opts.threshold} -O "${outfile}" -osmi -aa 2>&1; | |
| 43 rm $temp_link | |
| 44 #end if | |
| 45 </command> | |
| 46 <inputs> | |
| 47 | |
| 48 <conditional name="method_opts"> | |
| 49 <param name="method_opts_selector" type="select" label="Subject database/sequences"> | |
| 50 <option value="chemfp">Chemfp fingerprint file</option> | |
| 51 <option value="obabel">OpenBabel Fastsearch Index</option> | |
| 52 </param> | |
| 53 <when value="chemfp"> | |
|
12
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
54 <conditional name="query_opts"> |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
55 <param name="query_opts_selector" type="select" label="Query Mode"> |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
56 <option value="normal">Query molecules are stores in a separate file</option> |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
57 <option value="nxn">Target molecules are also queries (NxN)</option> |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
58 </param> |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
59 <when value="normal"> |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
60 <param name='query' type='data' format="fps" label='Query molecules'/> |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
61 <param name='targets' type='data' format="fps" label='Target molecules'/> |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
62 </when> |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
63 <when value="nxn"> |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
64 <param name='targets' type='data' format="fps" label='Target moleculs'/> |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
65 </when> |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
66 </conditional> |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
67 <param name='knn' type='integer' value='0' label='select the k nearest neighbors' help='0 means all neighbors'> |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
68 <validator type="in_range" min="0" /> |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
69 </param> |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
70 <param name='threshold' type='float' label='threshold' value='0.7'/> |
|
526f6e88fbe7
ChemicalToolBoX update.
Bjoern Gruening <bjoern.gruening@gmail.com>
parents:
7
diff
changeset
|
71 <param name="counts" type="boolean" label="report counts (-c)" truevalue="-c" falsevalue="" checked="false" /> |
| 0 | 72 </when> |
| 73 <when value="obabel"> | |
| 74 <param name="query" type='data' format="smi,mol,sdf,inchi" label="query"/> | |
| 75 <param name="fastsearch" type='data' format="obfs" label="OpenBabel Fastsearch Index"/> | |
| 76 <param name="threshold" type='float' label="threshold" value='0.7'/> | |
| 77 </when> | |
| 78 </conditional> | |
| 79 | |
| 80 </inputs> | |
| 81 <outputs> | |
| 82 <data name="outfile" format="tabular" /> | |
| 83 </outputs> | |
| 84 <tests> | |
| 85 <test> | |
| 86 <param name="targets" ftype="fps" value="targets.fps"/> | |
| 87 <param name="query" ftype="fps" value="q.fps"/> | |
| 88 <param name="k" value='4'/> | |
| 89 <param name="th" value='0.7'/> | |
| 90 <output name="outfile" ftype="tabular" file="simsearch_on_tragets_and_q.tabular"/> | |
| 91 </test> | |
| 92 </tests> | |
| 93 <help> | |
| 94 | |
| 95 | |
| 96 **What it does** | |
| 97 | |
| 98 similarity search of fingerprint data sets | |
| 99 | |
| 100 ----- | |
| 101 | |
| 102 **Example** | |
| 103 | |
| 104 * input:: | |
| 105 | |
| 106 - Target Database in FPS format | |
| 107 | |
| 108 #FPS1 | |
| 109 #num_bits=881 | |
| 110 #type=CACTVS-E_SCREEN/1.0 extended=2 | |
| 111 #software=CACTVS/unknown | |
| 112 #source=Desktop/3579363516810334491.sdf | |
| 113 #date=2012-02-03T13:07:47 | |
| 114 07ce04000000000000000000000000000080060000000c000000000000001a800f0000780008100000701487e960 | |
| 115 cc0bed3248000580644626004101b4844805901b041c2e19511e45039b8b2926101609401b13e408000000000001 | |
| 116 00200000040080000010000002000000000000 55169009 | |
| 117 07ce04000000000000000000000000000080060000000c000000000000001a800f0000780008100000701087e960 | |
| 118 cc0bed3248000580644626004101b4844805901b041c2e19111e45039b8b2926105609401313e408000000000001 | |
| 119 00200000040080000010000002000000000000 55079807 | |
| 120 07ce04000000000000000000000000000080060000000c000000000000001a800f0000780008100000b01087e960 | |
| 121 cc0bed3248000580644626004101b4844805901b041c2e19511e45039b8b2924101609401b13e408000000000001 | |
| 122 00200000040080000010000002000000000000 3153534 | |
| 123 07ce0c000000000000000000000000000080060000000c000000000000001a800f0000780008100000103c87e960 | |
| 124 cc0bed3248000580644626204101b4844805901b041c2e19511e45039b8b2926101609401b13e408000000000001 | |
| 125 00200000040080000010000002000000000000 55168823 | |
| 126 07ce05000000000000000000000000000080060000000c000000000000001a800f0000780008100000101087e960 | |
| 127 cc0bed3248000580644626204101b4844805901b041c2e19511e45039b8b2924101609401b13e408000000000001 | |
| 128 00200000040080000010000002000000000000 55102353 | |
| 129 07ce04000000000000000000000000000080060000000c000000000000001a800f0000780008100000b01487e9 | |
| 130 60cc0bed3248000580644626204101b4844805901b041c2e19511e45039b8b2924101609401b13e40800003000 | |
| 131 000100200000040080000010000002000000000000 55091849 | |
| 132 07ce04000000000000000000000000000080060000000c000000000000001a800f0000780008100000103c87e9 | |
| 133 60cc0bed3248000580644626204101b4844805901b041c2e19511e45039b8b2924101609401b13e40800000000 | |
| 134 000100200000040080000010000002000000000000 55091752 | |
| 135 07ce04000000000000000000000000000080060000000c000000000000001a800f0000780008100000b01487e9 | |
| 136 60cc0bed3248000580644626204101b4844805901b041c2e19511e45039b8b2924101609401b13e40800001000 | |
| 137 000100200000040080000010000002000000000000 55091467 | |
| 138 07ce05000000000000000000000000000080060000000c000000000000001a800f0000780008100000101087e9 | |
| 139 60cc0bed3248000580644626204101b4844805901b041c2e19511e45039b8b2924101609401b13e40800000000 | |
| 140 000100200000040080000010000002000000000000 55091466 | |
| 141 07ce05000000000000000000000000000080060000000c000000000000001a800f0000780008100000101087e9 | |
| 142 60cc0bed3248000580644626204101b4844805901b041c2e19511e45039b8b2924101609401b13e40800000000 | |
| 143 000100200000040080000010000002000000000000 55091416 | |
| 144 03ce04000000000000000000000000000080060000000c000000000000001a800f0000780008100000101087e9 | |
| 145 60cc0bed3248000580644626004101b4844805901b041c2e19511e45039b8b2924101609401b13e40800000000 | |
| 146 000100200000040080000010000002000000000000 6499094 | |
| 147 03ce04000000000000000000000000000080060000000c000000000000001a800f0000780008100000101087e9 | |
| 148 60cc0bed3248000580644626204101b4844805901b041c2e19511e45039b8b2924101609401b13e40800000000 | |
| 149 000100200000040080000010000002000000000000 6485578 | |
| 150 07ce04000000000000000000000000000080060000000c000000000000001a800f0000780008100000b01087e9 | |
| 151 60cc0bed3248000580644626004101b4844805901b041c2e19511e45039b8b2924101609401b13e40800001000 | |
| 152 000100200000040080000010000002000000000000 6485577 | |
| 153 | |
| 154 - query : | |
| 155 #FPS1 | |
| 156 #num_bits=881 | |
| 157 #type=CACTVS-E_SCREEN/1.0 extended=2 | |
| 158 #software=CACTVS/unknown | |
| 159 #source=CID_28434379.sdf | |
| 160 #date=2012-02-03T13:08:39 | |
| 161 07ce04000000000000000000000000000080060000000c060000000000001a800f0000780008100000101487e9 | |
| 162 608c0bed3248000580644626204101b4844805901b041c2e19511e45039b8b2924101609401b13e40800000000 | |
| 163 000100200000040080000010000002000000000000 28434379 | |
| 164 - k : 4 | |
| 165 - threshold : 0.7 | |
| 166 | |
| 167 * output:: | |
| 168 | |
| 169 #Simsearch/1 | |
| 170 #num_bits=881 | |
| 171 #type=Tanimoto k=4 threshold=0.7 | |
| 172 #software=chemfp/1.0 | |
| 173 #queries=q.fps | |
| 174 #targets=target.fps | |
| 175 #query_sources=CID_28434379.sdf | |
| 176 #target_sources=Desktop/3579363516810334491.sdf | |
| 177 4 28434379 55091752 0.9684 55091466 0.9682 55091416 0.9682 55102353 0.9682 | |
| 178 | |
| 179 | |
| 180 </help> | |
| 181 </tool> |
