You could use Python PIL
(Pillow) to make one:
#!/usr/bin/env python
'''
pearl_plot.py
'''
import sys
from PIL import Image
from PIL import ImageDraw
# classic coloring scheme for DNA consensus sequence or logo
# ref. http://weblogo.threeplusone.com/manual.html
# https://github.com/WebLogo/weblogo/blob/master/weblogo/colorscheme.py
classic = {
'G' : "orange",
'T' : "red",
'U' : "red",
'C' : "blue",
'A' : "green",
}
diameter = 20
for line in sys.stdin:
line = line.rstrip().upper()
img = Image.new("RGB", (diameter * len(line), diameter), color = "white")
draw = ImageDraw.Draw(img)
(x0, y0, x1, y1) = (0, 0, diameter, diameter)
outline = "white"
width = 1
for char in line:
bb = [x0, y0, x1, y1]
fill = classic[char]
draw.ellipse(bb, fill, outline, width)
x0 += diameter
x1 += diameter
img.save("output.png")
sys.exit(0)
Example:
$ echo "gaacgtacaacctatcaaataagggtcctctt" | ./pearl_plot.py
$ open output.png
To install Pillow:
• https://pillow.readthedocs.io/en/stable/installation.html
Dot plots have a different meaning to biologists. Consider a different name to avoid confusion.
Dot plot
has a special meaning in bioinformatics. Are you simply looking for a linear representation of DNA as dots?