本文へ移動
cccskills
無料GitHub で公開

bio-copy-number-recurrent-cnv

Identify recurrent and driver copy number alterations across a tumor cohort with GISTIC2 (G-score, Ziggurat deconstruction, focal vs broad/arm-level analysis, q-values from permutation) and quantify copy-number signatures with the Steele 2022 COSMIC framework and the Drews 2022 CINSignatures framework. Covers driver-gene localization from recurrence peaks, distinguishing focal drivers from arm-level passengers, and the caller-sensitivity caveats of copy-number signatures. Use when finding recurrently amplified or deleted regions in a cohort, localizing driver genes, separating focal from broad events, running GISTIC2, or extracting copy-number mutational signatures.

インストール方法を見る

含まれるファイル(3)

  • SKILL.md12.6 KB
  • examples/run_gistic2.sh1.7 KB
  • usage-guide.md4.2 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Version Compatibility

Reference examples tested with: GISTIC 2.0.23, R 4.3+ with CINSignatureQuantification 1.2+; Python 3.10+ with SigProfilerAssignment 0.1+ (optional, COSMIC CN signatures).

Before using code patterns, verify installed versions match. If versions differ:

  • CLI: gistic2 --help (GISTIC 2.0 is a MATLAB-compiled binary; needs the MCR runtime)
  • R: packageVersion('CINSignatureQuantification')
  • Python: pip show SigProfilerAssignment

GISTIC 2.0 has had no substantive release since ~2017; it is effectively frozen. It runs as a compiled binary against the MATLAB Compiler Runtime — there is no R or Python package. Verify the reference (-refgene) .mat file matches the genome build.

Recurrent and Driver Copy Number Alteration

"Which copy number changes recur across my cohort, and which gene is the driver" -> A CNV in one tumor is an observation; a CNV recurring across many tumors beyond chance is evidence of selection. GISTIC2 separates recurrent driver events from passengers by modeling a background rate and scoring each locus by how often, and how strongly, it is altered. Copy-number signatures decompose the genome-wide pattern of alterations into the mutational processes that generated them.

  • CLI: gistic2 — cohort-level recurrence, focal vs broad, driver localization
  • R: CINSignatureQuantification (Drews 2022); Python SigProfilerAssignment (Steele 2022 COSMIC)

How GISTIC2 Works — and Its Limits

GISTIC2 scores each genomic marker with a G-score = frequency of alteration x mean amplitude, separately for amplifications and deletions. Significance (q-value) comes from permuting events along the genome under the null that all are passengers. Ziggurat deconstruction decomposes each sample's profile into the additive arm-level and focal events that produced it, so the background rate is estimated separately for broad and focal alterations — without this, ubiquitous arm-level events swamp the focal signal. A peel-off procedure removes the contribution of each significant peak before testing the next, so one strong driver does not mask its neighbors.

Two postdoc-level caveats define how GISTIC2 output must be read:

  1. q-values are cohort-size dependent. Larger N manufactures more "significant" peaks. A peak list from N=50 and one from N=500 are not comparable; recurrence frequency is the portable quantity, not the q-value.
  2. GISTIC2 is only as good as its input segmentation. Oversegmented seg files produce spurious narrow peaks. The seg file must also be correctly centered on diploid — a mis-centered profile (WGD genome centered on tetraploid) inverts every call before GISTIC even runs.

Decision Tree

GoalApproachNotes
Find recurrent focal drivers in a cohortGISTIC2, focal analysis, peak regionsDriver = recurrence-peak gene with a known role
Quantify arm-level / broad eventsGISTIC2 -broad 1, arm-level output-brlen sets the focal/broad length cutoff
Compare cohorts of different sizeRecurrence frequency, not q-valueq-value is not portable across N
Characterize mutational processesCopy-number signaturesDrews CINSignatures or Steele COSMIC CN
Localize the gene within a wide peakGISTIC2 -genegistic 1 + known driversWide peaks need orthogonal driver evidence
Single tumor (no cohort)GISTIC2 does not applyUse focal-amplification-ecdna / per-sample annotation

Running GISTIC2

# Segment file: 6 columns -- sample, chrom, start, end, num_markers, seg.mean (log2).
# It MUST be diploid-centered. Pool per-sample segments (e.g. cnvkit.py export seg).
gistic2 \
    -b gistic_output/ \
    -seg cohort.seg \
    -refgene hg38.refgene.mat \
    -genegistic 1 \
    -broad 1 \
    -brlen 0.7 \
    -conf 0.99 \
    -armpeel 1 \
    -savegene 1 \
    -gcm extreme \
    -rx 0

