Sequenzausrichtungsdiagramm mit Tikz

Sequenzausrichtungsdiagramm mit Tikz

Ich versuche, ein DNA-Alignment-Diagramm zu erstellen. Hier ist, was ich habe:

\definecolor{color1}{RGB}{255,183,236}
\definecolor{color2}{RGB}{255,249,158}

\begin{center}
\begin{tikzpicture}
  \node (read) [rectangle,draw,fill=color1] {TTTCAGATTT};
  \node (refread) at (1,3) [rectangle,draw,fill=color1] {TTTCAGATTT};
  \node at (refread.west) [rectangle,draw,fill=color2,anchor=east] {ACCAGG};
  \node at (refread.east) [rectangle,draw,fill=color2,anchor=west] {AAA};
  \draw[->]{(read) -- (refread)};
\end{tikzpicture}
\end{center}

Bildbeschreibung hier eingeben

Wie kann ich das Ding oben aussehen lassen wie eine einzelne Sequenz, deren Teile hervorgehoben sind, also eher wie

Bildbeschreibung hier eingeben

Antwort1

Zeichnen Sie zuerst die Kästchen oben ohne Rahmen und dann ein Kästchen um alle:

\begin{tikzpicture}
  \node (read) [rectangle,draw,fill=color1] {TTTCAGATTT};

  \node (refread) at (1,3) [rectangle,fill=color1,inner xsep=0pt,line width=0] {TTTCAGATTT};
  \node (first) at (refread.west) [rectangle,fill=color2,anchor=east,inner xsep=0pt,,line width=0] {\,ACCAGG};
  \node (last) at (refread.east) [rectangle,fill=color2,anchor=west,inner xsep=0pt,line width=0] {AAA\,};
  \draw (first.south west) rectangle (last.north east);

  \draw[->]{(read) -- (refread)};
\end{tikzpicture}

Bearbeiten: geändert, um das Problem mit dem weißen Rand zu beheben. Die Kastenhöhen haben sich nicht geändert; das war wahrscheinlich nur ein Artefakt, das von meinem PDF-Viewer erstellt wurde (von dem ich den Screenshot gemacht habe).

Bildbeschreibung hier eingeben

Antwort2

Zusätzlich zu Michaels Antwort:

die Kastenhöhen waren immer noch ungleichmäßig; das habe ich \vphantomfolgendermaßen behoben:

\node at (refread.east) [...] {\vphantom{ACTG}AAA\,};

verwandte Informationen