Hi,
I implemented the coordinate transformation and the selection of atoms
outside PyMol, in R. In principle it works, but there seems to be some
error, since too many atoms are selected, corresponding roughly, but not
completely to an enlarged clipping corridor between the planes defined by
get_view, matrix elements (6,1) and (6,2). Or could it be that not the
complete slab is visualized in PyMol? However, the missing atoms are
completely shadowed.
Do I understand the rows of the view matrix well (see
http://www.pymolwiki.org/index.php/Get_View), by computing the following
coordinate transformation?:
1) Translation of the original pdb coordinates by subtracting row 5 of the
view matrix (translation of the coordinate origin to the rotation center).
2) Rotation of the coordinates by rows 1-3 of the view matrix.
3) Test: view[4,3] + view[6,1]) <= z <= view[4,3] + view[6,2].
Sorry for this simple question of affine geometry, but I hope I did not make
a logical mistake in this domain...
Regards
Johannes
Tsjerk Wassenaar wrote:
Hi Johannes,
It's not that hard. The clipping planes are defined by the z coordinate (in
the viewing matrix). So you can get the atoms for a selection, transform to
get the new z coordinate only, and check whether it's in between the planes:
m = cmd.get_model(selection).atom
v = cmd.get_view()
m = [ i for i in m if clipped(i,v) ]
So clipped should do the transform and check whether the atom is clipped.
The trick then is to turn m back into a selection.
Hope it helps,
Tsjerk
On Feb 25, 2011 5:18 PM, "Johannes Wollbold" <jwollb...@gmx.de> wrote:
Jason Vertrees wrote: > Having said this, you can however, can get the
clipping information > from P...
Hi Jason,
thank you again for the hint. First I looked if I can select atoms
according to their coordinates, or store new coordinates after a
rotation / shift. But implicitly you already said that such
functionalities are not yet implemented. If clipping is performed with
the original camera view, the task is simple. get_view gives the output
(see above link to the help page):
set_view (\
1.000000000, 0.000000000, 0.000000000,\
0.000000000, 1.000000000, 0.000000000,\
0.000000000, 0.000000000, 1.000000000,\
0.000000000, 0.000000000, -320.337890625,\
74.147140503, 74.174217224, 74.123344421,\
317.145324707, 323.530487061, -20.000000000 )
According to (4,3), the camera is shifted by -320 A in z direction only.
Since (6,1) and (6,2) indicate the camera distances of the slab planes,
I can select, in the pdb file, the atoms with (74 - 320 + 317 ) <= z <=
(74 - 320 + 323).
For different views, coordinate transformations with the rotation matrix
of the first 3 lines are needed. This should not be very difficult, but
perhaps somebody has already a solution?
Best regards
Johannes
On Thu, Feb 24, 2011 at 3:50 AM, Johannes Wollbold <jwollb...@gmx.de>
wrote: > >> Hello, >> >>...
------------------------------------------------------------------------------
Free Software Download: Index, Search & Analyze Logs and other IT data in
Real-Time with Splunk. Collect, index and harness all the fast moving IT
data
generated by your applications, servers and devices whether physical,
virtual
or in the cloud. Deliver compliance at lower cost and gain new business
insights. http://p.sf.net/sfu/splunk-dev2dev
_______________________________________________
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