改变bam文件header的方法:samtools reheader和picard AddOrReplaceReadGroups

    技术2022-07-11  88

    介绍两种更改bam文件header的方法:

    1. Samtools工具的reheader方法;

    2. Picard软件的AddOrReplaceReadGroups方法;

     

    两种方法有什么区别呢?Samtools仅能修改header信息,但是picard不仅能修改header信息,还可以用户自定义添加read group信息。所以如果你没有什么高级的需求用samtools就可以(因为速度更快)。

     

    最近测试svaba的时候发现,如果bam文件header的染色体顺序和reference的染色体顺序不一致的话软件会报错,因此需要对输入的bam进行reheader操作。

     

    第一种方法:Samtools reheader

    有两种写法,可以给它一个拥有你想要的header的bam文件(下面示例是in.header.bam),这样软件会把输入的in.bam文件的header改成模板bam的header;

    samtools reheader -i in.header.bam in.bam > out.bam

    另一种方法是以sam的格式直接提供需要的header;

    samtools reheader header.sam in.bam > out.bam

    第二种方法:picard AddOrReplaceReadGroups

    java -jar picard.jar AddOrReplaceReadGroups \ I=input.bam \ O=output.bam \ RGID=4 \ RGLB=library1 \ RGPL=illumina \ RGPU=unit1 \ SORT_ORDER=coordinate \ RGSM=sample1

    更多生信小知识关注:

    Processed: 0.011, SQL: 9