Bob Hanson wrote:
...
oooh, I REALLY dislike "side effects" doing hidden settings changes.
Note that the effect of the connect is not the same as set bondmode
AND. That is, there is no current way to target those bonds except
with another CONNECT command. You have targeted very specific bonds,
yet there is no select for bonds, only atoms. The "selection" cannot
be reproduced in prior methods, because the way connect operates, it
does a sequence of two-atom-specific bond settings based on distance,
not AND/OR sets.
...
I vote for:
define CONNECT <AND-atoms>
and a distinct radius of hbonds 1 (dotted line) by default.
So, for example, say you were setting the short C-O bonds to be double
bonds and you had
(O=C)-(C=O)
So you use:
connect 1.2 1.3 DOUBLE (carbon) (oxygen)
Now you select "AND" and you have selected in addition the C-C bond
for whatever happens next, because all you have done is select the
four atoms.
My point is that an operation on bonds cannot be reproduced as an
operation on atoms. They are fundamentally two different classes, but
code-wise and figuratively speaking.
You are right, I haven't thought far enough, separate CONNECT sets and
AND wouldn't do it.
I had voted for a general iterative-within() command for selection,
which is of use to simply select atoms before, but this wouldn't
currently help selecting the target bonds.
Unless we invent a new selection mechanism that targets bonds, it
can't be done. (OK, we could do that, but it would be a completely
new idea, invented just so that we aren't mixing in an extra radius
integer in the CONNECT command. Do we want to make this that
complicated? Maybe...)
Perhaps this is the time to go beyond "set bondmode AND/OR" which to
me has always seemed a very odd and primitive way to target bonds.
the problem arose with connecting multiple bonds at one time, which is
superior to the RasMolScript bond syntax.
Now I'm convinced that the most straight forward solution is an optional
diameter parameter to the connect command, though in most cases I would
render bonds on a per residue level with the wireframe command and not
on a bond type level with connect.
Regards, Jan
I'm curious about this rendering/connecting dichotomy. Didn't Miguel
originally implement this along the lines of wireframe, arguing that
it WAS a rendering issue? "Connections" in Jmol are just "class Bond",
which is specifically a viewer rendering class. To me, I see the whole
"connect" issue as a subdivision of rendering -- all we are really
doing is creating a new rendering cylinder object, which has five
specific properties: atom1, atom2, order, radius, and color/translucency.
That said, I like the idea of selecting BONDS as opposed to ATOMS so
that these items could all be changed selectively. But that's a whole
additional concept.
Maybe what we are talking about is something like
selectBonds 1.2 1.4 [|EXISTS|NEW] (carbon) (oxygen)
connect SELECTEDBONDS DOUBLE
color SELECTEDBONDS red translucent
wireframe SELECTEDBONDS 0.2
Maybe?
Bob
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
Jmol-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jmol-users