KangchengHou / admix-kit

Toolkit for analyzing genetics data from admixed populations
https://kangchenghou.github.io/admix-kit
22 stars 5 forks source link

cyvcf2 conflict in haptools-simu-admix #26

Open michaelofrancis opened 2 months ago

michaelofrancis commented 2 months ago

Describe the bug Hi, I am just going through the simulation tutorial (https://kangchenghou.github.io/admix-kit/simulate-admix-genotype.html) and running into an error that seems to have to do with the admix-kit conda env python packages conflicting and cyvcf2. I thought it might be related to the first answer here (https://stackoverflow.com/questions/35006614/what-does-symbol-not-found-expected-in-flat-namespace-actually-mean).

To Reproduce admix haptools-simu-admix \ --pfile ${OUT_DIR}/1kg-ref \ --admix-prop '{"CEU": 0.4, "YRI": 0.1, "PEL": 0.5}' \ --pop-col Population \ --mapdir data/1kg-ref-${BUILD}/metadata/genetic_map/ \ --n-gen 15 \ --n-indiv 1000 \ --out ${OUT_DIR}/CEU-YRI-PEL

2024-05-09 19:27:29 [info ] Received parameters: haptools-simu-admix --pfile=data/example_data/1kg-ref --admix_prop={'CEU': 0.4, 'YRI': 0.1, 'PEL': 0.5} --pop_col=Population --mapdir=data/1kg-ref-hg38/metadata/genetic_map/ --n_gen=15 --n_indiv=1000 --out=data/example_data/CEU-YRI-PEL 1000 ADMIX CEU YRI PEL 15 0 0.4 0.1 0.5 ~/miniconda3/envs/admix-kit/lib/python3.12/site-packages/dapgen/_read.py:435: FutureWarning: The 'delim_whitespace' keyword in pd.read_csv is deprecated and will be removed in a future version. Use sep='\s+' instead df_psam = pd.read_csv(path, delim_whitespace=True, skiprows=skiprows) ~/miniconda3/envs/admix-kit/lib/python3.12/site-packages/dapgen/_read.py:412: FutureWarning: The 'delim_whitespace' keyword in pd.read_csv is deprecated and will be removed in a future version. Use sep='\s+' instead pd.read_csv(path, delim_whitespace=True, skiprows=skiprows) 2024-05-09 19:27:29 [info ] haptools simgenotype --model data/example_data/CEU-YRI-PEL.tmpdata/admix.dat --mapdir data/1kg-ref-hg38/metadata/genetic_map/ --ref_vcf data/example_data/1kg-ref.pgen --sample_info data/example_data/CEU-YRI-PEL.tmpdata/sample_info.txt --out data/example_data/CEU-YRI-PEL.tmpdata/admix.pgen --region 22:16406147-49474282 --seed 1234 Traceback (most recent call last): File "~/miniconda3/envs/admix-kit/bin/haptools", line 8, in sys.exit(main()) ^^^^^^ File "~/miniconda3/envs/admix-kit/lib/python3.12/site-packages/click/core.py", line 1157, in call return self.main(args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "~/miniconda3/envs/admix-kit/lib/python3.12/site-packages/click/core.py", line 1078, in main rv = self.invoke(ctx) ^^^^^^^^^^^^^^^^ File "~/miniconda3/envs/admix-kit/lib/python3.12/site-packages/click/core.py", line 1688, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "~/miniconda3/envs/admix-kit/lib/python3.12/site-packages/click/core.py", line 1434, in invoke return ctx.invoke(self.callback, ctx.params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "~/miniconda3/envs/admix-kit/lib/python3.12/site-packages/click/core.py", line 783, in invoke return __callback(args, *kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "~/miniconda3/envs/admix-kit/lib/python3.12/site-packages/haptools/main.py", line 234, in simgenotype from .sim_genotype import ( File "~/miniconda3/envs/admix-kit/lib/python3.12/site-packages/haptools/simgenotype.py", line 8, in from cyvcf2 import VCF File "~/miniconda3/envs/admix-kit/lib/python3.12/site-packages/cyvcf2/init.py", line 1, in from .cyvcf2 import (VCF, Variant, Writer, r as r_unphased, par_relatedness, ImportError: dlopen(~/miniconda3/envs/admix-kit/lib/python3.12/site-packages/cyvcf2/cyvcf2.cpython-312-darwin.so, 0x0002): symbol not found in flat namespace '_bcf_float_missing' Traceback (most recent call last): File "~/miniconda3/envs/admix-kit/bin/admix", line 8, in sys.exit(cli()) ^^^^^ File "~/miniconda3/envs/admix-kit/lib/python3.12/site-packages/admix/cli/init.py", line 39, in cli fire.Fire() File "~/miniconda3/envs/admix-kit/lib/python3.12/site-packages/fire/core.py", line 143, in Fire component_trace = _Fire(component, args, parsed_flag_args, context, name) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "~/miniconda3/envs/admix-kit/lib/python3.12/site-packages/fire/core.py", line 477, in _Fire component, remaining_args = _CallAndUpdateTrace( ^^^^^^^^^^^^^^^^^^^^ File "~/miniconda3/envs/admix-kit/lib/python3.12/site-packages/fire/core.py", line 693, in _CallAndUpdateTrace component = fn(varargs, *kwargs) ^^^^^^^^^^^^^^^^^^^^^^ File "~/miniconda3/envs/admix-kit/lib/python3.12/site-packages/admix/cli/_ext.py", line 319, in haptools_simu_admix admix.tools.haptools_simu_admix( File "~/miniconda3/envs/admix-kit/lib/python3.12/site-packages/admix/tools/_standalone.py", line 441, in haptools_simu_admix subprocess.check_output(cmd, shell=True) File "~/miniconda3/envs/admix-kit/lib/python3.12/subprocess.py", line 466, in check_output return run(popenargs, stdout=PIPE, timeout=timeout, check=True, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "~/miniconda3/envs/admix-kit/lib/python3.12/subprocess.py", line 571, in run raise CalledProcessError(retcode, process.args, subprocess.CalledProcessError: Command 'haptools simgenotype --model data/example_data/CEU-YRI-PEL.tmpdata/admix.dat --mapdir data/1kg-ref-hg38/metadata/genetic_map/ --ref_vcf data/example_data/1kg-ref.pgen --sample_info data/example_data/CEU-YRI-PEL.tmpdata/sample_info.txt --out data/example_data/CEU-YRI-PEL.tmpdata/admix.pgen --region 22:16406147-49474282 --seed 1234' returned non-zero exit status 1.

Thanks, Mike

KangchengHou commented 2 months ago

Hi, could you please try

pip uninstall cyvcf2
pip install --no-binary cyvcf2