[chimera-dev] examples of 2-D plotting in plugins?

Eric Pettersen pett at cgl.ucsf.edu
Wed Jan 14 10:43:23 PST 2009

Tom Goddard has done the work to get matplotlib to compile with  
Chimera.  It's now available in the daily builds.


On Dec 16, 2008, at 10:35 AM, Randy Heiland wrote:

> Thanks for clarifying, Tom.  Am happy to hear you plan to eventually
> include mpl in Chimera.
> Yes, both Charlie (Moad) and I have built it for Windows, but that was
> several versions back when we did it regularly.  What prompted this
> thread initially was my attempt to do it again, but discovered an
> apparent mismatch when Chimera jumped to Tcl/Tk 8.5 and mpl still
> wanted 8.4.  Perhaps the inclusion of mpl into Chimera will be solved
> by the passage of time, after the libraries (and stars) align.
> Anyway, the only tips I'd have are the obvious ones - to tweak those
> checks/settings done in mpl's setup/setupext.py scripts related to the
> various dependencies (numpy, tcl/tk, etc) before running chimera's
> python on setup.py.  Just running:
> ...path-to-chimera-python  setup.py
> will reveal what mpl will attempt to use to build.
> Maybe I'll dust off my Window's laptop :) and make another attempt in
> the next few days.
> -Randy
> On Dec 16, 2008, at 1:16 PM, Tom Goddard wrote:
>> Hi Randy,
>> On the Mac the Chimera python executable finds the Python framework
>> and runs it.  When you start Chimera's Python from a shell it is
>> finding
>> the Mac system Python framework instead of the one included in
>> Chimera.app.  The way Chimera gets its own Python framework instead  
>> of
>> the system one is that the start-up script
>>   Chimera.app/Contents/Resources/bin/chimera
>> sets the DYLD_FRAMEWORK_PATH environment variable to point to the
>> Chimera Python (and Tcl/Tk) frameworks.
>> We discussed including matplotlib in the Chimera distribution and
>> agreed it is a good idea and we plan on doing it though a date has  
>> not
>> been set.  I would like to try using it this month or next month so I
>> may add it to Chimera soon.  The trick is to get it to build on all
>> platforms (Windows, Linux, Mac).  Have you built it for Chimera on
>> Windows.  Any tips?
>> Thanks,
>>   Tom
>> Randy Heiland wrote:
>>> Hi Eric and others,
>>> I've returned to this little exercise of trying to build matplotlib
>>> using Chimera and have a basic question:
>>> - using the Chimera-1.3.2577-osx_aqua, when I bring up IDLE, I see:
>>> Python 2.5.2 (r252:60911, Dec  9 2008, 02:00:10)
>>> [GCC 4.0.1 (Apple Computer, Inc. build 5370)] on darwin
>>> however, when I run Chimera's python manually, I see:
>>> $ /Users/heiland/dev/Chimera-1.3.2577-osx_aqua.app/Contents/
>>> Resources/
>>> bin/python2.5
>>> Python 2.5.1 (r251:54869, Apr 18 2007, 22:08:04)
>>> [GCC 4.0.1 (Apple Computer, Inc. build 5367)] on darwin
>>> Why am I seeing 2 different Python builds?
>>> One of the initial things I'm trying to resolve is the ability to
>>> 'import Tkinter'.  I can do so from the former, but not the latter
>>> (even after setting sys.path to be what it is in the former).
>>> thanks, Randy
>>> On Nov 3, 2008, at 5:52 PM, Eric Pettersen wrote:
>>>> FYI, the last paragraph of my reply below may be of general  
>>>> interest
>>>> to developers interested in plotting data...
>>>> On Oct 31, 2008, at 10:09 AM, Randy Heiland wrote:
>>>> Hi gang,
>>>> For one of the Chimera plugins that I now maintain, I'm considering
>>>> eliminating the use of matplotlib and wondering if Chimera's  
>>>> innards
>>>> are capable of doing what I want.  For starters, are there any
>>>> example plugins, etc that demonstrate how one could do simple
>>>> plotting and simple (image) contours?  In addition, I'd need to
>>>> handle mouse events, e.g. to retrieve x,y positions on the contour
>>>> image.
>>>> Hi Randy,
>>>> I'm thinking that what Chimera currently provides will not be an
>>>> adequate replacement for the capabilities of matplotlib that
>>>> NLOPredict uses.  Aside from the basic Tk widgets themselves (the
>>>> most salient of which is Canvas) the only relevant widgets I can
>>>> think of is an interactive histogram widget in CGLtk.Histogram, and
>>>> a basic line/point plotting widget available through
>>>> Scientific.TkWidgets.TkPlotCanvas
>>>> (Scientific.TkWidgets.TkPlotCanvas<http://dirac.cnrs-orleans.fr/ScientificPython/ScientificPythonManual/Scientific.TkWidgets.TkPlotCanvas-module.html
>>>>> ).
>>>> But I think NLOPredict needs interactive contour and bar graphs.   
>>>> As
>>>> long as you can generate the contour image yourself somehow, I  
>>>> think
>>>> you can pretty easily gin up an interactive contour plot using the
>>>> Image item of Tk.Canvas.  As for the bar graph, would BLT (A User's
>>>> Guide to Pmw.Blt<http://heim.ifi.uio.no/~hpl/Pmw.Blt/doc/>) provide
>>>> enough functionality if we decided to provide that?  It seems to
>>>> provide bar charts (A complete reference to the Pmw.Blt plot
>>>> widget<http://heim.ifi.uio.no/~hpl/Pmw.Blt/doc/reference.html%23bar_create(...)
>>>>> ).  It also might or might not be easier for you to provide BLT  
>>>>> for
>>>> NLOPredict as a stopgap measure.
>>>> So the Chimera developers will be discussing possibly providing  
>>>> some
>>>> kind of plotting library at our next weekly meeting.  Clearly,
>>>> matplotlib is the "Cadillac" of plotting libraries.  And like a
>>>> Cadillac it has the downside of large size -- probably in the range
>>>> of 60-80MB before compression.  It also has the drawback of
>>>> depending on a lot of other packages which we would also have to
>>>> include and port to all our supported platforms, including 64-bit
>>>> versions thereof.  So I guess the question is whether we could get
>>>> away with including something smaller like BLT, which we would also
>>>> be able to deploy more quickly due to the lower effort involved, or
>>>> do people really need the unique capabilities of matplotlib?
>>>> Anybody?
>>>> --Eric
>>>>                      Eric Pettersen
>>>>                      UCSF Computer Graphics Lab
>>>>                      http://www.cgl.ucsf.edu
>>> _______________________________________________
>>> Chimera-dev mailing list
>>> Chimera-dev at cgl.ucsf.edu
>>> http://www.cgl.ucsf.edu/mailman/listinfo/chimera-dev
> _______________________________________________
> Chimera-dev mailing list
> Chimera-dev at cgl.ucsf.edu
> http://www.cgl.ucsf.edu/mailman/listinfo/chimera-dev

More information about the Chimera-dev mailing list