Luciano,

[I'm sure this question would be best answered by Warren, but with that as disclaimer... :-) ]

It depends on what exactly you mean by "structure of the program"...

From a user point of view, you can gain some useful insight into the structure of PyMOL from some of the sections in the User's Manual (http://pymol.sourceforge.net/newman/user/toc.html) and the Reference Manual (http://pymol.sourceforge.net/newman/ref/toc.html). For example, the sections in the User's Manual which explain Atom Selection Macros (http://pymol.sourceforge.net/newman/user/S0220commands.html#7_1_6), creation of Compiled Graphics Objects (http://pymol.sourceforge.net/newman/user/S0500cgo.html#14_3), etc. provide a slightly more detailed hint at the inner working/structure of PyMOL. Likewise, the "PYMOL API" entries for various commands in the Reference Manual serve as a starting point for understanding PyMOL's Python layer, writing python modules to interface with pymol, etc.

From a programmer point of view, probably the most useful sources of information are (i) the various INSTALL, README, PACKAGING, DEVELOPERS, etc. files which are located in the top-level pymol dir, and (ii) the source code itself :-) . Snoop around in the layer*/ include directories for the C-level code, and look around in dirs like modules/pymol, modules/chempy, etc. for Python-level code; see the various Makefiles (Rules.make) to understand how it's all tied together during compilation. Roughly speaking, lower-level functionalities (e.g,. memory caching, vector ops, etc.) are implemented in lower-numbered layers (e.g., layer0/Vector.*), while code for higher-level features (e.g., glut-related stuff, pymol python objects, etc.) is in the higher-numbered layers (e.g., layer4/Menu.*).

Good luck,
Cameron



=== pymol-users-requ...@lists.sourceforge.net wrote (on 10/30/2004 08:58 PM): ===

Subject:
[PyMOL] Easy question
From:
Luciano Abriata <luciano_abri...@yahoo.com>
Date:
Sat, 30 Oct 2004 07:50:43 -0700 (PDT)
To:
pymol-users@lists.sourceforge.net


Hi PyMOL comunity,

The answer to my question should be rather easy, I
guess:

Is there any document explaining which is the
structure of the program?

OK, thank you all

Luciano


                


--
Cameron Mura
UCSD

Reply via email to