Menu

Problem with multi-model output PDB

Hans Senn
2019-08-22
2019-08-22
  • Hans Senn

    Hans Senn - 2019-08-22

    Hello! As a newbie to smina, who has recently "upgraded" from vina, I have run into a problem with the format of the docking output file. When choosing the PDB format (--out bla.pdb), the resulting multi-model PDB is incorrectly formatted: each MODEL is terminated by an END (as well as an ENDMDL) record. Programs that adhere strictly to the PDB format definition (e.g., VMD) will therefore stop reading after the first model. (Other visualisers, e.g., Chimera, seem more liberal, and read to the end of the file regardless.)

    These PDB files identify themselves as being written by OpenBabel 2.4.90, so perhaps this error is actually for the OB developers to deal with. I tried some multi-frame file conversions with with OB 2.4.1 (which according to their site is the latest stable version) and got correctly formatted multi-model PDBs out.

    Also, the multi-model PDBQT files produced by smina are fine.

    Best wishes
    Hans

     
  • David Koes

    David Koes - 2019-08-22

    I can reproduce this, but find it perplexing since we explicitly tell openbabel not to do it (call SetLast(false) on the OBConversion object). When I can find the time I'll try to look through the code, but I suspect the issue is within openbabel in which case a smina update wouldn't be helpful.

    In the meantime I'd strongly recommend not using PDB files to store ligand date. They don't include things like bond orders or formal charges and you will quickly end up with broken ligands. SDF is much better.

     
  • David Koes

    David Koes - 2019-08-22

    I thought this looked familiar. Jocelyn fixed this in openbabel a few years ago:
    https://github.com/openbabel/openbabel/pull/332

     
  • Hans Senn

    Hans Senn - 2019-08-22

    Sweet! Looks like there is an easy fix then. Thanks also for your tip regarding SDF vs. PDB!

     
  • David Koes

    David Koes - 2019-08-22

    Actually, looking at it now, OBConversion::Write overwites the isLast setting so a change is needed in smina as well, which I've pushed.

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.