Wayne Boucher wrote:
>Hello,
>
>I'm not sure if you intended that to go to the mailing list or not, so
>I've just replied to you. But feel free to post back to the list if you
>think others would be interested.
>
>
>
Yes it was just meant for local consumption, I will post this back to
the lsit for now but I won't post any other discourse unless anyone
shows interest (please e-mail me)
>Responses buried in your original message below.
>
>Wayne
>
>On Fri, 23 Jun 2006, Gary S. Thompson wrote:
>
>
>
>>Dear Wayne and Rasmus
>> Just a quick thank you for the comments you sent to me on metadata a
>>while back, they were very useful.... As you can see I have now written
>>a simple three pane browser for the ccp data model (it is a bit crude at
>>the moment, but all the important functionality works).
>>
>>
>>picture of playground browser in action
>>
>>I am quite happy with it, but the question is what is th ebst way to
>>pass it onto anyone else who might find it useful....
>>
>>
>>
>^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
>
any comments on the best plae to put it it is a few hundred lines of
python I could append it to a post for people to try
>There is something called the "general editor" (available under the
>Analysis "other" menu) which is trying to do the same thing. But it's
>good to see another version of this idea, it will no doubt lead to better
>ideas in the end.
>
>
>
yes i had a try of that but it didn't do what i wanted, (mainly it
wasn't fluid enough)
>> (n.b. I worked out most of the metamodel fields but is there any real
>>documentation anywhere?)
>>
>>
>>
>
>The only documentation I know for the metamodel is at the top of
>python/memops/metamodel/MetaModel.py, and that is quite extensive. (As it
>happens, the metamodel is being re-written by Rasmus as part of the
>forthcoming API changes. He would be best placed to tell you about that
>but one thing that will happen is that there will be more function calls
>in the Java style.)
>
>
>
>>regards
>>gary
>>
>>and oh dear more nbs than message:
>>
>>n.b. a couple of related questions (feel free to post these on to the
>>list if you thingk they are of more general use).
>>
>>a. I know there are notifications for changes in the datamodel but how
>>do they work and what can i monitor for
>>I am interested to be told if
>> a. one of the fields in an object I am holding changes
>> b. the objec I hold or one of my parents gets destroyed or moved to
>>another place in the hierachy
>> c. one of my fields has a new object added to it
>>
>>
>>
>
>If you look at most *Popup.py files in python/ccpnmr/analysis you will
>find examples of registerNotify (and the opposite unregisterNotify).
>This takes three arguments: a function you want to be called when the
>notifier kicks in, the (fully qualified) class name that you are
>interested in, and the class function you want to be notified about (e.g.
>'setName'). That class function can be '__init__' for being notified when
>the constructor is called, or 'delete' for being notified when an object
>is deleted. It can also be '', which is a wildcard which includes all
>functions except the init and delete. In fact, the General Editor (code in
>python/memops/editor) does pretty much what you want (for obvious
>reasons) so you can see how that does it.
>
>
>
>>b. can I monitor for all changes in the datamodel globally or would I
>>have to instrument all nodes or types to get this information?
>>
>>
>>
>
>There is no way currently to monitor all changes globally except the hard
>way.
>
>
>
in that case
1. will it cause appreciable slowdowsn in analysis
2. can i get a list of all the classes from somewhere (I guess this is a
metaclasses question again)
>>n.b. 2 a quick question for wayne
>>a long time ago I cooked up some error messages to highlight bad startup
>>paths etc. Will you include them in the dirtibution at some point or are
>>there outsatnding questions on or is the idea a dead duck
>>
>>
>>
>
>This was for the ANALYSIS_STARTUP script, correct? I'll (try and)
>remember to put these in for the upcoming release.
>
>
yes
>
>
>>n.b. 3
>>
>>the startup scripts were designed to allow use of command line editing
>>and history in analysis, and this they do well. I also tried to get
>>ipython working in analysis and did manage to but had to edit
>>analysis.py in a different place to the startup script... so what is the
>>best way to solve that problem? (currently I have patch analysis.py each
>>time it changes...) I have one suggestion and that is that the startup
>>script be allowed to register some handlers that get called at
>>significant points in the lifetime of analysis...
>>
>>
>>
>
>I don't know ipython. What was it you needed to do to get this to work?
>And what are the "significant points" you had in mind?
>
>
Ipython is a python based shell with command historys name completion
etc plus quite alot more http://ipython.scipy.org/
I would have to think hard but
1. python startup,
2. before graphics startup
3. after graphics startup
4. before data load
5. after data load /before use
6. before shutdown,
7. before data save
8. after data save
9. before graphics shutdown
10. after graphics shutdown
11. before exit
12. and on exception before termination
would be a few ideas
i am not sure which point wills sort my problem I will have to go back
and look
regards
gary
>
>
>>--
>>-------------------------------------------------------------------
>>Dr Gary Thompson
>>Astbury Centre for Structural Molecular Biology,
>>University of Leeds, Astbury Building,
>>Leeds, LS2 9JT, West-Yorkshire, UK Tel. +44-113-3433024
>>email: [log in to unmask] Fax +44-113-2331407
>>-------------------------------------------------------------------
>>
>>
>>
>>
>>
>
>.
>
>
>
--
-------------------------------------------------------------------
Dr Gary Thompson
Astbury Centre for Structural Molecular Biology,
University of Leeds, Astbury Building,
Leeds, LS2 9JT, West-Yorkshire, UK Tel. +44-113-3433024
email: [log in to unmask] Fax +44-113-2331407
-------------------------------------------------------------------
|