- Published on
TeXshade でシーケンスアラインメントを組版してみる
- Authors
- Name
- Eito YONEYAMA
- @ynym_8
BioTeX
生物学分野において LaTeX が利用されているイメージはあまりないが, 実際はそうでもないようで, 生物学やバイオインフォマティクス分野でよく使用されるデータの可視化, 組版, 解析を支援する目的で開発されているプロジェクトとして BioTeX が存在する.
TeXshade
さて, 前述した BioTeX において開発された LaTeX でシーケンスアラインメントを組版するためのパッケージとして, TeXshade パッケージが存在する. 使用例を以下に示す1.
\documentclass{ltjsarticle}
\usepackage{texshade}
\thispagestyle{empty}
\begin{document}
\begin{texshade}{sample.fasta}
\end{texshade}
\end{document}
上記により, 以下のような出力を得る.

また, オプション指定により一致率を考慮したシェーディングが可能となる. 具体的には, 以下のように記述する.
\documentclass{ltjsarticle}
\usepackage{texshade}
\thispagestyle{empty}
\begin{document}
\begin{texshade}{sample.fasta}
\threshold[80]{50}
\showconsensus[ColdHot]{bottom}
\defconsensus{.}{lower}{upper}
\showlegend
\end{texshade}
\end{document}
上記により, 以下のような出力を得る.

アクアポリン (Aquaporin, AQP) の異なるアイソフォームのフィンガープリントは, 以下の記述で可能.
\documentclass{ltjsarticle}
\usepackage{texshade}
\thispagestyle{empty}
\begin{document}
\begin{texshade}{sample.fasta}
\shadingmode[charge]{functional}
\shadeallresidues
\fingerprint{360}
\gapchar{rule}
\showlegend
\end{texshade}
\end{document}
上記により, 以下のような出力を得る.

ここまで, いくつかの機能を試してみた. 詳しい使用法については, 公式ドキュメントを参照されたい.
なお, 入力ファイルにおける文字数が多くなると以下のエラーが発生し, 十分な量のファイルを扱うことが出来なかった.
TeX capacity exceeded, sorry [input stack size=10000].
<to be read again>
\res11
このエラーは, 公式ドキュメントにおいても言及されており, 以下のように対応した.
kpsewhich texmf.cnf
で texmf.cnf
の場所を探し, texmf.cnf
に
stack_size = 50000
を記述. その後, fmtutil-sys --all
を実行し, ファイルを更新. しかし, 今度は
TeX capacity exceeded, sorry [input stack size=50000].
<to be read again>
\res11
が表示され上手くいかず...
stack_size
を50000より大きくしたり, main_memory
を変更したりしたがエラーは解消されなかった. 謎🙃
Footnotes
DVI ファイルを経由する LaTeX エンジンを使用している場合は, TeXshade パッケージを読み込む際に, ドライバオプションで DVI ドライバを指定する必要がある. ↩