5
|
1 import os
|
|
2 import sys
|
|
3 import subprocess
|
|
4 import zipfile
|
|
5
|
|
6
|
|
7 def main():
|
|
8
|
|
9 input_file=sys.argv[2]
|
|
10 tmp_dir=sys.argv[4]
|
|
11 settingsType=sys.argv[6]
|
|
12 zip_file=sys.argv[9]
|
|
13 tumorcsv=sys.argv[10]
|
|
14 cellularity=sys.argv[11]
|
|
15 outputlog=sys.argv[12]
|
|
16 log=sys.argv[13]
|
|
17 user=sys.argv[14]
|
|
18 method=sys.argv[15]
|
|
19 script_dir=os.path.dirname(os.path.abspath(__file__))
|
|
20
|
|
21 iFile=open(input_file,'r')
|
|
22 dataSetLine=iFile.readline()
|
|
23 dataset=dataSetLine.split("\t")[1]
|
|
24 iFile.close()
|
|
25
|
|
26
|
|
27 if settingsType=="dataset":
|
|
28 settingsType=dataset
|
|
29
|
|
30 if (outputlog=="TRUE"):
|
|
31 errfile=open(log,'w')
|
|
32 else:
|
|
33 errfile=open(os.path.join(tmp_dir,"errfile.log"),'w')
|
|
34
|
|
35 fig_dir=os.path.join("mpagenomics",user,"figures",dataset,"segmentation/CN")
|
|
36
|
|
37 abs_fig_dir=os.path.join(tmp_dir,fig_dir)
|
|
38 if (os.path.isdir(abs_fig_dir)) and (sys.argv[7]=="TRUE"):
|
|
39 old_files=os.listdir(abs_fig_dir)
|
|
40 for ifile in old_files:
|
|
41 os.remove(os.path.join(abs_fig_dir,ifile))
|
|
42
|
|
43
|
|
44 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)
|
|
45
|
|
46 errfile.close()
|
|
47
|
|
48 if (retcode == 0):
|
|
49 if (os.path.isdir(abs_fig_dir)) and (sys.argv[7]=="TRUE"):
|
|
50
|
|
51 new_files=os.listdir(abs_fig_dir)
|
|
52 zipbuf = zipfile.ZipFile(os.path.join(abs_fig_dir,zip_file), 'w', zipfile.ZIP_DEFLATED)
|
|
53 for current_file in new_files:
|
|
54 fn = os.path.join(abs_fig_dir,current_file)
|
|
55 relfn=fn[len(abs_fig_dir)+len(os.sep):]
|
|
56 zipbuf.write(fn,relfn)
|
|
57 sys.exit(retcode)
|
|
58 else:
|
|
59 sys.exit(retcode)
|
|
60
|
|
61 if __name__ == "__main__":
|
|
62 main()
|