Open StefanIvanovIBBR opened 6 months ago
What exactly is being optimized with MC optimization? It's hard to tell from the example input.
(base) stefan@stefan-Latitude-5521:~/MetalDock/input_examples$ cat mc_input.ini [DEFAULT] metal_symbol = Os parameter_file = metal_dock.dat method = mc
[DOCKING] random_pos = True num_poses = 10 box_size = 20 ga_dock = True ga_dock_pop_size = 200 ga_dock_num_evals = 2500000 ga_dock_num_generations = 30000 ga_dock_elitism = 2 ga_dock_mutation_rate = 0.2 ga_dock_crossover_rate = 0.80 ga_dock_window_size = 20
Hi,
The MC optimization procedure can be used to optimize new parameters for metal atoms that are currently not included in MetalDock. Osmium is already included, so an optimization procedure for this would be redundant. I do agree with you that the example for this procedure is rather poor, and I will write an improvement for this.
(base) stefan@stefan-Latitude-5521:~$ MetalDock/metaldock -i mc_input.ini SPACING BETWEEN GRID POINTS IS STANDARD SET TO 0.375 Å BOX SIZE MUST BE INTEGER GRID POINTS WHICH WAS NOT FOUND BOX SIZE SIDE ROUNDED UP AND SET TO 20.301 Å
multiprocessing.pool.RemoteTraceback: """ Traceback (most recent call last): File "/home/stefan/anaconda3/lib/python3.11/multiprocessing/pool.py", line 125, in worker result = (True, func(*args, **kwds)) ^^^^^^^^^^^^^^^^^^^ File "/home/stefan/anaconda3/lib/python3.11/multiprocessing/pool.py", line 51, in starmapstar return list(itertools.starmap(args[0], args[1])) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/stefan/MetalDock/src/metal_dock/monte_carlo.py", line 27, in dock_pool copy_tree(dock_dir_in, dock_dir_out) File "/home/stefan/anaconda3/lib/python3.11/site-packages/setuptools/_distutils/dir_util.py", line 139, in copy_tree raise DistutilsFileError("cannot copy tree '%s': not a directory" % src) distutils.errors.DistutilsFileError: cannot copy tree '/home/stefan/data_set/protein_0/output/docking': not a directory """
The above exception was the direct cause of the following exception:
Traceback (most recent call last): File "/home/stefan/MetalDock/metaldock", line 6, in
main()
File "/home/stefan/MetalDock/src/metal_dock/main.py", line 21, in main
optimize_MC(par)
File "/home/stefan/MetalDock/src/metal_dock/monte_carlo.py", line 148, in optimize_MC
best_rmsd = calculate_rmsd(par, best_parameter_set, input_dir, tmp_dir, dir_list)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/stefan/MetalDock/src/metal_dock/monte_carlo.py", line 80, in calculate_rmsd
rmsd_avg_list = pool.starmap(dock_pool, zip(dir_list, repeat(par), repeat(parameter_set), repeat(input_dir), repeat(tmp_dir)))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/stefan/anaconda3/lib/python3.11/multiprocessing/pool.py", line 375, in starmap
return self._map_async(func, iterable, starmapstar, chunksize).get()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/stefan/anaconda3/lib/python3.11/multiprocessing/pool.py", line 774, in get
raise self._value
distutils.errors.DistutilsFileError: cannot copy tree '/home/stefan/data_set/protein_0/output/docking': not a directory