2015-04-27 35 views
0

我想发送一个作业数组,但仍然不明白整个过程(新手,因为我)。在网站上,我发现这个:作业数组脚本

#!/bin/bash 
#$ -S /bin/bash 
#$ -cwd 
#$ -V 
# The 'myprog' below is serial hence no '-pe' option needed 

#$ -t 1-1000 
# ...tell SGE that this is an array job, with "tasks" numbered from 1 
# to 1000... 

./myprog < data.$SGE_TASK_ID > results.$SGE_TASK_ID 

纠正我,如果我错了,数据已被索引SGE系统。但是,“.myprog”是什么意思?是一个不同的bash脚本,它有真正的任务吗?它保存在哪里以及工作如何找到脚本?

+0

你能给一个链接到你找到的地方吗? “在网站上”并没有真正的帮助,还有很多选择。 – cdarke

+0

我的不好。它来自这个链接http://ri.itservices.manchester.ac.uk/csf/csf-user-documentation/sge-job-arrays/ – PicopicoPongPong

回答

1

通常myprog只是外部程序的通用名称。在这种情况下,我会认为这是做这项工作的程序。这可能是一个bash脚本,但它可以用任何语言编写,包括C.

./myprog < data.$SGE_TASK_ID > results.$SGE_TASK_ID 

领先./表示程序(MYPROG)在当前目录中找到。如果您愿意,您可以用实际的目录名称替换.

< data.$SGE_TASK_ID表示“myprog”输入流(称为stdin或“标准输入”)来自文件而不是键盘。文件名是单词“数据”。接着是变量SGE_TASK_ID的值。领先的$为我们提供了变量的价值。 *

> results.$SGE_TASK_ID是类似的,除了这是“myprog的”输出流(称为stdout,或“标准输出”)转到文件,而不是终端屏幕。

+0

感谢您的解释。我似乎可以理解SGE是如何用于索引输入的。假设我有一个包含所有可能是输入的fasta文件的“fasta”目录。根据你给我的链接,我已经尝试过之前,没有什么事情发生后,我的fasta目录使用“sed -n -e”$ SGE_TASK_ID p“datafile”。 – PicopicoPongPong