Skip to content
chromosomix

Base composition

Identical to its reference in the validationGC content and skews, as bioframe and Biopython compute them (Open2C 2024). doi:10.1093/bioinformatics/btae088
In the app
Analysis panel, under 1D tasks: Base composition
Command
chromosomix composition
Reads
Tracks and interval files, with or without a contact map
Also known as
GC, GC skew, AT skew

Base composition turns a reference into tracks on fixed bins, to set beside the map or give to any task that reads a track: GC content, GC skew, AT skew and the cumulative GC skew.

Load the reference as a FASTA or a .2bit (Reference sequences), open Base composition on the 1D tasks card of the Analysis panel, and choose it under reference. No map is needed: the bins are the open map’s, or 10 kb with no map open.

Each track ticked is a row of the Tracks card, marked *, named after the reference and any window: GC content · ref, GC skew · ref · 50,000 bp window.

The E. coli K-12 map of its whole chromosome at 10 kb with cumulative GC skew, GC skew and GC content as three new lanes along its left edge, the cumulative skew at its highest near the terminus at 1.6 Mb and at its lowest near the origin at 3.9 Mb.

The same run from a shell:

Terminal window
chromosomix composition [<map>] --sequence <sequence.fa> [--<parameter> <value> …] --out <dir>

bin size follows the open map’s resolution until you type another. window smooths a noisy skew without changing its grid; it is rounded to an odd number of bins, and wraps round the junction of a circular sequence.

ParameterTakesDefaultWhat it does
General
reference--sequence <file>a file: a reference sequence—The FASTA to read, under the names of the sequences open.
bin size--resolution <n>a whole number, at least 1, in bpWorked out from the map's bin size when left out; 10000 where there is no map.The open map’s resolution unless changed, and 10 kb with no map open.
window--window <n>a whole number, at least 0, in bp00 reads each bin alone; wider reads that many bases centred on it.
Tracks
GC content--gc / --no-gcon or offon—
GC skew--gcSkew / --no-gcSkewon or offon(G − C) / (G + C), which changes sign at the origin and the terminus.
AT skew--atSkew / --no-atSkewon or offon(A − T) / (A + T).
cumulative GC skew--cumulative / --no-cumulativeon or offonIts minimum is the origin and its maximum the terminus.
  • profile: a value per bin: TSV, bedGraph and bigWig

On the command line every file goes into --out as <file stem>.composition.<output>.<ext>, and each TSV opens with # lines naming the build, the file and every parameter that produced it.

  • GC content is the share of G and C among the A, C, G and T of the bin, from 0 to 1. Any other letter, such as N, is not counted, and a bin with none of the four is a gap.
  • GC skew is (G − C) / (G + C), and AT skew (A − T) / (A + T), each from −1 to 1. On a bacterial chromosome the GC skew changes sign at the origin and again at the terminus.
  • Cumulative GC skew is the running sum of each bin’s own skew along the sequence. Its minimum is the origin and its maximum the terminus, wherever the assembly starts. It sums the bins’ own skews even when a window is set, and a gap adds nothing to it.

Origin and terminus makes that call for you. To test whether A is richer in GC than B, give the GC content track to Signal by group with a compartment call as the groups.

A sequence of the map that the reference lacks is a gap on every track, and one whose length differs is read from its start; a note names both.

In the validation, GC content agrees with bioframe’s frac_gc, and the GC skew with Biopython’s GC_skew, to float32, except in a bin with neither G nor C, where Biopython writes 0 and chromosomix no value.

Documentation of chromosomix v0.20.0 · built from 40ec1ec · source