bio-copy-number-cnv-annotation
Annotate copy number variant segments with overlapping genes, dosage-sensitivity scores, cancer driver databases, population frequencies, and clinical-variant content. Covers bedtools/pybedtools interval intersection, AnnotSV comprehensive annotation and ranking, ClinGen haploinsufficiency/triplosensitivity scoring, gnomAD-SV/DGV frequency filtering, COSMIC Cancer Gene Census, and ClinVar overlap. Use when interpreting which genes a CNV affects, distinguishing the driver gene of a focal event from passengers, filtering against population CNVs, separating whole-gene from partial-gene overlap, o
npx skills add BioTender-max/awesome-bio-agent-skills --skill cnv-annotation --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
## Version Compatibility Reference examples tested with: bedtools 2.31+, AnnotSV 3.4+, Python 3.10+ with pybedtools 0.9+, pandas 2.2+, pysam 0.22+; R 4.3+ with clusterProfiler 4.10+. Before using code patterns, verify installed versions match. If versions differ: - CLI: `bedtools --version`, `AnnotSV --version` - Python: `pip show pybedtools pandas pysam` - R: `packageVersion('clusterProfiler')` If code throws an error, introspect the installed package and adapt the example. AnnotSV output column names change between major versions — verify against the installed version. # CNV Annotation **"Annotate my CNV calls with the genes they affect"** -> Overlap CNV segments with gene models, dosage-sensitivity maps, and clinical databases. The hard part is not the intersection — it is deciding *which* genes matter. A focal amplification overlapping 30 genes usually has one driver (the peak gene); a deletion's consequence depends on whether each gene is dosage-sensitive and whether the whole gene or only part is removed. - CLI: `bedtools intersect -a cnvs.bed -b genes.bed -wa -wb`; `AnnotSV` for full annotation - Python: `pybedtools` for interval logic; `pysam` for VCF database queries ## An
- Version Compatibility
- Annotation Strategy — Pick the Database for the Question
- The Core Distinction: Overlap Is Not Consequence
- Gene Overlap with bedtools
- Comprehensive Annotation with AnnotSV
- Dosage-Sensitivity and Driver Annotation
- Population-Frequency Filtering
- Pathway Enrichment of Affected Genes
- Failure Modes
- Genome-build mismatch between CNVs and annotation
- Annotating all overlapped genes as the "affected" genes
- ClinVar CLNSIG parsing errors
- Equating overlap with consequence
- Quantitative Thresholds
Segments to BED (CNVkit .cns example; columns chrom/start/end/log2)
awk 'NR>1 {print $1"\t"$2"\t"$3"\t"$5}' sample.cns > sample.cnv.bed
bedtools intersect -a sample.cnv.bed -b gencode.genes.bed -wo > cnv_gene_overlap.txt
AnnotSV \
Output includes: overlapped genes, ClinGen HI/TS, gnomAD-SV/DGV frequency, OMIM,
Reciprocal overlap, not one-sided, prevents a tiny CNV inside a huge population CNV
bedtools intersect -a sample.cnv.bed -b gnomad_sv.bed -f 0.5 -r -wa -wb \What does the bio-copy-number-cnv-annotation skill do?
Annotate copy number variant segments with overlapping genes, dosage-sensitivity scores, cancer driver databases, population frequencies, and clinical-variant content. Covers bedtools/pybedtools interval intersection, AnnotSV comprehensive annotation and ranking, ClinGen haploinsufficiency/triplosensitivity scoring, gnomAD-SV/DGV frequency filtering, COSMIC Cancer Gene Census, and ClinVar overlap. Use when interpreting which genes a CNV affects, distinguishing the driver gene of a focal event from passengers, filtering against population CNVs, separating whole-gene from partial-gene overlap, o
How do I install it?
Run `npx skills add BioTender-max/awesome-bio-agent-skills --skill cnv-annotation --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From BioTender-max/awesome-bio-agent-skills, a repository with 135 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
