On Tue, Jan 14, 2014 at 11:48 AM, Greg Landrum <greg.land...@gmail.com>wrote:

> ok, it looks like something bad happened[1] when the PDB branch was merged
> into trunk before the last release. Here's an example that worked properly
> at the time of the UGM:
>
> In [5]: m =Chem.MolFromPDBFile('data/2FVD.pdb')
> In [6]: Chem.MolToSmiles(m,canonical=False)
> Out[6]: 'NC(C(O)NC(C .... '
>
> Here's the notebook showing what's supposed to happen:
>
> http://nbviewer.ipython.org/github/rdkit/UGM_2013/blob/master/Notebooks/Whats_new.ipynb
>
> I'll look into this as soon as I can and get it fixed.
>

I just tracked this down and fixed it. The changes are checked into github.
Details about what happened are below.

Here's my example from above now:

In [3]: m = Chem.MolFromPDBFile('./2FVD.pdb')
In [4]: Chem.MolToSmiles(m,canonical=False)
Out[4]: 'NC(C(=O)NC(C(=O)NC(C(=O....'


This is, IMO, a major enough problem that it's worth doing a patch release
to address it. Over the next few days, I will put together a list of fixes
(not new features) that should be in the 2013_09_2 release and adjust the
milestones for those issues. Please feel free to suggest additions. The
list (currently empty) can be found here:
https://github.com/rdkit/rdkit/issues?milestone=6

For those who care, here's how the bug came about.
The bond-type assignment code for standard PDB residues tests bonded atoms
to make sure they are in the same residue. This code compares the two
atoms' AtomPDBResidueInfo structures. Shortly before the 2013_09_1 release,
I added an explicit residueNumber property to the AtomPDBResidueInfo class
and switched the serialNumber property (previously used to store the
residueNumber) to capture the actual serial number of the atom. I forgot to
update the residue comparison code to reflect this change, so
the SamePDBResidue() function was returning false unless the two atoms were
the same. silly mistake.

Best,
-greg
------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today. 
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
_______________________________________________
Rdkit-discuss mailing list
Rdkit-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss

Reply via email to