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

Reply via email to