GISTIC permutation null for copy-number scores

DefinitionPermuted GISTIC score at a marker#✓fully proved

The permuted score at marker m: ∑ j, x j (σ j m).

def permutedScore {S M : ℕ} (x : Fin S → Fin M → ℝ) (m : Fin M)
    (σ : Fin S → Equiv.Perm (Fin M)) : ℝ :=
  ∑ j, x j (σ j m)
Used by 2

DefinitionGISTIC permutation null distribution#✓fully proved

The GISTIC permutation null at marker m: the probability that ∑ j, x j (σ j m) = g when the permutations σ j of the markers are independent and uniform.

noncomputable def permutationNull {S M : ℕ} (x : Fin S → Fin M → ℝ) (m : Fin M) (g : ℝ) : ℝ :=
  ((Finset.univ.filter fun σ : Fin S → Equiv.Perm (Fin M) => permutedScore x m σ = g).card :
    ℝ) / Fintype.card (Fin S → Equiv.Perm (Fin M))
Uses 1 · Used by 4

DefinitionCount of marker choices with a given score#✓fully proved

The number of marker choices u : Fin S → Fin M (one marker per sample) with ∑ j, x j (u j) = g.

noncomputable def scoreCount {S M : ℕ} (x : Fin S → Fin M → ℝ) (g : ℝ) : ℕ :=
  (Finset.univ.filter fun u : Fin S → Fin M => ∑ j, x j (u j) = g).card
Used by 4

TheoremThe GISTIC permutation null is the law of a sum of independent per-sample draws#✓fully proved

(Mermel et al. 2011): the probability of the score g is the fraction of the M ^ S marker choices with that score, whatever the marker m.

theorem permutationNull_eq_count {S M : ℕ} (x : Fin S → Fin M → ℝ) (m : Fin M) (g : ℝ) :
    permutationNull x m g = scoreCount x g / (M : ℝ) ^ S
Uses 3 · Used by 3

TheoremGISTIC null with no samples is a point mass at zero#✓fully proved

With no samples the null is the point mass at 0.

theorem permutationNull_zero {M : ℕ} (x : Fin 0 → Fin M → ℝ) (m : Fin M) (g : ℝ) :
    permutationNull x m g = if g = 0 then 1 else 0
Uses 3

TheoremConvolution step#✓fully proved

Adding sample S convolves the null of the first S samples with the empirical law of the new sample, P_{S+1}(g) = ∑_v (1 / M) P_S(g - x_S(v)).

theorem permutationNull_succ {S M : ℕ} (x : Fin (S + 1) → Fin M → ℝ) (m : Fin M) (g : ℝ) :
    permutationNull x m g =
      ∑ v : Fin M, (1 / (M : ℝ)) *
        permutationNull (fun j => x j.castSucc) m (g - x (Fin.last S) v)
Uses 3

DefinitionWindow minimum over consecutive markers#✓fully proved

The minimum of y over the window of n + 1 consecutive markers starting at i (GeneGISTIC's per-sample gene-level value for a gene covering those markers).

noncomputable def windowMin {W n : ℕ} (y : Fin (W + n) → ℝ) (i : Fin W) : ℝ :=
  Finset.univ.inf' Finset.univ_nonempty fun k : Fin (n + 1) =>
    y ⟨i + k, by omega⟩
Used by 1

TheoremGeneGISTIC null#✓fully proved

GeneGISTIC null (Mermel et al. 2011): permuting the per-sample minima of all running windows of n + 1 markers gives, at every window i, the law of a sum of independent draws of one window minimum per sample.

theorem geneNull_eq_count {S W n : ℕ} (x : Fin S → Fin (W + n) → ℝ) (i : Fin W) (g : ℝ) :
    permutationNull (fun j => windowMin (x j)) i g =
      scoreCount (fun j => windowMin (x j)) g / (W : ℝ) ^ S
Uses 4
8 fully proved

The dependency explorer needs JavaScript and its graph data.

Download the complete graph data.