当存在多个样本的bam文件时,可以通过SAMtools的merge命令实现。
官方说明书:
http://www.htslib.org/doc/samtools-merge.html
基础用法
samtools merge要求是对排序后的bam文件进行合并,生成和现在顺序一样的bam文件。需要注意的是,bam文件需要有.bai索引。
samtools merge [options] -o out.bam [options] in1.bam ... inN.bam
或者:
samtools merge [options] out.bam in1.bam ... inN.bam
option
-
-h FILE
Use the lines of FILE as `@' headers to be copied to out.bam, replacing any header lines that would otherwise be copied from in1.bam. (FILE is actually in SAM format, though any alignment records it may contain are ignored.)
指定FILE内的’@’的RG表头,复制到输出bam文件中,并替换输出文件的文件头。 -
-r
Attach an RG tag to each alignment. The tag value is inferred from file names.
使RG标签添加到每一个比对文件上,标签值来自文件名;
举例:
生成一个rg.txt的文件,并赋值给合并后的bam文件。
$ perl -e 'print "@RG\\tID:ga\\tSM:hs\\tLB:ga\\tPL:Illumina\\n@RG\\tID:454\\tSM:hs\\tLB:454\\tPL:454\\n"' > rg.txt
$ samtools merge -rh rg.txt merged.bam ga.bam 454.bam
实例:
$ samtools merge \
-o CPF1_CE.rg.sort.dup.bam \
CPF1_R1_CE.rg.sort.dup.bam \
CPF1_R2_CE.rg.sort.dup.bam \
CPF1_R3_CE.rg.sort.dup.bam
$ samtools view -H CPF1_CE.rg.sort.dup.bam | grep '@RG'
@RG ID:CPF1_R1_CE LB:lib1 PL:illumina SM:CPF1_R1_CE PU:unit1
@RG ID:CPF1_R2_CE LB:lib1 PL:illumina SM:CPF1_R2_CE PU:unit1
@RG ID:CPF1_R3_CE LB:lib1 PL:illumina SM:CPF1_R3_CE PU:unit1
引用转载请注明出处,如有错误敬请指出。
网友评论