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 

Reply via email to