[BioPython] bio.pdb.mmcif does not exist

Peter biopython at maubp.freeserve.co.uk
Wed May 9 09:01:56 EDT 2007


Alex Lancaster wrote:
> On this issue, it appears that in biopython 1.43 compilation of the
> mmCIF module is actually commented-out in the setup.py (which would
> account for the lack of the Bio.PDB.mmCIF module noted by Jean, even
> if flex was installed).

Well spotted - I had forgotten about that!

 > It was removed in this commit:
> 
> http://cvs.biopython.org/cgi-bin/viewcvs/viewcvs.cgi/biopython/setup.py.diff?r1=1.108&r2=1.109&cvsroot=biopython
> 
> with the somewhat confusing note:
> 
> "Uncommented mmCIF module because of problems if GNU's Flex is
> missing"
> 
> because it actually commented it out, not uncommented it! ;)

That does sound like a simple typing error given the change made.

 > 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.  

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

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

------------------------------------------------------------------------

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

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

Should become:

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

Please let us know if that works...

Peter


More information about the BioPython mailing list