SAM(sequence Alignment/mapping)数据格式是目前高通量测序中存放比对数据的标准格式,当然他可以用于存放未比对的数据。
samtools的主要功能有
samtools view
samtools sort
samtools depth
samtools view
我们需要先将SAM转换为二进制对应的BAM格式。 二进制格式对于计算机程序来说更容易使用。要将SAM转换为BAM,我们使用samtools view命令。
samtools view -S -b sample.sam > sample.bam
-S选项指定输入是SAM格式(默认情况下是BAM)
-b选项指定输出为BAM
重定向运算符(“>”)从输出创建BAM文件
可以通过:samtools view -S sample.sam -b > sample.bam
view是一个非常实用的子命令,除了之前的格式转换以外,还能进行数据提取和提取。
比如说提取1号染色体1234-123456区域的比对read:samtools view sample_sorted.bam chr1:1234-123456 | head
使FLAG更具可读性
samtools view -X sample.sorted.bam | head -n 5
计算总的比对数量
samtools view sample.sorted.bam | wc -l
显示标题,-H选项
samtools view -H sample.sorted.bam
flag是一种描述read比对情况的标记,一种12种,可以搭配使用。
-f:正确的比对 :samtools view -f 0x2 sample.sorted.bam
-F(NOT properly paired) :samtools view -F 0x2 sample.sorted.bam
可以先用flagstat看下总体情况:samtools flagstat sample_sorted.bam
samtools sort
当将FASTQ文件与所有当前序列比对时,产生的比对关于它们在参考基因组中的位置是随机顺序的。 换句话说,BAM文件的顺序是输入FASTQ文件中的序列。
sort: 比对排序
samtools sort sample.bam -o sample.sorted.bam
RNA-seq 的数据比对结果 BAM 文件使用 samtools 进行 sort 之后文件压缩比例变化会比DNA-seq 更甚。另外,samtools 对 BAM 文件进行排序之后那些没有比对上的 reads 会被放在文件的末尾。
samtools index
对排序文件进行索引之后,有利于快速提取基因组重叠区域的比对结果
samtools index sample.sorted.bam