Key flags: -brlen 0.7 sets the focal/broad cutoff at 70% of a chromosome arm; -conf 0.99 is the peak-boundary confidence — raising it above the 0.75 default yields a wider, more conservative peak with higher confidence the true driver gene lies inside it (the trade-off is more genes per peak); -armpeel 1 peels arm-level events before focal testing; -genegistic 1 runs the gene-level test; -rx 0 keeps sex chromosomes. Output amp_genes.txt / del_genes.txt and all_lesions.txt list peaks, q-values, and genes.

Copy-Number Signatures

Goal: Decompose the genome-wide copy-number pattern into mutational processes (HRD, chromothripsis, tandem duplication, ecDNA, whole-genome doubling).

Approach: Two competing 2022 frameworks exist. Steele et al (Nature 2022) defined 21 pan-cancer CN signatures from a 48-channel feature matrix, now in COSMIC; Drews et al (Nature 2022) defined 17 signatures via the CINSignatures feature set. Quantify against one framework consistently; signatures require absolute (allele-specific) copy number.

library(CINSignatureQuantification)

# segments: data frame with columns chromosome, start, end, segVal (total CN),
# sample -- absolute copy number from ASCAT/Sequenza/FACETS, NOT relative log2.
res <- quantifyCNSignatures(segments, experimentName = 'cohort',
                            method = 'drews')
activities <- getActivities(res)   # samples x signatures exposure matrix

The critical caveat (Steele 2022): three signatures had to be discarded as oversegmentation artifacts and ten were linear combinations needing manual filtering. Signatures are sensitive to the upstream caller — Steele standardizes on ASCAT (SNP6 penalty 70; WGS across the same SNP6 positions) precisely for this reason.

Failure Modes

Comparing q-values across cohorts of different size

Trigger: Stating that cohort A has "more significant" peaks than cohort B when the cohorts differ in N.

Mechanism: GISTIC q-values fall as N rises — the same recurrence frequency clears significance in a larger cohort.

Symptom: A larger cohort appears to have more drivers purely because it is larger; peak lists do not replicate.

Fix: Compare recurrence frequency (fraction of samples altered), not q-value, across cohorts. Re-run GISTIC at matched N (subsample) if a significance comparison is unavoidable.

Oversegmented input produces spurious peaks

Trigger: Feeding GISTIC a seg file from a noisy or over-fragmented segmentation.

Mechanism: GISTIC interprets every segment edge as a potential focal event boundary; fragmentation creates many narrow false peaks.

Symptom: Numerous tiny significant peaks at no known driver; peaks not replicated with a cleaner segmentation.

Fix: Quality-control the segmentation first (see copy-ratio-segmentation); merge over-fragmented segments before pooling the cohort seg file.

Mis-centered seg file inverts everything

Trigger: Pooling seg files that are not diploid-centered (e.g. WGD tumors centered on tetraploid).

Mechanism: GISTIC assumes seg.mean ~ 0 is diploid; a shifted baseline turns gains into neutral and neutral into losses before any statistics run.

Symptom: Amplification and deletion peaks swapped relative to known biology; genome-wide deletion bias.

Fix: Center each sample's seg file on its true diploid baseline (anchor with allele-specific ploidy) before pooling. Do not rely on per-sample median centering for aneuploid cohorts.

Treating a wide GISTIC peak as a single-gene call

Trigger: Reporting every gene inside a wide significant peak, or assuming the peak gene is the driver.

Mechanism: Peak width reflects breakpoint heterogeneity across the cohort; a wide peak may contain dozens of genes, and the statistical peak need not coincide with the functional driver.

Symptom: A multi-gene peak reported as one driver; the named gene is a passenger.

Fix: Intersect peaks with known drivers (COSMIC CGC, OncoKB), expression, and dependency data. Raising -conf widens the peak (it does not narrow it) — peak width is set by cohort breakpoint heterogeneity, not a tunable. Wide peaks require orthogonal driver evidence — GISTIC localizes, it does not nominate.

Copy-number signatures from relative copy number

Trigger: Running CN signatures on log2 ratios or relative segments.

Mechanism: Signature features (segment size, copy-number state, change-point) are defined on absolute copy number; relative input gives meaningless states.

Symptom: Implausible signature exposures; ploidy/WGD signatures fire spuriously.

Fix: Use absolute allele-specific copy number from ASCAT/Sequenza/FACETS as input. Apply the framework's prescribed caller for the platform.

Reconciliation

PatternLikely causeAction
GISTIC peak with no known driverWide peak, passenger locus, or fragile siteCross-check expression/dependency; treat as candidate
Focal peak inside a broad eventArm-level event not peeledConfirm -armpeel 1; inspect Ziggurat output
Drews vs Steele signatures disagreeDifferent feature definitions and reference setsPick one framework; do not mix exposures
Peaks change with segmentationInput over/under-segmentedStabilize segmentation; re-run

Operational rule: Report a GISTIC peak as a candidate driver locus only when (1) the input segmentation is QC-passed and diploid-centered, (2) recurrence frequency (not just q-value) is substantial, and (3) the peak contains a gene with independent driver evidence. Signatures are reportable only from absolute CN with a single, platform-matched framework.

