TAD annotation
- In the app
- Analysis panel, under 2D tasks: TAD annotation
- Command
chromosomix arrowhead- Reads
- A contact map
- Also known as
- TAD, Arrowhead, Juicer, contact domains, domains, corner score
TAD annotation calls contact domains as Juicer’s Arrowhead does, from the corners of the squares they make on the map: a domain can sit inside another, two can share an edge, and a stretch with no structure has none. The domains of diamond insulation and the directionality index tile the sequence instead. Use it on a deep map, when nesting is the question, or for domains as juicer_tools arrowhead reports them.
Running it
Section titled “Running it”Open a contact map, choose TAD annotation in the 2D tasks card of the Analysis panel (4), tick the sequences and press run.
The domains open on the map as Arrowhead domains, a row of the Tracks card in the Annotations panel, marked *, drawn as the corner of each domain’s square along the diagonal, which shows the nesting; its display dropdown makes it a 1D track of segments. In the drawer, Arrowhead domains, as Juicer writes them is a table of Juicer’s columns, and a note says how many domains were called and how many sit inside another.

The same run from a shell:
chromosomix arrowhead <map> [--<parameter> <value> …] --out <dir>Parameters
Section titled “Parameters”Every setting is one of Juicer’s, at its default, so a run left alone is Juicer’s run. window is Juicer’s -m: a domain wider than it is not found, and 2,000 bins is 20 Mb at 10 kb.
Each candidate corner is scored from the upper and lower triangles of its square. The strict pass keeps a corner whose triangles’ variances sum to at most variance at most and whose triangles each reach sign agreement at least. The lenient pass asks no variance, and a sign agreement from sign agreement from, lowered by in steps of as far as down to, until the sequence has a domain; a domain only it finds is added where it is wider than smallest lenient domain and crosses no edge of a strict one.
| Parameter | Takes | Default | What it does |
|---|---|---|---|
| General | |||
sequences--sequences <name,…> | sequence names, comma-separated | Every sequence of the file when left out. | — |
window--matrixSize <n> | a whole number, 30 to 4000, in bins | 2000 | Juicer’s -m: each sequence is read as squares this many bins wide, half of one overlapping the next, and a domain wider than a square is not found. |
smallest lenient domain--minBlockSize <n> | a whole number, at least 0, in bins | 60 | A domain found only by the lenient pass is kept when it is wider than this. |
use balancing weights--no-balance | a switch | On wherever the file carries balancing weights; --no-balance reads the raw counts. | — |
| Strict pass | |||
variance at most--varThreshold <n> | a number, at least 0 | 0.2 | The two triangles’ variances summed; a corner above it is not kept by the strict pass. |
sign agreement at least--highSignThreshold <n> | a number, -1 to 1 | 0.5 | How consistently each triangle points the way a domain’s does, from −1 to 1. |
| Lenient pass | |||
sign agreement from--maxLowSignThreshold <n> | a number, -1 to 1 | 0.4 | The lenient pass asks this much of both triangles and no variance, and asks less, a step at a time, until a sequence has a domain. |
down to--minLowSignThreshold <n> | a number, -1 to 1 | 0 | — |
in steps of--decrementLowSignThreshold <n> | a number, 0.01 to 1 | 0.1 | — |
What it writes
Section titled “What it writes”- intervals: a set of intervals: TSV, and BED (or BEDPE for pairs, or bed3d and PDB for a 3D model)
- table: a table: TSV
On the command line every file goes into --out as <file stem>.arrowhead.<output>.<ext>, and each TSV opens with # lines naming the build, the file and every parameter that produced it.
Reading the result
Section titled “Reading the result”The table has one row per domain, in genomic order:
- Start and End: the starts of its two corner bins, as Juicer writes them, the end clamped to the sequence; and Width (bins).
- Corner score: the triangles’ difference in mean and in sign, less their variance, which ranks a domain’s evidence; it is also the domain’s score in the BED.
- uVarScore and lVarScore: the variances of the upper and the lower triangle.
- upSign and loSign: how consistently each triangle points the way a domain’s does, from −1 to 1.
What to watch for
Section titled “What to watch for”- Depth. Arrowhead needs a deep map. When it calls nothing, the drawer gives Juicer’s warning that a map with fewer than about 300 million contacts may give few domains.
- Resolution. Juicer picks 5 or 10 kb for itself; here it is the map you opened. A run outside 5 to 25 kb says what Arrowhead was tuned at and what its window came to. On a budding-yeast Micro-C map at 1 kb it finds the small domains such a map shows.
- Balancing. A map is read balanced where the file has weights, a
.hicby its own normalisation vectors.--no-balanceis Juicer’s-k NONE, and the drawer says when a run read the raw counts.
Compared with Juicer
Section titled “Compared with Juicer”A port of juicer_tools arrowhead as Juicer Tools 1.22.01 runs it, quirks and all, so on the same counts the scores are Juicer’s to the last bit.
Documentation of chromosomix v0.20.0 · built from 40ec1ec · source
