CHM13 alignments Track Settings
CHM13 (GCA_009914755.4) v1_nfLO liftOver alignments   (All Comparative Genomics tracks)

Display mode:      Duplicate track

Color track based on chromosome:  on off

Filter by chromosome (e.g. chr10):

Display data as a density graph:

Display data as a rearrangement graph:
Data schema/format description and download
Assembly: Human Dec. 2013 (GRCh38/hg38)
Data last updated at UCSC: 2022-03-30 21:21:39


These tracks show the one-to-one v1_nfLO alignments of the GRCh38/hg38 to the T2T-CHM13 v2.0 assembly.

Display Conventions

The track displays boxes joined together by either single or double lines, with the boxes represent aligning regions, single lines indicating gaps that are largely due to a deletion in the CHM13 v2.0 assembly or an insertion in the GRCh38/hg38, and double lines representing more complex gaps that involve substantial sequence in both assembly.


GRCh38/hg38 pre-processing

To prevent ambiguous alignments, all false duplications, as determined by the Genome in a Bottle Consortium (GCA_000001405.15_GRCh38_GRC_exclusions_T2Tv2.bed), as well as the GRCh38 modeled centromeres, were masked from the GRCh38/hg38 primary assembly. In addition, unlocalized and unplaced (random) contigs were removed.

Alignment and Chain Creation

For the minimap2-based pipeline, the initial chain file was generated using nf-LO v1.5.1 with minimap2 v2.24 alignments. These chains were then split at all locations that contained unaligned segments greater than 1kbp or gaps greater than 10kbp. Split chain files were then converted to PAF format with extended CIGAR strings using chaintools (v0.1), and alignments between nonhomologous chromosomes were removed. The trim-paf operation of rustybam (v0.1.29) was next used to remove overlapping alignments in the query sequence, and then the target sequence, to create 1:1 alignments. PAF alignments were converted back to the chain format with paf2chain commit f68eeca, and finally, chaintools was used to generate the inverted chain file.

Full commands with parameters used were:

    nextflow run --source GRCh38.fa --target chm13v2.0.fasta --outdir dir -profile local --aligner minimap2
    python chaintools/src/ -c input.chain -o input-split.chain
    python chaintools/src/ -c input-split.chain -t target.fa -q query.fa -o input-split.paf
    awk '$1==$6' input-split.paf | rb break-paf --max-size 10000  | rb trim-paf -r | rb invert | rb trim-paf -r | rb invert > out.paf
    paf2chain -i out.paf > out.chain
    python chaintools/src/ -c out.chain -o out_inverted.chain

The above process does not add chain ids or scores. The UCSC utilities chainMergeSort and chainScore are used to update the chains:

    chainMergeSort out.chain | chainScore stdin chm13v2.0.2bit hg38.2bit chm13v2.0-hg38.chain
    chainMergeSort out_inverted.chain | chainScore stdin hg38.2bit chm13v2.0.2bit hg38-chm13v2.0.chain

Rustybam trim-paf uses dynamic programming and the CIGAR string to find an optimal splitting point between overlapping alignments in the query sequence. It starts its trimming with the largest overlap and then recursively trims smaller overlaps.

Results were validated by using chaintools to confirm that there were no overlapping sequences with respect to both CHM13v2.0 and GRCh38 in the released chain file. In addition, trimmed alignments were visually inspected with SafFire to confirm their quality.

Chains were swapped to make GRCh38/hg38 the target.


The v1_nflo chains were generated by Nae-Chyun Chen<> and Mitchell Vollger<>


Nurk S, Koren S, Rhie A, Rautiainen M, et al. The complete sequence of a human genome. bioRxiv, 2021.