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

Reply via email to