source: branches/lib/HELP_SOURCE/source/gde_menus.hlp

Last change on this file was 19549, checked in by westram, 5 weeks ago
  • reintegrates 'sync' into 'trunk'
    • fixes #869
      • introduces synchronisation of external commands via DB
      • macros now wait for these external commands to finish ⇒ macro can continue with results
  • adds: log:branches/sync@19535:19548
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 13.5 KB
Line 
1UP      arb.hlp
2UP      agde.hlp
3UP      glossary.hlp
4UP      save.hlp
5
6TITLE           Customizing GDE menus
7
8DESCRIPTION     ARB uses the GDE menus to plugin external tools
9
10                This helpfile contains parts of the original GDE helpfile
11                and has been modified to fit to the way
12                GDE menus are used inside ARB.
13
14SECTION Description of GDE menus as used in ARB
15
16        The GDE uses a menu description language to
17        define what external programs it can call, and what
18        parameters and data to pass to each function. This
19        language allows users to customize their own
20        environment to suite individual needs.
21
22        The following is how the GDE handles external
23        programs when selected from a menu:
24
25        Each step in this process is described in the file
26
27                $ARBHOME/lib/gde/arb.menu
28
29        The directory $ARBHOME/lib/gde also contains other .menu-files
30        for separate external tool integration (e.g. raxml8, sativa).
31
32        You may integrate any external tool into the ARB interface
33        by adding files with suffix '.menu' either into
34        the global directory '$ARBHOME/lib/gde/' (menus defined there will
35        be available to all users) or into '~/.arb_prop/gde/' (menus defined
36        there will not be available to other users).
37
38
39SECTION GDE menus language
40
41        The language used in this file describes three phases
42        to an external function call. The first phase
43        describes the menu item as it will appear, and the
44        Unix command line that is actually run when it is
45        selected. The second phase describes how to prompt
46        for the parameters needed by the function. The third
47        phase describes what data needs to be passed as
48        input to the external function, and what data (if any)
49        needs to be read back from its output.
50
51        The form of the language is a simple keyword/value
52        list delimited by the colon (:) character. The
53        language retains old values until new ones are set.
54        For example, setting the menu name is done once for
55        all items in that menu, and is only reset when the
56        next menu is reached.
57
58        The keywords for phase one are:
59
60                menu:menu name      Name of current menu
61                menumeta:meta_key   Meta key equivalence (quick keys)
62                menumask:expert     Whole menu will be inaccessible in ARBs novice mode
63
64                item:item name
65
66                          Name of current menu item
67
68                          Please do not change 'item name' for cosmetic
69                          purposes - doing so will invalidate user-stored-configs!
70
71
72                itemmeta:meta_key   Meta key equivalence (quick keys)
73                itemhelp:help_file  Help file (either full path, or in $ARBHOME/lib/help)
74                itemmethod:         Unix command
75                itemmask:expert     Whole menu will be inaccessible in ARBs novice mode
76
77                seqtype:TYPE
78                        Known TYPEs:
79                              'A' -> select amino acid sequences
80                              'N' -> select nucleotide sequences
81                              '*' -> select ANY sequences
82                              '-' (or whole entry missing) -> do not select sequences
83
84        The itemmethod command is a bit more involved, it
85        is the Unix command that will actually run the
86        external program intended.
87
88        It is one line long, and can be up to 4096 characters in
89        length. It can have embedded variable names (starting
90        with a '$') that will be replaced with appropriate values
91        later on.
92
93        It can consist of multiple Unix commands separated by
94        semi-colons (;) and may contain shell scripts and
95        background processes as well as simple command names.
96
97        If one of the commands needs access to the running ARB, the
98        whole command should be run asynchronously, i.e. be run
99        using '( command ) &'. Otherwise the command may lock.
100
101        ARB provides synchronisation in this case, i.e. the GUI will
102        be inaccessible and ARB waits for your command to finish.
103        This is required for proper macro excution: otherwise the macro
104        would continue before the asynchronous command has finished.
105
106        The keywords for phase two are:
107
108            arg:argument_variable_name
109
110                        Name of this variable. It will appear
111                        in the itemmethod: line with a dollar
112                        sign ($) in front of it.
113
114                        Please do not change 'argument_variable_name' for cosmetic
115                        purposes - doing so will invalidate user-stored-configs!
116
117            argtype:TYPE
118                        The type of graphic object
119                        representing this argument.
120
121                        Known types are
122
123                              choice_list
124                              choice_menu
125                              chooser
126                              filename
127                              sai
128                              slider
129                              text
130                              tree
131                              weights
132
133            arglabel:descriptive label
134
135                        A short description of what this
136                        argument represents
137
138            argmin:minimum_value (integer)
139
140                        Used for sliders.
141
142            argmax:maximum_value (integer)
143
144                        Used for sliders.
145
146            argvalue:default_value
147
148                        It is the numeric value associated with
149                        sliders or the default choice in
150                        choosers, choice_menus, and choice_lists
151                        (the first choice is 0, the second is 1 etc.)
152
153            argtext:default value
154
155                        text: Default value
156                        filename: default extension
157
158
159            argchoice:displayed value:passed value
160
161                        Used for choosers and
162                        choice_menus. The first value is
163                        displayed on screen, and the second
164                        value is passed to the itemmethod
165                        line.
166
167            argmask:expert
168
169                        Whole arg will be inaccessible in ARBs novice mode
170
171
172        The keywords for phase three are as follows:
173
174            in:input_file
175
176                        GDE will replace this name with a randomly generated temporary file
177                        name. It will then write the selected data out to this file.
178
179                        Convention: always use TmpInputFile as placeholder
180
181            informat:file_format
182
183                        Write data to this file for input to
184                        this function. Currently support
185                        values are Genbank, and flat.
186
187            intyped:DETAILS
188
189                        Whether to save sequence type information.
190
191                        Known DETAILS:
192
193                              basic        default; plain sequences exported
194                              detailed     -> prefix sequence name by IDCHAR
195
196                        Known IDCHARs:
197
198                              '#'       RNA / DNA
199                              '%'       PROTEIN
200                              '@'       MASK (obsolete)
201                              '"'       TEXT or unknown
202
203            insave:
204
205                        Do not remove this file after running
206                        the external function. This is useful
207                        for functions put in the background.
208
209            out:output_file
210
211                        GDE will replace this name with a randomly generated temporary file
212                        name. It is up to the external function to fill this file with any results that
213                        might be read back into the GDE.
214
215                        Convention: always use TmpOutputFile as placeholder
216
217            outformat:file_format
218
219                        The data in the output file will be in
220                        this format. Currently support
221                        values are colormask, Genbank, and
222                        flat.
223
224            outaligned:yes
225
226                        GDE assumes external tool is an aligner or similar
227                        which only changes the alignment of bases.
228                        Sequence data will be re-imported w/o asking questions.
229
230                        Several minor changes in sequence data (by external tool)
231                        will be accepted and silently reverted. This includes
232                             - changing 'U' into 'T' (or vv)
233                             - case changes
234                             - gap changes ('.' to '-' or vv)
235
236            outsave:
237
238                        Do not remove this file after reading.
239                        This is useful for background tasks.
240
241
242        Here is a sample dialog box, and it's entry in the
243        .GDEmenus file:
244
245        Using the default parameters given in the dialog
246        box, the executed Unix command line would be:
247
248             (tr '[a-z]' '[A-Z]' < .gde_001 >.gde_001.tmp ; mv .gde_001.tmp CAPS ; gde CAPS -Wx medium ; rm .gde_001 ) &
249
250        where .gde_001 is the name of the temporary file
251        generated by the GDE which contains the selected
252        sequences in flat file format. Since the GDE runs
253        this command in the background ('&' at the end) it
254        is necessary to specify the insave: line, and to
255        remove all temporary files manually. There is no
256        output file specific because the data is not loaded
257        back into the current GDE window, but rather a new
258        GDE window is opened on the file. A simpler
259        command that reloads the data after conversion
260        might be:
261
262              item:          All caps
263              itemmethod:    tr '[a-z]' '[A-Z]' <INPUT > OUTPUT
264              in:            INPUT
265              informat:      flat
266              out:           OUTPUT
267              outformat:     flat
268
269        In this example, no arguments are specified, and so
270        no dialog box will appear. The command is not run
271        in the background, so the GDE can clean up after
272        itself automatically. The converted sequence is
273        automatically loaded back into the current GDE
274        window.
275
276        In general, the easiest type of program to integrate
277        into the GDE is a program completely driven from a
278        Unix command line. Interactive programs can be
279        tied in (MFOLD for example), however shell scripts
280        must be used to drive the parameter entry for these
281        programs. Programs of the form:
282
283                program_name -a1 argument1 -a2 argument2 -f inputfile -er errorfile > outputfile
284
285        can be specified in the .GDEmenus file directly. As
286        this is the general form of most one Unix commands,
287        these tend to be simpler to implement under the
288        GDE.
289
290        As functions grow in complexity, they may begin to
291        need a user interface of their own. In these cases, the
292        command line calling arguments are still necessary
293        in order to allow the GDE to hand them the
294        appropriate data, and possible retrieve results after
295        some external manipulation.
296
297
298
299SECTION Copyright Notice
300
301        The Genetic Data Environment (GDE) software and
302        documentation are not in the public domain.
303        Portions of this code are owned and copyrighted by
304        the The Board of Trustees of the University of
305        Illinois and by Steven Smith. External functions
306        used by GDE are the proporty of, their respective
307        authors. This release of the GDE program and
308        documentation may not be sold, or incorporated into
309        a commercial product, in whole or in part without
310        the expressed written consent of the University of
311        Illinois and of its author, Steven Smith.
312
313        All interested parties may redistribute the GDE as
314        long as all copies are accompanied by this
315        documentation, and all copyright notices remain
316        intact. Parties interested in redistribution must do
317        so on a non-profit basis, charging only for cost of
318        media. Modifications to the GDE core editor should
319        be forwarded to the author Steven Smith. External
320        programs used by the GDE are copyright by, and are
321        the property of their respective authors unless
322        otherwise stated.
323
324
325        While all attempts have been made to insure the
326        integrity of these programs:
327
328SECTION Disclaimer
329
330        THE UNIVERSITY OF ILLINOIS, HARVARD
331        UNIVERSITY AND THE AUTHOR, STEVEN
332        SMITH GIVE NO WARRANTIES, EXPRESSED
333        OR IMPLIED FOR THE SOFTWARE AND
334        DOCUMENTATION PROVIDED, INCLUDING,
335        BUT NOT LIMITED TO WARRANTY OF
336        MERCHANTABILITY AND WARRANTY OF
337        FITNESS FOR A PARTICULAR PURPOSE.
338        User understands the software is a research tool for
339        which no warranties as to capabilities or accuracy are
340        made, and user accepts the software "as is." User
341        assumes the entire risk as to the results and
342        performance of the software and documentation. The
343        above parties cannot be held liable for any direct,
344        indirect, consequential or incidental damages with
345        respect to any claim by user or any third party on
346        account of, or arising from the use of software and
347        associated materials. This disclaimer covers both the
348        GDE core editor and all external programs used by
349        the GDE.
350
351
Note: See TracBrowser for help on using the repository browser.