case1 supp - nibb-gitc/gitc2025mar-rnaseq GitHub Wiki

Case1 補足

Mapping Illumina Reads to Reference and quantification

Build decoy-aware index

通常はcase1の通り、transcriptのインデクシングのみで十分だが、より正確性を高めるためには、decoy-aware なindexingが推奨されている。

decoyは日本語で「囮(おとり)」。ここではdecoyとしてwhole genomeを使う。genomeを「おとり」にすることによって、non-transcriptomicな(しかしゲノムの他の部分由来である)リードを誤ってtranscriptと認識してカウントしてしまうことを避けることができる。そのアルゴリズムと効果については以下の論文に詳述されている (Srivastava et al. 2020)

この練習問題ではシロイヌナズナの全ゲノム配列をdecoyとして使う。シロイヌナズナのゲノム配列は、data/KY/genome_base/genome.fa にあるのでこれを使う。

decoyを使う準備をする。まずgenome.faを使いやすいようにシンボリックリンクをはる。

$ ln -s ~/data/KY/genome_base/genome.fa

transcriptome配列とdecoy配列(ここでは全ゲノム)を結合する。その際、decoy配列はtranscriptome reference 配列の「後」に位置しなければならない(開発者ドキュメントより)。

$ cat Athaliana_167_TAIR10.transcript_primaryTranscriptOnly.fa genome.fa > Athaliana_transcriptome_plus_genome.fasta

decoy配列のIDリストを作成する。以下のようにgrep, cut, sed を駆使して、IDを抽出し、decoys.txt ファイルに保存する。

$ grep "^>" genome.fa |cut -d " " -f 1 |sed 's/>//g' > decoys.txt

$ cat decoy.txt     #<- ファイル内容の確認
1
2
3
4
5
Mt
Pt

これらのファイルを使って、decoy-awareなindexingを行う。

$ salmon index -t Athaliana_transcriptome_plus_genome.fasta -d decoys.txt -p 4 -i At.reference_transcripts.salmon.decoyidx

=> decoy-aware index: At.reference_transcripts.salmon.decoyidx が完成

Mapping and quantification (decoy version)

index に上で作成したdecoy対応indexを使う以外はcase1と同じ。

例として、D1_R1.fastq の処理の手順を示す。

$ salmon quant -i At.reference_transcripts.salmon.decoyidx -l A -o salmon_out_D1 -p 2 -r D1_R1.fastq

以降の解析もdecoy対応indexを使う以外はcase1と同じ。

References

decoy-aware indexing について

decoy indexの作成法