Hi Brian,
The basic problem is that the PDB importer in Analysis is simply not
designed to deal with non-biopolymer types and HETATM records, so its not
surprising that there are issues. The underlying reason was that until
very recently (i.e. using ChemBuild) there was no convenient way to get
the extra ChemComp templates from the PDB data; so that a PDB import would
load under all circumstances.
As your situation is slightly different and you have the ChemComp in the
project already we could fix the residue code matching (assuming official
PDB codes), but this whole subject needs looking at properly, now that we
have ChemBuild.
As we cannot send out patches until the next stable release, there's
nothing that we can do directly for a bit. However, sending us the project
(with just the molecules) and the PDB file should help speed things along.
Regards,
Tim
> ---------- Forwarded message ----------
> Date: Wed, 29 Feb 2012 14:48:43 +0000
> From: Brian Smith <[log in to unmask]>
> Reply-To: CcpNmr software mailing list <[log in to unmask]>
> To: [log in to unmask]
> Subject: wrinkle loading PDBs with ligands
>
> Hi,
>
> We have been calculating structures with oleic acid as a ligand and have an
> issue with importing the structures back into analysis:
>
> When importing the structures via the Structure->Structures popup
> (ccpnmr/analysis/popups/EditStructures.py importStructure) we see an errror
> such as:
>
> Cannot find ChemComp XML file carbohydrate, OLA
> Cannot find ChemComp XML file other, OLA
>
> I think I understand why this is (line numbers etc refer to updated 2.1.5) -
>
> The chain of events from importStructure looks like
>
> analysis.core.StructureBasic getStructureFromFile
>
> calls
>
> analysis.core.StructureBasic makeStructureDictFromRoughPdb
>
> reads the PDB into a dictionary with the three letter residue code from the
> PDB file stored as resName
>
> now getStructureFromFile calls
>
> analysis.core.StructureBasic makeStructures
>
> passing it the dictionary created by makeStructureDictFromRoughPdb
>
> which at line 1157 calls
>
> analysis.core.StructureBasic getBestChemComp
>
> passing it the resName - the will have the SAME CASE as in the PDB file
>
> Now getBestChemComp does some case changing magic at line 874 for 'protein'
> but not for 'other' so when our OLA falls through to
>
> ccp.general.Io getChemComp
>
> it searches for a file matching "OLA" rather than "Ola"
>
> and fails to find one anywhere with the errors being displayed from line 442
> of ccp.general.Io.py
>
> SOLUTION?: It looks to me as if most ccpCodes are Ull format so need the same
> type of magic that happens to protein residues. It seems to me that the
> lower() trick should be safe to use on all ccpCodes since it should not
> affect ccpCodes that contain digits. Any chance of a quick fix?
>
> Aside: the carbohydrate thing puzzled me for a while, but Ola (and many other
> fatty acid type things) satisfy the guess for type carbohydrate in
> analysis.core.StructureBasic getBestMolType. No biggy.
>
>
> Dr. Brian O. Smith --------------------------- Brian Smith at glasgow ac uk
> Institute of Molecular, Cell and Systems Biology & School of Life Sciences,
> College of Medical, Veterinary & Life Sciences,
> Joseph Black Building, University of Glasgow, Glasgow G12 8QQ, UK.
> Tel: 0141 330 5167/6459/3089 Fax: 0141 330 4600
> ----------------------------------------------------------------------
> The University of Glasgow, charity number SC004401
>
-------------------------------------------------------------------------------
Dr Tim Stevens Email: [log in to unmask]
Department of Biochemistry [log in to unmask]
University of Cambridge Phone: +44 1223 766018 (office)
80 Tennis Court Road +44 7816 338275 (mobile)
Cambridge CB2 1GA WWWeb: http://www.bio.cam.ac.uk/~tjs23
United Kingdom http://www.ccpn.ac.uk
-------------------------------------------------------------------------------
------ +NH3CH(CH(CH3)OH)C(O)NHCH(CH(CH3)CH2CH3)C(O)NHCH(CH2CH2SCH3)CO2- -------
-------------------------------------------------------------------------------
|