% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/select.gene.R
\name{select.gene}
\alias{select.gene}
\title{Select Genes for Analysis}
\usage{
select.gene(seurat.obj, tfs = NULL, targets = NULL, bgs = NULL, min.cells = 20)
}
\arguments{
\item{seurat.obj}{A \code{Seurat} object containing gene expression data.}

\item{tfs}{A vector of transcription factor (TF) gene names. If \code{NULL},
all TFs in the \code{\link{gene.list}$tfs} will be considered. Default is \code{NULL}.}

\item{targets}{A vector of target gene names. If \code{NULL}, all target
genes in \code{\link{gene.list}$targets} will be considered. Default is \code{NULL}.}

\item{bgs}{A vector of background gene names. If \code{NULL}, no additional
background genes are considered. Default is \code{NULL}.}

\item{min.cells}{An integer specifying the minimum number of cells in which
a gene must be expressed to be included. Default is 20.}
}
\value{
A list containing:
\item{tfs}{Filtered TFs that meet the minimum cell expression criteria.}
\item{targets}{Filtered target genes that meet the minimum cell expression criteria.}
\item{bgs}{Filtered background genes, excluding any genes in \code{tfs} or \code{targets}.}
\item{genes}{A unique set of all selected genes.}
}
\description{
This function filters and selects transcription factors (TFs), target genes,
and background genes from a Seurat object based on their expression in a
minimum number of cells.
}
\details{
The function first filters genes in the \code{seurat.obj} to retain only those
expressed in more than \code{min.cells} cells. It then intersects the filtered
gene set with provided or default lists of TFs, targets, and background genes.
}
\examples{
select.gene(seurat.obj)

}
\seealso{
\code{\link{gr.graph}}
}
