From: Joaquim Rui de Castro Rodrigues (
Date: Sun Mar 08 2015 - 11:41:18 CDT

Dear Monika,

I don't quite get what you are trying to achieve... Do you want to get separate PDB files for each resid?
Anyhow, I see a few problems with your script:
- the for loop contains a strange comparison: $i<N. I just tested this and it results in an infinite loop. You must set N outside of the loop.
- you're looping over resid's, but always writing to same the same file (out.pdb)
- you're building atomselections at each iterations without deleting them. Your script should crash vmd at some point.

The following script should write resid's to separate files:

set N 10
for {set i 0} {$i<$N} {incr i} {
   set sel [atomselect top "resid $i"]
   $sel writepdb [format out.%05d.pdb $i]
   $sel delete

Hope this helps,
J Rui Rodrigues

De: [] Em Nome De Monika Madhavi []
Enviado: domingo, 8 de Março de 2015 14:33
Assunto: vmd-l: How to write coordinates to a pdb without replacing existing entries

Dear all,

I want to write coordinates of some selected molecules to a separate pdb and I want to add the entries to the same pdb file for each molecule I select in each iteration of the for loop.

I used this tcl command

set outfile [open out.pdb w]
for {set i 0} {$i<N} {incr i} {
set sel [atomselect top "resid $i"]
$sel writepdb out.pdb

this code keeps writing the coordinates of each selection to a new file at each iteration so at the end I only have the coordinates of the last atom selected. How can I keep writing the coordinates to the same pdb without deleting the old entries. Any help is greatly appreciated.


W.A.Monika Madhavi
Lecturer (Probation),
Department of Physics,
University of Colombo.