Hello all, 

I would like to write a basic python script to select residues for each state 
using the iterate_state and output the results first in pymol console window 
with the following format 

frame 1 : resid ...
frame 2 : resid ... 
...

### my script ## 

from pymol import cmd, stored

mytraj=""
mytraj2=""

## Load PDB 
cmd.load("1JNO_GrA_DMPC_NACL_Membrane_TIP3P_SemiIso_rep3_Water_InChannel_0ns.pdb"),
 mytraj

## Load XTC
cmd.load_traj("1JNO_GrA_DMPC_NACL_Membrane_TIP3P_SemiIso_rep3_Water_InChannel_0_50ns_Every_0.5ns_TRANSLATED.xtc"),
 mytraj2

stored.resid = []

Myselection="select water_channel, resname SOL within 3.5 of resname CHO"

nb_states=cmd.count_states(mytraj2)    ---> Contains 102 states
print(mytraj2, nb_states)

state=1
for i in range (nb_states) :
        print(i)
        cmd.iterate_state (i, (Myselection), 'resid.append(resv)')   ----> 
Should to ireate for all the states
        print("frame " + str(i) + ":" + str(stored.residues))   ---> Print the 
results of the Myselection command in the console

### 

But the first problem I have is the syntax of the iterate_state. I obtain the  
following error 
"Selector-Error: Invalid selection name "select".
( select water_channel, resname SOL within 3.5 of resname CHO )<--"

When I put this selection command directly in Pymol, it works and i can obtain 
the desired waters that was near 3.5 A of the CHO over all the states . So What 
is the correct syntax for the selection with "iterate_state" ? And how to 
output the results again for each state in the screen .  

Thanks in advance for your help

Stéphane 


_______________________________________________
PyMOL-users mailing list
Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net
Unsubscribe: 
https://sourceforge.net/projects/pymol/lists/pymol-users/unsubscribe

Reply via email to