[Chimera-users] FW: Python code problem
Mahendra B Thapa
thapamb at mail.uc.edu
Wed Jun 3 11:04:40 PDT 2015
Dear Eric
I had not realized that not every amino acid consisted of CB atom. Thank
you for the code which worked; just want to add a very minor addition ( """
) to the left of the code, i.e.
*sel = OSLSelection("""#0.1:%d.B at CB""" %i)* instead of
*sel = OSLSelection(#0.1:%d.B at CB""" %i)*
I tried another code as
import string
rc("open " + 'test.pdb') # 60 models, each model has chains A,B,C
for i in [2196,2197]:
for j in range(3429,3450):
for *k* in ['A','B','C']:
sel = OSLSelection("""#0.3:%d.%s at CA"""
%(j,k))
sol = OSLSelection("""#0.2:%d.B at CA""" %i)
if ((len(sel.residues()) != 1) or
(len(sel.residues()) != 1)):
continue
if ((len(sol.residues()) != 1) and
(len(sol.residues()) != 1)):
continue
rc("""distance #0.2:%d.B at CA #0.3:%d.%s at CA"""
%(i,j,k))
I got the output as (without any error message)
Distance between #0.2:2196.B at CA and #0.3:3450*.C*@CA: 104.315
The 'for' loop did not work for *k* (above) and only gave results for C
only but not for A and B.
Thank you for help,
Mahendra Thapa
University of Cincinnati,OH
On Fri, May 29, 2015 at 1:55 PM, Thapa, Mahendra (thapamb) <
thapamb at mail.uc.edu> wrote:
>
> ------------------------------
> *From:* Eric Pettersen
> *Sent:* Friday, May 29, 2015 11:55:18 AM (UTC-06:00) Central America
> *To:* Thapa, Mahendra (thapamb)
> *Cc:* chimera-users at cgl.ucsf.edu
> *Subject:* Re: [Chimera-users] Python code problem
>
> Hi Mahendra,
> In the first case, as you saw, it tries exactly two distances; the first
> involving :2011.B and the second involving :2420.B. In the second case it
> will try every distance from :2011.B through :2419.B (note that the range
> command does not include the ending number in the range). This means if
> the structure is missing *any* of those residues then the distance
> command will fail with the error you got, since the atom spec will only
> select one atom.
> So you either need to explicitly use just the residue numbers that exist,
> or you need to test if the residue you are about to try to use exists. So
> code to do that might be:
>
> from chimera.selection import OSLSelection
> sel = OSLSelection(#0.1:%d.B at CB""" %i)
> if len(sel.residues()) != 1:
> continue
>
> --Eric
>
> Eric Pettersen
> UCSF Computer Graphics Lab
> http://www.cgl.ucsf.edu
>
> On May 29, 2015, at 6:37 AM, Mahendra B Thapa <thapamb at mail.uc.edu>
> wrote:
>
> Dear Chimera users,
>
> The command I used was
> chimera --nogui test.py
> I tried two codes (following previous posts and tutorials in chimera) in
> 'test.py' as follows
>
> (i)
> import os
> from chimera import runCommand as rc
> from chimera import replyobj
> rc("open " + 'test.pdb')
> for i in [2011,2420]:
> rc("""distance #0.2:2010.B at CB #0.1:%d.B at CB""" %i)
>
> *This code gave the result as expected*:
> Executing test.py...
> Opening test.pdb...
> 60 models opened
> Distance between #0.2:2010.B at CB and #0.1:2011.B at CB: 72.346
> Distance between #0.2:2010.B at CB and #0.1:2420.B at CB: 92.979
> Executed test.py
>
> (ii)
> import os
> from chimera import runCommand as rc
> from chimera import replyobj
> rc("open " + 'test.pdb')
> for i in range(2011,2420):
> rc("""distance #0.2:2010.B at CB #0.1:%d.B at CB""" %i)
>
> * This code gave the result as*
> ' You selected %d.' % numSelected)
> MidasError: Exactly two atoms/axes/planes must be selected. You selected
> 1.
> Error while processing test.py:
> MidasError: Exactly two atoms/axes/planes must be selected. You selected
> 1.
>
> File "/opt/UCSF/Chimera64-1.5.3/share/Midas/__init__.py", line 1266, in
> distance
> ' You selected %d.' % numSelected)
>
> What could be the error this code? Only difference between two codes is:
> "for
> * i in [2011,2420]:" & "for i in range(2011,2420):" *
> That is, I am interested to use range operator in 2nd case instead of two
> values as in the 1st case.
>
> Thank you for help,
> Mahendra Thapa
> University of Cincinnati,OH
>
>
> _______________________________________________
> Chimera-users mailing list
> Chimera-users at cgl.ucsf.edu
> http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users
>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://plato.cgl.ucsf.edu/pipermail/chimera-users/attachments/20150603/678c7753/attachment.html>
More information about the Chimera-users
mailing list