Hi James,

Regarding the AssignBondOrdersFromTemplate() method:
As far as I understood, the PDB reader assigns bond orders to the amino
acids in a protein, but if a ligand is present it puts all bonds of it to
SINGLE bonds as auto bond-type perception is not trivial (see Roger's
comments). However, usually one knows which ligand was crystallized (i.e.
the SMILES is available), so the AssignBondOrdersFromTemplate() method can
be used to set the bond orders based on the known ligand structure. This is
the idea of the method. Now, to your real-world application. I'm sorry but
I don't think I understand it completely. Do you want to set only the bond
orders of a specific substructure? Or would you like to give the function a
set of ligands and a set of templates and it figures out which template
belongs to which ligand and sets the bonds orders accordingly?

Best,
Sereina



2013/10/24 Greg Landrum <greg.land...@gmail.com>

> James,
>
> On Thu, Oct 24, 2013 at 7:27 PM, James Davidson 
> <j.david...@vernalis.com>wrote:
>
>>  Hi Greg (et al.),****
>>
>> ** **
>>
>> Thanks for the beta!  I have been going through some of the
>> recently-added functionality, and had a couple of questions regarding the
>> PDB reading / writing.
>>
>
> Thanks for the bug reports!
>
>> **
>>
>> **1.       **Do I remember correctly that there was a proposal (from
>> Roger) to add some auto bond-type perception to the PDB parser for ligands
>> (or is that just wishful thinking!)?
>>
> Roger will have to confirm this, but I believe he said something along the
> lines of "that way lies madness".
>
>> 2.       **If not, I notice that there is an
>> AssignBondOrdersFromTemplate() method – but the example in the doc-string
>> only shows (I think) the case where the input PDB is just a single small
>> molecule – so the matching is pretty easy!  I think a more real-World case
>> is when one wants to set the bond orders for multiple ligands (HETATM
>> residues) based on substructure matches – which will then return an atom
>> index selection that can be used as a start point.  Is there any way to
>> have the AssignBondOrdersFromTemplate() convenience function optionally
>> accept a list of atom indexes to specify a substructure?
>>
> Sereina? Is that doable?
>
>> ****
>>
>> **3.       **Is there some explanation for what the ‘flavor’ option does
>> for reading/writing PDB?
>>
> I'm not sure about the reader. Roger, can you answer that?
>
> This is what's in the C++ for the PDBWriter:
> // PDBWriter support multiple "flavors" of PDB output
> // flavor & 1 : Write MODEL/ENDMDL lines around each record
> // flavor & 2 : Don't write any CONECT records
> // flavor & 4 : Write CONECT records in both directions
> // flavor & 8 : Don't use multiple CONECTs to encode bond order
> // flavor & 16 : Write MASTER record
> // flavor & 32 : Write TER record
>
> This is now in the docs for both the Python and C++ code.
>
>> ****
>>
>> **4.       **Having read in a PDB file I see the correct atoms flagged
>> as HETATM (from GetIsHeteroAtom()).  But when call Chem.MolToPDBBlock()
>> these atoms get written as ATOM records…  Also, a Chem.MolToPDBFile()
>> method would be nice for completeness / symmetry : )
>>
> The HETATM thing was the result of a dumb copy and paste error from me.
> It's fixed.
>
> Re: Chem.MolToPDBFile()
> that's missing because there's no corresponding Chem.MolToMolFile()
> This is an odd oversight, which I've now fixed.
>
>> ****
>>
>> **5.       **It seems to me that GetResidueNumber() and
>> GetSerialNumber() may have got mixed-up at some point(?).  At least, when I
>> call GetSerialNumber() I see what appears to be the residue number; and
>> when I call GetResidueNumber() I get “0”!
>>
> This was another dumb bug from me. It's fixed.
>
>> ****
>>
>> **6.       **I also seem to be seeing all of the bonds (for all
>> residues) being written out in CONECT records – such that they all appear
>> as single bonds in eg PyMOL – is this expected behaviour at the moment?
>>
> Another one for Roger.
>
> -greg
>
>
>
> ------------------------------------------------------------------------------
> October Webinars: Code for Performance
> Free Intel webinars can help you accelerate application performance.
> Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most
> from
> the latest Intel processors and coprocessors. See abstracts and register >
> http://pubads.g.doubleclick.net/gampad/clk?id=60135991&iu=/4140/ostg.clktrk
> _______________________________________________
> Rdkit-discuss mailing list
> Rdkit-discuss@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
>
>
------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135991&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