Hi,
I want to mark the boundaries between regions in a protein chain with
a perpendicular plane between the alpha carbon atoms of the boundary
residues.
The realization seems to be quite simple: use the "draw" command and
provide the coordinates of the two alpha carbon atoms as reference
points.
And what if several models/frames are present?
Fortunately Jmol does automatically calculate each boundary
model-specifically and all boundaries are shown correctly for each
model/frame.
Unfortunately sometimes there is only a single alpha carbon available,
e.g. at the beginning and end of a chain.
But there is a solution: Jmol math!
Since there is a second alpha carbon in the second residue of the
chain, Jmol math can be used to construct a virtual second alpha
carbon atom by mirroring the one from the second residue:
ca2 = {1:A.CA}.xyz + {1:A.CA}.xyz - {2:A.CA}.xyz;
draw boundary_1_A PLANE PERP 180 @ca2 (1:A.CA) translucent 0.2 red;
But a problem arises now with multiple models/frames:
If no model number is provided in the calculation (as shown above),
Jmol does the calculation using the average of all first/second alpha
carbon coordinates.
And if the model number is provided
ca2 = {1:A.CA/1}.xyz + {1:A.CA/1}.xyz - {2:A.CA/1}.xyz;
draw boundary_1_A PLANE PERP 180 @ca2 (1:A.CA/1) translucent 0.2 red;
the boundary would be drawn at the same position for all models.
And to complicate things even more, there is a third case where the
boundary must be drawn inside a single residue. But this can also be
done by modifying the plane using Jmol math:
draw boundary_2_A PLANE PERP 100 (2:A.CA/1) (4:A.CA/1);
offset1 = $boundary_2_A - {3:A.CA/1}.xyz;
point1 = $boundary_2_A[1] - @offset1;
point2 = $boundary_2_A[2] - @offset1;
point3 = $boundary_2_A[3] - @offset1;
point4 = $boundary_2_A[4] - @offset1;
draw boundary_2_A PLANE 100 @point1 @point2 @point3 @point4
translucent 0.2 yellow;
As a workaround I am currently using implicitly the default
"MODELBASED" otion of the draw command, which attaches the draw object
to the model/frame currently displayed.
But it is not optimal and doesn't work for the label attached to the
boundary by using the following command:
draw boundary_1_A_l $boundary_1_A[1] translucent 1.0 yellow "-/1.1 :A";
The problem is illustrated if you load
"http://www.fli-leibniz.de/cgi-bin/3d_mapping-rh.pl?CODE=1a11&VIEW=exon"
and then select a different model/frame by entering for example "frame
2" in the script input field.
Q: Would it be possible to do calculations model specific for each
model (at once)?
Q: Would it be possible to allow draw objects to be defined/adressed
model-specifically with something like "draw boundary/2 off"?
Regards,
Rolf
----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Jmol-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jmol-users