1.sam,bam的格式转换:
$samtools view -sb file.sam >file.bam $samtools view -sb file.sam -o file.bam #sam文件转换为bam,-s 输入文件为sam -b 输出文件为bam $samtools view file.bam>file.sam
$samtools view -h file.bam -o file.sam
#bam文件转换为sam文件
2.对bam文件进行排序
$samtools sort -n -o file.sort file.bam
#以reads的名字排序,输入file.bam 输出file.sort
3.对bam文件进行简单的统计
$samtools flagstat file.bam
#得到比对的统计结果,包括比对率等等。。
4.筛选特定的区域
#筛选不需要的flag值 $samtools view –F 4 file.bam –o file.filter.sam #限定比对质量值最小值 $samtools view –q 20 file.bam –o file.quality.sam #得到指定位置的sam文件 $samtools view file.sort.bam Chr1:1-5000 –o file.position.sam
5.对多个read重复mapping 到基因组上同一个区域时,只保留匹配度最高的
$samtools rmdup file.bam file.rmdup.bam
6.合并某个样本的多个重复实验的bam文件
前提:bam文件已排序
#! /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