[chimera-dev] examples of 2-D plotting in plugins?
Eric Pettersen
pett at cgl.ucsf.edu
Mon Nov 3 15:50:03 PST 2008
Hey, negative experiences are valuable to know about too! The more
info we have for making a decision, the better. We do have practice
with making recalcitrant builds bend to our will though. :-)
--Eric
On Nov 3, 2008, at 3:09 PM, David A. C. Beck wrote:
> Sorry for the quick response, I can flesh it out in some more detail
> if
> anyone is interested...
>
> We have used BLT2 to display 2D graphs from inside Chimera. The
> input are
> typically energies or other emissions as a function of simulation time
> from our simulation software (ilmm) that interfaces with Chimera. I
> never found a way to update the graph in real time (even though we can
> pump the data in over a socket from the simulation code). Instead the
> Pmw.Blt.Graph object has to be reloaded. There must be a way around
> this. The graphs are ugly and not in any way acceptable for
> publication.
>
> The experience of getting everything to build against the correct
> headers and python libraries was frustrating. The distribution to
> machines in our lab is kludgy at best. I've never gotten it working
> under Windows or Mac. In case there is any doubt from my tone, we
> really
> don't like the BLT solution.
>
> Some of my notes on getting it to work with an older version of
> Chimera:
>
> BLT info:
>
> Configure command for BLT to w/ with Daggett Lab chimera installation:
> ./configure --prefix=/net/programs/chimera/lib --with-tkincls=/net/
> programs/chimera/include --with-tclincls=/net/programs/chimera/
> include --with-blt=/net/programs/chimera/lib --with-tcllibs=/net/
> programs/chimera/lib --with-tklibs=/net/programs/chimera/lib
>
> make install for BLT is broken, and must be finished by hand; run
> make install, copy the libraries (.so) from
> /var/tmp/chimeraBuild/build/foreign/tcl8.4.2.16/lib to /net/programs/
> chimera/lib, then move the /net/programs/chimera/lib/blt2.4
> directory into /net/programs/chimera/lib/tcl8.4
> it seems that the stuff in /var/tmp/chimeraBuild/build/foriegn...
> has to be there for this to work
>
> --
> David A. C. Beck, Ph.D.
> dacb at u.washington.edu
> Valerie Daggett Laboratory
> University of Washington, Seattle
>
> On Mon, 3 Nov 2008, 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).
>> 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)
>> provide enough functionality if we decided to provide that? It
>> seems to
>> provide bar charts (A complete reference to the Pmw.Blt plot
>> widget). 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
More information about the Chimera-dev
mailing list