tikz 的序列比對圖

tikz 的序列比對圖

我正在嘗試創建 DNA 對齊圖。這是我所擁有的:

\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}

在此輸入影像描述

我怎麼才能使頂部的東西看起來像一個單獨的序列,其部分突出顯示,即更像

在此輸入影像描述

答案1

首先在頂部繪製沒有框架的框框,然後在它們周圍繪製一個框:

\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}

編輯:修改以解決白色邊框問題。盒子高度沒有改變;這可能只是我的 pdf 檢視器創建的工件(我從中截取了螢幕截圖)。

在此輸入影像描述

答案2

除了麥可的回答之外:

盒子的高度仍然不均勻;我用\vphantom這樣的方法解決了這個問題:

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

相關內容