Hi Petro - It looks like that structure has a deuterium atom. Assuming
you're interested in the non-deuterated molecule, you can convert it to a
hydrogen and the command will work.
```
alter elem D, elem="H"
rebuild
print(cmd.centerofmass("polymer"))
```
Or if you want to stick with Python API syntax, the first two commands
would be:
```
cmd.alter('elem D', 'elem="H"') # note the second argument is a string for
the `expression` keyword arg, thus double quotes inside single quotes
cmd.rebuild()
```
Hope that helps.
Cheers,
Jared
On Tue, May 23, 2023 at 6:44 AM Petro <[email protected]> wrote:
>
> Hi everybody
> I get the following error when I try to use center of mass commanand.
> Any Idea what is wrong?
> Thanks.
> Petro.
>
> --------------------------------------------------------------------------KeyError
> Traceback (most recent call last)
> Cell In[4], line 4 2 cmd.reinitialize() 3 cmd.fetch('1AKK')----> 4
> cmd.centerofmass('polymer')
>
> File ~\miniconda3\envs\pymol\lib\site-packages\pymol\querying.py:1565, in
> centerofmass(selection, state, quiet, _self) 1563 model =
> _self.get_model(selection, state) 1564 for a in model.atom:-> 1565 m =
> a.get_mass() * (a.q or 1.0) 1566 com = cpv.add(com, cpv.scale(a.coord,
> m)) 1567 totmass += m
>
> File ~\miniconda3\envs\pymol\lib\site-packages\chempy\__init__.py:82, in
> Atom.get_mass(self) 80 def get_mass(self): 81 '''Given the
> chemical symbol the atomic mass is returned'''---> 82 return
> atomic_mass[self.symbol]
> KeyError: 'D'
>
> _______________________________________________
> PyMOL-users mailing list
> Archives: http://www.mail-archive.com/[email protected]
> Unsubscribe:
> https://sourceforge.net/projects/pymol/lists/pymol-users/unsubscribe
_______________________________________________
PyMOL-users mailing list
Archives: http://www.mail-archive.com/[email protected]
Unsubscribe:
https://sourceforge.net/projects/pymol/lists/pymol-users/unsubscribe