bigginlab / ABFE_workflow

This is a SnakeMake based workflow for ABFE calculations that can be easily scaled in a high-throughput manner via Slurm for example.
GNU General Public License v3.0
44 stars 16 forks source link

TypeError: 'NoneType' object is not subscriptable #30

Open lake-chao opened 1 month ago

lake-chao commented 1 month ago

I installed abfe_workflow, and picked one pdbbind entry, 3pe1, for test. When I ran using cli

cli-abfe -p 3pe1.pdb -l 3pe1_ligands -nr 3 -njr 8 -njl 8 -nosubmit -nogpu -nohybrid -o output

Unfortunately, I got following errors:

Prepare starting preparing ABFE-ligand file structur Ligand: ligand-1 Traceback (most recent call last): File "/opt/conda/envs/abfe/bin/cli-abfe", line 8, in sys.exit(main()) File "/opt/conda/envs/abfe/lib/python3.10/site-packages/abfe_cli/ABFECalculator.py", line 54, in main res = calculate_abfe(protein_pdb_path=args.protein_pdb_path, ligand_sdf_paths=sdf_paths, out_root_folder_path=args.output_dir_path, File "/opt/conda/envs/abfe/lib/python3.10/site-packages/abfe/calculate_abfe.py", line 45, in calculate_abfe build_ligand_flows(input_ligand_paths=conf["input_ligands_sdf_path"], File "/opt/conda/envs/abfe/lib/python3.10/site-packages/abfe/orchestration/build_ligand_flow.py", line 213, in build_ligand_flows build_replicas_simulation_flow(out_ligand_path=out_ligand_path, File "/opt/conda/envs/abfe/lib/python3.10/site-packages/abfe/orchestration/build_ligand_flow.py", line 179, in build_replicas_simulationflow = scheduler.generate_scheduler_file(out_prefix=f"{approachname}{ligand_rep_name}") File "/opt/conda/envs/abfe/lib/python3.10/site-packages/abfe/orchestration/generate_scheduler.py", line 38, in generate_scheduler_file cluster_config = copy.deepcopy(self.cluster_config["Snakemake_job"])

TypeError: 'NoneType' object is not subscriptable

Thank you.

philbiggin commented 4 weeks ago

@RiesBen - are you able to pick up?

RiesBen commented 4 weeks ago

Hi @lake-chao, first time ever I see this, I have a bit of a packed week, but I try to look into this, this week.

lake-chao commented 4 weeks ago

Thank you so much.

No hurry on this. I am just trying to get it work and see how it performs on pdbbind entries.

On Mon, Oct 28, 2024 at 7:58 AM Benjamin Ries @.***> wrote:

Hi @lake-chao https://github.com/lake-chao, first time ever I see this, I have a bit of a packed week, but I try to look into this, this week.

— Reply to this email directly, view it on GitHub https://github.com/bigginlab/ABFE_workflow/issues/30#issuecomment-2441382068, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARQXWCFNXTC5YI747X4L7WTZ5YKEZAVCNFSM6AAAAABQTI2KZ6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBRGM4DEMBWHA . You are receiving this because you were mentioned.Message ID: @.***>

lake-chao commented 3 weeks ago

Hi Ben,

I found a workaround for this issue

near line 20 after

self.def_cluster_config = json.load(open(f"{default_slurm_config_path}", "r"))

in the file of abfe/orchestration/generate_scheduler.py

replace

self.cluster_config = cluster_config

by

self.cluster_config = self.def_cluster_config

Basically, cluster_config is not defined before its use.

After I "fixed" this issue, I ran into a number of other issues with snakemake. So far, I could not this command line work:

cli-abfe -p 3pe1.pdb -l 3pe1_ligands -nr 3 -njr 8 -njl 1 -nosubmit -nohybrid -nogpu -o output

Regards,

On Mon, Oct 28, 2024 at 7:58 AM Benjamin Ries @.***> wrote:

Hi @lake-chao https://github.com/lake-chao, first time ever I see this, I have a bit of a packed week, but I try to look into this, this week.

— Reply to this email directly, view it on GitHub https://github.com/bigginlab/ABFE_workflow/issues/30#issuecomment-2441382068, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARQXWCFNXTC5YI747X4L7WTZ5YKEZAVCNFSM6AAAAABQTI2KZ6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBRGM4DEMBWHA . You are receiving this because you were mentioned.Message ID: @.***>

RobertArbon commented 3 weeks ago

Hi folks,

I've come across the same problem. When running with -nosubmit the the cluster configuration is None which, as @lake-chao points out means the Scheduler.generate_scheduler_file method can't run. Instead of their suggestion, i've changed how the nosbumit flag gets parsed in the cli, see https://github.com/bigginlab/ABFE_workflow/pull/34