synchronized Rectangle[] getRects53(Graphics g) {
		if (g == null || model == null) {
			repaint(200);
			return null;
		}
		if (model != null && model.getDNA() == null)
			return null;
		Rectangle[] rs = new Rectangle[model.get53StrandLengthFromCurrIndex()];
		FontMetrics fm = g.getFontMetrics();
		int sy = scroller.getSize().height / 2 - 1;
		Rectangle r = fm.getStringBounds(model.getDNA53String(), g).getBounds();
		r.width = charw;
		r.height = charh;
		r.translate(-r.x, -r.y + sy - charh);
		char[] chars = model.get53Chars();
		for (int i = 0; i < chars.length; i++) {
			if (i == 0) {
				r.translate(getCodonDistance(), 0);
			}
			else if ((i % 3) == 0) {
				r.translate(2 * getCodonDistance(), 0);
			}
			rs[i] = new Rectangle(r);
			r.translate(r.width, 0);
		}
		return rs;
	}