[samtools]merge命令简介

Samtools的merge命令用于合并多个BAM文件。如果使用-h参数,输入文件的@SQ头会被合并到指定文件头中。否则,所有文件头都会被合并。需要注意的是,合并按坐标排序的输入文件可能导致@SQ行顺序冲突。合并的BAM文件需要有对应的index文件。merge命令包括参数如-l(指定压缩等级)、-b(输入文件列表)、-f(强制覆盖同名输出文件)等。-n选项表示输入文件按read名排序,-R用于指定合并区域,-r将RG标签添加到每个比对文件,-u则输出未压缩的BAM文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值