Skip to content

ctypes.ArgumentError: argument 5: TypeError: array must have data type float32 #109

Description

@inkja-96

When I ran the univariate analysis with this command, an error occurred. How can I resolve this? Thank you very much.

for rep in {1..20}; do
while [[ $(jobs -r | wc -l) -ge $max_concurrent ]]; do
sleep 2
done

python3 ~/soft/mixer/precimed/mixer.py fit1 \
    --trait1-file $HOME/mixer_sample/GCST90091033.sumstats.gz \
    --out $HOME/mixer_sample/output/GCST90091033.fit.rep${rep}" \
    --extract $HOME/soft/mixer_reference_data/1000G_EUR_Phase3_plink/1000G.EUR.QC.prune_maf0p05_rand2M_r2p8.rep${rep}.snps \
    --bim-file $HOME/soft/mixer_reference_data/1000G_EUR_Phase3_plink/1000G.EUR.QC.@.bim \
    --ld-file $HOME/soft/mixer_reference_data/1000G_EUR_Phase3_plink/1000G.EUR.QC.@.run4.ld \
    --lib $HOME/soft/mixer/src/build/lib/libbgmg.so &

done


Traceback (most recent call last):
File "/home/nijing/soft/mixer/precimed/mixer.py", line 23, in
args.func(args)
File "/home/nijing/soft/mixer/precimed/mixer/cli.py", line 653, in execute_fit1_or_test1_parser
params, optimize_result = apply_univariate_fit_sequence(args, libbgmg, args.fit_sequence)
File "/home/nijing/soft/mixer/precimed/mixer/cli.py", line 309, in apply_univariate_fit_sequence
optimize_result_tmp = scipy.optimize.differential_evolution(lambda x: parametrization.calc_cost(x), bounds4opt,
File "/home/nijing/miniconda3/lib/python3.10/site-packages/scipy/_lib/_util.py", line 440, in wrapper
return fun(*args, **kwargs)
File "/home/nijing/miniconda3/lib/python3.10/site-packages/scipy/optimize/_differentialevolution.py", line 501, in differential_evolution
ret = solver.solve()
File "/home/nijing/miniconda3/lib/python3.10/site-packages/scipy/optimize/_differentialevolution.py", line 1176, in solve
self._calculate_population_energies(
File "/home/nijing/miniconda3/lib/python3.10/site-packages/scipy/optimize/_differentialevolution.py", line 1337, in _calculate_population_energies
calc_energies = list(
File "/home/nijing/miniconda3/lib/python3.10/site-packages/scipy/_lib/_util.py", line 657, in call
return self.f(x, *self.args)
File "/home/nijing/soft/mixer/precimed/mixer/cli.py", line 309, in
optimize_result_tmp = scipy.optimize.differential_evolution(lambda x: parametrization.calc_cost(x), bounds4opt,
File "/home/nijing/soft/mixer/precimed/mixer/utils.py", line 578, in calc_cost
return self.vec_to_params(vec).cost(self._lib, self._trait)
File "/home/nijing/soft/mixer/precimed/mixer/utils.py", line 99, in cost
value = lib.calc_unified_univariate_cost(trait, self.find_pi_mat(lib.num_snp), self.find_sig2_mat(lib.num_snp),
File "/home/nijing/soft/mixer/precimed/mixer/libbgmg.py", line 307, in calc_unified_univariate_cost
cost = self.cdll.bgmg_calc_unified_univariate_cost(self._context_id, trait, num_component, num_snp, pi_vec.flatten(), sig2_vec.flatten(), sig2_zeroA, sig2_zeroC, sig2_zeroL, aux)
ctypes.ArgumentError: argument 5: TypeError: array must have data type float32

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions