samtools线程数对 sam文件转换为bam文件效率的影响

 

001、

(base) [b20223040323@admin1 batch_test02]$ ls        ## 测试模板、测试sam文件
template.slurm  test.sam
(base) [b20223040323@admin1 batch_test02]$ cat template.slurm    ## 程序模板
#!/bin/bash
#SBATCH   -J xxxx
#SBATCH   -p Cnode2
##SBATCH   -o %j.xxxx.result
##SBATCH   -e %j.xxxx.error
#SBATCH   -N 1
#SBATCH   -n xxxx
#SBATCH --cpus-per-task=1
STIME=`date +%s`
samtools view -@ xxxx -b -S test.sam > xxxx.bam
let ETIME=`date +%s`-$STIME
echo thread_xxxx Elapsed time: $ETIME s > xxxx.time      ## 分别给与4、16、32和64线程,并记录程序运行的时间
(base) [b20223040323@admin1 batch_test02]$ for i in 4 16 32 64; do sed "s/xxxx/$i/g" template.slurm > $i.slurm; done
(base) [b20223040323@admin1 batch_test02]$ find *.slurm | grep -v "template.slurm" | xargs -n 1 sbatch   ## 投递任务
Submitted batch job 396049
Submitted batch job 396050
Submitted batch job 396051
Submitted batch job 396052

 

 

 

002、运行结果:

(base) [b20223040323@admin1 batch_test02]$ cat *.time | sort -V    ## 查看运行的时间
thread_4 Elapsed time: 159 s
thread_16 Elapsed time: 46 s
thread_32 Elapsed time: 24 s
thread_64 Elapsed time: 13 s

 

003、结论

在其他参数不变的情况下,转化的效率与线程数几乎是成正比,线程数越多,运行速度越快。

 

posted @ 2023-10-04 12:08  小鲨鱼2018  阅读(56)  评论(0编辑  收藏  举报