def main(): if len(sys.argv)>1: ds=sys.argv[1] else: usage() if len(sys.argv)>2: basedir=sys.argv[2] if not os.path.exists(basedir): print 'basedir %s does not exist!'%basedir sys.exit(1) else: basedir='/scratch/01329/poldrack/openfmri/staged/' outfile=open('run_betfunc_%s.sh'%ds,'w') found_files=0 for d in os.listdir(basedir+ds): if d[0:3]=='sub': for bd in os.listdir('%s/%s/BOLD/'%(basedir+ds,d)): for m in os.listdir('%s/%s/BOLD/%s/'%(basedir+ds,d,bd)): if m=='bold_mcf.nii.gz': root='%s/%s/BOLD/%s/'%(basedir+ds,d,bd) outfile.write('bet %s/%s %s/%s -F\n'%(root,m,root,m.replace('mcf','mcf_brain'))) found_files=1 outfile.close() if found_files>0: print 'now launching using:' print 'launch -s run_betfunc_%s.sh -n betfunc -r 00:10:00'%ds launch_qsub.launch_qsub(script_name='run_betfunc_%s.sh'%ds,runtime='00:10:00',jobname='%sbf'%ds,email=False) else: print 'no files found to process'
def main(): if len(sys.argv)>1: ds=sys.argv[1] else: usage() if len(sys.argv)>2: basedir=sys.argv[2] if not os.path.exists(basedir): print 'basedir %s does not exist!'%basedir sys.exit(1) else: basedir='/corral-repl/utexas/poldracklab/openfmri/staged' sk=load_scankey(os.path.join(basedir,ds,'scan_key.txt')) TR=sk['TR'] outfile=open('run_qa_%s.sh'%ds,'w') dsdir=os.path.join(basedir,ds) for d in os.listdir(dsdir): if d[0:3]=='sub': for bd in os.listdir('%s/%s/BOLD/'%(dsdir,d)): for m in os.listdir('%s/%s/BOLD/%s/'%(dsdir,d,bd)): if m=='bold_mcf.nii.gz': root='%s/%s/BOLD/%s/'%(dsdir,d,bd) outfile.write('fmriqa.py %s/%s %s\n'%(root,m,sk['TR'])) outfile.close() print 'now launching using:' print 'launch -s run_qa_%s.sh -n qa -r 00:30:00'%ds launch_qsub.launch_qsub(script_name='run_qa_%s.sh'%ds,runtime='00:30:00',jobname='%sqa'%ds,email=False)
def main(): if len(sys.argv)>1: ds=sys.argv[1] else: usage() if len(sys.argv)>2: basedir=sys.argv[2] if not os.path.exists(basedir): print 'basedir %s does not exist!'%basedir sys.exit(1) else: basedir='/scratch/01329/poldrack/openfmri/staged/' if len(sys.argv)>3: wait_process=int(sys.argv[3]) else: wait_process=[] outfile=open('run_betfunc_%s.sh'%ds,'w') found_files=0 dsdir=os.path.join(basedir,ds) for d in glob.glob(os.path.join(dsdir,'sub*/BOLD/*/bold.nii.gz')): outfile.write('bet %s %s -F\n'%(d.replace('.nii','_mcf.nii'),d.replace('.nii','_mcf_brain.nii'))) found_files=1 outfile.close() if found_files>0: print 'now launching using:' print 'launch -s run_betfunc_%s.sh -n betfunc -r 00:10:00'%ds launch_qsub.launch_qsub(script_name='run_betfunc_%s.sh'%ds,runtime='00:10:00',jobname='%sbf'%ds,email=False,hold=wait_process) else: print 'no files found to process'
def main(): if len(sys.argv)>1: ds=sys.argv[1] else: usage() if len(sys.argv)>2: basedir=sys.argv[2] if not os.path.exists(basedir): print 'basedir %s does not exist!'%basedir sys.exit(1) else: basedir='/corral-repl/utexas/poldracklab/openfmri/staged/' outfile=open('run_mcflirt_%s.sh'%ds,'w') boldfiles=glob.glob(os.path.join(basedir,ds,'sub*/BOLD/*/bold.nii.gz')) if len(boldfiles)==0: print 'no bold files found!' return for d in boldfiles: outfile.write('mcflirt -in %s -sinc_final -plots\n'%d) outfile.close() print 'now launching using:' print 'launch -s run_mcflirt_%s.sh -n mcflirt -r 00:30:00'%ds launch_qsub.launch_qsub(script_name='run_mcflirt_%s.sh'%ds,runtime='00:30:00',jobname='%smcf'%ds,email=False)
def main(): if len(sys.argv)>1: ds=sys.argv[1] else: usage() if len(sys.argv)>2: basedir=sys.argv[2] if not os.path.exists(basedir): print 'basedir %s does not exist!'%basedir sys.exit(1) else: basedir='/scratch/01329/poldrack/openfmri/staged/' outfile=open('run_mcflirt_%s.sh'%ds,'w') for d in os.listdir(basedir+ds): if d[0:3]=='sub': for bd in os.listdir('%s/%s/BOLD/'%(basedir+ds,d)): for m in os.listdir('%s/%s/BOLD/%s/'%(basedir+ds,d,bd)): if m=='bold.nii.gz': root='%s/%s/BOLD/%s/'%(basedir+ds,d,bd) outfile.write('mcflirt -in %s/%s -sinc_final -plots\n'%(root,m)) outfile.close() print 'now launching using:' print 'launch -s run_mcflirt_%s.sh -n mcflirt -r 00:30:00'%ds launch_qsub.launch_qsub(script_name='run_mcflirt_%s.sh'%ds,runtime='00:30:00',jobname='%smcf'%ds,email=False)
def main(): if len(sys.argv) > 1: ds = sys.argv[1] else: usage() if len(sys.argv) > 2: basedir = sys.argv[2] if not os.path.exists(basedir): print 'basedir %s does not exist!' % basedir sys.exit(1) else: basedir = '/corral-repl/utexas/poldracklab/openfmri/staged/' outfile = open('run_mcflirt_%s.sh' % ds, 'w') boldfiles = glob.glob(os.path.join(basedir, ds, 'sub*/BOLD/*/bold.nii.gz')) if len(boldfiles) == 0: print 'no bold files found!' return for d in boldfiles: outfile.write('mcflirt -in %s -sinc_final -plots\n' % d) outfile.close() print 'now launching using:' print 'launch -s run_mcflirt_%s.sh -n mcflirt -r 00:30:00' % ds #launch_qsub.launch_qsub(script_name='run_mcflirt_%s.sh'%ds,runtime='00:30:00',jobname='%smcf'%ds,projname='Analysis_Lonestar',email=False) launch_qsub.launch_qsub(script_name='run_mcflirt_%s.sh' % ds, runtime='00:30:00', jobname='%smcf' % ds, email=False)
def main(): if len(sys.argv)>2: taskid=sys.argv[1] modelnum=int(sys.argv[2]) else: usage() if len(sys.argv)>3: basedir=sys.argv[3] if not os.path.exists(basedir): print 'basedir %s does not exist!'%basedir sys.exit(1) else: basedir=os.path.abspath(os.curdir) if len(sys.argv)>4: tasknum=int(sys.argv[4]) else: tasknum=0 if not basedir[-1]=='/': basedir=basedir+'/' if not os.path.exists(os.path.join(basedir,taskid,'group')): os.mkdir(os.path.join(basedir,taskid,'group')) if not os.path.exists(os.path.join(basedir,taskid,'group/model%03d'%modelnum)): os.mkdir(os.path.join(basedir,taskid,'group/model%03d'%modelnum)) featdirs=[] subdirs={} cond_key=load_condkey(basedir+taskid+'/models/model%03d/condition_key.txt'%modelnum) ntasks=len(cond_key) print 'found %d tasks'%ntasks fsfnames=[] if tasknum==0: tasks=range(1,ntasks+1) else: tasks=[tasknum] for t in tasks: f=mk_level3_fsf(taskid,t,modelnum,basedir) for i in f: fsfnames.append(i) outfile=open('run_all_level3_%s.sh'%taskid,'w') for f in fsfnames: outfile.write('feat %s\n'%f) outfile.close() print 'now launching using:' print 'launch -s run_all_level3_%s.sh -n %sl3 -r 01:00:00'%(taskid,taskid) launch_qsub.launch_qsub(script_name='run_all_level3_%s.sh'%taskid,runtime='01:00:00',jobname='%sl3'%taskid,email=False)
def main(): artimes = ['08:00:00', '12:00:00', '24:00:00'] if len(sys.argv) > 1: dataset = sys.argv[1] else: usage() if len(sys.argv) > 2: arlevel = int(sys.argv[2]) else: arlevel = 1 print 'assuming autorecon 1 (skullstrip)' if len(sys.argv) > 3: basedir = sys.argv[3] if not os.path.exists(basedir): print 'basedir %s does not exist!' % basedir sys.exit(1) else: basedir = '/corral-repl/utexas/poldracklab/openfmri/staged/' if len(sys.argv) > 4: subdir = sys.argv[4] if not os.path.exists(basedir): print 'basedir %s does not exist!' % basedir sys.exit(1) else: subdir = '/corral-repl/utexas/poldracklab/openfmri/subdir/' print 'assuming subdir: %s' % subdir outfile = open('run_autorecon%d_%s.sh' % (arlevel, dataset), 'w') cmdctr = 0 for d in glob.glob( os.path.join(basedir, dataset, 'sub*/anatomy/highres001.nii.gz')): subnum = int(d.split('/')[-3].replace('sub', '')) outfile.write('recon-all -autorecon%d -subjid %s_sub%03d -sd %s\n' % (arlevel, dataset, subnum, subdir)) cmdctr += 1 outfile.close() print 'now launch using:' print 'launch -s run_autorecon%d_%s.sh -n %sar%d -r %s' % ( arlevel, dataset, dataset, arlevel, artimes[arlevel - 1]) launch_qsub.launch_qsub(script_name='run_autorecon%d_%s.sh' % (arlevel, dataset), runtime=artimes[arlevel - 1], jobname='%sar%d' % (dataset, arlevel), email=False, parenv='1way', ncores=cmdctr * 12)
def main(): if len(sys.argv)>2: taskid=sys.argv[1] modelnum=int(sys.argv[2]) else: usage() if len(sys.argv)>3: basedir=sys.argv[3] if not os.path.exists(basedir): print 'basedir %s does not exist!'%basedir sys.exit(1) else: basedir=os.path.abspath(os.curdir) if not basedir[-1]=='/': basedir=basedir+'/' outfile=open('run_all_level2_%s.sh'%taskid,'w') featdirs=[] subdirs={} for d in os.listdir(basedir+taskid): if d[0:3]=='sub': for m in os.listdir('%s/%s/model/model%03d/'%(basedir+taskid,d,modelnum)): if m[-5:]=='.feat': featdirs.append(m) fs=featdirs[-1] subnum=int(d.replace('sub','')) if not subdirs.has_key(subnum): subdirs[subnum]={} runnum=int(fs.split('_')[1].split('.')[0].replace('run','')) tasknum=int(fs.split('_')[0].replace('task','')) if not subdirs[subnum].has_key(tasknum): subdirs[subnum][tasknum]=[] subdirs[subnum][tasknum].append(runnum) for s in subdirs.iterkeys(): for t in subdirs[s].iterkeys(): fname=mk_level2_fsf(taskid,s,t,subdirs[s][t],basedir,modelnum) outfile.write('feat %s\n'%fname) outfile.close() print 'now launching using:' print 'launch -s run_all_level2_%s.sh -n %sl2 -r 02:00:00'%(taskid,taskid) launch_qsub.launch_qsub(script_name='run_all_level2_%s.sh'%taskid,runtime='02:00:00',jobname='%sl2'%taskid,email=False)
def main(): artimes=['08:00:00','12:00:00','24:00:00'] if len(sys.argv)>1: dataset=sys.argv[1] else: usage() if len(sys.argv)>2: arlevel=int(sys.argv[2]) else: arlevel=1 print 'assuming autorecon 1 (skullstrip)' if len(sys.argv)>3: basedir=sys.argv[3] if not os.path.exists(basedir): print 'basedir %s does not exist!'%basedir sys.exit(1) else: basedir='/corral-repl/utexas/poldracklab/openfmri/staged/' if len(sys.argv)>4: subdir=sys.argv[4] if not os.path.exists(basedir): print 'basedir %s does not exist!'%basedir sys.exit(1) else: subdir='/corral-repl/utexas/poldracklab/openfmri/subdir/' print 'assuming subdir: %s'%subdir outfile=open('run_autorecon%d_%s.sh'%(arlevel,dataset),'w') cmdctr=0 for d in os.listdir(os.path.join(basedir,dataset)): if d[0:3]=='sub': for m in os.listdir('%s/%s/anatomy/'%(os.path.join(basedir,dataset),d)): if m=='highres001.nii.gz': subnum=int(d.replace('sub','')) outfile.write('recon-all -autorecon%d -subjid %s_sub%03d -sd %s\n'%(arlevel,dataset,subnum,subdir)) cmdctr+=1 outfile.close() print 'now launch using:' print 'launch -s run_autorecon%d_%s.sh -n %sar%d -r %s'%(arlevel,dataset,dataset,arlevel,artimes[arlevel-1]) launch_qsub.launch_qsub(script_name='run_autorecon%d_%s.sh'%(arlevel,dataset),runtime=artimes[arlevel-1],jobname='%sar%d'%(dataset,arlevel),email=False,parenv='1way',ncores=cmdctr*12)
def main(): if len(sys.argv) > 1: ds = sys.argv[1] else: usage() if len(sys.argv) > 2: basedir = sys.argv[2] if not os.path.exists(basedir): print "basedir %s does not exist!" % basedir sys.exit(1) else: basedir = "/corral-repl/utexas/poldracklab/openfmri/staged" sk = load_scankey(os.path.join(basedir, ds, "scan_key.txt")) TR = sk["TR"] outfile = open("run_qa_%s.sh" % ds, "w") dsdir = os.path.join(basedir, ds) for d in glob.glob(os.path.join(dsdir, "sub*/BOLD/*/bold_mcf.nii.gz")): outfile.write("fmriqa.py %s %s\n" % (d, sk["TR"])) outfile.close() if float(sk["TR"]) < 2: queue = "largemem" ncores = 24 print "using largemem queue" else: queue = "normal" ncores = 12 print "now launching using:" print "launch -s run_qa_%s.sh -n qa -r 00:30:00" % ds launch_qsub.launch_qsub( script_name="run_qa_%s.sh" % ds, runtime="00:30:00", jobname="%sqa" % ds, email=False, queue=queue, ncores=ncores, )
def main(): if len(sys.argv) > 1: ds = sys.argv[1] else: usage() if len(sys.argv) > 2: basedir = sys.argv[2] if not os.path.exists(basedir): print 'basedir %s does not exist!' % basedir sys.exit(1) else: basedir = '/scratch/01329/poldrack/openfmri/staged/' if len(sys.argv) > 3: wait_process = int(sys.argv[3]) else: wait_process = [] outfile = open('run_betfunc_%s.sh' % ds, 'w') found_files = 0 dsdir = os.path.join(basedir, ds) for d in glob.glob(os.path.join(dsdir, 'sub*/BOLD/*/bold.nii.gz')): outfile.write('bet %s %s -F\n' % (d.replace( '.nii', '_mcf.nii'), d.replace('.nii', '_mcf_brain.nii'))) found_files = 1 outfile.close() if found_files > 0: print 'now launching using:' print 'launch -s run_betfunc_%s.sh -n betfunc -r 00:10:00' % ds launch_qsub.launch_qsub(script_name='run_betfunc_%s.sh' % ds, runtime='00:10:00', jobname='%sbf' % ds, email=False, hold=wait_process) else: print 'no files found to process'
def main(): if len(sys.argv) > 1: ds = sys.argv[1] else: usage() if len(sys.argv) > 2: basedir = sys.argv[2] if not os.path.exists(basedir): print 'basedir %s does not exist!' % basedir sys.exit(1) else: basedir = '/corral-repl/utexas/poldracklab/openfmri/staged' sk = load_scankey(os.path.join(basedir, ds, 'scan_key.txt')) TR = sk['TR'] outfile = open('run_qa_%s.sh' % ds, 'w') dsdir = os.path.join(basedir, ds) for d in glob.glob(os.path.join(dsdir, 'sub*/BOLD/*/bold_mcf.nii.gz')): outfile.write('fmriqa.py %s %s\n' % (d, sk['TR'])) outfile.close() if float(sk['TR']) < 2: queue = 'largemem' ncores = 24 print 'using largemem queue' else: queue = 'normal' ncores = 12 print 'now launching using:' print 'launch -s run_qa_%s.sh -n qa -r 00:30:00' % ds launch_qsub.launch_qsub(script_name='run_qa_%s.sh' % ds, runtime='00:30:00', jobname='%sqa' % ds, email=False, queue=queue, ncores=ncores)
def main(): if len(sys.argv) > 1: ds = sys.argv[1] else: usage() if len(sys.argv) > 2: basedir = sys.argv[2] if not os.path.exists(basedir): print "basedir %s does not exist!" % basedir sys.exit(1) else: basedir = "/scratch/01329/poldrack/openfmri/staged/" outfile = open("run_betfunc_%s.sh" % ds, "w") found_files = 0 dsdir = os.path.join(basedir, ds) for d in os.listdir(dsdir): if d[0:3] == "sub": for bd in os.listdir("%s/%s/BOLD/" % (dsdir, d)): for m in os.listdir("%s/%s/BOLD/%s/" % (dsdir, d, bd)): if m == "bold_mcf.nii.gz": root = "%s/%s/BOLD/%s/" % (dsdir, d, bd) outfile.write("bet %s/%s %s/%s -F\n" % (root, m, root, m.replace("mcf", "mcf_brain"))) found_files = 1 outfile.close() if found_files > 0: print "now launching using:" print "launch -s run_betfunc_%s.sh -n betfunc -r 00:10:00" % ds launch_qsub.launch_qsub( script_name="run_betfunc_%s.sh" % ds, runtime="00:10:00", jobname="%sbf" % ds, email=False ) else: print "no files found to process"
def main(): if len(sys.argv) > 2: dataset = sys.argv[1] modelnum = int(sys.argv[2]) else: usage() if len(sys.argv) > 3: basedir = sys.argv[3] if not os.path.exists(basedir): print 'basedir %s does not exist!' % basedir sys.exit(1) else: basedir = os.path.abspath(os.curdir) if not basedir[-1] == '/': basedir = basedir + '/' nonlinear = 1 if len(sys.argv) > 4: nonlinear = int(sys.argv[4]) if nonlinear == 0: print 'using linear registration' outfile = open('mk_all_level1_%s.sh' % dataset, 'w') smoothing = 0 if len(sys.argv) > 5: smoothing = int(sys.argv[5]) tasknum_spec = 0 if len(sys.argv) > 6: tasknum_spec = int(sys.argv[6]) use_inplane = 1 for d in os.listdir(basedir + dataset): if d[0:3] == 'sub': for bd in os.listdir('%s/%s/BOLD/' % (basedir + dataset, d)): for m in os.listdir('%s/%s/BOLD/%s/' % (basedir + dataset, d, bd)): # TBD: add checking to handle case with no viable data if m == 'bold_mcf_brain.nii.gz': root = '%s/%s/BOLD/%s/' % (basedir + dataset, d, bd) f_split = root.split('/') scankey = '/' + '/'.join( f_split[1:7]) + '/scan_key.txt' taskid = f_split[6] subnum = int(f_split[7].lstrip('sub')) taskinfo = f_split[9].split('_') tasknum = int(taskinfo[0].lstrip('task')) if (tasknum_spec > 0) and not (tasknum == tasknum_spec): continue runnum = int(taskinfo[1].lstrip('run')) tr = float(load_scankey(scankey)['TR']) # check for inplane inplane = '/' + '/'.join( f_split[1:8]) + '/anatomy/inplane001_brain.nii.gz' if os.path.exists(inplane): use_inplane = 1 else: use_inplane = 0 print 'mk_level1_fsf("%s",%d,%d,%d,%d,%d,"%s",%d)' % ( taskid, subnum, tasknum, runnum, smoothing, use_inplane, basedir, modelnum) fname = mk_level1_fsf(taskid, subnum, tasknum, runnum, smoothing, use_inplane, basedir, nonlinear, modelnum) outfile.write('feat %s\n' % fname) outfile.close() print 'now launching all feats:' print "find %s/sub*/model/*.fsf |sed 's/^/feat /' > run_all_feats.sh; sh run_all_feats.sh" % taskid f = open('mk_all_level1_%s.sh' % dataset) l = f.readlines() f.close() njobs = len(l) ncores = (njobs / 2) * 12 launch_qsub.launch_qsub(script_name='mk_all_level1_%s.sh' % dataset, runtime='04:00:00', jobname='%sl1' % dataset, email=False, parenv='2way', ncores=ncores)
def main(): if len(sys.argv) > 2: taskid = sys.argv[1] modelnum = int(sys.argv[2]) else: usage() if len(sys.argv) > 3: basedir = sys.argv[3] if not os.path.exists(basedir): print 'basedir %s does not exist!' % basedir sys.exit(1) else: basedir = os.path.abspath(os.curdir) if len(sys.argv) > 4: tasknum = int(sys.argv[4]) else: tasknum = 0 if not basedir[-1] == '/': basedir = basedir + '/' if not os.path.exists(os.path.join(basedir, taskid, 'group')): os.mkdir(os.path.join(basedir, taskid, 'group')) if not os.path.exists( os.path.join(basedir, taskid, 'group/model%03d' % modelnum)): os.mkdir(os.path.join(basedir, taskid, 'group/model%03d' % modelnum)) featdirs = [] subdirs = {} cond_key = load_condkey(basedir + taskid + '/models/model%03d/condition_key.txt' % modelnum) ntasks = len(cond_key) print 'found %d tasks' % ntasks fsfnames = [] if tasknum == 0: tasks = range(1, ntasks + 1) else: tasks = [tasknum] for t in tasks: f = mk_level3_fsf(taskid, t, modelnum, basedir) for i in f: fsfnames.append(i) outfile = open('run_all_level3_%s.sh' % taskid, 'w') for f in fsfnames: outfile.write('feat %s\n' % f) outfile.close() print 'now launching using:' print 'launch -s run_all_level3_%s.sh -n %sl3 -r 01:00:00' % (taskid, taskid) launch_qsub.launch_qsub(script_name='run_all_level3_%s.sh' % taskid, runtime='01:00:00', jobname='%sl3' % taskid, email=False)
def main(): if len(sys.argv) > 2: taskid = sys.argv[1] modelnum = int(sys.argv[2]) else: usage() if len(sys.argv) > 3: basedir = sys.argv[3] if not os.path.exists(basedir): print 'basedir %s does not exist!' % basedir sys.exit(1) else: basedir = os.path.abspath(os.curdir) if len(sys.argv) > 4: task_spec = int(sys.argv[4]) print 'setting task spec to %d' % task_spec else: task_spec = 0 if not basedir[-1] == '/': basedir = basedir + '/' outfile = open('run_all_level2_%s.sh' % taskid, 'w') featdirs = [] subdirs = {} for d in os.listdir(basedir + taskid): if d[0:3] == 'sub': #print 'testing %s/%s/model/model%03d/'%(basedir+taskid,d,modelnum) if os.path.exists('%s/%s/model/model%03d/' % (basedir + taskid, d, modelnum)): for m in os.listdir('%s/%s/model/model%03d/' % (basedir + taskid, d, modelnum)): if m[-5:] == '.feat': featdirs.append(m) fs = featdirs[-1] print fs subnum = int(d.replace('sub', '')) if not subdirs.has_key(subnum): subdirs[subnum] = {} runnum = int( fs.split('_')[1].split('.')[0].replace('run', '')) tasknum = int(fs.split('_')[0].replace('task', '')) if (task_spec > 0) and (not task_spec == tasknum): print 'skipping tasknum %d (task_spec %d)' % ( tasknum, task_spec) continue if not subdirs[subnum].has_key(tasknum): subdirs[subnum][tasknum] = [] subdirs[subnum][tasknum].append(runnum) #print subdirs for s in subdirs.iterkeys(): for t in subdirs[s].iterkeys(): #print 'testing %s/%s/sub%03d/model/model%03d/'%(basedir,taskid,s,modelnum) if os.path.exists('%s/%s/sub%03d/model/model%03d/' % (basedir, taskid, s, modelnum)): fname = mk_level2_fsf(taskid, s, t, subdirs[s][t], basedir, modelnum) outfile.write('feat %s\n' % fname) outfile.close() print 'now launching using:' print 'launch -s run_all_level2_%s.sh -n %sl2 -r 02:00:00' % (taskid, taskid) launch_qsub.launch_qsub(script_name='run_all_level2_%s.sh' % taskid, runtime='02:00:00', jobname='%sl2' % taskid, email=False)
def main(): args = parse_command_line() print args smoothing = args.smoothing use_inplane = args.use_inplane basedir = os.path.abspath(args.basedir) nonlinear = args.nonlinear modelnum = args.modelnum if not args.confound: print 'omitting confound modeling' dataset = args.taskid if not args.test: outfile = open('mk_all_level1_%s.sh' % dataset, 'w') tasknum_spec = 'task*' if not args.tasknum == None: tasknum_spec = 'task%03d*' % args.tasknum dsdir = os.path.join(basedir, dataset) bolddirs = glob.glob(os.path.join(dsdir, 'sub*/BOLD/%s' % tasknum_spec)) print bolddirs for root in bolddirs: #print 'ROOT:',root for m in glob.glob(os.path.join(root, 'bold_mcf_brain.nii.gz')): #print 'BOLDFILE:',m f_split = root.split('/') #print f_split scankey = '/' + '/'.join(f_split[1:7]) + '/scan_key.txt' taskid = f_split[6] subnum = int(f_split[7].lstrip('sub')) taskinfo = f_split[9].split('_') tasknum = int(taskinfo[0].lstrip('task')) runnum = int(taskinfo[1].lstrip('run')) #tr=float(load_scankey(scankey)['TR']) # check for inplane inplane = '/' + '/'.join( f_split[1:8]) + '/anatomy/inplane001_brain.nii.gz' ## if args.nobbr: ## print 'using nobbr option' ## print 'mk_level1_fsf("%s",%d,%d,%d,%d,%d,"%s",%d)'%(taskid,subnum,tasknum,runnum,smoothing,use_inplane,basedir,modelnum) ## else: ## print 'mk_level1_fsf_bbr("%s",%d,%d,%d,%d,%d,"%s",%d)'%(taskid,subnum,tasknum,runnum,smoothing,use_inplane,basedir,modelnum) if not args.test: if args.nobbr: fname = mk_level1_fsf(taskid, subnum, tasknum, runnum, smoothing, use_inplane, basedir, nonlinear, modelnum) else: fname = mk_level1_fsf_bbr(taskid, subnum, tasknum, runnum, smoothing, use_inplane, basedir, nonlinear, modelnum, args.anatimg, args.confound, args.hpf, args.whiten) #print 'CMD: mk_level1_fsf_bbr(taskid,subnum,tasknum,runnum,smoothing,use_inplane,basedir,nonlinear,modelnum,args.anatimg,args.confound)' outfile.write('feat %s\n' % fname) if not args.test: outfile.close() if not args.test: print 'now launching all feats:' print "find %s/sub*/model/*.fsf |sed 's/^/feat /' > run_all_feats.sh; sh run_all_feats.sh" % args.taskid f = open('mk_all_level1_%s.sh' % dataset) l = f.readlines() f.close() njobs = len(l) if args.parenv == '': args.parenv = '6way' way = float(args.parenv.replace('way', '')) if args.ncores == 0: ncores = (njobs / way) * 12.0 else: ncores = args.ncores if args.launch: launch_qsub.launch_qsub(script_name='mk_all_level1_%s.sh' % dataset, runtime='04:00:00', jobname='%sl1' % dataset, email=False, parenv=args.parenv, ncores=ncores)
def main(): args=parse_command_line() print args smoothing=args.smoothing use_inplane=args.use_inplane basedir=os.path.abspath(args.basedir) nonlinear=args.nonlinear modelnum=args.modelnum if not args.confound: print 'omitting confound modeling' dataset=args.taskid if not args.test: outfile=open('mk_all_level1_%s.sh'%dataset,'w') tasknum_spec='task*' if not args.tasknum==None: tasknum_spec='task%03d*'%args.tasknum dsdir=os.path.join(basedir,dataset) bolddirs=glob.glob(os.path.join(dsdir,'sub*/BOLD/%s'%tasknum_spec)) print bolddirs for root in bolddirs: #print 'ROOT:',root for m in glob.glob(os.path.join(root,'bold_mcf_brain.nii.gz')): #print 'BOLDFILE:',m f_split=root.split('/') #print f_split scankey='/'+'/'.join(f_split[1:7])+'/scan_key.txt' taskid=f_split[6] subnum=int(f_split[7].lstrip('sub')) taskinfo=f_split[9].split('_') tasknum=int(taskinfo[0].lstrip('task')) runnum=int(taskinfo[1].lstrip('run')) tr=float(load_scankey(scankey)['TR']) # check for inplane inplane='/'+'/'.join(f_split[1:8])+'/anatomy/inplane001_brain.nii.gz' ## if args.nobbr: ## print 'using nobbr option' ## print 'mk_level1_fsf("%s",%d,%d,%d,%d,%d,"%s",%d)'%(taskid,subnum,tasknum,runnum,smoothing,use_inplane,basedir,modelnum) ## else: ## print 'mk_level1_fsf_bbr("%s",%d,%d,%d,%d,%d,"%s",%d)'%(taskid,subnum,tasknum,runnum,smoothing,use_inplane,basedir,modelnum) if not args.test: if args.nobbr: fname=mk_level1_fsf(taskid,subnum,tasknum,runnum,smoothing,use_inplane,basedir,nonlinear,modelnum) else: fname=mk_level1_fsf_bbr(taskid,subnum,tasknum,runnum,smoothing,use_inplane,basedir,nonlinear,modelnum,args.anatimg,args.confound,args.hpf,args.whiten) #print 'CMD: mk_level1_fsf_bbr(taskid,subnum,tasknum,runnum,smoothing,use_inplane,basedir,nonlinear,modelnum,args.anatimg,args.confound)' outfile.write('feat %s\n'%fname) if not args.test: outfile.close() if not args.test: print 'now launching all feats:' print "find %s/sub*/model/*.fsf |sed 's/^/feat /' > run_all_feats.sh; sh run_all_feats.sh"%args.taskid f=open('mk_all_level1_%s.sh'%dataset) l=f.readlines() f.close() njobs=len(l) if args.parenv=='': args.parenv='6way' way=float(args.parenv.replace('way','')) if args.ncores==0: ncores=(njobs/way)*12.0 else: ncores=args.ncores if args.launch: launch_qsub.launch_qsub(script_name='mk_all_level1_%s.sh'%dataset,runtime='04:00:00',jobname='%sl1'%dataset,email=False,parenv=args.parenv,ncores=ncores)
def main(): if len(sys.argv)>2: dataset=sys.argv[1] modelnum=int(sys.argv[2]) else: usage() if len(sys.argv)>3: basedir=sys.argv[3] if not os.path.exists(basedir): print 'basedir %s does not exist!'%basedir sys.exit(1) else: basedir=os.path.abspath(os.curdir) if not basedir[-1]=='/': basedir=basedir+'/' nonlinear=1 if len(sys.argv)>4: nonlinear=int(sys.argv[4]) if nonlinear==0: print 'using linear registration' outfile=open('mk_all_level1_%s.sh'%dataset,'w') smoothing=0 if len(sys.argv)>5: smoothing=int(sys.argv[5]) tasknum_spec=0 if len(sys.argv)>6: tasknum_spec=int(sys.argv[6]) use_inplane=1 for d in os.listdir(basedir+dataset): if d[0:3]=='sub': for bd in os.listdir('%s/%s/BOLD/'%(basedir+dataset,d)): for m in os.listdir('%s/%s/BOLD/%s/'%(basedir+dataset,d,bd)): # TBD: add checking to handle case with no viable data if m=='bold_mcf_brain.nii.gz': root='%s/%s/BOLD/%s/'%(basedir+dataset,d,bd) f_split=root.split('/') scankey='/'+'/'.join(f_split[1:7])+'/scan_key.txt' taskid=f_split[6] subnum=int(f_split[7].lstrip('sub')) taskinfo=f_split[9].split('_') tasknum=int(taskinfo[0].lstrip('task')) if (tasknum_spec>0) and not (tasknum==tasknum_spec): continue runnum=int(taskinfo[1].lstrip('run')) tr=float(load_scankey(scankey)['TR']) # check for inplane inplane='/'+'/'.join(f_split[1:8])+'/anatomy/inplane001_brain.nii.gz' if os.path.exists(inplane): use_inplane=1 else: use_inplane=0 print 'mk_level1_fsf("%s",%d,%d,%d,%d,%d,"%s",%d)'%(taskid,subnum,tasknum,runnum,smoothing,use_inplane,basedir,modelnum) fname=mk_level1_fsf(taskid,subnum,tasknum,runnum,smoothing,use_inplane,basedir,nonlinear,modelnum) outfile.write('feat %s\n'%fname) outfile.close() print 'now launching all feats:' print "find %s/sub*/model/*.fsf |sed 's/^/feat /' > run_all_feats.sh; sh run_all_feats.sh"%taskid f=open('mk_all_level1_%s.sh'%dataset) l=f.readlines() f.close() njobs=len(l) ncores=(njobs/2)*12 launch_qsub.launch_qsub(script_name='mk_all_level1_%s.sh'%dataset,runtime='04:00:00',jobname='%sl1'%dataset,email=False,parenv='2way',ncores=ncores)