Mercurial > repos > sblanck > mpagenomics_normalize
diff segcall.py @ 5:b7f3854e08f8
Adding all tools
author | blanck |
---|---|
date | Wed, 29 Apr 2015 09:55:41 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/segcall.py Wed Apr 29 09:55:41 2015 +0200 @@ -0,0 +1,62 @@ +import os +import sys +import subprocess +import zipfile + + +def main(): + + input_file=sys.argv[2] + tmp_dir=sys.argv[4] + settingsType=sys.argv[6] + zip_file=sys.argv[9] + tumorcsv=sys.argv[10] + cellularity=sys.argv[11] + outputlog=sys.argv[12] + log=sys.argv[13] + user=sys.argv[14] + method=sys.argv[15] + script_dir=os.path.dirname(os.path.abspath(__file__)) + + iFile=open(input_file,'r') + dataSetLine=iFile.readline() + dataset=dataSetLine.split("\t")[1] + iFile.close() + + + if settingsType=="dataset": + settingsType=dataset + + if (outputlog=="TRUE"): + errfile=open(log,'w') + else: + errfile=open(os.path.join(tmp_dir,"errfile.log"),'w') + + fig_dir=os.path.join("mpagenomics",user,"figures",dataset,"segmentation/CN") + + abs_fig_dir=os.path.join(tmp_dir,fig_dir) + if (os.path.isdir(abs_fig_dir)) and (sys.argv[7]=="TRUE"): + old_files=os.listdir(abs_fig_dir) + for ifile in old_files: + os.remove(os.path.join(abs_fig_dir,ifile)) + + + retcode=subprocess.call(["Rscript", os.path.join(script_dir,"segcall.R"), sys.argv[1], dataset, sys.argv[3], sys.argv[4], sys.argv[5], settingsType, sys.argv[7], sys.argv[8], tumorcsv, cellularity, user, method], stdout = errfile, stderr = errfile) + + errfile.close() + + if (retcode == 0): + if (os.path.isdir(abs_fig_dir)) and (sys.argv[7]=="TRUE"): + + new_files=os.listdir(abs_fig_dir) + zipbuf = zipfile.ZipFile(os.path.join(abs_fig_dir,zip_file), 'w', zipfile.ZIP_DEFLATED) + for current_file in new_files: + fn = os.path.join(abs_fig_dir,current_file) + relfn=fn[len(abs_fig_dir)+len(os.sep):] + zipbuf.write(fn,relfn) + sys.exit(retcode) + else: + sys.exit(retcode) + +if __name__ == "__main__": + main()