Mercurial > repos > yufei-luo > s_mart
view smart_toolShed/commons/core/launcher/test/expFiles/expJobScriptTemplate_cmdWith2Lines.py @ 0:e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
author | yufei-luo |
---|---|
date | Thu, 17 Jan 2013 10:52:14 -0500 |
parents | |
children |
line wrap: on
line source
#!/usr/bin/env python import os import sys import time import shutil from commons.core.checker.RepetException import RepetException from commons.core.sql.TableJobAdaptator import TableJobAdaptator from commons.core.sql.DbFactory import DbFactory from commons.core.sql.Job import Job try: newDir = None print os.uname() beginTime = time.time() print 'beginTime=%f' % beginTime print "work in dir '/home/user/workspace/repet_pipe/commons/core/launcher/test/dummyScratch'" sys.stdout.flush() if not os.path.exists( "/home/user/workspace/repet_pipe/commons/core/launcher/test/dummyScratch" ): raise IOError("ERROR: temporary directory '/home/user/workspace/repet_pipe/commons/core/launcher/test/dummyScratch' doesn't exist") minFreeGigaInTmpDir = 1 freeSpace = os.statvfs("/home/user/workspace/repet_pipe/commons/core/launcher/test/dummyScratch") if ((freeSpace.f_bavail * freeSpace.f_frsize) / 1073741824.0 < minFreeGigaInTmpDir): raise RepetException("ERROR: less than %iG of input file in '/home/user/workspace/repet_pipe/commons/core/launcher/test/dummyScratch'" % minFreeGigaInTmpDir) os.chdir("/home/user/workspace/repet_pipe/commons/core/launcher/test/dummyScratch") newDir = "groupid_job1_20110505-105353" if os.path.exists(newDir): shutil.rmtree(newDir) os.mkdir(newDir) os.chdir(newDir) iJob = Job(jobname = "job1", groupid = "groupid", launcherFile = "ClusterLauncher", node = os.getenv("HOSTNAME")) iDb = DbFactory.createInstance() iTJA = TableJobAdaptator(iDb, "dummyJobsTable") print "current status: %s" % iTJA.getJobStatus(iJob) iTJA.changeJobStatus(iJob, "running") print "updated status: %s" % iTJA.getJobStatus(iJob) sys.stdout.flush() iDb.close() print "Hello Yufei" log = os.system("touch dummyFile1") if log != 0: raise RepetException("ERROR: job returned %i" % log) else: print "job finished successfully" sys.stdout.flush() shutil.move("dummyFile1", "/home/user/workspace/repet_pipe/commons/core/launcher/test") os.chdir("..") shutil.rmtree(newDir) iDb = DbFactory.createInstance() iTJA = TableJobAdaptator(iDb, "dummyJobsTable") print "current status: %s" % iTJA.getJobStatus(iJob) iTJA.changeJobStatus(iJob, "finished") print "updated status: %s" % iTJA.getJobStatus(iJob) sys.stdout.flush() iDb.close() endTime = time.time() print 'endTime=%f' % endTime print 'executionTime=%f' % (endTime - beginTime) print os.uname() sys.stdout.flush() except IOError, e : print e iJob = Job(jobname = "job1", groupid = "groupid", launcherFile = "ClusterLauncher", node = os.getenv("HOSTNAME")) iDb = DbFactory.createInstance() iTJA = TableJobAdaptator(iDb, "dummyJobsTable") print "current status: %s" % iTJA.getJobStatus(iJob) iTJA.changeJobStatus(iJob, "error") print "updated status: %s" % iTJA.getJobStatus(iJob) sys.stdout.flush() iDb.close() sys.exit(1) except Exception, e : print "tmpDir is : /home/user/workspace/repet_pipe/commons/core/launcher/test/dummyScratch" print "cDir is : /home/user/workspace/repet_pipe/commons/core/launcher/test/" print e if newDir != None and os.path.exists("../%s" % newDir) and not os.path.exists("/home/user/workspace/repet_pipe/commons/core/launcher/test//%s" % newDir): os.chdir("..") shutil.move(newDir, "/home/user/workspace/repet_pipe/commons/core/launcher/test//%s" % newDir) iJob = Job(jobname = "job1", groupid = "groupid", launcherFile = "ClusterLauncher", node = os.getenv("HOSTNAME")) iDb = DbFactory.createInstance() iTJA = TableJobAdaptator(iDb, "dummyJobsTable") print "current status: %s" % iTJA.getJobStatus(iJob) iTJA.changeJobStatus(iJob, "error") print "updated status: %s" % iTJA.getJobStatus(iJob) sys.stdout.flush() iDb.close() sys.exit(1)