Skip to content

Commit db46032

Browse files
committed
Bug fixes. Added high_mem option for users.
1 parent 4311411 commit db46032

File tree

1 file changed

+20
-30
lines changed

1 file changed

+20
-30
lines changed

build/build_all.py

Lines changed: 20 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
from concurrent.futures import ThreadPoolExecutor
1010
import shutil
1111
import gzip
12-
import argparse
1312
from glob import glob
1413
from packaging import version
1514

@@ -24,6 +23,7 @@ def main():
2423
parser.add_argument('--figshare', action='store_true', help="Flag to trigger Figshare upload")
2524
parser.add_argument('--pypi', action='store_true', help="Flag to trigger PyPI upload")
2625
parser.add_argument('--all',dest='all',default=False,action='store_true')
26+
parser.add_argument('--high_mem',dest='high_mem',default=False,action='store_true')
2727
parser.add_argument('--dataset',dest='datasets',default='broad_sanger,hcmi,beataml,mpnst,cptac',help='Datasets to process. Defaults to all available, but if there are synapse issues, please remove beataml and mpnst')
2828
parser.add_argument('--version', type=str, required=False, help='Version number for the package and data upload title.')
2929
args = parser.parse_args()
@@ -128,38 +128,39 @@ def process_samples(executor, datasets):
128128
last_sample_future = executor.submit(run_docker_cmd, [di, 'sh', 'build_samples.sh', sf], f'{da} samples')
129129
sf = f'/tmp/{da}_samples.csv'
130130

131-
def process_omics(executor, datasets):
131+
def process_omics(executor, datasets,high_mem):
132132
'''
133133
Build all omics files concurrently
134134
'''
135-
last_sample_future = None
135+
last_omics_future = None
136136
for da in datasets:
137137
di = 'broad_sanger_omics' if da == 'broad_sanger' else da
138-
139138
#Run all at once:
140-
# executor.submit(run_docker_cmd, [di, 'sh', 'build_omics.sh', '/tmp/genes.csv', f'/tmp/{da}_samples.csv'], f'{da} omics')
141-
139+
if high_mem:
140+
executor.submit(run_docker_cmd, [di, 'sh', 'build_omics.sh', '/tmp/genes.csv', f'/tmp/{da}_samples.csv'], f'{da} omics')
142141
#Run one at a time.
143-
if last_sample_future:
144-
last_sample_future.result()
145-
last_sample_future = executor.submit(run_docker_cmd, [di, 'sh', 'build_omics.sh', '/tmp/genes.csv', f'/tmp/{da}_samples.csv'], f'{da} omics')
146-
147-
def process_experiments(executor, datasets):
142+
else:
143+
if last_omics_future:
144+
last_omics_future.result()
145+
last_omics_future = executor.submit(run_docker_cmd, [di, 'sh', 'build_omics.sh', '/tmp/genes.csv', f'/tmp/{da}_samples.csv'], f'{da} omics')
146+
147+
def process_experiments(executor, datasets, high_mem):
148148
'''
149149
Build all experiments files concurrently
150150
'''
151+
last_experiments_future = None
151152
for da in datasets:
152153
if da not in ['cptac', 'hcmi']:
153154
di = 'broad_sanger_exp' if da == 'broad_sanger' else da
154155
if not os.path.exists(f'local/{da}_experiments.tsv'):
155-
156156
#Run all at once
157-
# executor.submit(run_docker_cmd, [di, 'sh', 'build_exp.sh', f'/tmp/{da}_samples.csv', f'/tmp/{da}_drugs.tsv'], f'{da} experiments')
158-
157+
if high_mem:
158+
executor.submit(run_docker_cmd, [di, 'sh', 'build_exp.sh', f'/tmp/{da}_samples.csv', f'/tmp/{da}_drugs.tsv'], f'{da} experiments')
159159
#Run one at a time
160-
if last_sample_future:
161-
last_sample_future.result()
162-
last_sample_future = executor.submit(run_docker_cmd, [di, 'sh', 'build_exp.sh', f'/tmp/{da}_samples.csv', f'/tmp/{da}_drugs.tsv'], f'{da} experiments')
160+
else:
161+
if last_experiments_future:
162+
last_experiments_future.result()
163+
last_experiments_future = executor.submit(run_docker_cmd, [di, 'sh', 'build_exp.sh', f'/tmp/{da}_samples.csv', f'/tmp/{da}_drugs.tsv'], f'{da} experiments')
163164

164165
def process_genes(executor):
165166
if not os.path.exists('/tmp/genes.csv'):
@@ -250,20 +251,9 @@ def compress_file(file_path):
250251

251252
with ThreadPoolExecutor() as executor:
252253
if args.omics or args.all:
253-
omics_thread = executor.submit(process_omics, executor, datasets)
254-
if args.exp or args.all:
255-
exp_thread = executor.submit(process_experiments, executor, datasets)
256-
257-
if args.omics or args.all:
258-
omics_thread.result()
259-
if args.exp or args.all:
260-
exp_thread.result()
261-
262-
with ThreadPoolExecutor() as executor:
263-
if args.omics or args.all:
264-
omics_thread = executor.submit(process_omics, executor, datasets)
254+
omics_thread = executor.submit(process_omics, executor, datasets, args.high_mem)
265255
if args.exp or args.all:
266-
exp_thread = executor.submit(process_experiments, executor, datasets)
256+
exp_thread = executor.submit(process_experiments, executor, datasets, args.high_mem)
267257

268258
if args.omics or args.all:
269259
omics_thread.result()

0 commit comments

Comments
 (0)