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
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
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