#!/usr/bin/python import os, sys if os.name == 'nt': # Whadya know, windows still can't multitask properly try: from win32process import SetPriorityClass, GetCurrentProcess, \ HIGH_PRIORITY_CLASS, NORMAL_PRIORITY_CLASS, \ REALTIME_PRIORITY_CLASS, IDLE_PRIORITY_CLASS # Drop priority so that we can still use the computer SetPriorityClass(GetCurrentProcess(), IDLE_PRIORITY_CLASS) except: pass def submit(c): print c os.system(c) def IsFileDone(freq, drug, concentration, Eleak): fn = 'Data/M2I10sp_%d_%s_%g_%g.txt' % (freq, drug, concentration, Eleak) if not os.path.exists(fn): return False fh = open(fn) lines = fh.readlines() line = lines[-1] words = line.split() try: tm = float(words[0]) except ValueError: return False if tm > 190: return True else: return False drugnames = ['none', 'phenytoin', 'carbamazepine'] nrniv = '/Volumes/NEURON-7.2/NEURON-7.2/nrn/i386/bin/nrniv -dll /Users/dugsy/Dropbox/Projects/NaDrugs/Async/i386/.libs/libnrnmech.so' for freq in [10, 20, 50]: for Eleak in [-70, -60, -50]: for drugcombo in [[0, 0], [1, 100], [2, 200]]: drugopt = drugcombo[0] concentration = drugcombo[1] drug = drugnames[drugopt] if not IsFileDone(freq, drug, concentration, Eleak): c = nrniv + ' -nobanner -c freq=%d -c drugopt=%d -c concentration=%g -c Eleak=%g async.hoc' % \ (freq, drugopt, concentration, Eleak) submit(c)