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.
Recent Changes [updated Oct 13, 2016]
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.
- 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.
- 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.
- 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.
- (Optionally) A FASTA file containing the assembled genome sequence.
- If provided, a copy of the sequence will be reordered to match the chromonomed
- (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
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
given the amount of information in supplied data.
- 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.
- If a scaffold spans more than one recombination point in the map, Chromonomer will assign a
forward or reverse orientation to the scaffold.
- 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.
- 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.
- 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, so far, one of these has been published.
- Amores, A., Catchen, J., Nanda, I., Warren, W., Walter, R., Schartl, M., & Postlethwait, J. H.
(2014). A RAD-Tag Genetic Map for the Platyfish (Xiphophorus maculatus) Reveals Mechanisms
of Karyotype Evolution Among Teleost Fish. Genetics, 197(2), 625–641.