# SAMBLASTER - 快速高效的SAM文件重复标记与结构变异读取提取工具
## 项目简介
SAMBLASTER是由Greg Faust(gf4ea@virginia.edu)在Ira Hall实验室(University of Virginia)开发的高效软件,用于对配对末端SAM文件中的重复标记和结构变异读取进行快速提取。该项目遵循Bioinformatics(2014年9月;30(17): 2503-2505)的研究成果,并提供了一份详细的补充材料供参考。
## 技术分析
SAMBLASTER利用大约每100万对读取20MB内存的高效算法,处理读取ID分组的SAM文件,支持Linux和OSX 10.7或更高版本的操作系统。它的设计特点是不需要额外的安装依赖,只需要`g++`和`make`即可编译运行。
## 应用场景
1. **重复标记**:针对大规模测序数据,该工具能快速标识并标记潜在的重复读取。
2. **结构变异识别**:通过检测不匹配的配对端和分裂读取,有助于定位基因组结构变异的位置。
3. **数据分析前处理**:作为生物信息学工作流的一部分,SAMBLASTER可以与诸如`bwa mem`和`samtools`等工具集成,用于数据预处理和压缩。
## 项目特点
1. **速度**:SAMBLASTER以其高速度而著称,尤其适合处理大量数据。
2. **灵活性**:除了标记重复,它还支持将不一致的配对和分裂读取导出为单独文件。
3. **低内存占用**:对于大规模数据集,它只占用相对较小的内存资源。
4. **简单易用**:无需特定排序,只需简单的命令行参数即可使用,兼容大多数现代测序数据格式。
### 安装与使用
从项目GitHub仓库的`_releases`标签中下载或使用`git clone`获取源代码后,通过`make`编译,并将其复制到您的路径中的可执行目录。例如:
```bash
git clone git://github.com/GregoryFaust/samblaster.git
cd samblaster
make
cp samblaster /usr/local/bin/.
示例用法
以下是几个常见的使用示例:
- 直接从
bwa mem
输出转到samtools view
压缩SAM到BAM:
bwa mem <idxbase> samp.r1.fq samp.r2.fq | samblaster | samtools view -Sb - > samp.out.bam
- 输出不一致的配对和分裂读取:
bwa mem <idxbase> samp.r1.fq samp.r2.fq | samblaster -e -d samp.disc.sam -s samp.split.sam | samtools view -Sb - > samp.out.bam
- 从已标记重复的BAM文件中提取不一致的配对和分裂读取:
samtools view -h samp.bam | samblaster -a -e -d samp.disc.sam -s samp.split.sam -o /dev/null
SAMBLASTER提供了多种选项以适应不同需求,包括接受输入文件中的重复标记,排除已标记的重复,以及从长单端读取中提取分裂和未映射的读取。
总的来说,SAMBLASTER是一个不可或缺的工具,为生物信息学家提供了一种强大且灵活的方法来处理和解析高通量测序数据。无论您是科研人员还是工程师,都值得将其纳入您的数据分析工具箱中。