def getCoords_subset(conf):
    """Return coordinates of conf's current subset, if there is one.

    If the coordinates haven't been computed yet,
        then compute, save, and return them.
    Otherwise, return the previously-computed coordinates.
    """
    if not conf.subset:
        return conf.getCoords()
    if not hasattr(conf, 'subset_coords'):
        oldCoords = conf.mol.allAtoms.coords[:]
        oldConf = conf.mol.allAtoms[0].conformation
        conf.mol.allAtoms.updateCoords(conf.getCoords(), 
                    conf.mol.stoc.confIndex)
        conf.subset_coords = conf.subset.coords[:]
        conf.mol.allAtoms.updateCoords(oldCoords, oldConf)
    return conf.subset_coords