Hi Shivani,

Your selection needs to be object-specific, e.g. like this:

for filename in glob("*.pdb"):
   cmd.load(filename)
   obj = filename[:-4]
   editor.attach_amino_acid(obj + " and resi 10 and name N", 'ace')

Hope that helps.

Cheers,
 Thomas


> On Oct 9, 2021, at 21:18, shivani sharma <shivanis0...@gmail.com> wrote:
> 
> Hi everyone, 
> 
> I am trying to cap (with ace and nme) various *.pdbs. I made a folder, where 
> I have placed *.py file and *.pdb files. When I load the run following script:
> 
> from pymol import cmd, editor
> from glob import glob
> for filename in glob("*.pdb"):
>    cmd.load(filename)
>    editor.attach_amino_acid("resi 10 and name N", 'ace')
>    editor.attach_amino_acid("resi 11 and name C", 'nme')
> 
> It is opening all files but capping only one of the files and giving me back 
> an error:
> Traceback (most recent call last):
>  File "pyformol.py", line 6, in <module>
>    editor.attach_amino_acid("resi 10 and name N", 'ace')
>  File 
> "C:\Users\Shivani\AppData\Local\Schrodinger\PyMOL2\lib\site-packages\pymol\editor.py",
>  line 129, in attach_amino_acid
>    raise pymol.CmdException("invalid connection point: must be one atom, name 
> N or C.")
> pymol.CmdException:  Error: invalid connection point: must be one atom, name 
> N or C.
> 
> This seems like a looping error. I haven't been able to find much about 
> "glob". Could someone suggest an easy way out? I want to create a loop where 
> ace and nme should be added to all the dipeptides and save them as separate 
> pdb files.
> 
> Shivani
> _______________________________________________
> 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



_______________________________________________
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