Estimate transcript abundances for single-cell RNA-seq data by cluster. This function processes each cluster independently and returns a list of quantification results.

mpaqt_quant_sc(
  index,
  sr_counts_list,
  lr_counts_list = NULL,
  positional_bias = NULL,
  n_bins = 50L,
  prior_model = NULL,
  do_umi_correction = TRUE,
  umi_correction_timing = "post",
  max_iter = 100L,
  tolerance = 1e-04,
  prior_start = 50L,
  convergence_start = 25L,
  verbose = TRUE
)

Arguments

index

An mpaqt_index object or path to index RDS file

sr_counts_list

Named list of mpaqt_counts_sr objects, one per cluster (as returned by mpaqt_prepare_short_reads_sc())

lr_counts_list

Named list of mpaqt_counts_lr objects, one per cluster (optional, as returned by mpaqt_prepare_long_reads_sc())

positional_bias

Type of positional bias correction: NULL (none), "3p" (3' bias), or "5p" (5' bias). Default is NULL.

n_bins

Number of distance bins for bias correction (default: 50)

prior_model

Prior specification: NULL (none), "shrinkage", "long_read", or a custom list. See Details.

do_umi_correction

Normalize each transcript P matrix so its x values sum to 1 before post-quantification. This is mainly intended for UMI-based single-cell data.

umi_correction_timing

When do_umi_correction = TRUE and positional weights are used, normalize transcript probabilities either before applying positional weights ("pre") or after weighting ("post", default).

max_iter

Maximum number of EM iterations (default: 100)

tolerance

Convergence tolerance for log-likelihood change (default: 1e-4)

prior_start

Iteration to start using prior information (default: 25)

convergence_start

Iteration to start checking convergence (default: 25)

verbose

Print progress messages (default: TRUE)

Value

Named list of mpaqt_quant_result objects, one per cluster

See also

mpaqt_quant() for bulk quantification, mpaqt_prepare_short_reads_sc() for processing single-cell short reads

Examples

if (FALSE) { # \dontrun{
# Process single-cell data
sr_list <- mpaqt_prepare_short_reads_sc(
  index = idx,
  fastq_1 = "sample_R1.fastq.gz",
  fastq_2 = "sample_R2.fastq.gz",
  clusters_file = "clusters.csv",
  output_dir = "results"
)

# Quantify all clusters
results <- mpaqt_quant_sc(
  index = idx,
  sr_counts_list = sr_list
)

# Access results for a specific cluster
cluster1_tpm <- results[["1"]]$tpm
} # }