用qsub 投递一个命令行作业

SGE (Sun Grid Engine )长期以来是生物信息分析平台最为广泛使用的作业调度工具,虽然其在性能上存在诸多问题。但广大生物信息工作者长期使用习惯,造成目前很多生物信息代码是基于SGE 调度编写的。但随着新的计算平台的发展,基于SGE 的流程在平台间移植成本过高的问题,也日益突出。

为了解决这一问题,极道科技在Achelous 框架基础上,自主开发了一套基于命令行调度工具,以满足用户的使用习惯。用户可以在不熟悉WDL 编写的情况下,可以通过Achelous 客户端命令进行作业提交。为了照顾用户习惯并避免用户大规模修改已有脚本,Achelous 的命令行提交命令为qsub,其使用方式也与SGE 的同命命令类似。但Achelous qsub 的实现方式与SGE 无关。 通过Achelous ,用户可以在同一套硬件设备上同时使用WDL 脚本和qsub 命令行进行作业提交。

同时,针对SGE 在集群计算资源控制(cpu、memory限制)等方面的缺陷,Achelous进行了改善,使用户可以更为稳定地,通过SGE 的相关命令进行作业提交。


Achelous 类SGE 作业投递示例

下面以通过Achelous 投递 bwa mem 比对为例,向用户展示如何进行相关操作。

1. 数据准备

用户可以在下载页面下载测试数据集

cd /mnt/vol 
wget -c http://achelous.org/download/demo.dataset.tar.gz
cd demo-dataset 
ls ./

2. 安装bwa

用户需要自行在存储路径下安装bwa 。可使用conda 进行整体安装,也可以自行下载源码进行编译安装。

3. 作业脚本准备

用户需要自行编写需要投递的脚本。脚本内容如下:

#! /usr/bin/sh  
/mnt/vol/bwa/bwa mem -t 5 /mnt/vol/demo-dataset/ref.fa /mnt/vol/demo-dataset/demo.r1.fq /mnt/vol/demo-dataset/demo.r2.fq > /mnt/vol/demo-dataset/mydemo.sam

脚本可任意命名,在此示例中,脚本名称为 my-first-sge-job.sh

4. 作业投递

用户在登录节点下才可以使用qsub进行作业投递,作业投递命令如下:

foo@local#: qsub my-first-sge-job.sh 
Job (id: 6228, name: nil) has been submitted

任务成功投递后会返回job-id,用户可以job-id 对作业状态进行查看。

5. 作业状态查看

用户可使用qstat 进行自身账户下作业运行状态查看,运行结果如下:

foo@local#: qstat -j 6228
==============================================================
job_number:                 6228
state:                      finished
exec_file:                  job_scripts/paladin-task.a8a9ec25-c430-4949-bff3-51d006d089d9
submission_time:            Thu Apr 29 14:31:11 CST 2021
deadline:                   Thu Apr 29 14:32:28 CST 2021
owner:                      foo
uid:                        10007
group:                      foo
gid:                        10007
sge_o_home:                 /home/foo
sge_o_log_name:             foo
sge_o_path:                 /usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/root/myriad/hadoop-2.7.6/bin:/home/grid/hbase-1.4.9/bin:/usr/local/maven/apache-maven-3.6.1/bin:/usr/local/slider/bin:/home/yawei/.local/bin:/home/yawei/bin
sge_o_shell:                /bin/bash
sge_o_workdir:              /home/foo
sge_o_host:                 Cc3Apc
execution_time:             Thu Apr 29 14:31:12 CST 2021
account:                    foo
stderr_path_list:           /home/foo/my-first-sge-job.sh.e6228Cc3Apc
mail_list:                  foo@Cc3Apc
job_name:                   foo.paladin-task.M533sw69
stdout_path_list:           /home/foo/my-first-sge-job.sh.o6228Cc3Apc
priority:                   1
env_list:                   TERM=NONE
script_file:                my-first-sge-job.sh
binding:                    NONE
job_type:                   NONE
usage         1:            cpu=0.100000, mem=64.00000 MB, io=00000 GB, vmem=N/A, maxvmem=N/A
binding       1:            NONE
scheduling info:            (Collecting of scheduler job information is turned off)

6. 作业结果查看

当作业运行结束后,在/mnt/vol/demo-dataset/目录下会有相应的结果文件生成,用户可进入目录进行查看:

foo@local#: cd /mnt/vol/demo-dataset/ 
foo@local#: ls ./
mydemo.sam
Powered by XTAO TechnologyLast Modified On:2021 2023-03-24 09:06:38

results matching ""

    No results matching ""