Mercurial > repos > xuebing > sharplabtool
diff tools/rgenetics/rgGTOOL.py @ 0:9071e359b9a3
Uploaded
author | xuebing |
---|---|
date | Fri, 09 Mar 2012 19:37:19 -0500 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tools/rgenetics/rgGTOOL.py Fri Mar 09 19:37:19 2012 -0500 @@ -0,0 +1,58 @@ +#!/usr/local/bin/python +# hack to run and process a linkage format file into +# the format used by Marchini's SNPTEST imputed case control association +# expects args as +# rgGTOOL.py $i $o $discrete $logf $outdir +# ross lazarus + +import sys,math,shutil,subprocess,os,time +from os.path import abspath +imagedir = '/static/rg' # if needed for images +myversion = 'V000.1 August 2007' + +def timenow(): + """return current time as a string + """ + return time.strftime('%d/%m/%Y %H:%M:%S', time.localtime(time.time())) + + + +if __name__ == "__main__": + if len(sys.argv) < 6: + s = 'rgGTOOL.py needs 5 params - got %s \n' % (sys.argv) + sys.stderr.write(s) # print >>,s would probably also work? + sys.exit(0) + print 'Rgenetics %s http://rgenetics.org SNPTEST Tools, rgGTOOL.py starting at %s' % (myversion,timenow()) + pname = sys.argv[1] + lpedname = pname.split('.ped')[0] # get file name part + outname = sys.argv[2] + discrete = sys.argv[3] + logf = sys.argv[4] + outdir = sys.argv[5] + cdir = os.getcwd() + me = sys.argv[0] + mypath = abspath(os.path.join(cdir,me)) # get abs path to this python script + shpath = abspath(os.path.sep.join(mypath.split(os.path.sep)[:-1])) + alogf = abspath(os.path.join(cdir,logf)) # absolute paths + apedf = abspath(os.path.join(cdir,'%s.ped' % lpedname)) # absolute paths + amapf = abspath(os.path.join(cdir,'%s.map' % lpedname)) # absolute paths + outg = abspath(os.path.join(outdir,'%s.gen' % outname)) # absolute paths + outs = abspath(os.path.join(outdir,'%s.sample' % outname)) # absolute paths + workdir = abspath(os.path.sep.join(mypath.split(os.path.sep)[:-1])) # trim end off './database/files/foo.dat' + os.chdir(workdir) + tlogname = '%s.logtemp' % outname + sto = file(tlogname,'w') + sto.write('rgGTOOL.py: called with %s\n' % (sys.argv)) + exme = 'gtool' + vcl = [exme,'-P','--ped',apedf,'--map',amapf,'--discrete_phenotype',discrete,'--og',outg,'--os',outs] + #'/usr/local/bin/plink','/usr/local/bin/plink',pc1,pc2,pc3) + #os.spawnv(os.P_WAIT,plink,vcl) + p=subprocess.Popen(' '.join(vcl),shell=True,stdout=sto) + retval = p.wait() + sto.write('rgGTOOL.py after calling %s: vcl=%s\n' % (exme,vcl)) + sto.close() + shutil.move(tlogname,alogf) + os.chdir(cdir) + + +