Frontend options¶
The frontend script (i.e. the script which you run in TopSpin) has a variety of flags which control its behaviour.
These are fully described here.
You can also access short descriptions of these by typing poise -h
in TopSpin.
General options¶
--create NAME PARAM MIN MAX INIT TOL CF AU
Create a new named routine. This can only handle one-parameter routines; if you want a multiple-parameter routine, please use the GUI. The AU programme must be specified, it can’t be left blank like in the GUI. Also, short forms such as
4u
for 4 µs are not allowed here.
--delete DELETE
Delete a named routine. For example, run
poise --delete p1cal
to delete a routine namedp1cal
.If you want to edit a routine, you can just re-create a new routine with the same name: the old one will be overwritten.
-h, --help
Show a help message then exit.
--kill
Kill POISE backends that may still be running.
Running
poise --kill
should be the first course of action if you find unusual behaviour after terminating a POISE optimisation (e.g. being unable to delete a log file as it is still in use). If this does not work (very rare), then you may need to manually kill the Python processes: for example, on Windows PowerShell, run:Stop-Process -name pythonor on Unix systems:
killall -9 python(replace
python
withpython3
as appropriate for your system). If you find that you need to do this, and can reproduce the error, please do submit a bug report or drop us an email.
-l, --list
List all available cost functions, as well as all available routines and their parameters.
Options for running optimisations¶
-a ALG, --algorithm ALG
Use the algorithm ALG for the optimisation. ALG can be one of
nm
(for Nelder–Mead),mds
(for multidirectional search), orbobyqa
(for Py-BOBYQA). The default isbobyqa
.
--maxfev MAXFEV
Maximum function evaluations to allow (i.e. maximum number of spectra to acquire during the optimisation run). If the optimisation reaches the limit, it will terminate, reporting the best value so far as the ‘optimum’.
This is useful for enforcing an upper limit on the time taken to perform an optimisation. Since by far the majority of the time is spent on acquiring the NMR spectra,
MAXFEV
evaluations will simply take roughlyMAXFEV * t
time to run (wheret
is the time taken for one spectrum — you can find this out using TopSpin’sexpt
command).If you don’t want to have a limit on function evaluations, just don’t use this flag, or pass the value of 0. Technically, there is always a hard limit on the number of function evaluations (which is 500 times the number of parameters being optimised). However, it is probably almost impossible to run into that hard limit.
-q, --quiet
Don’t display the final popup at the end of the optimisation informing the user that the optimisation is done. This is mostly a matter of taste, as the final popup does not block any subsequent commands from being executed.
-s, --separate
Use a separate expno for each function evaluation. Note that if POISE runs into an expno which already exists, it will terminate with an error!