def get_mol_centroid(molecule):
    """
    Calculate the geometric center of a molecules heavy atom coordinates.

    Parameters
    ----------
    molecule: oechem.OEGraphMol
        An oechem.OEGraphMol object holding a molecule whos centroid should be calculated.

    Returns
    -------
    centroid: tuple of float
        The geometric centroid of the molecule based on heavy atom coordinates
    """

    coordinates = list(molecule.GetCoords().values())
    atoms = list(molecule.GetAtoms())

    x = [coordinate[0] for coordinate, atom in zip(coordinates, atoms) if atom.GetAtomicNum() != 1]
    y = [coordinate[1] for coordinate, atom in zip(coordinates, atoms) if atom.GetAtomicNum() != 1]
    z = [coordinate[2] for coordinate, atom in zip(coordinates, atoms) if atom.GetAtomicNum() != 1]

    centroid = (sum(x) / len(x), sum(y) / len(y), sum(z) / len(z))

    return centroid