Mac seqkit コマンド:
オプション、使い方など

UB3/informatics/commands_mac/seqkit_mac

このページの最終更新日: 2023/11/23

  1. 概要: seqkit のインストール
  2. seqkit コマンド一覧
  3. seqkit seq
  4. seqkit grep
    • 名前 (ID) で配列を抽出
    • 特定の文字から始まる配列を抽出する
  5. seqkit head: 最初の配列を抽出する
  6. seqkit split: fasta ファイルを分割する
  7. seqkit rmdup: 重複配列を除く

広告

概要: seqkit のインストール

seqkit は FASTA ファイル の検索、編集などに適したプログラム (1,2)。たとえば次のようなことができる。

  • FASTA file から、特定の長さの配列を抽出する。短い配列を除くのにも使える。
  • FASTA file から、特定の文字列で始まる配列のみを抽出する。
  • FASTA file を分割したり、名前を置換したり。
  • FASTA file から配列をランダムサンプリングする。

インストールにはさまざまな方法がある。


Homebrew からインストール

一番簡単なのは、Homebrew を使う方法。まずは Homebrew をインストールし、以下のコマンドで Seqkit をインストールできる (4)。

brew install brewsci/bio/seqkit

Linux Ubuntu でも、homebrew さえ入っていれば同じコマンドが使える。Mac では User/local/bin にインストールされ、パスを通さなくても使える。

以下のようにして conda でもインストール可能。2022 年 6 月現在では、Linux では conda の方が便利な気がしている。brew は入れていない。

conda install -c bioconda seqkit


バイナリファイルをインストール

また、公式ページ からダウンロードする方法もある。Mac の場合は単に圧縮ファイルを解凍する。これを ターミナル からパスを指定して実行すれば良いだけ。cap3 などと同様の使い方になる。実行環境を整える必要はなく、コンパイルも不要。

seqkit コマンド一覧

Ref. 1 に日本語でわかりやすく書かれている。他にもオプションがあるので、詳細は公式マニュアルを参照。以下、自分が使ったことのあるオプションを中心に簡単なまとめる。Ref. 3 は実例が豊富なよいページ。

基本は "seqkit command option 標準入力" である。コマンドに基づいて簡単に表にしておく。

コマンド

機能

seqkit stat input.fasta のようにしてFASTA のステータスを確認する。

シークエンスの変換。オプションが多数ある。

特定の条件に従う配列を抽出する。

DNA, RNA 配列を翻訳する。

sort

配列をソートする。

  • -l, 長さ length でソート。短い順になる。
  • -r, 逆順にする。-rl で長い順になる。

最初のシークエンスだけ出力する。seqkit head -n 10 input.fasta のように、-n で数を指定。

fasta ファイルを分割する。

重複配列を削除する。


seqkit seq

特定の長さの配列を抽出

seqkit seq -m 100 -M 1000 input.fasta > output.fasta

-m は minimum、-M は maximum の配列長。fasta ファイルから、特定の長さの配列のみを抽出し、別の fasta file として保存する。

短い配列を除きたい場合に便利だろう。


配列の改行を設定する

seqkit seq -w 0 input.fasta > output.fasta

-w のあとの数字で、何文字で改行するかを設定できる。


seqkit stat

ファイルの情報を表示する。


seqkit grep

名前 (ID) で配列を抽出

seqkit grep -nrp string input.fasta

これで、ID に string という単語が入っている配列のみを抽出できる。-n が名前を対象にするオプション、-p は検索対象の文字列を設定 (1)。-r は正規表現を使えるようになると書かれているが、とくに正規表現らしきものがなくても、-np だけでは動かなかった。

詳細はよくわからないが、常に -nrp としておくのが無難。


特定の文字から始まる配列を抽出

seqkit grep -sirp ^AAC input.fasta

Mac コマンドの grep との組み合わせみたいな感じ。-s はシークエンスを対象にするオプション、-i は大文字と小文字の違いを無視するオプション (1)。^AAC で AAC から始まる配列 を検索する。


seqkit translate

フレーム、コドン表を指定して翻訳。そのままだと末尾に終始コドンの * がつくので、--trim をつける方が良さそうだ。

seqkit translate --frame 1 --transl-table 1 --trim input.fasta > output.fasta


最初のシークエンスだけ出力する。-n で数を指定。15 GB ぐらいの fastq ファイルから一部を取り出そうとしたとき、seqkit split では非常に時間がかかったが、head だと早かった。

seqkit head -n 10 input.fasta

seqkit split

分割で作るファイルの数を指定する

seqkit split -p 2 input.fasta

-p は分割する数を表し、この例では fasta が 2 つに分割される。input.fasta.split というフォルダができ、その中に分割された fasta ファイルが保存される。

Augustus などのウェブ版のサービスを使うときに、アップロードできる配列の数やサイズに制限がある場合がある。その際には fasta ファイルを分割できると便利。

このオプションは、単純に配列の数を数えてファイルを分割する。たとえば input.fasta に 100 個の配列があるとき、このオプションでは 50 個の配列を含む fasta ファイルが 2 つ作られる。

ゲノム配列では、長い染色体が最初にあり、短い配列が後ろにある場合が多いので、単純に配列数で分割すると、1 個目のファイルにほとんどの配列が含まれ、2 個目は数メガしかないということが起こりうる。総塩基数を揃えて分割するオプションがあるのか、まだ調べきれていない。

分割後のファイルに含まれる配列の数を指定する

上記の -p は分割により作られるファイルの数を指定するが、-s オプションでは分割後のファイルに含まれる配列の数を指定できる。

seqkit split input.fasta -s 1

で、配列を 1 個ずつ fasta ファイルに分割することができる。

seqkit split -p はファイルを全部読み込んでから分割する設定になっているのか、大きい fastq ファイル (15 GB ぐらいのサイズ) を分割しようとすると非常に遅い。ときにクラッシュする。

たとえば、大きなファイルを 2 つに分けるとき、seqkit split だとクラッシュするが、seqkit head で配列の前半を取り出すとクラッシュしないということがあった。メモリの使い方が違うように思える。配列の後半を取り出す方法があれば、head の方が良いオプションかもしれない。

seqkit rmdup

flag の -n は by name, -s とするとシークエンス。

-d duplicated.fasta のようにすると、重複配列を別の fasta に保存する。

seqkit rmdup -n input.fasta -o output.fasta


広告

References

  1. seqkitを用いたFASTAのフィルタリング・ソート. Link: Last access 2019/03/24.
  2. Shen et al. 2016a. SeqKit: A cross-platform and ultrafast toolkit for FASTA/Q file manipulation. PLoS ONE 11: e0163962. 元論文。使えるツールだと思うのだが、なぜか May 2018 で 2 回しか引用されていない。
  3. fastq / fastaの操作ツール seqkit. Link: Last access 2020/02/10.

コメント欄

サーバー移転のため、コメント欄は一時閉鎖中です。サイドバーから「管理人への質問」へどうぞ。