Re: [Jmol-users] applet -- callback brainstorming

2006-02-10 Thread Jan

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

2006-02-10 Thread Bob Hanson

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

2006-02-10 Thread Jeff Hansen

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

2006-02-10 Thread Jan

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

2006-02-10 Thread Angel Herraez
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

2006-02-10 Thread Bob Hanson



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

2006-02-10 Thread Jan

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

2006-02-10 Thread Jennifer L. Muzyka
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

2006-02-10 Thread Dan Kirshner
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

2006-02-10 Thread Craig T Martin
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

2006-02-10 Thread Craig T Martin
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

2006-02-10 Thread Miguel
> 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