Re: [Jmol-users] applet -- callback brainstorming
Bob Hanson wrote: ... b) What WOULD you use if you had it available? the monitor/measure command, especially if there is no need for atom numbers but select expressions could be used Hmm. Usually for those you need an ordered list, right? But one could imagine following the bonding in some cases. Say more. I don't see a difference whether I say monitor 2087 2088 or monitor ([LIP]3:A.O5) ([LIP]3:A.O6) ( is signaling that a select expression has to be evaluated first to get the monitor command argument the show selected command to evaluate current selection done check out http://www.stolaf.edu/people/hansonr/jmol/test/json/json.htm c) What sort of information (exactly) are you looking for? depends on the status of set picking, in most cases set picking atom show orientation show center RasMol>show selected group RasMol>set picking distance these are taken care of by getProperty(). -- no need for callbacks here. OK with that callback would only be luxurious for Jmol console use and especially with a console only mode, if a Jmol --nodisply batch run option would get implemented like in RasMol, if the applet is used, JavaScript is already involved and there is no need for callback via JmolScript, getProperty() is superior, callback is only used for functional compatibility with RasMol scripts. d) Is there a particular format that you would like to see, other than just the current text-stream of messages? I like the ready to use command line like output, e.g. picking should result in a ready to use select expression [LYS]54.CD #798 is OK, it isn't difficult to filter e.g. [LYS]54.CD from this. so, for example: msg: 58,atomPick,296,[ASP]43.O #297 msg: 57,atomPick,223,[CYS]32.N #224 msg: 56,atomPick,222,[GLY]31.O #223 msg: 55,atomPick,226,[CYS]32.O #227 right? as I wrote, I like atomInfo[n].info $ show orientation moveto 1 -1000 0 0 180.0; OR reset; rotate z 180.0; rotate y 180.0; no problem. getProperty("orientationInfo") orientationInfo=new Array() orientationInfo.moveTo="moveto 1 -791 -611 24 78.4;" orientationInfo.rotateZYZ="reset; rotate z -126.6; rotate y 78.3; rotate z 128.8;" orientationInfo.rotateXYZ="reset; rotate x -75.6; rotate y -35.7; rotate z 30.2;" RasMol>show selected group should result in a select expression Hmm. That's an interesting idea. How does it choose the "right" select expression? But I see what you are after -- so that you can save that and recall that particular selection. This could be tricky The right is *a* short expression, if 16/16 atoms of a group are selected, no doubt, no individual atom should be selected. There is no need for the shortest, but a symbolic human readable expression is preferred over *only* an ordered atom number list (needed for compare operations). e.g. >=1 model? >=1 chain? >=1 group? >0.5 group? and not ( ) >4 atoms? and ( ) backbone? and backbone : Regards, Jan ... --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642 ___ Jmol-users mailing list Jmol-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jmol-users
Re: [Jmol-users] applet -- callback brainstorming
Jan wrote: I don't see a difference whether I say monitor 2087 2088 or monitor ([LIP]3:A.O5) ([LIP]3:A.O6) Oh, sure. OK. I don't know that we are headed that way wth the monitor command, because there are some programming issues with putting two atom expressions in the same command -- nothing really insurmountable, really, but not exactly trivial. I thought you were talking about, say, specifying four atoms and then somehow Jmol was to decide what arrangement you wanted for a dihedral. THAT seems prone to problems. But I don't see why we couldn't have: getProperty("getDistance", "[LIP]3:A.O5", "[LIP]3:A.O6") Mostly I don't like special cases. So the challenge would be to make this extensible to getProperty("getAngle", "[LIP]3:A.O5","[LIP]3:A.O6","[LIP]3:A.O7") getProperty("getTorsionAngle", "[LIP]3:A.O5","[LIP]3:A.O6","[LIP]3:A.O7","[LIP]3:A.O8") Anyway -- these would be in the category "not a callback," I think. But it's a great idea, and one that we'll definitely implement somehow. I'm assuming for this idea: 1) You don't want to (necessarily) display the monitor line w/ or w/o numbers 2) You want to be able to display the monitor line w/ or w/o numbers (do that separately, with a script command, but that command format could be returned as one of the elements of the data structure). 3) All three -- getDistance, getAngle, getTorsionAngle -- should be available. Maybe a simple "getPosition" as well, just to head off the obvious request. Yes, I could imagine this to be very useful. By the way, Jmol caches up to 16 measurements. (Something the applet has never had an interface to.) That is, you can make up to 16 measurements by clicking the mouse, and they are all saved automatically. The Jmol application utilizes this for its table; there's no reason not to expose it as a JSON structure to the web page. The distinction I think I want to make here is the .script() method used solely/primarily for driving the display; the .getProperty() method for retrieving information. We can talk about .setProperty() or .scriptSynchronous() later callback would only be luxurious for Jmol console use and especially with a console only mode, if a Jmol --nodisply batch run option would get implemented like in RasMol, if the applet is used, JavaScript is already involved and there is no need for callback via JmolScript, getProperty() is superior, callback is only used for functional compatibility with RasMol scripts. callbacks don't have any relation to the console -- those are just messages. The function of callbacks -- or their replacement with getProperty("callbackStatus","...") -- is to deliver timely information about user activity. When there is no user, there is no issue with callbacks, I think. RasMol>show selected group should result in a select expression Hmm. That's an interesting idea. How does it choose the "right" select expression? But I see what you are after -- so that you can save that and recall that particular selection. This could be tricky The right is *a* short expression, if 16/16 atoms of a group are selected, no doubt, no individual atom should be selected. There is no need for the shortest, but a symbolic human readable expression is preferred over *only* an ordered atom number list (needed for compare operations). e.g. >=1 model? >=1 chain? >=1 group? >0.5 group? and not ( ) >4 atoms? and ( ) backbone? and backbone : This would be a major challenge, I think. But at least you can do getProperty("atomInfo","(atom selection)")) so if you like that, maybe that's all we need for now. At least with that you get the individual atom list. Bob --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642 ___ Jmol-users mailing list Jmol-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jmol-users
[Jmol-users] PDB file format
Could someone point me to a description of the pdb file format? * Jeff Hansen Department of Chemistry DePauw University Greencastle, IN 46135 [EMAIL PROTECTED] * --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642 ___ Jmol-users mailing list Jmol-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jmol-users
Re: [Jmol-users] applet -- callback brainstorming
Bob Hanson wrote: Jan wrote: I don't see a difference whether I say monitor 2087 2088 or monitor ([LIP]3:A.O5) ([LIP]3:A.O6) Oh, sure. OK. I don't know that we are headed that way wth the monitor command, because there are some programming issues with putting two atom expressions in the same command -- nothing really insurmountable, really, but not exactly trivial. I thought you were talking about, say, specifying four atoms and then somehow Jmol was to decide what arrangement you wanted for a dihedral. THAT seems prone to problems. But I don't see why we couldn't have: getProperty("getDistance", "[LIP]3:A.O5", "[LIP]3:A.O6") Mostly I don't like special cases. So the challenge would be to make this extensible to getProperty("getAngle", "[LIP]3:A.O5","[LIP]3:A.O6","[LIP]3:A.O7") we already have monitor 111 112 113 why not getProperty("measure","[LIP]3:A.O5","[LIP]3:A.O6","[LIP]3:A.O7") no additional keyword has to be remembered ... some seconds later ... this is not necessary, something like getProperty('monitor ' + getPorperty('select [LIP]3:A.O5').atomInfo[0].atomno + ' ' + ... would do it until the script parser itself managed to parse multiple select expressions (or Jmol.js) getProperty("getTorsionAngle", "[LIP]3:A.O5","[LIP]3:A.O6","[LIP]3:A.O7","[LIP]3:A.O8") Anyway -- these would be in the category "not a callback," I think. But it's a great idea, and one that we'll definitely implement somehow. I'm assuming for this idea: 1) You don't want to (necessarily) display the monitor line w/ or w/o numbers agreed 2) You want to be able to display the monitor line w/ or w/o numbers (do that separately, with a script command, but that command format could be returned as one of the elements of the data structure). yes 3) All three -- getDistance, getAngle, getTorsionAngle -- should be available. Maybe a simple "getPosition" as well, just to head off the obvious request. Yes, I could imagine this to be very useful. Yes, this would be comfortable, it saves me from using atomInfo[0].x atomInfo[0].y atomInfo[0].z By the way, Jmol caches up to 16 measurements. (Something the applet has never had an interface to.) That is, you can make up to 16 measurements by clicking the mouse, and they are all saved automatically. The Jmol application utilizes this for its table; there's no reason not to expose it as a JSON structure to the web page. a monitoring function on your callback.htm monitor: measurementsChange works for me, but I miss the corresponding e.g. "monitor 1 2 3" command which would be much more readable if 1 2 3 where atomInfo[0].info strings monitor:measureSelection didn't work? The distinction I think I want to make here is the .script() method used solely/primarily for driving the display; the .getProperty() method for retrieving information. We can talk about .setProperty() or .scriptSynchronous() later callback would only be luxurious for Jmol console use and especially with a console only mode, if a Jmol --nodisply batch run option would get implemented like in RasMol, if the applet is used, JavaScript is already involved and there is no need for callback via JmolScript, getProperty() is superior, callback is only used for functional compatibility with RasMol scripts. callbacks don't have any relation to the console -- those are just messages. The function of callbacks -- or their replacement with getProperty("callbackStatus","...") -- is to deliver timely information about user activity. When there is no user, there is no issue with callbacks, I think. I use callbacks in RasMol to query e.g. which amino acids are in 3.2 A distance to a hetero component (echo "load pdb inline\nselect within(3.2, [LIP]3) and not [LIP]3\nshow selected group\nexit\n";cut 1imb.pdb) | rasmol -nodisplay | evaluateMakeRasMolScriptFromIt.pl | rasmol without any user, the startup JmolScript could replace the interacting user, that is the main use for messageCallback RasMol>show selected group should result in a select expression Hmm. That's an interesting idea. How does it choose the "right" select expression? But I see what you are after -- so that you can save that and recall that particular selection. This could be tricky The right is *a* short expression, if 16/16 atoms of a group are selected, no doubt, no individual atom should be selected. There is no need for the shortest, but a symbolic human readable expression is preferred over *only* an ordered atom number list (needed for compare operations). e.g. >=1 model? >=1 chain? >=1 group? >0.5 group? and not ( ) >4 atoms? and ( ) backbone? and backbone : This would be a major challenge, I think. But at least you can do getProperty("atomInfo","(atom selection)")) so if you like that, maybe that's all we need for now. At least with that you get the individual atom list. I agree, all is there
Re: [Jmol-users] PDB file format
The official (maybe not the best): http://www.pdb.org/pdb/file_formats/pdb/pdbguide2.2/guide2.2_frame.htm l --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642 ___ Jmol-users mailing list Jmol-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jmol-users
Re: [Jmol-users] applet -- callback brainstorming
Jan wrote: we already have monitor 111 112 113 why not getProperty("measure","[LIP]3:A.O5","[LIP]3:A.O6","[LIP]3:A.O7") sure, we'll do something like this. a monitoring function on your callback.htm monitor: measurementsChange works for me, but I miss the corresponding e.g. "monitor 1 2 3" command which would be much more readable if 1 2 3 where atomInfo[0].info strings OK monitor:measureSelection didn't work? It doesn't do what you think. First click on "load caffeine.xyz;set picking DISTANCE" Now start clicking, while monitoring that property. I use callbacks in RasMol to query e.g. which amino acids are in 3.2 A distance to a hetero component (echo "load pdb inline\nselect within(3.2, [LIP]3) and not [LIP]3\nshow selected group\nexit\n";cut 1imb.pdb) | rasmol -nodisplay | evaluateMakeRasMolScriptFromIt.pl | rasmol without any user, the startup JmolScript could replace the interacting user, that is the main use for messageCallback Ah, I see. OK. Well, it's an interesting question how to do: PDB FILE | (cut off a chunck) | (do something with it) | Jmol I don't know how Jmol is set up for command-line work like this. It hardly seems like it would be necessary to run Jmol twice (like you are running rasmol twice). Maybe this is a nice use for rasmol instead of Jmol. It does work there --- so why Jmol? Bob -- Robert M. Hanson, [EMAIL PROTECTED], 507-646-3107 Professor of Chemistry, St. Olaf College 1520 St. Olaf Ave., Northfield, MN 55057 mailto:[EMAIL PROTECTED] http://www.stolaf.edu/people/hansonr "Imagination is more important than knowledge." - Albert Einstein --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642 ___ Jmol-users mailing list Jmol-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jmol-users
Re: [Jmol-users] applet -- callback brainstorming
Bob Hanson wrote: ... I use callbacks in RasMol to query e.g. which amino acids are in 3.2 A distance to a hetero component (echo "load pdb inline\nselect within(3.2, [LIP]3) and not [LIP]3\nshow selected group\nexit\n";cut 1imb.pdb) | rasmol -nodisplay | evaluateMakeRasMolScriptFromIt.pl | rasmol without any user, the startup JmolScript could replace the interacting user, that is the main use for messageCallback Ah, I see. OK. Well, it's an interesting question how to do: PDB FILE | (cut off a chunck) | (do something with it) | Jmol PDB FILE | (extract some information form it, e.g. ligands of a hetero component, and generate a script to visualize) | Jmol or RasMol or Chime that is what already runes using (rasmol -nodisplay) to extract e.g. ligand information, rasmol with the -nodisplay option has the flexibility to be used as a simple automatic script driven structure analysis tool but I don't know how Jmol is set up for command-line work like this. It hardly seems like it would be necessary to run Jmol twice (like you are running rasmol twice). Maybe this is a nice use for rasmol instead of Jmol. It does work there --- so why Jmol? with the Jmol applet, web server side processing isn't necessary any more, the idea is, that all the automatic structure analysis could be done on client side while a startup JmolScript is running and a structure specific visualization script is generate, which completes the start process (generating structure specific interaction panels ...). ( at this time I'm sad that both, RasMol and Jmol didn't support the PDB format completely e.g. ^insCode versus ;altLoc but I count on you and Jmol which is evolving and will make it some day, and is relay a great applet. ) Regards, Jan --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642 ___ Jmol-users mailing list Jmol-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jmol-users
[Jmol-users] RE: applet -- callback brainstorming
AS A USER, WHAT DO YOU WANT? a) Do you implement callbacks? If so, which ones? I implement the animFrameCallback to help coordinate other JavaScript things I like to show simultaneously with some animations. b) What WOULD you use if you had it available? I can't think of other callbacks that I'd like to use, probably because I'm still sort of new to Jmol. -Jennifer Jennifer Muzyka Associate Professor of Chemistry Centre College 600 W. Walnut St. Danville, KY 40422 [EMAIL PROTECTED] http://web.centre.edu/muzyka 859-238-5413 Fax 859-236-7925 --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://sel.as-us.falkag.net/sel?cmd=lnk&kid3432&bid#0486&dat1642 ___ Jmol-users mailing list Jmol-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jmol-users
Re: [Jmol-users] applet -- callback brainstorming
I'm quite eager to have a simple version of this functionality. Thanks! a) Do you implement callbacks? If so, which ones? No, though I'd like to (once I understood how it works -- your mechanism I think I understand already!) b) What WOULD you use if you had it available? I want to know what residue a user has clicked on. c) What sort of information (exactly) are you looking for? I want to transfer that info back to the web page so I can highlight that residue in the Jmol display and also highlight portions of the web page (corresponding position in a multiple sequence alignment). d) Is there a particular format that you would like to see, other than just the current text-stream of messages? No, I'm not particular... e) Is it important to you that this mechanism be backward compatible? Just let my current javascript/Jmol interactions (using jmol.js) -- which don't do any callbacks -- work as is. A question of my own: Does your (impressive) demonstration at http://www.stolaf.edu/people/hansonr/jmol/test/json/json.htm involve polling every 1/10 second or some such in order to get updated info (at least for the "orientation info" link)? Thanks again. --Dan --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642 ___ Jmol-users mailing list Jmol-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jmol-users
[Jmol-users] Re: Jmol-users digest, Vol 1 #962 - 7 msgs
On Feb 9, 2006, at 11:33 PM, [EMAIL PROTECTED] wrote:Message: 4 Date: Thu, 09 Feb 2006 13:07:47 -0600 From: Bob Hanson <[EMAIL PROTECTED]> To: jmol-users@lists.sourceforge.net Subject: [Jmol-users] applet -- callback brainstorming Reply-To: jmol-users@lists.sourceforge.net I'm looking at the Jmol callback issue. - - - - - - AS A USER, WHAT DO YOU WANT? a) Do you implement callbacks? If so, which ones?Yes, I use pickCallback and messageCallback b) What WOULD you use if you had it available?Oooh. One never knows... I'm already thinking that information on user rotation/zoom might be used to make a second window mimic a first window. ie., the user rotates one frame and the other follows. Side-by-side comparison of things like B vs A vs Z form DNA, for example. c) What sort of information (exactly) are you looking for?User picks, for sure. I've used it to provide a nicer interface for identifying residues picked. d) Is there a particular format that you would like to see, other than just the current text-stream of messages?I like your structured variable approach. Much easier to deal with. e) Is it important to you that this mechanism be backward compatible?Oh, I guess not... MORE SPECIFC QUESTION: 1. There are currently four callbacks: animFrameCallback loadStructCallback pickCallback messageCallback Each of these fulfills an obvious need. Should there be more "callback-like" options? If so, what? If you build it, they will codeCraig Martin
[Jmol-users] Re: Jmol-users digest, Vol 1 #963 - 9 msgs
On Feb 10, 2006, at 1:58 PM, [EMAIL PROTECTED] wrote:I don't see a difference whether I say monitor 2087 2088 or monitor ([LIP]3:A.O5) ([LIP]3:A.O6) Oh, sure. OK. I don't know that we are headed that way wth the monitor command, because there are some programming issues with putting two atom expressions in the same command -- nothing really insurmountable, really, but not exactly trivial.I appreciate the non-triviality, but it would be IMMENSELY useful!I have the same protein, in various crystal forms, with/without ligand, etc. It's hard to write a monitor script that works the same on all of them, since the atomno's are all different... I would LOVE this feature!CraigCraig Martin[EMAIL PROTECTED]
Re: [Jmol-users] applet -- callback brainstorming
> I'm sad that both, RasMol and Jmol didn't support the PDB > format completely e.g. ^insCode versus ;altLoc > but I count on you and Jmol which is evolving and will make it some day, > and is relay a great applet. > ) > Regards, Jan Jan, As you know that I have tried several times to add altLoc support into Jmol. You have made a number of suggestions as to how this should be implemented. Nevertheless, I have not been able to understand the problem enough to be able to design a solution that would fit within the Jmol architecture. At some point I hope to get this resolved. Miguel --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://sel.as-us.falkag.net/sel?cmd=lnk&kid3432&bid#0486&dat1642 ___ Jmol-users mailing list Jmol-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jmol-users