public boolean effectiveCharges(IAtomContainer mol) {

        int[][] adjList = mol.getProperty(MMFF_ADJLIST_CACHE);
        GraphUtil.EdgeToBondMap edgeMap = mol.getProperty(MMFF_EDGEMAP_CACHE);

        if (adjList == null || edgeMap == null)
            throw new IllegalArgumentException("Invoke assignAtomTypes first.");

        primaryCharges(mol, adjList, edgeMap);
        effectiveCharges(mol, adjList);

        return true;
    }
public boolean effectiveCharges ( IAtomContainer mol ) { int [ ] [ ] adjList = mol . getProperty ( MMFF_ADJLIST_CACHE ) ; GraphUtil . EdgeToBondMap edgeMap = mol . getProperty ( MMFF_EDGEMAP_CACHE ) ; if ( adjList == null || edgeMap == null ) throw new IllegalArgumentException ( "Invoke assignAtomTypes first." ) ; primaryCharges ( mol , adjList , edgeMap ) ; effectiveCharges ( mol , adjList ) ; return true ; }
Assign the effective formal charges used by MMFF in calculating the
final partial charge values. Atom types must be assigned first. All
existing charges are cleared.

@param mol molecule
@return charges were assigned
@see #partialCharges(IAtomContainer)
@see #assignAtomTypes(IAtomContainer)