|
From: Tsjerk W. <ts...@gm...> - 2015-09-15 18:36:45
|
Hi,
AFAIK, pseudoatom puts a new atom on the center of mass (or geometry) of
the selection. So,
import glob
from pymol import cmd
for pdb in glob.glob("*.pdb"): cmd.pseudoatom(pdb[-3:],"{} and resn
LIGANDNAME".format(pdb))
Or along those lines. Be creative :)
Cheers,
Tsjerk
On Tue, Sep 15, 2015 at 12:25 AM, Osvaldo Martin <alo...@gm...>
wrote:
> Hi Zakir,
>
> The following script computes the Center Of Mass (or alternative the
> geometric center) and then draws a pseudoatom
> <." rel="nofollow">http://www.pymolwiki.org/index.php/Pseudoatom>. I think you could adapt
> the script to your needs if you find difficulties, don’t hesitate to
> contact the list again (your question is not silly).
>
>
> import pymol
> from pymol import cmd
> pymol.finish_launching()
> import numpy as np
>
> def center(selection, com=True):
> model = cmd.get_model(selection)
> xyz = np.array(model.get_coord_list())
> mass = [i.get_mass() for i in model.atom]
> xyz_m = xyz * np.array([mass]).T
> if com:
> return tuple(np.sum(xyz_m, 0)/model.get_mass())
> else:
> return tuple(np.average(xyz, 0))
>
>
> cmd.load('some_file.pdb')
> COM = center('all')
> cmd.pseudoatom('center', pos=COM)
>
> Alternatively, you can use this script
> <" rel="nofollow">http://www.pymolwiki.org/index.php/Center_of_mass> to compute the center
> of mass.
>
> Cheers,
> Osvaldo
>
>
> On Mon, Sep 14, 2015 at 4:29 PM, Zakir Tnimov <zak...@gm...>
> wrote:
>
> Hi there,
>>
>> I have no experience in scripting what so ever thus this simple task
>> drives me nuts.
>> I was using ZDOCK to dock my protein on the complex. It spits me out 2000
>> pdb files that each contain a ligand and receptor. Receptor position is
>> fixed, ligand is not. What I want to show is just centre of mass of the
>> ligand and a receptor. I understand that I should be doing something like
>> this:
>>
>> from pymol import cmd
>> from glob import glob
>>
>> for file in glob("*.pdb"):
>> print file
>> cmd.load(file,'prot')
>> for a in cmd.index("CYS/SG"):
>> identify COM
>> print its location as a dot or sphere
>> delete loaded file
>> go to another one until list is exhousted
>>
>> cmd.delete("all”)
>>
>> Thank you a lot and sorry for bothering you with such a silly question!
>>
>>
>> zak...@gm...
>>
>>
>>
>>
>>
>> ------------------------------------------------------------------------------
>> _______________________________________________
>> PyMOL-users mailing list (PyM...@li...)
>> Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users
>> Archives: http://www.mail-archive.com/pym...@li...
>
>
>
>
> ------------------------------------------------------------------------------
>
> _______________________________________________
> PyMOL-users mailing list (PyM...@li...)
> Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users
> Archives: http://www.mail-archive.com/pym...@li...
>
--
Tsjerk A. Wassenaar, Ph.D.
|