[samtools]merge命令简介

        samtools merge命令的功能描述:
        当有多个样本的bam文件时,可以使用samtools的merge命令将这些bam文件进行合并为一个bam文件。Merge命令将多个已经排序后的bam文件合并成为一个排序的且保持所有输入记录并保持现有排序顺序的bam文件。

        若使用-h参数,则将输入文件的@SQ文件头合并到指定的文件头中。否则,所有的文件头都被合并。如果在合并以按照坐标排序的输入文件@SQ行时,可能在顺序上发生冲突。结果输出文件将被重新按照以前的顺序排列。

        待合并的bam文件,必须有与其对应的index文件。

        merge命令格式:

        samtools merge [-nur1f] [-h inh.sam] [-R reg] [-b <list>] <out.bam> <in1.bam> [<in2.bam><in3.bam>…<inN.bam]

       参数:

                  -l 指定压缩等级;

                  -b FILE 输入文件列表,一个文件一行;

                  -f 强制覆盖同名输出文件;

                  -h FILE 指定FILE内的’@’头复制到输出bam文件中并替换输出文件的文件头。否则,输出文件的文件头将从第一个输入文件复制过来;

                  -n 设定输入比对文件是以read名进行排序的而不是以染色体坐标排序的;

                  -R STRING 合并输入文件的指定区域;

                  -r 使RG标签添加到每一个比对文件上,标签值来自文件名;

                  -u 输出的bam文件不压缩;

                  -c 当多个输入文件包含相同的@RG头ID时,只保留第一个到合并后输出的文件。当合并多个相同样本的不同文件时,非常有用。

                  -p 与-c参数类似,对于要合并的每一个文件中的@PG ID只保留第一个文件中的@PG。

#! /bin/bash
#合并test_L1.bam和test_L2.bam文件
samtools merge -h test.sam \
test_L1_L2.bam \
test_L1.sorted.bam \
test_L2.sroted.bam
#合并test_L1.bam和test_L2.bam文件中的指定区域chr7
samtools merge -h test.sam \
-R chr7
test_L1_L2.bam \
test_L1.sorted.bam \
test_L2.sroted.bam


  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值