Dear Christian, Summary: From within the same PyMOL instance, the command pdb 1n1m works, but the script > from pymol import cmd > time.sleep(1) > > list = ('1n1m') > > for strc in list: > pdb strc does not. (IMO, the import is not necessary here).
Analysis: You use the code above as a PyMOL .pml script. Thus, PyMOL will interpret each command primarily as a PyMOL command. If no matching command is found, the Python things will be tried. Translation: PyMOL probably thinks that 'strc' is the PDB-code rather than the variable. It tries to download 'pdbstrc.ent' from the PDB server. Question: Does a script just containing 'pdb 1n1m' work? I guess yes. Solution - Go Python: script.py ----------------------- from pymol import cmd time.sleep(1) list = ('1n1m') for strc in list: cmd.do('pdb %s'%(strc)) ------------------------ start it with: run script.py I hope that helps, Kristian