- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 SLURM 的新手。我想处理一个文件列表 assembled_reads/*.sorted.bam
在平行下。然而,在下面的代码中,只有一个进程被反复使用。
#!/bin/bash
#
#SBATCH --job-name=****
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=24
#SBATCH --partition=short
#SBATCH --time=12:00:00
#SBATCH --array=1-100
#SBATCH --mem-per-cpu=16000
#SBATCH --mail-type=FAIL
#SBATCH --mail-user=****@***.edu
srun hostname
for FILE in assembled_reads/*.sorted.bam; do
echo ${FILE}
OUTFILE=$(basename ${FILE} .sorted.bam).raw.snps.indels.g.vcf
PLDY=$(awk -F "," '$1=="$FILE"{print $4}' metadata.csv)
PLDYNUM=$( [[$PLDY = "haploid" ]] && echo "1" || echo "2")
srun java -Djava.io.tmpdir="tmp" -jar GenomeAnalysisTK.jar \
-R scaffs_HAPSgracilaria92_50REF.fasta \
-T HaplotypeCaller \
-I ${${SLURM_ARRAY_TASK_ID}} \
--emitRefConfidence GVCF \
-ploidy $PLDYNUM \
-nt 1 \
-nct 24 \
-o $OUTFILE
sleep 1 # pause to be kind to the scheduler
done
最佳答案
您正在创建作业数组但未使用它。您应该使用基于 slurm 作业数组 id 的文件索引替换 for 循环:
#!/bin/bash
#
#SBATCH --job-name=****
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=24
#SBATCH --partition=short
#SBATCH --time=12:00:00
#SBATCH --array=0-99
#SBATCH --mem-per-cpu=16000
#SBATCH --mail-type=FAIL
#SBATCH --mail-user=****@***.edu
srun hostname
FILES=(assembled_reads/*.sorted.bam)
FILE=${FILES[$SLURM_ARRAY_TASK_ID]}
echo ${FILE}
OUTFILE=$(basename ${FILE} .sorted.bam).raw.snps.indels.g.vcf
PLDY=$(awk -F "," '$1=="$FILE"{print $4}' metadata.csv)
PLDYNUM=$( [[$PLDY = "haploid" ]] && echo "1" || echo "2")
srun java -Djava.io.tmpdir="tmp" -jar GenomeAnalysisTK.jar \
-R scaffs_HAPSgracilaria92_50REF.fasta \
-T HaplotypeCaller \
-I ${${SLURM_ARRAY_TASK_ID}} \
--emitRefConfidence GVCF \
-ploidy $PLDYNUM \
-nt 1 \
-nct 24 \
-o $OUTFILE
只需确保调整
--array
的值即可等于要处理的文件数。
关于bash - 如何使用 SLURM 处理文件列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45579828/
我在 slurm 中使用 sbatch 运行了很多作业,如下所示: #!/usr/bin/env python #SBATCH --job-name=Python #SBATCH --array=1-
我想让安排作业的用户使用 -t, --time= 列出任何作业时间限制.但是,当用户没有设置时间限制时,我想强加一个默认时间限制,例如 1 小时。我在 slurm.conf 中找不到任何设置来执行此操
例如,您需要运行30个srun作业,但要确保每个作业都在特定节点列表中的一个节点上运行(具有相同的性能,以公平地比较时序)。 你会怎么做? 我试过的 srun --nodelist=machineN[
据我们所知,SLURM 可以在作业完成时发送电子邮件。 除此之外,类似于作业完成时的邮件机制: [问] SLURM 是否可以在任何作业完成时触发脚本(由前端 SLURM 用户实现)? 示例解决方案:这
有没有办法找出作业被 slurm 取消的原因?我想将达到资源限制的情况与所有其他原因(如手动取消)区分开来。如果达到资源限制,我也想知道是哪一个。 最佳答案 slurm 日志文件明确包含该信息。它还会
我观察到当我运行 SLURM 作业时,它可以在其他文件夹路径上创建文件,也可以删除它们。他们可以通过 SLURM 作业访问其他文件夹/文件并对其进行更改,这似乎很危险。 $ sbatch run.sh
我想为 slurm 中的批处理作业指定每个内核的最大内存量 我可以看到两个 sbatch 内存选项: --mem=MB maximum amount of real memory per n
我知道对于特定的工作 ID,我可以使用 scontrol hold $JOBID。 如何保留多个 ID 的作业或/和保留一系列作业 ID 的作业(例如 scontrol hold 294724-294
我对 cpu 如何与内存通信知之甚少,所以我不确定这是否是一个“正确”的问题。 在我提交给 slurm 集群的作业脚本中,该脚本需要从存储在工作字典中的数据库中读取数据。我想监视运行此脚本所使用的内存
我正在整理一个 snakemake slurm 工作流程,并且我的工作目录被 slurm 输出文件弄得杂乱无章。我希望我的工作流程至少将这些文件定向到我的工作目录中的“slurm”目录。我目前的工作流
我正在努力理解如何使用 SLURM 在同一节点中运行多个进程。 假设我想运行一个具有 100 个不同输入参数的程序。例如,这就是我在笔记本电脑上所做的: for i in `seq 100`; do
sinfo仅显示当前状态( alloc 、 idle 等)和 Slurm 节点的时间限制。 squeue似乎只显示用户自己提交的作业,而不显示其他用户提交的作业。 有没有办法知道其他用户分配的节点何时
我有一个需要处理的文本文件列表(约 200 个文件)。所以我试图为此任务提交一个 slurm 作业数组,但我找不到解决方案。我尝试过的是通过循环遍历文件来提交多个作业(约 200 个作业)来完成一个任
我知道如何使用 cgroups(分配内存、cpu 使用...)和 slurm(提交、暂停/停止工作)。我想知道 cgroups 如何与 slurm 一起工作。当我向 slurm 提交作业时,我可以在哪
我有一堆作业在 slurm 中作为数组作业运行: 123_[1-500] PD my_job 0:00 me 123_2 R my_job 9:99 me 123_3 R
作为管理员,我需要为给定的工作赋予最大的优先级。 我发现提交选项如:--priority=或 --nice[=adjustment]可能有用,但我不知道我应该为它们分配哪些值,以便为工作提供最高优先级
我想提交一个数组作业来处理 100 个任务,每个任务只使用一个 CPU。我可以访问具有 10 个节点和 24 个内核的集群,每个节点都激活了超线程。我用 --array=1-100%24 限制并发作业
我有一些脚本发送到我可以使用 sbatch 访问的集群。但是,我想暂停这些正在运行的脚本,而不必取消它们的工作,因为它们已经运行了一段时间。 有没有办法在不取消他们已经完成的工作的情况下暂停/暂停当前
我有一份运行由 slurm 管理的 Linux 机器的工作。现在作业已经运行了几个小时,我意识到我低估了它完成所需的时间,因此我指定的 --time 参数的值不够。有没有办法通过 slurm 为现有正
是否可以扩展 SLURM 中命令 sacct 的 JobName 列中使用的字符数? 例如,我目前有: JobID JobName Elapsed NCPUS
我是一名优秀的程序员,十分优秀!