Quantitative Thresholds

ThresholdValueSource / Rationale
GISTIC significanceq < 0.25GISTIC2 default residual-q cutoff for peaks
Peak-boundary confidence-conf 0.99Wider, conservative peak; higher confidence the true driver is inside (default 0.75)
Focal/broad cutoff-brlen 0.7Events > 70% of an arm are treated as broad
Cohort size for stable peakstens to hundredsToo few samples gives unstable peaks; q is N-dependent
CN signatures inputabsolute (allele-specific) CNSteele 2022 / Drews 2022; relative log2 is invalid

Common Errors

Error / symptomCauseSolution
GISTIC2 will not startMATLAB Compiler Runtime missingInstall the MCR version GISTIC was built against
Amp/del peaks swapped vs biologySeg file not diploid-centeredCenter on true ploidy before pooling
Many tiny spurious peaksOversegmented inputQC and merge segmentation first
-refgene errorsBuild mismatch (hg19 vs hg38 .mat)Use the matching reference .mat
Implausible signature exposuresRelative CN used as inputUse absolute allele-specific CN
Peak lists do not replicateq-value compared across different NCompare recurrence frequency

References

  • Mermel CH et al 2011. GISTIC2.0 facilitates sensitive and confident localization of the targets of focal somatic copy-number alteration in human cancers. Genome Biol 12:R41
  • Beroukhim R et al 2010. The landscape of somatic copy-number alteration across human cancers. Nature 463:899
  • Steele CD et al 2022. Signatures of copy number alterations in human cancer. Nature 606:984
  • Drews RM et al 2022. A pan-cancer compendium of chromosomal instability. Nature 606:976
  • Macintyre G et al 2018. Copy number signatures and mutational processes in ovarian carcinoma. Nat Genet 50:1262

Related Skills

  • copy-number/allele-specific-copy-number - Absolute CN input for GISTIC and CN signatures
  • copy-number/copy-ratio-segmentation - Segmentation quality controlling GISTIC peaks
  • copy-number/cnv-annotation - Annotating GISTIC peaks with genes and driver roles
  • copy-number/focal-amplification-ecdna - Resolving the architecture of focal amplicons
  • copy-number/cnv-visualization - Cohort heatmaps of recurrent CNV
  • pathway-analysis/go-enrichment - Pathway context for recurrently altered genes

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Testing patterns for PHPUnit and Playwright E2E tests. Use when writing tests, debugging test failures, setting up test coverage, or implementing test patterns for ActivityPub features.

日本語の概要は準備中です。原文の説明を表示しています。

lilinji/GeneTind-Life-Skills142026年8月21日 更新

adaptyv

無料

How to use the Adaptyv Bio Foundry API and Python SDK for protein experiment design, submission, and results retrieval. Use this skill whenever the user mentions Adaptyv, Foundry API, protein binding assays, protein screening experiments, BLI/SPR assays, thermostability assays, or wants to submit protein sequences for experimental characterization. Also trigger when code imports `adaptyv`, `adaptyv_sdk`, or `FoundryClient`, or references `foundry-api-public.adaptyvbio.com`.

日本語の概要は準備中です。原文の説明を表示しています。

lilinji/GeneTind-Life-Skills142026年8月21日 更新

Add unsigned integer (uint) type support to PyTorch operators by updating AT_DISPATCH macros. Use when adding support for uint16, uint32, uint64 types to operators, kernels, or when user mentions enabling unsigned types, barebones unsigned types, or uint support.

日本語の概要は準備中です。原文の説明を表示しています。

lilinji/GeneTind-Life-Skills142026年8月21日 更新

Time-blind friendly planning, executive function support, and daily structure for ADHD brains. Specializes in realistic time estimation, dopamine-aware task design, and building systems that actually work for neurodivergent minds.

日本語の概要は準備中です。原文の説明を表示しています。

lilinji/GeneTind-Life-Skills142026年8月21日 更新

aeon

無料

This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. Use when working with temporal data, sequential patterns, or time-indexed observations requiring specialized algorithms beyond standard ML approaches. Particularly suited for univariate and multivariate time series analysis with scikit-learn compatible APIs.

日本語の概要は準備中です。原文の説明を表示しています。

lilinji/GeneTind-Life-Skills142026年8月21日 更新

Unified analysis pipeline for affinity-based proteomics platforms — Olink (PEA, NPX) and SomaLogic SomaScan (SOMAmer, RFU). Platform-aware QC, normalisation, differential abundance, volcano plots, heatmaps, and PCA.

日本語の概要は準備中です。原文の説明を表示しています。

lilinji/GeneTind-Life-Skills142026年8月21日 更新

lilinji のスキルをすべて見る

このスキルの問題を報告する