🐙
[WSL][bioinfomatics] WSLでRNAseq STAR&RSEM (3)
2) fastp
質が悪いリードを処理するために、fastpでのクオリティコントロールを行う。例えば以下のような処理を行う。
- 塩基クオリティが低い末端塩基のトリミング
- 塩基クオリティが低いリードの除外
- アダプター配列のトリミング
- トリミングした後の短すぎるリードの除外
昔はTrimmomaticなどを使っていたが、fastpの方が格段に速いし簡単。アダプター配列も自動で探してくれる。
fastpの引数
- -i/--in1: 入力fastqファイルのパス。
- -o/--out1: 出力fastqファイルのパス。名前は自身で決めてよい。拡張子はfastq.gzかfq.gz
- -I/--in2: paired endの場合のもう一つの入力fastqファイルのパス。
- -O/--out2: paired endの場合のもう一つの出力fastqファイルのパス。
- --detect_adapter_for_pe: デフォルトではアダプター配列の自動検出はsingle end用になっている。このオプションをつけるとpaired end用で動く。
- -w/--thread: 並列実行のスレッド数。
- -j/--json: json拡張子の出力ファイルの書き出しパス。
- -h/--html: html拡張子の出力ファイルの書き出しパス
fastpの実行
fastqcではpaired endの各fastqファイルそれぞれに実施したが、fastpからはpaired endをセットにして進める。
クオリティコントロールされた新たなfastqファイルは別名で保存することになるが、この例では_trim_を間に入れることにした。
fastp -i SRR22571458_1.fastq.gz \
-I SRR22571458_2.fastq.gz \
-o SRR22571458_trim_1.fastq.gz \
-O SRR22571458_trim_2.fastq.gz \
-w 24 \
--detect_adapter_for_pe \
-j SRR22571458_fastp.json \
-h SRR22571458_fastp.html
Illumina TruSeqのアダプター配列を検出している。
開始画面
インサートサイズ(アダプター配列に挟まれたRNA断片サイズ)も計算されている。
終了画面
fastpの出力
htmlファイルのreportが出力されているので、そちらを確認する。
150 paired endだったものが末端のトリミングを経て平均139塩基のリード長になっている。最終的には98.7%のリードが合格しており、概ね良好な結果と思われる。
昨今のデータでシークエンスのクオリティが悪いパターンを私は見たことないが、NGSが流行りだした初期のデータを見ると、クオリティが悪いものがある。デフォルトのパラメータでリードが除かれすぎるときはfastpの引数で調整する必要があるだろう。
Discussion
全体を本にまとめました。本では多検体処理も追加しています。