gpt4 book ai didi

arrays - SGE 数组作业和 R

转载 作者:行者123 更新时间:2023-12-05 01:47:16 25 4
gpt4 key购买 nike

我目前编写了一个 R 脚本来执行种群遗传模拟,然后将包含我的结果的表格写入文本文件。我想以某种方式使用数组作业并行运行此脚本的多个实例(我大学的集群使用 SGE),当它全部完成后,我将生成对应于每个作业的结果文件(Results_1.txt、Results_2.txt 等) .).

花了下午的大部分时间阅读并试图弄清楚如何做到这一点,但并没有真正找到与我正在尝试做的事情相符的任何东西。我想知道是否有人可以提供和示例,或者指出我可以阅读的方向以帮助解决这个问题。

最佳答案

归结为 mithrado 对基本要点的回答:

创建作业脚本,pop_gen.bash,它可能会或可能不会将 SGE 任务 ID 参数作为输入,将结果存储在由相同 SGE 任务 ID 标识的特定文件中:

#!/bin/bash
Rscript pop_gen.R ${SGE_TASK_ID} > Results_${SGE_TASK_ID}.txt

将此脚本作为作业数组提交,例如1000 个职位:

qsub -t 1-1000 pop_gen.bash

Grid Engine 将执行 pop_gen.bash 1000 次,每次将 SGE_TASK_ID 设置为 1-1000 之间的值。

此外,如上所述,通过将 SGE_TASK_ID 作为命令行变量传递给 pop_gen.R,您可以使用 SGE_TASK_ID 写入输出文件:

args <- commandArgs(trailingOnly = TRUE)
out.file <- paste("Results_", args[1], ".txt", sep="")
# d <- "some data frame"
write.table(d, file=out.file)

HTH

关于arrays - SGE 数组作业和 R,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28686893/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com