Dear all,
I received two answers to my question.
Either call the function as part of cmd.do('function') or import it into my
script and call it that way (see below):
"You need to import the colorbyrmsd.py script within your script, then you can
call it that way. For example your script could say:
import colorbyrmsd as cbr
for obj in seleobjs:
cmd.enable(obj)
cbr.colorbyrmsd(obj,target)"
Thank you both for your help!
Best regards,
Zuben
________________________________
From: Mooers, Blaine H.M. (HSC) <[email protected]>
Sent: Saturday, October 31, 2020 5:59 PM
To: Brown, Zuben <[email protected]>
Subject: [EXTERNAL] RE: How to iterate commands in pymol
Hi Zuben,
Good question!
ColorByRMSD is described here
https://urldefense.proofpoint.com/v2/url?u=https-3A__pymolwiki.org_index.php_ColorByRMSD&d=DwIFAg&c=G2MiLlal7SXE3PeSnG8W6_JBU6FcdVjSsBSbw6gcR0U&r=8AY7h2N3TQ7k7n9RDhxT46t0ViqfY3ViGGLPrQZPtGw&m=2AkS9-9GiZXwGwqONju_wOfjSdAj3CjsKQUt50x7cBA&s=r2yosmTOrZ53GB7PLAAUYfXQpvhQKkCSsQkNyawkJR8&e=
.
The script is under a BSD-2-Clause License.
You have to "run colorbyrmsd.py" to load the colorbyrmd function into memory
that is in this file.
The Python function colorbyrmsd() has been extended so that it can act like a
command in the PyMOL macro language.
Such commands can be executed in your Python "for loop" by using the command
inside of quotes as the argument to cmd.do().
For example,
cmd.do("colorbyrmsd 1ake, 4ake")
I know. It is silly to a convert a Python function to a PML command than call
this command from Python, but this
approach requires the least amount of effort on your part.
Best regards,
Blaine
Blaine Mooers, Ph.D.
Associate Professor
Department of Biochemistry and Molecular Biology
College of Medicine
University of Oklahoma Health Sciences Center
S.L. Young Biomedical Research Center (BRC) Rm. 466
975 NE 10th Street, BRC 466
Oklahoma City, OK 73104-5419
________________________________________
From: Brown, Zuben [[email protected]]
Sent: Saturday, October 31, 2020 3:36 PM
To: [email protected]
Subject: [EXTERNAL] [PyMOL] How to iterate commands in pymol
Hi,
I'd like to iterate using a script in pymol but one of the commands I'd like to
use does not have an associated cmd.API.
For example, how do I run:
for obj in seleobjs:
cmd.enable(obj)
colorbyrmsd(obj, target) <--- This third line doesn't work since colorbyrmsd
does not have a cmd.colorbyrmsd.
Is there a way I can run something like:
cmd.executecommand("colorbyrmsd {0}, target".format(obj)) ?
Best regards,
Zuben
_______________________________________________
PyMOL-users mailing list
Archives: http://www.mail-archive.com/[email protected]
Unsubscribe:
https://sourceforge.net/projects/pymol/lists/pymol-users/unsubscribe