環状DNA分子(すなわち、ほとんどの細菌、ウイルス、プラスチドゲノム)に由来する配列は、アラインメントを含むほとんどの下流解析において、線状化され、共通の開始位置に回転されることが期待される。これは一般的で簡単な作業であるにもかかわらず、利用可能なソフトウェアは入力配列数が限られていたり、カスタムアンカー文字列を指定するオプションがなかったり、商用ライセンスが必要であったりする。ここでは、外部依存性のないCで書かれたシンプルでオープンソースのコマンドラインプログラムであるrotateを紹介する。このプログラムは、入力配列のセットをカスタムアンカー文字列に回転させたり(指定した数のミスマッチを許容する)、入力配列を希望する位置にオフセットしたりすることができる。rotateは非常に高速で、入力配列数に応じて直線的にスケールし、1000以上のミトコンドリア配列を回転させるのに数秒しかかからない。
インストール
git clone https://github.com/richarddurbin/rotate.git
cd rotate
make
#パスの通ったディレクトリにコピーする
> ./rotate
rotate [options] <input fasta filename>
-x <pos> position to become new start [0]
-rc reverse complement after rotating [false]
-s <string> rotate to start of search string
-m <n_mismatch> maximum number of mismatches allowed in search [0]
-o <outfilename> output file [standard output]
use either -x and optionally -rc, or -s
use filename '-' for standard input
can read .fa.gz files as well as .fa files
実行方法
先頭にする配列を指定するか、ポジションを指定する。
#TACGACCTCGATGTTGGATCAを先頭にする。最大4塩基ミスマッチを許容
rotate -s TACGACCTCGATGTTGGATCA -m 4 input.fa > rotated.fa
#100bp目を先頭にする
rotate -x 100 input.fa > rotated.fa
- -s rotate to start of search string
- -m maximum number of mismatches allowed in search [0]
- -x position to become new start [0]
- 条件を満たさない配列は出力されない。
- multi-fastaを指定した場合、条件を満たす配列だけ出力される。これを利用して、論文ではたくさんのクロロプラストとミトコンドリアのmulti-fastaを指定し、ミスマッチを許容して保存された配列を探索することで先頭を一括して変更し、さらに慣例的な(?)オフセットサイズを導入、mafftによる多重整列を行っている。Aliview の可視化によってフローがうまくワークしたことを確認している。
- -sと-xを同時指定して、任意の配列をオフセット値付きで開始点にできるかどうかは未確認。
引用
Rotate: A command-line program to rotate circular DNA sequences to start at a given position or string
Richard Durbin, Bianca De Sanctis, Moritz Blumer
Wellcome Open Res. 2023 Sep 13;8:401.