命令格式: samtools view -Sb input.sam > output.bam # -S 输入格式为sam,-b 输出格式为bam
for i in {52..61};do samtools view -bS ~/1data/04sam/$i.sam > ~/1data/05bam/$i.bam;done
转换成bam格式后文件压缩了很多,447G压缩到108G的数据,大概是原来的四分之一大小
下一步将bam格式进行整理排序,需要用sort命令
用法: samtools sort [option] <in.bam> -o <out.bam>
重要 option:-m 内存大小 -@ 线程数
-n Sort by read name
#设定排序方式按short reads的ID排序。默认下是按序列在fasta文件中的顺序(即header)和序列从左往右的位点排序。
-m INT Set maximum memory per thread; suffix K/M/G recognized [768M]
# 设置每个线程的最大内存,单位可以是K/M/G,默认是 768M。对于处理大数据时,如果内存够用,则设置大点的值,以节约时间。
-@ 线程数
-t TAG Sort by value of TAG. Uses position as secondary index (or read name if -n is set)
# 按照TAG值排序
-o FILE Write final output to FILE rather than standard output
# 输出到文件中,加文件名
for i in {52..61};do samtools sort -m 1G -@ 24 ~/1data/05bam/$i.bam -o ~/1data/06sort/$sorted${i}.bam;done
得到10个sorted bam文件