インストール
SeqKitは、クロスプラットフォームで非常に高速なFASTA/Qファイル操作用ツールキットです。以下に主要なインストール方法を示します。
Condaによるインストール
conda install -c bioconda seqkit
Homebrewによるインストール (macOS)
brew install seqkit
使い方
2.1. シーケンス操作
シーケンスの基本的な操作は`seqkit seq`コマンドで実行できます。
seqkit seq [flags] file
主なパラメータ
| パラメータ | 説明 |
|---|---|
| -p | 相補鎖を取得 |
| --dna2rna | DNAをRNAに変換 |
| -l | シーケンスを小文字で出力 |
| -g | アセンブリシーケンスからギャップを削除 |
| -r | 逆方向のシーケンスを取得 |
| --rna2dna | RNAをDNAに変換 |
| -u | シーケンスを大文字で出力 |
| -w | 指定された長さごとにデータシーケンスを行に分割 (デフォルト=60) |
使用例
# シーケンスを1行で出力
seqkit seq sample.fa -w 0 > output.fa
# 指定した長さ(例:80塩基)で各行に出力
seqkit seq -w 80 sample.fa
# DNAシーケンスをRNAシーケンスに変換
seqkit seq --dna2rna sample.fa
# 逆相補鎖を取得し、各行を120塩基で出力
seqkit seq -w 120 -p -r sample.fa > result.fa
2.2. フォーマット変換
SeqKitは、FASTAとFASTQの間の変換や、タブ区切り形式への変換をサポートしています。
fa2fa
# FASTQをFASTAに変換
seqkit fq2fa data.fq -o data.fa
# FASTA/FASTQをタブ区切り形式に変換
seqkit fx2tab data.fa > data.fa.tab
seqkit fx2tab data.fq > data.fq.tab
fx2tab
シーケンスの塩基組成や長さなどの情報をタブ区切り形式で出力します。
seqkit fx2tab [flags]
主なパラメータ
| パラメータ | 説明 |
|---|---|
| -B | 指定した塩基の含量を出力 (例: -B A -B T) |
| -g | GC含量を出力 |
| -l | シーケンス長を出力 |
| -n | td>IDのみを出力 |
| -i | ヘッダー行を出力 |
使用例
# シーケンス長、GC含量、名前、IDをヘッダー付きで出力
seqkit fx2tab -l -g -n -i -H sample.fa
2.3. シーケンス情報の統計
シーケンスの長さ分布などの統計情報を簡単に取得できます。
seqkit stat [flags]
主なパラメータ
| パラメータ | 説明 |
|---|---|
| -a | すべての統計データを出力(シーケンス長の四分位数、sum_gap、N50を含む) |
使用例
# 統計情報を表示
seqkit stat *.f{a,q}.gz
2.4. IDによるシーケンス抽出
指定したIDやパターンに一致するシーケンスを抽出できます。
seqkit grep
主なパラメータ
| パラメータ | 説明 |
|---|---|
| -n | シーケンス名全体をマッチさせる |
| -s | シーケンス内容でマッチさせる |
| -d | パターン/モチーフに曖昧塩基を含む |
| -i | 大文字小文字を区別しない |
| -v | 逆マッチ(一致しないものを出力) |
| -p | 複数のパターンを指定し、いずれかに一致するものを出力 |
| -R | 検索位置を指定 |
| -r | 正規表現を使用 |
使用例
# スタートコドンを持つシーケンスを抽出
seqkit grep -s -r -i -p ^ATG sample.fa
# IDリストに基づいてシーケンスを抽出
seqkit grep -f id_list.txt sample.fa > new.fa
# 曖昧塩基(SはCまたはGを意味する)を使用
seqkit grep -s -d -i -p TTSAA sample.fa
# 指定した領域(例: 1-50塩基)でマッチ
seqkit grep -s -R 1:50 -i -r -p GCTGG sample.fa
2.5. モチーフの位置特定
シーケンス内の特定のモチーフ(配列)の位置を検索できます。
seqkit locate [flags]
主なパラメータ
| パラメータ | 説明 |
|---|---|
| -d | パターン/モチーフに曖昧塩基を含む |
| -i | 大文字小文字を区別しない |
| -P | プラス鎖のみを検索 |
| -p | 検索するパターン/モチーフ |
| -f | パターン/モチーフを含むファイル(FASTA形式) |
使用例
# モチーフの位置を検索
seqkit locate -i -d -p AUGGACUN sample.fa
2.6. 共通シーケンスの検索
複数のファイル間で共通のシーケンスを抽出できます。
seqkit common [flags]
主なパラメータ
| パラメータ | 説明 |
|---|---|
| -n | シーケンス名全体(descriptionを含む)でマッチさせる |
| -s | シーケンス内容でマッチさせる |
| -i | 大文字小文字を区別しない |
| -m | MD5を使用してメモリ使用量を削減 |
使用例
# IDに基づいて共通のシーケンスを抽出
seqkit common file1.fa file2.fa -o common.fa
# シーケンス名全体で共通のものを抽出
seqkit common file1.fa file2.fa -n -o common_fullname.fa
# シーケンス内容で共通のものを抽出
seqkit common file1.fa file2.fa -s -i -o common_seq.fa
# 大規模なシーケンスの場合、MD5を使用してメモリ使用量を削減
seqkit common file1.fa file2.fa -s -i -o common_seq.fa --md5
2.7. ファイルの分割
大きなファイルを複数の小さなファイルに分割できます。
seqkit split [flags]
主なパラメータ
| パラメータ | 説明 |
|---|---|
| -i | シーケンスIDに基づいて分割 |
| -p | ファイルをN個に分割 |
| -s | N個のシーケンスごとにファイルを分割 |
| -O | 出力ディレクトリ |
| -2 | 2パスモードでメモリ使用量を削減(FASTAのみ) |
使用例
# ファイルを5個に分割
seqkit split sample.fa -p 5