The seg suite provides tools for manipulating segments, alignments, and sequence annotations.

Download & documentation

The main thing it does is compose alignments. For example, if you have alignments of a to b, and b to c, it can join them to give alignments of a to b to c:

2-sequence alignment x 2-sequence alignment -> 3-sequence
seg-join ab.seg ac.seg > abc.seg

Annotations (e.g. of genes) can be regarded as alignments (of genes to chromosomes). So seg-suite can manipulate them too. For example, if you have annotations for genome G, and alignments between genomes G and H, seg-suite can transfer the annotations to genome H.

Segments are single-sequence alignments. So, segment intersection is a special case of alignment composition:

x segment -> intersection
seg-join x.seg y.seg > intersections.seg

Other manipulations