coleygroup / pyscreener

pythonic interface to virtual screening software
MIT License
85 stars 32 forks source link

Pool variable #5

Closed mehmettan closed 3 years ago

mehmettan commented 3 years ago

When I test the installation by:

python3 run.py --config test_configs/test_autobox.ini

I am receving an output below. What can be the problem?

Thanks in advance,


Pyscreener will be run with the following arguments: buffer: 5.0 center: [-18.0, 13.5, -17.0] config: test_configs/test_autobox.ini copy_all: False distributed: False docked_ligand_file: testing_inputs/5WIU_with_ligand.pdb enclose_spheres: True ensemble_score_mode: best extra: None ligands: ['testing_inputs/test_ligands.csv'] mode: docking n_cluster: 10 name: test_autobox nconvert: None ncpu: 1 num_workers: -1 pH: 7.0 pdbids: None postprocessing_options: none preprocessing_options: none receptors: ['testing_inputs/5WIU.pdb'] repeat_score_mode: best repeats: 1 root: . score_mode: best size: [14.0, 12.0, 15.0] software: qvina start: 0 title_line: True use_3d: False use_largest: False verbose: 0 viz_mode: text

Preprocessing ... Done! Preparing and screening inputs ... adding gasteiger charges to peptide Sorry, there are no Gasteiger parameters available for atom 5WIU:A:GLN280:OE1 Sorry, there are no Gasteiger parameters available for atom 5WIU:A:GLN290:OE1 Warning: hydrogens, ['HG', 'HG', 'HG1', 'HG1', 'HG', 'HH', 'HG', 'HG', 'HG', 'H', 'HH', 'H21H', 'HG', 'HD21', 'HH', 'HG', 'HG1', 'HG1', 'HG1', 'HZ3', 'HZ3', 'HG', 'HE22', 'HG1', 'HG1', 'H21H', 'HH', 'HE21', 'HH', 'HG1', 'HG', 'HG1', 'HH', 'HG', 'HG1', 'H21H'] , with no bonds! Traceback (most recent call last): File "run.py", line 78, in main() File "run.py", line 42, in main params) File "/home/mehmet/Downloads/pyscreener/pyscreener/docking/vina.py", line 110, in call return self.dock(*args, *kwargs) File "/home/mehmet/Downloads/pyscreener/pyscreener/docking/base.py", line 187, in dock recordsss = self.dock_ensemble(smis_or_files, kwargs) File "/home/mehmet/Downloads/pyscreener/pyscreener/docking/base.py", line 261, in dock_ensemble ligands = self.prepare_ligands(*smis_or_files, kwargs) File "/home/mehmet/Downloads/pyscreener/pyscreener/docking/base.py", line 358, in prepare_ligands for i, source in enumerate(sources) File "/home/mehmet/Downloads/pyscreener/pyscreener/docking/base.py", line 358, in for i, source in enumerate(sources) File "/home/mehmet/Downloads/pyscreener/pyscreener/docking/base.py", line 370, in _prepare_ligands return self.prepare_from_csv(source, kwargs) File "/home/mehmet/Downloads/pyscreener/pyscreener/docking/base.py", line 509, in prepare_from_csv start=start, nconvert=nconvert) File "/home/mehmet/Downloads/pyscreener/pyscreener/docking/base.py", line 428, in prepare_from_smis self.ncpu, True) as client: File "/home/mehmet/Downloads/pyscreener/pyscreener/docking/base.py", line 748, in Pool return Pool(max_workers=num_workers) UnboundLocalError: local variable 'Pool' referenced before assignment

futianfan commented 3 years ago

I address it via import Pool again using "from concurrent.futures import Executor, ProcessPoolExecutor as Pool" in Pool function.

davidegraff commented 3 years ago

the issue was due to a faulty import statement that allowed for faulty logic. It's been fixed in the most recent push. Keep an eye out for a new release in the next month or so that eliminates using process pools entirely!