Skip to content
chromosomix

TAD annotation

Identical to its reference in the validationContact domains by Arrowhead (Rao et al. 2014), as juicer_tools arrowhead calls them. doi:10.1016/j.cell.2014.11.021
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.

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.

A yeast map of chromosome XVI from 200 to 400 kb with its Arrowhead domains drawn as corners along the diagonal, two large ones each holding smaller domains nested inside them.

The same run from a shell:

Terminal window
chromosomix arrowhead <map> [--<parameter> <value> …] --out <dir>

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.

ParameterTakesDefaultWhat it does
General
sequences--sequences <name,…>sequence names, comma-separatedEvery sequence of the file when left out.—
window--matrixSize <n>a whole number, 30 to 4000, in bins2000Juicer’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 bins60A domain found only by the lenient pass is kept when it is wider than this.
use balancing weights--no-balancea switchOn wherever the file carries balancing weights; --no-balance reads the raw counts.—
Strict pass
variance at most--varThreshold <n>a number, at least 00.2The 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 10.5How 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 10.4The 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 10—
in steps of--decrementLowSignThreshold <n>a number, 0.01 to 10.1—
  • 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.

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.
  • 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 .hic by its own normalisation vectors. --no-balance is Juicer’s -k NONE, and the drawer says when a run read the raw counts.

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