Ejemplo n.º 1
0
def cleanup(*args):
	if ldir != None and os.path.isdir(ldir):
		General.destroyLocalSpace(ldir)
	sys.exit(0)
Ejemplo n.º 2
0
        outfh2.write(resid + '\t' + format(abd, '.3f') + '\n')
        outfh3.write(resid + '\t' + format(ssc, '.3f') + '\n')
        if args.v:
            raw_outstr = [resid + ' :']
            sc_components = sorted(score_components[resid], key = lambda x : (x[0], x[1]))
            for rawsc in sc_components:
                raw_outstr.extend([rawsc[0] + ',' + str(rawsc[1]), rawsc[2], rawsc[3]])
            raw_outstr = '\t'.join(raw_outstr) + '\n'
            outfhv.write(raw_outstr)

outfh1.close()
outfh2.close()
outfh3.close()
if args.v:
    outfhv.close()

print 'Scores calculation done!'

if args.opdb:
    opdb1, opdb2, opdb3 = [ x + '.pdb' for x in (outf1, outf2, outf3)]
    for x in (outf1, outf2, outf3):
        replaceBfactor(args.p, x + '.pdb', x)

if not args.post:
    if args.v:
        os.system('cp -r ' + ldir + '/' + base + ' ' + outdir)
    General.destroyLocalSpace(ldir)

# remove temporary files created
os.remove(list_tmp)
# os.remove(term_support)
Ejemplo n.º 3
0
args = par.parse_args()

cmd_setup = cmd_setup.replace('dummy.pdb', args.p)
if args.change != None:
    assert len(args.change) % 2 == 0
    for i in range(0, len(args.change), 2):
        cmd_setup.replace(args.change[i], args.change[i+1])

cmd_run = ['/home/grigoryanlab/library/bin/charmrun', '+p'+str(args.nc), '/home/grigoryanlab/library/bin/namd2', 'namdrun_run.ctl >& namdrun_run.out']
cmd_run = ' '.join(cmd_run)

odir = os.getcwd()

# run setup codes
os.system(cmd_setup)
General.destroyLocalSpace(ldir1)
os.chdir(ldir2)
os.system('rm -r vmd*')

# need to have a subprocess with timeout, because wants to stop MD and allow certain time before job terminated
class Command:
    def __init__(self, cmd):
        self.cmd = cmd
        self.process = None

    def run(self, timeout):
        def target():
            print 'Thread started'
            self.process = subprocess.Popen(self.cmd, shell=True)
            self.process.communicate()
            print 'Thread finished'