SAMtools——bam文件合并

当存在多个样本的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

引用转载请注明出处,如有错误敬请指出。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容