Example #1
0
def start_assembly(args, logger):
   '''Start assembly of solid reads'''
   
   import mlst_modules
   from mlst_classes import Moab
   from mlst_classes import Semaphore   
   import os
   
   # set queueing
   paths = mlst_modules.setSystem()
   home = os.getcwd()
   if args.partition == 'uv':
      cpuV = 'ncpus=%i,mem=%s,walltime=172800' % (args.n, args.m)
      cpuA = 'ncpus=1,mem=512mb,walltime=172800'
      cpuC = 'ncpus=1,mem=2gb,walltime=172800'
      cpuE = 'ncpus=1,mem=5gb,walltime=172800'
      cpuF = 'ncpus=2,mem=2gb,walltime=172800'
      cpuB = 'ncpus=16,mem=10gb,walltime=172800'      
   else:
      cpuV = 'nodes=1:ppn=%i,mem=%s,walltime=172800' % (args.n, args.m)
      cpuA = 'nodes=1:ppn=1,mem=512mb,walltime=172800'
      cpuC = 'nodes=1:ppn=1,mem=2gb,walltime=172800'
      cpuE = 'nodes=1:ppn=1,mem=5gb,walltime=172800'
      cpuF = 'nodes=1:ppn=2,mem=2gb,walltime=172800'
      cpuB = 'nodes=1:ppn=16,mem=10gb,walltime=172800'
   
   solid_calls = solid(args)
   
   # set environment variable (add solid binaries to bin):
   env_var = 'denovo2=%s' % paths['solid_home']
   
   # submit and release jobs
   print "Submitting jobs"
   solid_moab = Moab(solid_calls, logfile=logger, runname='run_mlst_solid', queue=args.q, cpu=cpuV, env=env_var, partition=args.partition, host='cge-s2.cbs.dtu.dk')
   
   # release jobs
   solid_moab.release(host='cge-s2.cbs.dtu.dk')
Example #2
0
def start_assembly(args, logger):
   '''start newbler assembly'''
   
   import mlst_modules
   from mlst_classes import Moab
   from mlst_classes import Semaphore   
   import os
   
   # set queueing
   paths = mlst_modules.setSystem()
   home = os.getcwd()
   if args.partition == 'uv':
      cpuV = 'ncpus=%i,mem=%s,walltime=172800' % (args.n, args.m)
      cpuA = 'ncpus=1,mem=512mb,walltime=172800'
      cpuC = 'ncpus=1,mem=2gb,walltime=172800'
      cpuE = 'ncpus=1,mem=5gb,walltime=172800'
      cpuF = 'ncpus=2,mem=2gb,walltime=172800'
      cpuB = 'ncpus=16,mem=10gb,walltime=172800'      
   else:
      cpuV = 'nodes=1:ppn=%i,mem=%s,walltime=172800' % (args.n, args.m)
      cpuA = 'nodes=1:ppn=1,mem=512mb,walltime=172800'
      cpuC = 'nodes=1:ppn=1,mem=2gb,walltime=172800'
      cpuE = 'nodes=1:ppn=1,mem=5gb,walltime=172800'
      cpuF = 'nodes=1:ppn=2,mem=2gb,walltime=172800'
      cpuB = 'nodes=1:ppn=16,mem=10gb,walltime=172800'
   
   newbler_calls = newbler(args)
   newblerstats_calls = newbler_stats(args)
   
   # set environment variable (add newbler binaries to bin):
   env_var = 'PATH=/panvol1/simon/bin/454/bin/'
   
   # submit and release jobs
   print "Submitting jobs"
   newbler_moab = Moab(newbler_calls, logfile=logger, runname='run_mlst_newbler', queue=args.q, cpu=cpuV, env=env_var, partition=args.partition, host='cge-s2.cbs.dtu.dk')
   newblerstats_moab = Moab(newblerstats_calls, logfile=logger, runname='run_mlst_newblerstats', queue=args.q, cpu=cpuA, depend=True, depend_type='one2one', depend_val=[1], depend_ids=newbler_moab.ids, partition=args.partition, host='cge-s2.cbs.dtu.dk')
   
   # release jobs
   newbler_moab.release('cge-s2.cbs.dtu.dk')
   newblerstats_moab.release('cge-s2.cbs.dtu.dk')
