def subset_adata(adata, subset):
    """
    Subsets anndata object on one or more `.obs` columns
    """
    print("Subsetting AnnData on {}".format(subset), end="")
    # initialize .obs column for choosing cells
    adata.obs["adata_subset_combined"] = 0
    # create label as union of given subset args
    for i in range(len(subset)):
        adata.obs.loc[
            adata.obs[subset[i]].isin(["True", True, 1.0, 1]), "adata_subset_combined"
        ] = 1
    adata = adata[adata.obs["adata_subset_combined"] == 1, :].copy()
    adata.obs.drop(columns="adata_subset_combined", inplace=True)
    print(" - now {} cells and {} genes".format(adata.n_obs, adata.n_vars))
    return adata