Well, while we wait for the wonders of the next release we stuck in the lower case trick in getBestChemComp() if not chemComp and molType != 'other': resName = resName[0] + resName[1:].lower() chemComp = getChemComp(project, 'other', resName) which gets us to the next problem...... makeStructures next gets to look for matching chains using analysis.core.MoleculeBasic findMatchingChains which in turn calls getSequenceResidueMapping but as Tim said, this is only designed to work for protein and nucleic acid polymers currently so it does not find a matching chain for an 'other' like oleic acid so the fix starts to get complicated.