Dot plot (bioinformatics)

From Wikipedia, the free encyclopedia
A DNA dot plot of a human zinc finger transcription factor (GenBank ID NM_002383), showing regional self-similarity. The main diagonal represents the sequence's alignment with itself; lines off the main diagonal represent similar or repetitive patterns within the sequence.

In bioinformatics a dot plot is a graphical method for comparing two biological sequences and identifying regions of close similarity after sequence alignment. It is a type of recurrence plot.


One way to visualize the similarity between two protein or nucleic acid sequences is to use a similarity matrix, known as a dot plot. These were introduced by Gibbs and McIntyre in 1970[1] and are two-dimensional matrices that have the sequences of the proteins being compared along the vertical and horizontal axes. For a simple visual representation of the similarity between two sequences, individual cells in the matrix can be shaded black if residues are identical, so that matching sequence segments appear as runs of diagonal lines across the matrix.


Some idea of the similarity of the two sequences can be gleaned from the number and length of matching segments shown in the matrix. Identical proteins will obviously have a diagonal line in the center of the matrix. Insertions and deletions between sequences give rise to disruptions in this diagonal. Regions of local similarity or repetitive sequences give rise to further diagonal matches in addition to the central diagonal. One way of reducing this noise is to only shade runs or 'tuples' of residues, e.g. a tuple of 3 corresponds to three residues in a row. This is effective because the probability of matching three residues in a row by chance is much lower than single-residue matches.

Dot plots compare two sequences by organizing one sequence on the x-axis, and another on the y-axis, of a plot. When the residues of both sequences match at the same location on the plot, a dot is drawn at the corresponding position. Note, that the sequences can be written backwards or forwards, however the sequences on both axes must be written in the same direction. Also note, that the direction of the sequences on the axes will determine the direction of the line on the dot plot. Once the dots have been plotted, they will combine to form lines. The closeness of the sequences in similarity will determine how close the diagonal line is to what a graph showing a curve demonstrating a direct relationship is. This relationship is affected by certain sequence features such as frame shifts, direct repeats, and inverted repeats. Frame shifts include insertions, deletions, and mutations. The presence of one of these features, or the presence of multiple features, will cause for multiple lines to be plotted in a various possibility of configurations, depending on the features present in the sequences. A feature that will cause a very different result on the dot plot is the presence of low-complexity region/regions. Low-complexity regions are regions in the sequence with only a few amino acids, which in turn, causes redundancy within that small or limited region. These regions are typically found around the diagonal, and may or may not have a square in the middle of the dot plot.

Software to create dot plots[edit]

  • ANACON – Contact analysis of dot plots.
  • D-Genies[2] – Specializes in interactive whole genome dotplots of large genomes
  • Dotlet – Provides a program allowing you to construct a dot plot with your own sequences.
  • dotmatcher[3] – Web tool to generate dot plots (and part of the EMBOSS suite).
  • Dotplot Archived 2016-10-03 at the Wayback Machine – easy (educational) HTML5 tool to generate dot plots from RNA sequences.
  • dotplot – R package to rapidly generate dot plots as either traditional or ggplot graphics.
  • Dotter[4] – Stand alone program to generate dot plots.
  • JDotter[5] – Java version of Dotter.
  • Flexidot[6] – Customizable and ambiguity-aware dotplot suite for aesthetics, batch analyses and printing (implemented in Python).
  • Gepard[7] – Dot plot tool suitable for even genome scale.
  • Genomdiff – An open source Java dot plot program for viruses.
  • LAST for whole-genome "split-alignment".[8]
  • lastz[9] and laj – Programs to prepare and visualize genomic alignments.
  • yass[10] - Web-based tool to generate (both forward and reverse complement) dot plots from genomic alignments.
  • re-DOT-able – A Java desktop application which allows the comparison of two sets of DNA/RNA sequences through the creation of an interactive dot plot.
  • seqinr – R package to generate dot plots.
  • SynMap – An easy to use, web-based tool to generate dotplots for many species with access to an extensive genome database. Offered by the comparative genomics platform CoGe.
  • UGENE Dot Plot viewer – Opensource dot plot visualizer.
  • General introduction to dot plots with example algorithms and a software tool to create small and medium size dot plots.

In addition to the tools listed above, the NCBI Blast Server at includes Dot Plots in its output.

See also[edit]


  1. ^ Gibbs, Adrian J.; McIntyre, George A. (1970). "The Diagram, a Method for Comparing Sequences. Its Use with Amino Acid and Nucleotide Sequences". Eur. J. Biochem. 16 (1): 1–11. doi:10.1111/j.1432-1033.1970.tb01046.x. PMID 5456129.
  2. ^ Klopp, Christophe; Cabanettes, Floréal (2018-02-23). "D-GENIES : Dot plot large GENomes in an interactive, efficient and simple way". PeerJ. 6: e4958. doi:10.7287/peerj.preprints.26567v1. PMC 5991294. PMID 29888139.
  3. ^ Rice, P.; Longden, I.; Bleasby, A. (June 2000). "EMBOSS: the European Molecular Biology Open Software Suite". Trends in Genetics. 16 (6): 276–277. doi:10.1016/s0168-9525(00)02024-2. ISSN 0168-9525. PMID 10827456.
  4. ^ Sonnhammer, E. L.; Durbin, R. (1995-12-29). "A dot-matrix program with dynamic threshold control suited for genomic DNA and protein sequence analysis". Gene. 167 (1–2): GC1–10. doi:10.1016/0378-1119(95)00714-8. ISSN 0378-1119. PMID 8566757.
  5. ^ Brodie, Ryan; Roper, Rachel L.; Upton, Chris (2004-01-22). "JDotter: a Java interface to multiple dotplots generated by dotter". Bioinformatics. 20 (2): 279–281. doi:10.1093/bioinformatics/btg406. ISSN 1367-4803. PMID 14734323.
  6. ^ Seibt, Kathrin M.; Schmidt, Thomas; Heitkam, Tony (2018-10-15). "FlexiDot: Highly customizable, ambiguity-aware dotplots for visual sequence analyses". Bioinformatics. 34 (20): 3575–3577. doi:10.1093/bioinformatics/bty395. PMID 29762645.
  7. ^ Krumsiek, Jan; Arnold, Roland; Rattei, Thomas (2007-04-15). "Gepard: a rapid and sensitive tool for creating dotplots on genome scale". Bioinformatics. 23 (8): 1026–1028. doi:10.1093/bioinformatics/btm039. ISSN 1367-4803. PMID 17309896.
  8. ^ Frith MC. and Kawaguchi R. (2015). "Split-alignment of genomes finds orthologies more accurately". Genome Biol. 16 (1): 106. doi:10.1186/s13059-015-0670-9. PMC 4464727. PMID 25994148.
  9. ^ Harris, R. S. (2007). Improved pairwise alignment of genomic DNA. Ph.D. thesis. Pennsylvania: The Pennsylvania State University.
  10. ^ Noe L., Kucherov. G. (2005). "YASS: enhancing the sensitivity of DNA similarity search". Nucleic Acids Research. 33 (2): W540–W543. doi:10.1093/nar/gki478. PMC 1160238. PMID 15980530.