ChromHMM chromatin states
The tutorials target the JBrowse v5 beta, and the v4.3.0 release
on the download page lacks some of what they show. To install the
beta of JBrowse Web, run npm install -g @jbrowse/cli@next, then
jbrowse create jbrowse2 --branch v5.0.0-beta.13. Desktop beta builds are coming soon.
ChromHMM labels each region of the genome with a chromatin state, promoter, enhancer, heterochromatin and so on, once per cell type. We merge many per-cell-type segmentation BEDs into one file, which JBrowse draws as a single track with one color-coded row per cell type. We read it at two loci: the HOXA cluster, where each cell type opens the genes matching its place along the body axis, and PAX5, a B-cell gene with genic enhancers only in B cells.
Prerequisites
wget- htslib (
bgzip,tabix) node, for the JBrowse CLIpython3, for the 127-epigenome build onlyjq, for the Roadmap tissue groups only
On Debian/Ubuntu, apt install wget tabix covers wget and htslib; node
comes from nodejs.org.
Where the data comes from
Two hg19 ChromHMM releases, both 15-state segmentations: UCSC's nine-cell-type ENCODE Broad HMM set, and the Roadmap Epigenomics compendium across 127 epigenomes.
The build scripts fetch these files, so there is nothing to download by hand.
- the nine ENCODE Broad HMM segmentation BEDs, one per cell type, merged into the multi-row file below: hgdownload.soe.ucsc.edu/…/wgEncodeBroadHmmhttp://hgdownload.soe.ucsc.edu/goldenPath/hg19/encodeDCC/wgEncodeBroadHmm/
- the Roadmap segmentations, fetched either individually or as the whole 127-epigenome tarball: egg2.wustl.edu/…/finalhttps://egg2.wustl.edu/roadmap/data/byFileType/chromhmmSegmentations/ChmmModels/coreMarks/jointModel/final/
- the row labels, tissue groups and tissue colors,
EID_metadata.tab: egg2.wustl.edu/…/EID_metadata.tabhttps://egg2.wustl.edu/roadmap/data/byFileType/metadata/EID_metadata.tab - the state colors, since the Roadmap segmentations themselves have none: egg2.wustl.edu/…/colormap_15_coreMarks.tabhttps://egg2.wustl.edu/roadmap/data/byFileType/chromhmmSegmentations/ChmmModels/coreMarks/jointModel/final/colormap_15_coreMarks.tab
Read by URL (no download needed)
- both merged files, rehosted as bigBeds so the tracks below load without the build: jbrowse.org/…/wgEncodeBroadHmm.multirow.bbhttps://jbrowse.org/demos/chromhmm/wgEncodeBroadHmm.multirow.bb and jbrowse.org/…/roadmap_15state_127epigenomes.bbhttps://jbrowse.org/demos/chromhmm/roadmap_15state_127epigenomes.bb
Merging nine ENCODE segmentation BEDs into one file
ChromHMM writes one BED9 per cell type
(Gm12878.bed, K562.bed, ...), with the state in name (for example
1_Active_Promoter) and its color in itemRgb. The nine
UCSC ENCODE Broad HMM
15-state BEDs concatenate into one BED with a trailing cellType field, which
the multi-row feature display turns into one row per value, so 9 cell types
(or 127) share one config, one adapter and one fetch:
#chrom chromStart chromEnd name score strand thickStart thickEnd itemRgb cellType
chr1 10000 10600 15_Repetitive/CNV 0 . 10000 10600 245,245,245 GM12878
chr1 10000 10600 15_Repetitive/CNV 0 . 10000 10600 245,245,245 K562The #-prefixed defline gives the adapter its column names. The merge is one
pass:
# Each entry pairs a file's name token with the row label its segments get
CELL_TYPES=(
Gm12878:GM12878
H1hesc:H1-hESC
K562:K562
Hepg2:HepG2
Huvec:HUVEC
Hmec:HMEC
Hsmm:HSMM
Nhek:NHEK
Nhlf:NHLF
)
# awk appends the label to every segment of its file
{
printf '#chrom\tchromStart\tchromEnd\tname\tscore\tstrand\tthickStart\tthickEnd\titemRgb\tcellType\n'
for entry in "${CELL_TYPES[@]}"; do
gzip -dc "wgEncodeBroadHmm${entry%%:*}HMM.bed.gz" |
awk -v c="${entry##*:}" 'BEGIN{OFS="\t"} {print $0, c}'
done
} > multirow.bed
# `sort-bed` is `sort -k1,1 -k2,2n` with the #-defline kept on top, and pins
# LC_ALL=C so nine files' worth of refnames group the same way everywhere
jbrowse sort-bed multirow.bed | bgzip > multirow.bed.gz
tabix -p bed multirow.bed.gzA BigBedAdapter reads the hosted bigBed copies
of both merged files, as in the Roadmap track config below.
Configuring a multi-row display, one row per cell type
Both releases are on hg19, so we load that assembly and a RefSeq gene track:
Goes in the assemblies array of config.json. See Assemblies.
{
"name": "hg19",
"uri": "https://hgdownload.soe.ucsc.edu/goldenPath/hg19/bigZips/hg19.2bit",
"refNameAliases": {
"uri": "https://hgdownload.soe.ucsc.edu/goldenPath/hg19/bigZips/hg19.chromAlias.txt"
}
}jbrowse add-assembly https://hgdownload.soe.ucsc.edu/goldenPath/hg19/bigZips/hg19.2bit \
--name hg19 \
--refNameAliases https://hgdownload.soe.ucsc.edu/goldenPath/hg19/bigZips/hg19.chromAlias.txthg19 is one of the genomes JBrowse Desktop hosts, with gene tracks already set up: on the start screen click Show all available genomes and pick it. To load the files of this config instead:
In JBrowse Desktop, Open new genome on the start screen (or File → Open genome... in a session), then Open from a URL and paste:
https://hgdownload.soe.ucsc.edu/goldenPath/hg19/bigZips/hg19.2bitJBrowse reads the format off the file name. Then fill in:
- Genome name:
hg19 - refName aliases (under More options):
https://hgdownload.soe.ucsc.edu/goldenPath/hg19/bigZips/hg19.chromAlias.txt
Goes in the tracks array of config.json. See Tracks.
{
"type": "FeatureTrack",
"trackId": "ncbi_gff_hg19",
"name": "NCBI RefSeq genes",
"assemblyNames": ["hg19"],
"adapter": {
"type": "Gff3TabixAdapter",
"uri": "https://s3.amazonaws.com/jbrowse.org/genomes/hg19/ncbi_refseq/GRCh37_latest_genomic.sort.gff.gz"
}
}jbrowse add-track https://s3.amazonaws.com/jbrowse.org/genomes/hg19/ncbi_refseq/GRCh37_latest_genomic.sort.gff.gz \
--trackId ncbi_gff_hg19 \
--name "NCBI RefSeq genes" \
--assemblyNames hg19In JBrowse Desktop, or in any running JBrowse Web session, open a view on this track’s assembly, then File → Open track... and, in Add a track from file or URL, enter:
- Main file:
https://s3.amazonaws.com/jbrowse.org/genomes/hg19/ncbi_refseq/GRCh37_latest_genomic.sort.gff.gz
Click Next. JBrowse reads the adapter and track type off the file name. Then fill in:
- Track name:
NCBI RefSeq genes - Assembly:
hg19
Click Add.
Open this track in JBrowse Web ↗
Open this track in JBrowse Desktop ↗ (JBrowse Desktop 5.0+)
The track config below opens the merged file in a multi-row feature display
partitioned on cellType. For your own segmentations, swap uri for the
bgzipped, tabix-indexed BED from the merge above:
Goes in the tracks array of config.json. See Tracks.
{
"type": "FeatureTrack",
"trackId": "broad_chromhmm_multirow_hg19",
"name": "ChromHMM chromatin state (Broad ENCODE, 9 cell types)",
"uri": "wgEncodeBroadHmm.multirow.bed.gz",
"assemblyNames": ["hg19"],
"category": ["ENCODE", "Chromatin state"],
"displays": [
{
"type": "LinearMultiRowFeatureDisplay",
"rows": {
"field": "cellType",
"domain": [
"GM12878",
"H1-hESC",
"K562",
"HepG2",
"HUVEC",
"HMEC",
"HSMM",
"NHEK",
"NHLF"
]
},
"height": 200
}
]
}jbrowse add-track-json '{
"type": "FeatureTrack",
"trackId": "broad_chromhmm_multirow_hg19",
"name": "ChromHMM chromatin state (Broad ENCODE, 9 cell types)",
"uri": "wgEncodeBroadHmm.multirow.bed.gz",
"assemblyNames": ["hg19"],
"category": ["ENCODE", "Chromatin state"],
"displays": [
{
"type": "LinearMultiRowFeatureDisplay",
"rows": {
"field": "cellType",
"domain": [
"GM12878",
"H1-hESC",
"K562",
"HepG2",
"HUVEC",
"HMEC",
"HSMM",
"NHEK",
"NHLF"
]
},
"height": 200
}
]
}'In JBrowse Desktop, or in any running JBrowse Web session, open a view on this track’s assembly, then File → Open track..., choose Add track from pasted JSON, and paste:
{
"type": "FeatureTrack",
"trackId": "broad_chromhmm_multirow_hg19",
"name": "ChromHMM chromatin state (Broad ENCODE, 9 cell types)",
"uri": "wgEncodeBroadHmm.multirow.bed.gz",
"assemblyNames": ["hg19"],
"category": ["ENCODE", "Chromatin state"],
"displays": [
{
"type": "LinearMultiRowFeatureDisplay",
"rows": {
"field": "cellType",
"domain": [
"GM12878",
"H1-hESC",
"K562",
"HepG2",
"HUVEC",
"HMEC",
"HSMM",
"NHEK",
"NHLF"
]
},
"height": 200
}
]
}wgEncodeBroadHmm.multirow.bed.gz is relative to a config.json. Replace it with its URL or its path on this computer.
JBrowse finds the .bed.gz.tbi beside the file. In grammar-of-graphics terms,
rows assigns the rows:
fieldis the attribute to split rows by, so every distinctcellTypebecomes a labeled rowdomainpins the rows to an order, here ENCODE's tiers; without it the rows sort by value
JBrowse paints each feature with its itemRgb. The
color slot is a color
scale that overrides this, mapping the values of a field through its domain
to its range. The adapter needs
columnNames only for a file
without a defline.
Type chr7:27,110,000-27,265,000 into the location box, the HOXA cluster:
The HOX genes are transcribed in the order they sit in, so each cell type opens
the stretch matching its position along the body axis and holds the rest under
Polycomb, a repressive chromatin complex. H1-hESC's magenta is
3_Poised_Promoter, the bivalent state HOX clusters are held in before a
lineage commits.
Chromatin-state legend, filtering and row order
JBrowse builds the key from the state colors, one entry per distinct color,
labeled with the first state name seen in it. States sharing a color collapse
into one entry, so in the Broad 15-state model 4_Strong_Enhancer shares its
entry with 5_. An identity
color scale keeps the
file's colors and relabels them in the key.
Most of any segmentation is quiescent or heterochromatic. The track menu has these actions for reading the rest:
- Show... → Show legend turns the key off.
- The Categories submenu has a checkbox per legend entry. Unchecking the quiescent and repressed states leaves the promoters, enhancers and transcription.
- Clustering → Cluster rows by similarity... reorders the rows by the state each has across the region in view and draws the dendrogram in the sidebar.
- Right-click a column and pick Sort rows by color here to rank the rows by the state each has at that base.
Roadmap's 127 epigenomes at PAX5 and HOXA
The
Roadmap Epigenomics
15-state segmentations of 127 epigenomes merge the same way, into one track and
one fetch. Their state names are mnemonics (12_EnhBiv, 14_ReprPCWk), so this
track labels its colors with scale: "identity": the file's itemRgb still
paints each block, and labels spells out the fifteen domain colors in order.
The merged file is hosted, so the track loads as it stands. The track omits
three settings the PAX5 figure uses: a rows.domain naming every epigenome,
grouped by tissue, and the rowGroups and rowColor built later in this
section that color the label bars. The hosted demo config,
https://jbrowse.org/code/jb2/main/test_data/config_demo.json, has the track with
all three:
Goes in the tracks array of config.json. See Tracks.
{
"type": "FeatureTrack",
"trackId": "roadmap_chromhmm_multirow_hg19",
"name": "ChromHMM chromatin state (Roadmap, 127 epigenomes)",
"uri": "https://jbrowse.org/demos/chromhmm/roadmap_15state_127epigenomes.bb",
"assemblyNames": ["hg19"],
"category": ["Roadmap Epigenomics", "Chromatin state"],
"displays": [
{
"type": "LinearMultiRowFeatureDisplay",
"rows": "cellType",
"color": {
"scale": "identity",
"domain": [
"rgb(255,0,0)",
"rgb(255,69,0)",
"rgb(50,205,50)",
"rgb(0,128,0)",
"rgb(0,100,0)",
"rgb(194,225,5)",
"rgb(255,255,0)",
"rgb(102,205,170)",
"rgb(138,145,208)",
"rgb(205,92,92)",
"rgb(233,150,122)",
"rgb(189,183,107)",
"rgb(128,128,128)",
"rgb(192,192,192)",
"rgb(255,255,255)"
],
"labels": [
"1 Active TSS",
"2 Flanking active TSS",
"3 Transcribed 5'/3' flank",
"4 Strong transcription",
"5 Weak transcription",
"6 Genic enhancer",
"7 Enhancer",
"8 ZNF genes / repeats",
"9 Heterochromatin",
"10 Bivalent TSS",
"11 Flanking bivalent",
"12 Bivalent enhancer",
"13 Repressed Polycomb",
"14 Weak repressed Polycomb",
"15 Quiescent / low"
]
},
"height": 700
}
]
}jbrowse add-track-json '{
"type": "FeatureTrack",
"trackId": "roadmap_chromhmm_multirow_hg19",
"name": "ChromHMM chromatin state (Roadmap, 127 epigenomes)",
"uri": "https://jbrowse.org/demos/chromhmm/roadmap_15state_127epigenomes.bb",
"assemblyNames": ["hg19"],
"category": ["Roadmap Epigenomics", "Chromatin state"],
"displays": [
{
"type": "LinearMultiRowFeatureDisplay",
"rows": "cellType",
"color": {
"scale": "identity",
"domain": [
"rgb(255,0,0)",
"rgb(255,69,0)",
"rgb(50,205,50)",
"rgb(0,128,0)",
"rgb(0,100,0)",
"rgb(194,225,5)",
"rgb(255,255,0)",
"rgb(102,205,170)",
"rgb(138,145,208)",
"rgb(205,92,92)",
"rgb(233,150,122)",
"rgb(189,183,107)",
"rgb(128,128,128)",
"rgb(192,192,192)",
"rgb(255,255,255)"
],
"labels": [
"1 Active TSS",
"2 Flanking active TSS",
"3 Transcribed 5'\''/3'\'' flank",
"4 Strong transcription",
"5 Weak transcription",
"6 Genic enhancer",
"7 Enhancer",
"8 ZNF genes / repeats",
"9 Heterochromatin",
"10 Bivalent TSS",
"11 Flanking bivalent",
"12 Bivalent enhancer",
"13 Repressed Polycomb",
"14 Weak repressed Polycomb",
"15 Quiescent / low"
]
},
"height": 700
}
]
}'In JBrowse Desktop, or in any running JBrowse Web session, open a view on this track’s assembly, then File → Open track..., choose Add track from pasted JSON, and paste:
{
"type": "FeatureTrack",
"trackId": "roadmap_chromhmm_multirow_hg19",
"name": "ChromHMM chromatin state (Roadmap, 127 epigenomes)",
"uri": "https://jbrowse.org/demos/chromhmm/roadmap_15state_127epigenomes.bb",
"assemblyNames": ["hg19"],
"category": ["Roadmap Epigenomics", "Chromatin state"],
"displays": [
{
"type": "LinearMultiRowFeatureDisplay",
"rows": "cellType",
"color": {
"scale": "identity",
"domain": [
"rgb(255,0,0)",
"rgb(255,69,0)",
"rgb(50,205,50)",
"rgb(0,128,0)",
"rgb(0,100,0)",
"rgb(194,225,5)",
"rgb(255,255,0)",
"rgb(102,205,170)",
"rgb(138,145,208)",
"rgb(205,92,92)",
"rgb(233,150,122)",
"rgb(189,183,107)",
"rgb(128,128,128)",
"rgb(192,192,192)",
"rgb(255,255,255)"
],
"labels": [
"1 Active TSS",
"2 Flanking active TSS",
"3 Transcribed 5'/3' flank",
"4 Strong transcription",
"5 Weak transcription",
"6 Genic enhancer",
"7 Enhancer",
"8 ZNF genes / repeats",
"9 Heterochromatin",
"10 Bivalent TSS",
"11 Flanking bivalent",
"12 Bivalent enhancer",
"13 Repressed Polycomb",
"14 Weak repressed Polycomb",
"15 Quiescent / low"
]
},
"height": 700
}
]
}Open this track in JBrowse Web ↗
Open this track in JBrowse Desktop ↗ (JBrowse Desktop 5.0+)
Red is active TSS, yellow enhancer, green transcription, grey Polycomb, and speckled olive bivalent.
Type chr9:34,700,000-38,420,000 into the location box, the chr9 stretch from
FAM205A to ALDH1B1. The figure below adds a facet whose domain lists the
tissue groups in the paper's order, which reproduces
Roadmap Epigenomics 2015 Fig. 3a, all 127
epigenomes. Over PAX5:
- strong transcription with genic enhancers (green and yellow) marks only the B cells and the B-lymphoblastoid GM12878
- spleen and blood mononuclear cells, which hold B cells, and a few ES, iPS and neural progenitor lines show PAX5 transcribed without the enhancers
Listing six epigenome names in rows.domain (the order) and rows.kept (the
subset) narrows the same track to lung fibroblasts, foreskin fibroblasts and ES
cells over HOXA, which reproduces the chromatin domains
Rinn et al. 2007 mapped in
fibroblasts from different parts of the body:
Goes at the top level of config.json, replacing any defaultSession there. See Default session.
{
"defaultSession": {
"name": "HOXA fibroblasts",
"views": [
{
"type": "LinearGenomeView",
"assembly": "hg19",
"loc": "chr7:27,110,000-27,265,000",
"tracks": [
{
"trackId": "roadmap_chromhmm_multirow_hg19",
"rows": {
"field": "cellType",
"domain": [
"NHLF Lung Fibroblast Primary Cells",
"IMR90 fetal lung fibroblasts Cell Line",
"Foreskin Fibroblast Primary Cells skin01",
"Foreskin Fibroblast Primary Cells skin02",
"H1 Cells",
"H9 Cells"
],
"kept": [
"NHLF Lung Fibroblast Primary Cells",
"IMR90 fetal lung fibroblasts Cell Line",
"Foreskin Fibroblast Primary Cells skin01",
"Foreskin Fibroblast Primary Cells skin02",
"H1 Cells",
"H9 Cells"
]
},
"height": 240
}
]
}
]
}
}jbrowse set-default-session --session - << 'EOF'
{
"name": "HOXA fibroblasts",
"views": [
{
"type": "LinearGenomeView",
"assembly": "hg19",
"loc": "chr7:27,110,000-27,265,000",
"tracks": [
{
"trackId": "roadmap_chromhmm_multirow_hg19",
"rows": {
"field": "cellType",
"domain": [
"NHLF Lung Fibroblast Primary Cells",
"IMR90 fetal lung fibroblasts Cell Line",
"Foreskin Fibroblast Primary Cells skin01",
"Foreskin Fibroblast Primary Cells skin02",
"H1 Cells",
"H9 Cells"
],
"kept": [
"NHLF Lung Fibroblast Primary Cells",
"IMR90 fetal lung fibroblasts Cell Line",
"Foreskin Fibroblast Primary Cells skin01",
"Foreskin Fibroblast Primary Cells skin02",
"H1 Cells",
"H9 Cells"
]
},
"height": 240
}
]
}
]
}
EOFAdvanced → Edit plot... in the track menu shows rows with its domain and
kept as text and applies the same subset to an open track live.
Clustering → Cluster rows by similarity... in the track menu replaces the tissue order with one derived from the data at whatever locus is in view.
With 127 rows in one track a row is a few pixels tall and its label barely legible, so we group the rows by the 19 Roadmap tissue groups with three settings:
rowGroupstags each row with agroup, taking one{ match, group }per tissue, wherematchis a regex over the row namesfacet"group"splits the display into stacked sections, one per tissuerowColorwithfield: "group"is a color scale on each row's label bar that pairs each tissue with a color
The file's itemRgb still paints the blocks their state colors, so the tissue
color appears on the label bar alone. Two of the nineteen tissues look like
this:
{
"rowGroups": [
{ "match": "^(Adipose Nuclei)$", "group": "Adipose" },
{
"match": "^(Aorta|Fetal Heart|Left Ventricle|Right Atrium|Right Ventricle)$",
"group": "Heart"
}
],
"facet": "group",
"rowColor": {
"field": "group",
"domain": ["Adipose", "Heart"],
"range": ["#AF5B39", "#D56F80"]
}
}The GROUP and COLOR columns of EID_metadata.tab supply both lists. One
jq call writes them from the STD_NAME column, escaping the regex
metacharacters in the names:
jq -R -s 'split("\n")[1:-1] | map(split("\t")) | group_by(.[1])
| { rowGroups: map({ match: ("^(" + (map(.[4] | gsub("(?<c>[.()+*?\\[\\]^$|\\\\{}])"; "\\" + .c)) | join("|")) + ")$"),
group: .[0][1] }),
rowColor: { field: "group", domain: map(.[0][1]), range: map(.[0][2]) } }' EID_metadata.tab > tissues.jsonMerge the two keys of tissues.json into the display. The build script also
appends the mnemonic to a name that two epigenomes share, which a STD_NAME
match leaves as one row.
The hosted track orders the rows by tissue group through rows.domain and
leaves facet out, so clustering runs over all 127 together and the label bars
show which tissues a cluster spans. The PAX5 figure adds facet with this
domain, which stacks the groups in the paper's order:
{
"facet": {
"field": "group",
"domain": [
"IMR90",
"ESC",
"iPSC",
"ES-deriv",
"Blood & T-cell",
"HSC & B-cell",
"Mesench",
"Myosat",
"Epithelial",
"Neurosph",
"Thymus",
"Brain",
"Adipose",
"Muscle",
"Heart",
"Sm. Muscle",
"Digestive",
"Other",
"ENCODE2012"
]
}
}The 19 groups in EID_metadata.tab include ENCODE2012. Roadmap folded the
ENCODE 2012 reference epigenomes (GM12878, K562, HeLa-S3, HepG2, A549, HUVEC,
NHEK and the rest) into the compendium as one group, which names a data source
and spans several anatomies. The same file's ANATOMY column splits them finer,
and TYPE sorts them by how the sample was collected.
Reproduce it end to end
One script does the whole path,
build_chromhmm_multirow.sh:
curl -fO https://raw.githubusercontent.com/GMOD/jbrowse-components/main/scripts/build_chromhmm_multirow.sh
bash build_chromhmm_multirow.sh # builds ./chromhmm_build/jbrowse2
npx --yes serve chromhmm_build/jbrowse2 # then open the printed URLThe script downloads the nine segmentation BEDs, merges, bgzips and tabixes
them, downloads JBrowse, and writes the config.json above, opening on HOXA.
build_chromhmm_roadmap.sh
builds the 127-epigenome track by the same merge. Roadmap's segmentations are
bare BED4, so the script fills in what the ENCODE files had:
- paints each segment its state's color from
colormap_15_coreMarks.tab, giving the merged file theitemRgbcolumn that draws it - labels each row with the epigenome's name from
EID_metadata.tab, adding its mnemonic where two epigenomes share a name, so the two never merge into one row - orders the rows by tissue group, so a tissue's epigenomes sit together under one label-bar color
One awk call joins the colors for an epigenome, looking each state's number
(the part of the name before the underscore) up in the colormap and appending
the itemRgb and cellType columns:
awk -F'\t' -v c="NHLF Lung Fibroblast Primary Cells" 'BEGIN { OFS = "\t" }
NR == FNR { rgb[$1] = $2; next }
{ split($4, s, "_"); print $1, $2, $3, $4, 0, ".", $2, $3, rgb[s[1]], c }' \
colormap_15_coreMarks.tab E128_15_coreMarks_mnemonics.bedcurl -fO https://raw.githubusercontent.com/GMOD/jbrowse-components/main/scripts/build_chromhmm_roadmap.sh
EIDS=E003,E116,E123,E127 bash build_chromhmm_roadmap.sh
npx --yes serve chromhmm_roadmap_build/jbrowse2EIDS picks a subset, here the four Roadmap re-analyses of the ENCODE lines in
the nine-cell-type track. Leave it out for all 127, which takes about twenty
minutes and ~12 GB of scratch.
See also
- Tutorial: CNV cohort (TCGA)
- Tutorial: QTL mapping (BXD mice)
- Tutorial: Phased trio analysis (1000 Genomes)
- Tutorial: Single-cell ATAC pseudobulk
- Tutorial: A grammar of graphics over a BED (RepeatMasker Alu age)
- Tutorial: AlphaGenome predictions
- User guide: Clustering rows
- Config guide: Tracks
- Config guide: Grouping and lane order
Feedback on this tutorial is welcome: contact us.