syntenyPlotteR

R package to draw synteny plots in three different styles

This package has been developed by Joana Damas (joanadamas@gmail.com), Sarah Quigley (slq4@kent.ac.uk), Denis Larkin (dlarkin@rvc.ac.uk) and Marta Farré (m.farre-belmonte@kent.ac.uk)

It has been tested in Windows 10 R v4.0.3, Windows 11 with R v4.1.1 and v4.2.2 and MAC OS Ventura 13.1

To install:

Using CRAN

install.packages("syntenyPlotteR")
library(syntenyPlotteR)

Using github

install.packages("devtools")
library(devtools)
devtools::install_github("Farre-lab/syntenyPlotteR")
library(syntenyPlotteR)

Input files

Input Alignment file

We provide a function to modify the output of DESCHRAMBLER or any other synteny tool that creates this type of file:

Alignment output file format for reformat.syntenyData function

Otherwise, you can provide your input Alignment file separated by tabs

DO NOT include a header line

Example input alignment file format for the three functions

Chromosome Length file for draw.ideogram and draw.linear functions

Please provide a file containing all aligned species in order from newest species – top of file – to ancestor – end of file, following this format, separated by tabs

DO NOT include a header line

Example file format


Reformatting alignment data

The syntenyPlotteR package includes a function to reformat alignment synteny data such as from DESCHRAMBLER or inferCARs - this does not curate files only reformats it

The function outputs a text file containing the reformatted alignment data As default the function saves the file to a temporary directory, this can be overridden using the directory parameter i.e. directory = "path/to/directory".

Usage

library(syntenyPlotteR)

reformat.syntenyData("file_data", "output.filename", reference.species = "reference.sps", target.species = "target.sps")

There are optional parameters for some customization of this function:

Example code using data files in inst/extdata/

reformat.syntenyData("example_map_1.map", "reformatted.data")

Evolution Highway style

Usage

library(syntenyPlotteR)

draw.eh("output", chrRange, "data_file", fileformat = "png", colour = "lightblue", inverted.colour = "lightpink", w = 5.5, h = 10, ps = 10)

There are optional parameters for some customization of this function:

Example code using data files in inst/extdata/

draw.eh("outputName", c(17,"X"), "example_eh_alignments_2.txt", fileformat = "pdf")

Example output


Chromosome painting style

Usage

library(syntenyPlotteR)  

draw.ideogram("file_data", "sizefile", "output", fileformat = "png", colours = colours.default, w=8.5, h=10, ps=5)

There are optional parameters for some customization of this function:

Target is the species which chromosomes will be painted. Reference will be used for painting and diagonals. Chromosomes will be in the same order as in the target sizes file.

Example code using data files in inst/extdata/

draw.ideogram("example_alignment_1.txt", "example_lengths.txt", "example.ideogram")

Example output


Linear style

Usage

library(syntenyPlotteR)

draw.linear(output, sizefile, ..., fileformat = "png", colours = colours.default, w=13, h=5, opacity = .5)

Please ensure any species identifiers used between length and alignment files are matching (same identifiers and letter case)

There are optional parameters for some customization of this function:

Example code using data files in inst/extdata/

draw.linear("example_linear", "example_lengths.txt", "example_alignment_1.txt", "example_alignment_2.txt", "example_alignment_3.txt")

Example output


Citation:

While our publication is under review, please cite:
Farré M, Kim J, et al. Evolution of gene regulation in ruminants differs between evolutionary breakpoint regions and homologous synteny blocks. Genome Research 2019 Apr;29(4):576-589