
Hi Will, Your method of starting Chimera chimera volume.mrc --script colourMaps.py -- -a red looks reasonable but doesn't work. Chimera insists that the data files come after the options (like --script). But the --script <file> option treats all subsequent arguments as script arguments (not data files) unless they start with "--". The bottom line is Chimera wants the data file at the end but that doesn't open the data file if you use the --script option. This is pretty messed up and we will do something to fix it. In the meantime you can use chimera --script colourMaps.py volume.mrc -a red This won't open volume.mrc, instead volume.mrc will be the first argument to your script and your script will have to open it with from chimera import openModels openModels.open(sys.argv[1]) Thanks for pointing out this problem. We will discuss it at our weekly Chimera meeting and come up with a solution that lets you open data files and a script on the command-line. Tom
Hi Tom,
Thanks for that. Works great!
Now I have another question:
I'm trying to pass colors to the script in the arguments, but not having much luck. In the script itself, do you recover the arguments in the normal way: Like this?
import getopt, sys, os try: opts, args = getopt.getopt(sys.argv[1:] ,"a:", []) except getopt.GetoptError, err: pass returnMap = {} print opts for opt, arg in opts: if opt == "-a": returnMap["a"] = arg print returnMap
If I run this script directly from the command line like this: python colourMaps.py -a red
I get the expected print out [('-a', 'red')] {'a': 'red'}
but if I try to call this script at the same time as opening maps from the command line, I don't get anything: chimera volume.mrc --script colourMaps.py -- -a red
Reply log: [] {}
I'm also getting a UI dialog "Please designate file type for --script" which I have to 'cancel' every time I open chimera with this command. Is there any way I can avoid this?
Many thanks,
Will.