Hi Suzanne - The reason you have been getting only one distance in your output
file is that your script is opening the file in “write” mode:
f=open('distnew.txt','w')
This will overwrite the contents of distnew.txt each time the script is run.
If you want to keep all the distances without changing the rest of your script,
you could open the file in “append” mode.
f=open('distnew.txt',’a’)
This way, each line will just get added to the bottom of the script. Keep in
mind that if you want to start over with a new list of distances, you’ll need
either to change the filename that gets opened (as you’ve done with
“distnew.txt”) or delete the existing file. For this reason, I would go with
one of the other approaches mentioned by Andreas, or look into using a list to
define the atoms to which you’d like to measure the distance from the first
atom, and loop through that list. Perhaps something like this (untested) bit
of script would be useful, especially if you have many different atoms to check:
first_atom = 'B///297/cb'
second_atoms_list = ['A///17/cb', 'A///18/cb', 'A///19/cb']
with open("dist.txt", 'w') as f:
for second_atom in second_atoms_list:
f.write("%8.3f\n" % cmd.distance("tmp", first_atom, second_atom))
Good luck!
Cheers,
Jared
On Jun 17, 2014, at 2:21 PM, Lapolla, Suzanne M (HSC)
<suzanne-lapo...@ouhsc.edu<mailto:suzanne-lapo...@ouhsc.edu>> wrote:
Another follow up question to this. I decided to use the measure distance
python script on the pymol wiki to do this, and I was able to do it
successfully with a range of residues, but my question is about the output txt
file. When I run the script I get the correct distances (all 3 of them) to show
on the GUI but the text file that is generated (distnew.txt) only lists one
distance--so perhaps the script needs to be modified for this as well for the
residues measured?
The original script is at the link
http://www.pymolwiki.org/index.php/Measure_Distance
and my modified version is below. Suggestions appreciated! Thank you.
# This script writes the distance from
# atom mol1///25/ha to atom mol1///26/ha
# out to the file "dist.txt"
# Simply change your selections to see different distances.
# import PyMOL's command namespace
from pymol import cmd
# open dist.txt for writing
f=open('distnew.txt','w')
# calculate the distance and store it in dst
dst=cmd.distance('tmp','B///297/cb','A///17-19/cb')
# write the formatted value of the distance (dst)
# to the output file
f.write("%8.3f\n"%dst)
# close the output file.
f.close()
________________________________________
From: Robert Campbell
[robert.campb...@queensu.ca<mailto:robert.campb...@queensu.ca>]
Sent: Monday, June 09, 2014 10:04 AM
To: pymol-users@lists.sourceforge.net<mailto:pymol-users@lists.sourceforge.net>
Subject: Re: [PyMOL] command question RE printing out distances to text file
Hi Suzanne,
You can also get the distance printed in the external GUI or terminal window
by using the "cmd.distance" version of the command. So either you can
assign the distance to a variable and print it or you can print the result
directly.
Assuming you have two selections, sele1 and sele2 specifying the atoms of
interest you can do:
d = cmd.distance(sele1,sele2)
print sele1,sele2,d
Cheers,
Rob
On Mon, 2014-06-09
13:13 EDT, Thomas Holder
<thomas.hol...@schrodinger.com<mailto:thomas.hol...@schrodinger.com>> wrote:
Hi Suzanne,
you can use the get_distance command. It doesn't generate a distance
object but prints the distance to the external window.
https://urldefense.proofpoint.com/v1/url?u=http://pymolwiki.org/index.php/Get_Distance&k=7DHVT22D9IhC0F3WohFMBA%3D%3D%0A&r=1ciN0EuZ9XNq3lPnYtgkI5sKPXgKVaywidBN0C981SQ%3D%0A&m=fr2bAoLQoVgp9h2t2fgBvfGVVX7oQ1g14g1AODFz%2FRg%3D%0A&s=921f4dfed39cd38f4ae7a70dfb937844d4e3faf1bc967c2f4d1f2944fa2ea31b
Cheers,
Thomas
On 06 Jun 2014, at 23:03, Lapolla, Suzanne M (HSC)
<suzanne-lapo...@ouhsc.edu<mailto:suzanne-lapo...@ouhsc.edu>> wrote:
Fellow Pymol Users:
I may have asked this question before...but if so have forgotten. I am
measuring distances between 2 atoms in 2 different objects using the
distance command, and it is working perfectly, but I wonder if there is
a command I can use/add so that those distances can be printed in the
external gui as well as being shown in the viewer. I will be doing lots
of these at the same time and the screen will get crowded. Thank you in
advance.
--
Robert L. Campbell, Ph.D.
Senior Research Associate/Adjunct Assistant Professor
Dept. of Biomedical & Molecular Sciences
Botterell Hall Rm 644
Queen's University,
Kingston, ON K7L 3N6 Canada
Tel: 613-533-6821
<robert.campb...@queensu.ca<mailto:robert.campb...@queensu.ca>>
https://urldefense.proofpoint.com/v1/url?u=http://pldserver1.biochem.queensu.ca/~rlc&k=7DHVT22D9IhC0F3WohFMBA%3D%3D%0A&r=1ciN0EuZ9XNq3lPnYtgkI5sKPXgKVaywidBN0C981SQ%3D%0A&m=fr2bAoLQoVgp9h2t2fgBvfGVVX7oQ1g14g1AODFz%2FRg%3D%0A&s=aaad7877cf1640401ae708b7b5f5a2fbe03abec4d2f0ef509e7360c0017ee225
------------------------------------------------------------------------------
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
https://urldefense.proofpoint.com/v1/url?u=http://www.hpccsystems.com/&k=7DHVT22D9IhC0F3WohFMBA%3D%3D%0A&r=1ciN0EuZ9XNq3lPnYtgkI5sKPXgKVaywidBN0C981SQ%3D%0A&m=fr2bAoLQoVgp9h2t2fgBvfGVVX7oQ1g14g1AODFz%2FRg%3D%0A&s=dabd029c6435c0bbe92d916555213bd7ccbd3d4ac6dcf2de28cf19c428ff0eed
_______________________________________________
PyMOL-users mailing list
(PyMOL-users@lists.sourceforge.net<mailto:PyMOL-users@lists.sourceforge.net>)
Info Page:
https://urldefense.proofpoint.com/v1/url?u=https://lists.sourceforge.net/lists/listinfo/pymol-users&k=7DHVT22D9IhC0F3WohFMBA%3D%3D%0A&r=1ciN0EuZ9XNq3lPnYtgkI5sKPXgKVaywidBN0C981SQ%3D%0A&m=fr2bAoLQoVgp9h2t2fgBvfGVVX7oQ1g14g1AODFz%2FRg%3D%0A&s=6e6df3376d82f34b3bce9c1de38053ec6052ce7313087062131127d0c0c03fb7
Archives:
https://urldefense.proofpoint.com/v1/url?u=http://www.mail-archive.com/pymol-users%40lists.sourceforge.net&k=7DHVT22D9IhC0F3WohFMBA%3D%3D%0A&r=1ciN0EuZ9XNq3lPnYtgkI5sKPXgKVaywidBN0C981SQ%3D%0A&m=fr2bAoLQoVgp9h2t2fgBvfGVVX7oQ1g14g1AODFz%2FRg%3D%0A&s=f7df11447d13070db8093ed0604c19654bebcf07d28d46919253043bb5dbe80e
------------------------------------------------------------------------------
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems
_______________________________________________
PyMOL-users mailing list
(PyMOL-users@lists.sourceforge.net<mailto:PyMOL-users@lists.sourceforge.net>)
Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users
Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net
------------------------------------------------------------
This email message, including any attachments, is for the sole use of the
intended recipient(s) and may contain information that is proprietary,
confidential, and exempt from disclosure under applicable law. Any unauthorized
review, use, disclosure, or distribution is prohibited. If you have received
this email in error please notify the sender by return email and delete the
original message. Please note, the recipient should check this email and any
attachments for the presence of viruses. The organization accepts no liability
for any damage caused by any virus transmitted by this email.
=================================
------------------------------------------------------------------------------
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems
_______________________________________________
PyMOL-users mailing list (PyMOL-users@lists.sourceforge.net)
Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users
Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net