Chromonomer is a program designed to integrate a genome assembly with a genetic map. Chromonomer tries very hard to identify and remove markers that are out of order in the genetic map, when considered against their local assembly order; and to identify scaffolds that have been incorrectly assembled according to the genetic map, and split those scaffolds.

Download Chromonomer
version 1.07

Recent Changes [updated Aug 13, 2017]

Chromonomer Manual

What do I need to run Chromonomer?

Given a discription of an assembly, and a description of a genetic map, Chromonomer will try to reconcile them. Chromonomer accepts standard files to perform this analysis.

  1. An AGP file describing a genome assembly.
    • An AGP file lays out the pattern of contigs and gaps that make up each scaffold in an assembly. This file can be downloaded from an online database, (e.g. Ensembl), or is produced by your assembly software.
  2. A tab-separated file describing all the marker positions in your genetic map.
    • This file is output by genetic linkage mapping software, such as JoinMap, OneMap, or r/QTL. Chromonomer is designed around RAD-seq markers, but any marker type that can be aligned should work.
  3. A SAM or BAM file containing the alignments of markers to the assembled genome.
    • The consensus sequence for each marker is aligned to the genome using any aligner. The marker IDs for the consensus sequnce must match the marker IDs from the genetic map.
  4. (Optionally) A FASTA file containing the assembled genome sequence.
    • If provided, a copy of the sequence will be reordered to match the chromonomed assembly.
  5. (Optionally) A GFF or GTF file describing the annotation of genes in the assembled genome.
    • If provided, the gene positions will be translated to match the chromonomed assembly.

A visualization of Chromonomer integrating a genetic map and genome assembly (left side, before, right side, after).

What does Chromonomer do?

Depending on the number of progeny in the genetic map (which limits the number of recombination events), and the level of genotyping error, a genetic map will contain a certain amount of uncertainty and error in how the markers are ordered. Similarly, depending on how a genome assembly was scaffolded, there can be incorrect joins in the scaffolds. Chromonomer provides the best chromonome-level assembly (a.k.a. chromonome) given the amount of information in supplied data.

  1. Chromonomer will find a set of non-conflicting markers that maximizes the number of scaffolds in the map while minimizing the nunmber of conflicted marker orders.
  2. If a scaffold spans more than one recombination point in the map, Chromonomer will assign a forward or reverse orientation to the scaffold.
  3. If A scaffold occurs in more than one place along a linkage group, the scaffold will be split at the largest gap between the two markers that mark the boundaries of the two positions. This allows for incorrect joins to be removed and also allows for "gap-filling" by smaller scaffolds.
  4. Chromonomer will produce extensive documentation of this process allowing corrections to be made in the genetic map and a method to measure different assembly iterations. If the web-interface is installed, chromonomer will produce visualizations of each integrated linkage group.
  5. Chromonomer will produce new AGP and FASTA files describing the newly created chromonome.

Two examples of modifications Chromonomer will make. A. Markers (displayed as lines connecting the linkage group to the ordered scaffolds) are in order with respect to the map, but out of order with respect to the local assembly area. Chromonomer will prune the minimal number of markers to get a consistent ordering. B. Scaffold_3 can be seen in three places on the linkage group, with distinct sets of markers (left side). Chromonomer places scaffold_3 in a single location in the map, then splits it (into scaffolds SSC00025 and SSC00026) to accommodate scaffold_779 which is gap-filled in between the two.


Chromonomer is implemented in C++. It will compile on GNU-based Linux systems or BSD-based (Apple) OS X systems. Chromonomer is released under the GNU GPL license.

Chromonomer was developed by Julian Catchen <> with contributions from Angel Amores <>.


Chromonomer has been used to chromonome several genomes, including these two: