[BioPython] bio.pdb.mmcif does not exist

Alex Lancaster alexl at users.sourceforge.net
Wed May 9 09:13:05 EDT 2007


>>>>> "P" == Peter   writes:

[...]

>> It seems to me that the setup.py should test whether GNU Flex is
>> there and then enable the module compilation if it is (as is done
>> for reportlab), rather than force the user to uncomment sections in
>> the setup.py.

P> That sounds reasonable - do you happen to know how to check for the
P> flex headers cleanly?

You could just test for the flex binary, the headers should be there,
but that's probably fragile.  Have to dig into my fading knowledge of
distutils...

P> The way the setup.py script prompts the user about building
P> Bio.KDTree with a simple yes/no prompt is a simple short term
P> solution.  I could certainly manage to make that change.

I would prefer to that it also be a command-line options so that a
biopython build can be automated by a build system, when making RPM
packages.  (Currently the Fedora package has to simulate the user
typing "yes" to the Bio.KDTree question which is fragile).

P> Jean - this issue had slipped my mind (but I don't use this
P> module). If you edit the setup.py file to uncomment the mmCIF
P> extension lines, and retry the build/install that should fix your
P> missing module problem:

P> # Extension('Bio.PDB.mmCIF.MMCIFlex', # ['Bio/PDB/mmCIF/lex.yy.c',
P> # 'Bio/PDB/mmCIF/MMCIFlexmodule.c'], # include_dirs=["Bio"], #
P> libraries=["fl"] # ),

P> Should become:

P>    Extension('Bio.PDB.mmCIF.MMCIFlex', ['Bio/PDB/mmCIF/lex.yy.c',
P> 'Bio/PDB/mmCIF/MMCIFlexmodule.c'], include_dirs=["Bio"],
P> libraries=["fl"] ),

There's one more change in addition to that, you need to also
uncomment:

#   'Bio.PDB.mmCIF',

in the PACKAGES list in setup.py.

Alex


More information about the BioPython mailing list