Add motif search automata
This commit is contained in:
parent
5f909eb955
commit
b830fded27
Binary file not shown.
|
@ -0,0 +1,42 @@
|
||||||
|
\documentclass[tikz]{standalone}
|
||||||
|
|
||||||
|
\usepackage{tikz}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\usetikzlibrary{automata,positioning}
|
||||||
|
|
||||||
|
\iffalse
|
||||||
|
Let $M = $ ACACT be a motif.
|
||||||
|
$\Sigma = \{ACT\}$
|
||||||
|
\fi
|
||||||
|
\begin{tikzpicture}[shorten >=1pt,node distance=2cm,on grid, auto]
|
||||||
|
% TODO
|
||||||
|
\node[state, initial] (q_0) {$q_{0}$};
|
||||||
|
\node[state,right=of q_0] (q_1) {$q_{1}$};
|
||||||
|
\node[state,right=of q_1] (q_2) {$q_{2}$};
|
||||||
|
\node[state,right=of q_2] (q_3) {$q_{3}$};
|
||||||
|
\node[state,right=of q_3] (q_4) {$q_{4}$};
|
||||||
|
\node[state,right=of q_4,accepting] (q_5) {$q_{5}$};
|
||||||
|
|
||||||
|
% M itself
|
||||||
|
\path[->] (q_0) edge node {A} (q_1)
|
||||||
|
(q_1) edge node {C} (q_2)
|
||||||
|
(q_2) edge node {A} (q_3)
|
||||||
|
(q_3) edge node {C} (q_4)
|
||||||
|
(q_4) edge node {T} (q_5);
|
||||||
|
|
||||||
|
|
||||||
|
% Make it complete so that it recognize all motif in the sequence
|
||||||
|
\path[->] (q_0) edge[loop above] node {C, T} (q_1);
|
||||||
|
\path[->] (q_1) edge[loop above] node {A} (q_1);
|
||||||
|
\path[->] (q_1) edge[bend left=30] node {T} (q_0);
|
||||||
|
\path[->] (q_2) edge[bend left=30] node {C, T} (q_0);
|
||||||
|
\path[->] (q_3) edge[bend right=30] node[above] {A} (q_1);
|
||||||
|
\path[->] (q_3) edge[bend left=40] node {T} (q_0);
|
||||||
|
\path[->] (q_4) edge[bend right=50] node[above] {A} (q_3);
|
||||||
|
\path[->] (q_4) edge[bend left=40] node {C} (q_0);
|
||||||
|
\path[->] (q_5) edge[bend right=40] node[above] {A} (q_1);
|
||||||
|
\path[->] (q_5) edge[bend left=50] node {C,T} (q_0);
|
||||||
|
\end{tikzpicture}
|
||||||
|
|
||||||
|
\end{document}
|
Binary file not shown.
|
@ -0,0 +1,61 @@
|
||||||
|
\documentclass[tikz]{standalone}
|
||||||
|
|
||||||
|
\usepackage{tikz}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\usetikzlibrary{automata,positioning}
|
||||||
|
|
||||||
|
\iffalse
|
||||||
|
Let $M = $ CCATCAT be a motif.
|
||||||
|
$\Sigma = \{A,C,T\}$
|
||||||
|
\fi
|
||||||
|
\begin{tikzpicture}[shorten >=1pt,node distance=2cm,on grid, auto]
|
||||||
|
\node[state, initial] (q_0) {$q_{0}$};
|
||||||
|
\node[state,right=of q_0] (q_1) {$q_{1}$};
|
||||||
|
\node[state,right=of q_1] (q_2) {$q_{2}$};
|
||||||
|
\node[state,right=of q_2] (q_3) {$q_{3}$};
|
||||||
|
\node[state,right=of q_3] (q_4) {$q_{4}$};
|
||||||
|
\node[state,right=of q_4] (q_5) {$q_{5}$};
|
||||||
|
\node[state,right=of q_5] (q_6) {$q_{6}$};
|
||||||
|
\node[state,right=of q_6,accepting] (q_7) {$q_{7}$};
|
||||||
|
|
||||||
|
% M itself
|
||||||
|
\path[->] (q_0) edge node {C} (q_1)
|
||||||
|
(q_1) edge node {C} (q_2)
|
||||||
|
(q_2) edge node {A} (q_3)
|
||||||
|
(q_3) edge node {T} (q_4)
|
||||||
|
(q_4) edge node {C} (q_5)
|
||||||
|
(q_5) edge node {A} (q_6)
|
||||||
|
(q_6) edge node {T} (q_7)
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
|
% % Make it complete so that it recognize all motif in the sequence
|
||||||
|
% \path[->] (q_0) edge[loop above] node {C, T} (q_1);
|
||||||
|
% \path[->] (q_1) edge[loop above] node {A} (q_1);
|
||||||
|
% \path[->] (q_1) edge[bend left=30] node {T} (q_0);
|
||||||
|
% \path[->] (q_2) edge[bend left=30] node {C, T} (q_0);
|
||||||
|
% \path[->] (q_3) edge[bend right=40] node[above] {A} (q_1);
|
||||||
|
% \path[->] (q_3) edge[bend left=40] node {T} (q_0);
|
||||||
|
% \path[->] (q_4) edge[bend right=50] node[above] {A} (q_3);
|
||||||
|
% \path[->] (q_4) edge[bend left=40] node {C} (q_0);
|
||||||
|
% \path[->] (q_5) edge[bend right=40] node[above] {A} (q_1);
|
||||||
|
% \path[->] (q_5) edge[bend left=50] node {C,T} (q_0);
|
||||||
|
|
||||||
|
|
||||||
|
\path[->] (q_0) edge [loop above] node {A,T} (q_0);
|
||||||
|
\path[->] (q_1) edge [bend right=40] node {A, T} (q_0);
|
||||||
|
\path[->] (q_2) edge [bend right=40] node {C} (q_1);
|
||||||
|
\path[->] (q_2) edge [bend right=40] node {T} (q_0);
|
||||||
|
\path[->] (q_3) edge [bend right=40] node {A} (q_0);
|
||||||
|
\path[->] (q_3) edge [bend right=40] node {C} (q_1);
|
||||||
|
\path[->] (q_4) edge [bend right=40] node {A, T} (q_0);
|
||||||
|
\path[->] (q_5) edge [bend left=40] node[above] {C} (q_1);
|
||||||
|
\path[->] (q_5) edge [bend left=40] node[above] {T} (q_0);
|
||||||
|
\path[->] (q_6) edge [bend left=40] node[above] {A} (q_0);
|
||||||
|
\path[->] (q_6) edge [bend right=40] node {C} (q_1);
|
||||||
|
\path[->] (q_7) edge [bend right=40] node {A, C, T} (q_0);
|
||||||
|
|
||||||
|
\end{tikzpicture}
|
||||||
|
|
||||||
|
\end{document}
|
Loading…
Reference in New Issue