之前使用snakemake在集群上投递任务,resources那个指令里mem_mb的设置都是随便写的,有时候会因为设置的比较小任务被杀死,之前不太清楚怎么获取每个投递的任务的内存使用情况,今天翻了翻snakemake的帮助文档,发现有一个指令是benchmark
写法
rule bwa_map:
input:
"data/genome.fa",
lambda wildcards: config["samples"][wildcards.sample]
output:
temp("mapped_reads/{sample}.bam")
params:
rg="@RG\tID:{sample}\tSM:{sample}"
log:
"logs/bwa_mem/{sample}.log"
benchmark:
"benchmarks/{sample}.bwa.benchmark.txt"
threads: 8
shell:
"(bwa mem -R '{params.rg}' -t {threads} {input} | "
"samtools view -Sb - > {output}) 2> {log}"
![](https://img.haomeiwen.com/i6857799/60de41b193cacd33.png)
输出文件的内容
max_rss 好像是最大内存峰值
网友评论