bac95a147f49cd331052e597006e04b3deee40fc max Wed Apr 22 10:43:20 2026 -0700 lrSv/srSv: human-readable SV type filter labels, script cleanups Add human-readable labels to the supertrack-level svType filter on both the lrSv and srSv supertracks using the "CODE|CODE (Long name)" filterValues syntax: DEL -> "DEL (Deletion)", INS -> "INS (Insertion)", etc. Labels keep the short code up front so users can match what hgTracks shows next to each feature. Also sweep in the in-progress converter/as-file cleanups under scripts/lrSv/ and scripts/srSv/ (introduction of lrSvCommon.py helpers, consistent insLen / svLen / AC column naming, tightened field-description text) that had been piling up as an unstaged working tree. refs #36258 diff --git src/hg/makeDb/trackDb/human/cpc1Sv.html src/hg/makeDb/trackDb/human/cpc1Sv.html index 470d401eb9d..167e890b81d 100644 --- src/hg/makeDb/trackDb/human/cpc1Sv.html +++ src/hg/makeDb/trackDb/human/cpc1Sv.html @@ -1,127 +1,153 @@ <h2>Description</h2> <p> This track displays structural variants (SVs) — deletions, insertions, and complex substitutions of at least 50 bp — identified by the Chinese Pangenome Consortium (CPC) in 58 samples representing 36 Chinese minority ethnic groups.</p> <p> The upstream release combined the 58 CPC samples with 47 samples from Phase 1 of the Human Pangenome Reference Consortium (HPRC) into a single pangenome graph built on the T2T-CHM13v2 assembly with Minigraph-Cactus. For this track we recomputed allele counts (AC), allele numbers (AN) and sample counts (NS) using only the 58 CPC sample columns (those with <tt>HIFI032*</tt> or <tt>RY*</tt> prefixes in the source VCF) and dropped all snarls that no CPC sample carries (HPRC-specific SVs). To see the HPRC data on its own, use the HPRC SV tracks elsewhere in this collection.</p> <p> A pangenome is a graph that represents many genomes simultaneously, letting variants that are missing from a single linear reference be captured and typed directly. Variants are shown natively on the hs1 browser and lifted to hg38 using the UCSC <tt>hs1ToHg38.over.chain.gz</tt> chain. The track contains 46,092 snarl sites on hs1 and 36,030 lifted to hg38 (10,062 did not lift, typically in T2T-added repetitive regions).</p> <h2>Display conventions</h2> <p>Items are colored by SV type:</p> <ul> <li><span style="background-color:rgb(0,0,200);color:white;padding:1px 6px">INS</span> insertion (net ALT longer by ≥50 bp)</li> <li><span style="background-color:rgb(200,0,0);color:white;padding:1px 6px">DEL</span> deletion (net REF longer by ≥50 bp)</li> <li><span style="background-color:rgb(230,140,0);color:white;padding:1px 6px">CPX</span> complex substitution (similar-length REF and ALT but at least one ≥50 bp)</li> <li><span style="background-color:rgb(120,120,120);color:white;padding:1px 6px">MIXED</span> snarl whose collapsed alt alleles belong to different classes</li> </ul> <p> Each bed item spans from the start of the REF allele to its end on the reference. Pure insertions (where REF is a single base) therefore appear as narrow single-base marks; DELs and CPX items span the affected reference interval.</p> <p> The <i>name</i> field is the graph snarl ID (two node identifiers separated by strand arrows, e.g. <tt>>2541>2547</tt>). It is stable across the graph but has no meaning outside the CPC pangenome graph file.</p> <h2>Collapsing of multi-allelic sites</h2> <p> The source VCF was decomposed with <tt>bcftools norm -m -any</tt>, so each graph snarl appears as one VCF row per alternative allele (a single bubble in the graph may have 2-20+ alt paths). For this track we first compute the CPC-only allele count per alt, drop any alt that no CPC sample carries, then collapse all remaining alts sharing the same snarl ID into one track item:</p> <ul> <li><b>SV type</b> is the common class of all alts, or <tt>MIXED</tt> if they disagree (for example one alt is a DEL and another is an INS).</li> <li><b>SV length</b> is the maximum |len(ALT) − len(REF)| across alts.</li> <li><b>Allele count</b> is the sum of the per-alt allele counts.</li> <li><b>Number of alts</b> records how many alternative alleles were merged.</li> </ul> <h2>Filters</h2> <p>Available filters:</p> <ul> <li><b>SV type</b> — any combination of INS, DEL, CPX, MIXED.</li> <li><b>SV length</b> — maximum allele-length difference.</li> <li><b>Allele frequency</b> and <b>allele count</b> across the combined 105 samples.</li> </ul> <h2>Methods</h2> <p> -The CPC assemblies were produced from PacBio HiFi long-read sequencing -(mean ~30× coverage) with <a href="https://github.com/chhylp123/hifiasm" target="_blank">hifiasm</a> -in trio or Hi-C-phased mode, then combined with HPRC Phase 1 assemblies and -built into a variation graph with <a href="https://github.com/pangenome/pggb" target="_blank">pggb/Minigraph-Cactus</a>. -Bubbles in the graph were decomposed into variant records with -<a href="https://github.com/vcflib/vcflib" target="_blank">vcfwave</a>, -producing the source VCF used here. For this UCSC track, the decomposed -VCF was parsed, filtered to variants with an allele-length delta of at -least 50 bp, and collapsed by graph snarl ID (see the build documentation -linked below for details).</p> +Gao et al. 2023 generated PacBio HiFi long reads (mean ~30.65x, +Sequel II/IIe platforms) for 58 QC-passed samples representing 36 +minority Chinese ethnic groups, complemented with Illumina short reads +and Oxford Nanopore ultralong reads. Haplotype-phased de novo assemblies +were produced with +<a href="https://github.com/chhylp123/hifiasm" target="_blank">hifiasm</a> +v0.16.1 (116 high-quality haplotype assemblies retained after QC) and +combined with 47 HPRC Phase 1 assemblies into a single variation graph +built on T2T-CHM13v2 with the Minigraph-Cactus pipeline (Minigraph v0.19 +for the SV skeleton, Cactus v2.1.1 base alignment, <tt>hal2vg</tt>). +Graph bubbles were decomposed into variant records with <tt>vcfwave</tt> +and normalized with <tt>bcftools norm -m -any</tt>, yielding the source +VCF (<tt>CPC.HPRC.Phase1.processed.SVs.normed.vcf.gz</tt>). The upstream +Gao et al. release identified 78,072 SVs across the combined 105-sample +graph. For this track we restrict to the 58 CPC samples (columns matching +<tt>HIFI032*</tt> or <tt>RY*</tt>), recompute AC/AN/NS from those columns +only, drop snarls with no CPC carrier (HPRC-specific sites), filter to +alts with ≥50 bp REF/ALT length difference, and collapse by graph snarl +ID. The final track contains 46,092 snarl sites on hs1; the hg38 version +is lifted with the UCSC <tt>hs1ToHg38.over.chain.gz</tt> chain (36,030 +sites, 10,062 did not lift).</p> + +<p> +The source VCF is distributed by the +<a href="https://github.com/Shuhua-Group/Chinese-Pangenome-Consortium-Phase-I" target="_blank"> +Chinese-Pangenome-Consortium-Phase-I GitHub repository</a>.</p> + +<p> +The step-by-step build commands (CPC-only recount, liftOver, snarl +collapse, bigBed build) are recorded in the UCSC makeDoc for this track +container: +<a href="https://github.com/ucscGenomeBrowser/kent/blob/master/src/hg/makeDb/doc/hg38/lrSv.txt" target="_blank"> +doc/hg38/lrSv.txt</a>. The conversion scripts and autoSql schemas live in +<a href="https://github.com/ucscGenomeBrowser/kent/tree/master/src/hg/makeDb/scripts/lrSv" target="_blank"> +makeDb/scripts/lrSv</a>. +</p> <h2>Data Access</h2> <p>The data can be explored interactively with the <a href="../cgi-bin/hgTables">Table Browser</a> or <a href="../cgi-bin/hgIntegrator">Data Integrator</a>, and accessed from scripts via our <a href="https://api.genome.ucsc.edu">API</a> (track=<i>cpc1Sv</i>).</p> <p>For automated download, the bigBed files are at <a href="http://hgdownload.soe.ucsc.edu/gbdb/hs1/lrSv/cpc1.bb" target="_blank"> http://hgdownload.soe.ucsc.edu/gbdb/hs1/lrSv/cpc1.bb</a> (native) and <a href="http://hgdownload.soe.ucsc.edu/gbdb/hg38/lrSv/cpc1.bb" target="_blank"> http://hgdownload.soe.ucsc.edu/gbdb/hg38/lrSv/cpc1.bb</a> (lifted). Use <tt>bigBedToBed</tt> to extract features: e.g. <tt>bigBedToBed http://hgdownload.soe.ucsc.edu/gbdb/hs1/lrSv/cpc1.bb -chrom=chr21 -start=0 -end=100000000 stdout</tt></p> <p>The original pangenome VCF is distributed by the Chinese Pangenome Consortium; see the <a href="https://github.com/Shuhua-Group/Chinese-Pangenome-Consortium-Phase-I" target="_blank"> CPC Phase I repository</a>.</p> <h2>Credits</h2> <p>Thanks to the Chinese Pangenome Consortium and the HPRC Phase 1 team for producing and releasing the combined pangenome and its decomposed variant calls.</p> <h2>References</h2> <p> Gao Y, Yang X, Chen H, Tan X, Yang Z, Deng L, Wang B, Kong S, Li S, Cui Y <em>et al</em>. <a href="https://doi.org/10.1038/s41586-023-06173-7" target="_blank"> A pangenome reference of 36 Chinese populations</a>. <em>Nature</em>. 2023 Jul;619(7968):112-121. PMID: <a href="https://www.ncbi.nlm.nih.gov/pubmed/37316654" target="_blank">37316654</a>; PMC: <a href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC10322713/" target="_blank">PMC10322713</a> </p>