diff --git a/Dockerfile b/Dockerfile index 1c49d3e27..6e6874abe 100644 --- a/Dockerfile +++ b/Dockerfile @@ -53,7 +53,7 @@ RUN cd /home/cactus && rm -rf cactus_env && \ . cactus_env/bin/activate && \ python3 -m pip install -U setuptools pip && \ python3 -m pip install -U -r ./toil-requirement.txt && \ - python3 -m pip install -U . + python3 -m pip install -U --no-build-isolation . # prep the hal python install which is not part of the setup RUN rm -rf /home/cactus/hal_lib && \ diff --git a/src/cactus/refmap/cactus_graphmap_join.py b/src/cactus/refmap/cactus_graphmap_join.py index 84de4e53e..f0a80872b 100644 --- a/src/cactus/refmap/cactus_graphmap_join.py +++ b/src/cactus/refmap/cactus_graphmap_join.py @@ -1476,9 +1476,16 @@ def vcf_cat(job, vcf_tbi_ids, tag, sort=False, fix_ploidies=True): ['bcftools', 'view', '-S', all_sample_list_path, '-O', 'z']], outfile=updated_vcf_path) vcf_paths[i] = updated_vcf_path + + # -a below requires indexes + for vcf_path in vcf_paths: + try: + cactus_call(parameters=['tabix', '-fp', 'vcf', vcf_path]) + except: + cactus_call(parameters=['bcftools', 'index', '-c', vcf_path]) cat_vcf_path = os.path.join(work_dir, '{}vcf.gz'.format(tag)) - cactus_call(parameters=['bcftools', 'concat', '-O', 'z', '--threads', str(job.cores)] + \ + cactus_call(parameters=['bcftools', 'concat', '-a', '-O', 'z', '--threads', str(job.cores)] + \ [os.path.basename(vcf_path) for vcf_path in vcf_paths], work_dir=work_dir, outfile=cat_vcf_path)