読者です 読者をやめる 読者になる 読者になる

アメリエフのブログ

Amelieff Staff Blog

bamにread groupを追記する

次世代シーケンサー解析
GATKは、BAMのフォーマットに厳しく(参照ページ)、たとえばヘッダにサンプル名を含むread groupのリストがあり、かつすべてのリードがそのread groupに属しているBAMしか受け付けません。

Read group(以下RG)は、たとえばBWAではマッピングのときに -R で指定することができます。
$ bwa mem -M -R "@RG¥tID:sample¥tSM:sample¥tPL:Illumina" genome.fa sample_R1.fastq.gz sample_R2.fastq.gz

マッピングの時にRGを付けていなくても、Picard toolkitのAddOrReplaceReadGroupsというツールで追記することができます。

inputのsample.bamにRGを追記してoutput.bamを作成する場合の例を見てみましょう。
$ java -jar AddOrReplaceReadGroups.jar I=sample.bam O=output.bam RGID=sample RGLB=sample RGPL=Illumina RGPU=run_barcode RGSM=sample

AddOrReplaceReadGroups.jarの必須オプションは以下の通りです。

1. INPUT=File
2. OUTPUT=File
3. RGLB=String
4. RGPL=String
5. RGPU=String
6. RGSM=String

Picardに比べるとだいぶ手間と時間がかかりますが、samtools mergeで追記する方法もあります(参照ページ)。
ご参考までに、手順は以下の通りです。