Example #3
0
def start_assembly(args, logger):
   '''Start assembly'''
   
   import mlst_modules
   from mlst_classes import Moab
   from mlst_classes import Semaphore   
   import os
   
   # set queueing
   paths = mlst_modules.setSystem()
   home = os.getcwd()
   if args.partition == 'uv':
      cpuV = 'procs=%i,mem=%s,walltime=172800,flags=sharedmem' % (args.n, args.m)
      cpuA = 'procs=1,mem=512mb,walltime=172800,flags=sharedmem'
      cpuC = 'procs=1,mem=2gb,walltime=172800,flags=sharedmem'
      cpuE = 'procs=1,mem=5gb,walltime=172800,flags=sharedmem'
      cpuF = 'procs=2,mem=%s,walltime=172800,flags=sharedmem' % args.m
      cpuB = 'procs=16,mem=10gb,walltime=172800,flags=sharedmem'      
   else:
      cpuV = 'nodes=1:ppn=%i,mem=%s,walltime=172800' % (args.n, args.m)
      cpuA = 'nodes=1:ppn=1,mem=512mb,walltime=172800'
      cpuC = 'nodes=1:ppn=1,mem=2gb,walltime=172800'
      cpuE = 'nodes=1:ppn=1,mem=5gb,walltime=172800'
      cpuF = 'nodes=1:ppn=2,mem=%s,walltime=172800' % args.m
      cpuB = 'nodes=1:ppn=16,mem=10gb,walltime=172800'
      
   # set kmersizes (if auto)
   if args.ksizes == ['auto']:
      args.ksizes = set_kmersizes(args)
   
   # trimming calls
   if args.trim:
      illuminatrim_calls = illumina_trim(args, int(args.ksizes[0]), 15, 20, 15, False)
      if not os.path.exists('trimmed'):
         os.makedirs('trimmed')
      
   # velvet calls
   velvet_calls = create_velvet_calls(args)
      
   # velvet parse calls
   postprocess_calls = postprocess(args)
   
   # set environment variable:
   env_var = 'OMP_NUM_THREADS=%i' % int(args.n - 1)
   
   # submit and release jobs
   # NB: mlst_denovo_velvet is run from a compute node, it will then ssh to "host" and submit the jobs from there (cge-s2)
   print "Submitting jobs"
   
   # if trimming is needed
   if args.trim:
      illuminatrim_moab = Moab(illuminatrim_calls, logfile=logger, runname='run_mlst_trim', queue=args.q, cpu=cpuF, partition=args.partition, host='cge-s2.cbs.dtu.dk')
      velvet_moab = Moab(velvet_calls, logfile=logger, runname='run_mlst_velvet', queue=args.q, cpu=cpuV, depend=True, depend_type='all', depend_val=[1], depend_ids=illuminatrim_moab.ids, env=env_var, partition=args.partition, host='cge-s2.cbs.dtu.dk')
   # if no trimming
   else:
      velvet_moab = Moab(velvet_calls, logfile=logger, runname='run_mlst_velvet', queue=args.q, cpu=cpuV, env=env_var, partition=args.partition, host='cge-s2.cbs.dtu.dk')
   
   # submit job for postprocessing
   postprocess_moab = Moab(postprocess_calls, logfile=logger, runname='run_mlst_postprocess', queue=args.q, cpu=cpuA, depend=True, depend_type='conc', depend_val=[len(velvet_calls)], depend_ids=velvet_moab.ids, partition=args.partition, host='cge-s2.cbs.dtu.dk')
   
   # release jobs
   print "Releasing jobs"
   if args.trim and len(illuminatrim_calls) > 0: illuminatrim_moab.release(host='cge-s2.cbs.dtu.dk')
   velvet_moab.release('cge-s2.cbs.dtu.dk')
   postprocess_moab.release(host='cge-s2.cbs.dtu.dk')