Skip to content

iscc.data.scDNA

scDNA(n_cells=100, **dna_kwargs)

Bases: DNA

Single-cell DNA-seq: per-cell low budget, small-kappa (lumpy amplification) depth nested in the run batch, Beta-Binomial alleles + explicit ADO + doublets.

Each cell gets its own DM draw (the per-cell amplification profile, the dominant single-cell noise) on weights ∝ that cell's copy number. ADO (one allele lost at a het locus) is a separate Bernoulli layer — the dominant single-cell allele artifact — applied before the Beta-Binomial alt-count draw. The single-cell mode_defaults set a small-kappa amplification regime (kappa=5 lumpy MDA/MALBAC) plus ado_rate=0.20, beta_binom_conc=30, doublet_rate=0.02, and coverage is scaled ~0.3x the bulk depth.

Parameters:

Name Type Description Default
n_cells int

Number of cells to sample and assay, capped at the number available. Ignored when cell_subset is passed to run.

100
**dna_kwargs

Forwarded to the DNA base. See DNA for the shared breadth / data_mode / depth / hyper-parameters.

{}

Methods:

Name Description
run

Assay single-cell DNA (copy number and SNVs) for the sampled cells.

to_anndata

cells × loci AnnData: X = coverage; alt/vaf/true_cn/true_af/ado in layers.

run

run(cell_data, cell_subset=None, **kwargs)

Assay single-cell DNA (copy number and SNVs) for the sampled cells.

Emits, per cell and per observed locus, the read depth, alternate-allele counts, and VAF, applying doublets, allelic dropout (ADO), and Beta-Binomial allele noise. In "binary" data mode a genotype call is produced in observed_snvs instead of counts.

Parameters:

Name Type Description Default
cell_data dict

Per-cell ground-truth tables from the sampling stage; uses the SNV table cell_snv and the copy-number ground truth.

required
cell_subset array-like of cell IDs

Restrict the assay to these cells. By default every sampled cell is used.

None

Returns:

Type Description
scDNA

self, with per-cell tables in coverage, alt_counts, vaf, and true_cn, and the QC/ground-truth table in obs. Call to_anndata or write to export.

to_anndata

to_anndata()

cells × loci AnnData: X = coverage; alt/vaf/true_cn/true_af/ado in layers.

Technology presets

Single-cell DNA platforms differ mainly in the whole-genome-amplification (WGA) chemistry and depth. Set breadth for the locus set / depth regime, and override the amplification knobs — kappa (lower = lumpier amplification), ado_rate (allelic dropout), and mu_depth (coverage) — via the constructor. These are starting points; estimate_dna fits them from real data.

Platform breadth kappa ado_rate Depth Notes
MALBAC (default) "wgs" ~5 ~0.20 shallow (~9×) Quasi-linear WGA, moderate bias — the built-in single-cell defaults.
MDA "wgs" ~2–3 ~0.30 shallow Stronger lumpiness and higher dropout than MALBAC.
DLP / DLP+ "wgs" ~500 (near-uniform) ~0.05 very shallow (low mu_depth; DLP+ is ~0.01–0.1× the genome) Direct single-cell library, no WGA bias: near-uniform coverage, low dropout.
Mission Bio Tapestri "panel" ~5–10 ~0.15 very deep Targeted single-cell SNV amplicon panel.
10x CNV (Chromium) "wgs" ~50 ~0.05 very shallow Droplet shallow WGS for copy number.