Trimmomatic は Java で書かれているアダプタートリミングツールである。Trimmomatic はアダプターの除去のみならず、リードの末端から一定数の塩基をトリムしたりする、簡単なクオリティフィルタリングも行える。シングルエンドリードのみならずペアエンドリードにも対応している。また、gzip (拡張子 .fq.gz など)や bzip2 (拡張子 .fq.bz2 など)で圧縮されている FASTQ ファイルを展開せずに処理することができる。
インストール
Trimmomatic は Java によって書かれている。Trimmomatic 配布ウェブサイトからバイナリファイル(.jar ファイル)をダウンロードすれば、そのまま利用できる。
wget http://www.usadellab.org/cms/uploads/supplementary/Trimmomatic/Trimmomatic-0.33.zip
unzip Trimmomatic-0.33.zip
cd Trimmomatic-0.33
ls
## LICENSE adapters trimmomatic-0.33.jar
展開後に得られる trimmomatic-0.33.jar が実行ファイルである。また、adapters ディレクトリにはいくつかのアダプター配列の情報が保存されている。
使い方
シングルエンドリード
single-end read からアダプター配列を除去する例を示す。1 行のコマンドを複数行に分けて書くために、途中で「\」を入れて改行する。実行ファイルのあとに SE
をオプションとして与える。
java -jar trimmomatic-0.33.jar \
SE \ # single-end
-threads 4 \ # スレッド数
-phred33 \ # phred33 または -phred64 を指定
-trimlog log.txt \ # 実行ログの保存先
input.fq \ # 入力 FASTQ
output.fq \ # 出力 FASTQ
ILLUMINACLIP:adapters.fa:2:10:10 \ # アダプター除去条件の指定
MINLEN: 30 # 30bp を満たさないリードを除去
ペアエンドリード
ペアエンドリードの場合は実行時に PE
をオプションとして与える。また、アダプター除去を行った後に、ペアエンドリードの両方が残っているリード(paired output)とどちらか一方しか残らなかったリード(unpaired output)の出力先をそれぞれ指定する必要がある。
java -jar trimmomatic-0.33.jar \
PE \
-threads 4 \
-phred33 \
-trimlog log.txt \
input_1.fq \ # 1つ目の FASTQ
input_2.fq \ # 2つ目の FASTQ
paired_output_1.fq \ # 1つ目の FASTQ のアダプター配列除去結果(paired output)
unpaired_output_1.fq \ # 1つ目の FASTQ のアダプター配列除去結果(unpaired output)
paired_output_2.fq \ # 2つ目の FASTQ のアダプター配列除去結果(paired output)
unpaired_output_2.fq \ # 2つ目の FASTQ のアダプター配列除去結果(unpaired output)
ILLUMINACLIP:adapters.fa:2:30:10 \
LEADING:20 \
TRAILING:20 \
SLIDINGWINDOW:4:15 \
MINLEN:36
Trimmomatic 実行後、基本的に paired_output_1.fq と paired_output_2.fq を利用して、次のクオリティコントロールあるいはマッピングなどの解析に用いれば良い。
実行条件
上の例では、オプション、入力ファイル、出力先を順に与えた後に、最後に ILLUMINACLIP や MINLEN なども与えてある。Trimmomatic で利用できるオプションは以下のようなものなどがある。
ILLUMINACLIP | ILLUMINACLIP:adapters.fa:2:30:10 などのように記述する。adapters.fa は除去対象となるアダプター配列を FASTA 形式で記載してあるファイルを場所である。続く 2:30:10 の意味はそれぞれ許容ミスマッチ数、palindrome clip threshold、simple clip threshold を表す。 |
SLIDINGWINDOW | SLIDINGWINDOW:4:15 などのように記載する。最初の 4 はウィンドウサイズ、最後の 15 は平均クオリティを表す。ウィンドウ内部が塩基配列の平均クオリティが指定値よりも低ければ、それ以降のリードを切り捨てる。 |
LEADING | LEADING:20 などのように記載する。リードの先頭からクオリティスコアが 20 未満の塩基を切り捨てる。 |
TRAILING | TRAILING:20 などのように記載する。リードの後尾からクオリティスコアが 20 未満の塩基を切り捨てる。 |
CROP | CROP:50 などのように記載する。リードの先頭から 50 塩基までを残す。つまり、先頭から数えて 51 番目以降の塩基を切り捨てる。 |
HEADCROP | HEADCROP:10 などのように記載する。リードの先頭から最初の 10 塩基を切り捨てる。 |
MINLEN | MINLEN:30 などのように記載する。30 塩基を満たさないリードを除去する。 |
アダプター配列
ILLUMINACLIP
のオプションにはオリジナルのアダプター配列を利用することもできる。この場合、アダプター配列を FASTA 形式でまとめる。シングルエンドリードは特に気にすることはないが、ペアエンドリードの場合は、forward と reversed のアダプター配列が対応している場合は、2 つのアダプター配列に同じ id を付け、その後ろに /1
および /2
をつける。
例えば、以下の場合は、forward のリードが ACCGGCATGC をアダプター配列に持つならば、reversed のリードは CCCCTCACA をアダプター配列に持つ。
>adapter1/1 ACCGGCATGC >adapter1/2 CCCCTCACA >adapter2/1 TTCACAGTGC >adapter2/2 AATTACGTC
もし、ここに挙げた 4 つのアダプター配列の組み合わせが自由なときは /1
と /2
を付けないようにすればよい。
>adapter1_1 ACCGGCATGC >adapter1_2 CCCCTCACA >adapter2_1 TTCACAGTGC >adapter2_2 AATTACGTC
References
- Trimmomatic: a flexible trimmer for Illumina sequence data. Bioinformatics. 2014, 30(15):2114-20. PubMed Abstract
- Trimmomatic: A flexible read trimming tool for Illumina NGS data. Website