[chimera-dev] Program code
Eric Pettersen
pett at cgl.ucsf.edu
Tue Apr 26 11:25:33 PDT 2005
On Apr 26, 2005, at 8:47 AM, Jesse Parker wrote:
> I am currently looking for ways of visualizing proteins as they are
> being folded by a matlab program we are developing here at the
> University of Connecticut. I am unsure whether an extension would be
> adequate to read and write to matlab, or modifications to the chimera
> source would be necesarry. Would it be possible to get a copy of the
> source code for Chimera and possibly some examples of extensions?
Hi Jesse,
An extension should be adequate to do what you want. Chimera was
designed from the beginning to be as extensible as possible and the
bulk of Chimera's functionality is provided as extensions.
The best place to get started in finding out what extensions can do is
to look at the programming examples, which you can find as link off of
this page:
http://www.cgl.ucsf.edu/chimera/docs/ProgrammersGuide/index.html . The
FAQ off of that page can also be useful. We also try to answer any
questions going to this list.
All the Python source code is actually provided with your Chimera
download. Beneath your Chimera installation directory (which can be
tricky to reach on a Mac -- use Terminal) there is a directory named
"share" which contains all the Python source code. Many complex
extensions are written entirely in Python (e.g. FindHBond, MultAlign
Viewer). Some extensions do make use of compiled code, typically for
speed, but even there the Chimera C++ isn't modified; instead a Python
compiled shared library is created (one of the programmer's examples
deals with this) and is loaded on demand by the Python part of the
extension.
We don't distribute the C++ part of Chimera basically because it would
be a miracle if anyone else could get things set up so they could
compile it. We do provide the header files for download so that people
can more easily determine the methods that various classes offer (the
link is also off the page above). We are in the process of making the
source files available to some developers, so that they can determine
exactly how certain functions operate. If you needed that kind of
access also, we could probably add you to the access list when it's
ready.
In the (hopefully unlikely) case that you actually need a modification
to the Chimera C++ source, it would probably be easiest for you to
request the change from us, and for us to make the change and compile a
new version and send it to you.
If you do wind up writing your extension for Chimera, we would really
appreciate it if you could drop us a line saying that you did. Things
like that look really good on our grant-renewal application! :-)
Eric Pettersen
UCSF Computer Graphics Lab
pett at cgl.ucsf.edu
http://www.cgl.ucsf.edu
More information about the Chimera-dev
mailing list