I am trying to draw C. elegans germline using TikZ. I have used Philippe Goutet's / script to create "hexagon with filled round circles"

The codes are
\documentclass[11pt]{article}
\usepackage{tikz,xcolor}
\usetikzlibrary{patterns}
\definecolor{dapi}{RGB}{0,170,255}
\def\hexagonsize{0.2cm}
\pgfdeclarepatternformonly % hexagons pattern definition
{hexagons}% name
{\pgfpointorigin}% lower left
{\pgfpoint{3*\hexagonsize}{0.866025*2*\hexagonsize}}% upper right
{\pgfpoint{3*\hexagonsize}{0.866025*2*\hexagonsize}}% tile size
{% shape description
\pgfsetlinewidth{0.4pt}
\pgftransformshift{\pgfpoint{0mm}{0.866025*\hexagonsize}}
\pgfpathmoveto{\pgfpoint{0mm}{0mm}}
\pgfpathlineto{\pgfpoint{0.5*\hexagonsize}{0mm}}
\pgfpathlineto{\pgfpoint{\hexagonsize}{-0.866025*\hexagonsize}}
\pgfpathlineto{\pgfpoint{2*\hexagonsize}{-0.866025*\hexagonsize}}
\pgfpathlineto{\pgfpoint{2.5*\hexagonsize}{0mm}}
\pgfpathlineto{\pgfpoint{3*\hexagonsize+0.2mm}{0mm}}
\pgfpathmoveto{\pgfpoint{0.5*\hexagonsize}{0mm}}
\pgfpathlineto{\pgfpoint{\hexagonsize}{0.866025*\hexagonsize}}
\pgfpathlineto{\pgfpoint{2*\hexagonsize}{0.866025*\hexagonsize}}
\pgfpathlineto{\pgfpoint{2.5*\hexagonsize}{0mm}}
\pgfusepath{stroke}
\pgfsetfillcolor{dapi} % setting up fill color, doesn't work with any color other than shades of gray like "gray!30"
\pgfpathcircle{\pgfpoint{1.5*\hexagonsize}{0mm}}{0.5*\hexagonsize} % adding filled circles in hexagons
\pgfpathcircle{\pgfpoint{0mm}{0.866025*\hexagonsize}}{0.5*\hexagonsize}
\pgfpathcircle{\pgfpoint{0mm}{-0.866025*\hexagonsize}}{0.5*\hexagonsize}
\pgfpathcircle{\pgfpoint{3*\hexagonsize}{0.866025*\hexagonsize}}{0.5*\hexagonsize}
\pgfpathcircle{\pgfpoint{3*\hexagonsize}{-0.866025*\hexagonsize}}{0.5*\hexagonsize}
\pgfusepath{fill}
}
\begin{document}
\begin{tikzpicture}
\path
[fill]
[pattern=hexagons]
(16,0) -- (4,0) to [out = 180, in = 270] (1,0.95) to [out = 90, in = 180] (4,1.9) -- (16,1.9) -- cycle;
\fill[green!35] (4,0) to [out = 180, in = 270] (0.5,0.95) to [out = 90, in = 180] (4,1.9) to
[out = 180, in = 90](1,0.95) to [out = 270, in = 180] (4,0);
\fill [blue!50](0.75,1) circle [x radius=3mm, y radius=1.5mm, rotate=60];
\end{tikzpicture}
\end{document}
My main problem is that \pgfsetfillcolor{dapi} is not working and I can not change it to anything but shades of grays.
The picture depicts part of C. elegans germline with distal end on the left. Each hexagon is a cell and each filled round circle is a nucleus. The numbers at the top of the figure represent row # of the cells (are for reference only, not required). Ideally, I would want to have,
- first 20 row circles to be filled with
greenwith couple of red filled nuclei in row 19 and 20. - Row 21 to the right end should be filled with red nuclei (but see below)
- About a third of nuclei, between row 21 and 30, to be crescent-shaped, red and randomly distributed(shown as dark blue nucleus in row 21, not generated through Tikz, but added later).
- About 5-7 random nuclei, between row 21 and 26, to be circular and filled green.
Needless to say that my knowledge about TikZ /LaTeX is almost zero. But it seems what I have asked for is very difficult with defined patterns, but I wouldn't be surprised if some one did solve it. I would be glad if some one explains to me as how to change fill color and what I was doing wrong!



\nodewith specific parameters. – Paul Gaborit Aug 01 '17 at 16:48pattern color, when using it. See my answer below. But a pattern isn't going to work if you want the kind of variation you describe. For that, you need to start over and think in terms of nodes, pics or similar, as @PaulGaborit suggests. – cfr Aug 01 '17 at 17:12