Skip to content

ValueError: Molecule doesn't match the core, when running prepare_dual_topology.py #147

@zangsk

Description

@zangsk

Thanks for sharing your great work. I successfully ran tutorial01 without any issues, But when I try to read the pdbqt files, something goes wrong.

I used AutoDock Vina to perform molecular docking on the FXR ligands from the tutorial. All input pdbqt files were generated by meeko from mol files in tutorial01 , therefore contains RMARK SMILES. All other files were from tutorial01.

Here is my step2.ini.
[prepare_dual_topology]
input_ligands = lig_dock
structure = receptor_data/5q17_processed.pdb
extradirs = oplsaam.ff
pose_loader = vina
poses_reference_structure = receptor_data/5q17.pdbqt
poses_input = list.name
perturbations_dir = tutorial01
gmx_bin_local = /XXXX/bin/gmx
gmx_bin_run = /XXXX/bin/gmx_mpi
output_scripttype = slurm
output_resources = all_cpus:16; all_gpus:1; all_time: 24
output_collecttype = python

The error message is as follows
=============== mdp and run steps=================
Complex Water
min01.mdp min01.mdp
min02.mdp min02.mdp
min03.mdp nve.mdp
nve.mdp nvt.mdp
nvt.mdp npt.mdp
npt.mdp md.mdp
md.mdp -

================= Input ligands ==================
Name Molecule Topology
FXR_12 [H]c1c([H])c([H])c(S(=O)(=O)N2C([H])([H])C([H])([H])C3(C(=O)N(C([H])([H])c4c([H])c([H])c(C(=O)[O-])c([H])c4[H])c4c([H])c([H])c(Br)c([H])c43)C([H])([H])C2([H])[H])c(Cl)c1[H] lig_dock/FXR_12.itp
FXR_74 [H]c1c([H])c([H])c(S(=O)(=O)N2C([H])([H])C([H])([H])C3(C(=O)N(C([H])([H])c4c([H])c([H])c(C(=O)[O-])c([H])c4[H])c4c([H])c([H])c(Br)c([H])c43)C([H])([H])C2([H])[H])c(Br)c1[H] lig_dock/FXR_74.itp
FXR_76 [H]c1c([H])c([H])c(S(=O)(=O)N2C([H])([H])C([H])([H])C3(C(=O)N(C([H])([H])c4c([H])c([H])c(C(=O)[O-])c([H])c4[H])c4c([H])c([H])c(Br)c([H])c43)C([H])([H])C2([H])[H])c([H])c1[H] lig_dock/FXR_76.itp
FXR_84 [H]c1c([H])c([H])c(S(=O)(=O)N2C([H])([H])C([H])([H])C3(C(=O)N(C([H])([H])c4c([H])c([H])c(C(=O)[O-])c([H])c4[H])c4c([H])c([H])c(Br)c([H])c43)C([H])([H])C2([H])[H])c(F)c1[H] lig_dock/FXR_84.itp
FXR_85 [H]c1c([H])c([H])c(S(=O)(=O)N2C([H])([H])C([H])([H])C3(C(=O)N(C([H])([H])c4c([H])c([H])c(C(=O)[O-])c([H])c4[H])c4c([H])c([H])c(Br)c([H])c43)C([H])([H])C2([H])[H])c(C([H])([H])[H])c1[H] lig_dock/FXR_85.itp
FXR_88 [H]c1c([H])c([H])c(S(=O)(=O)N2C([H])([H])C([H])([H])C3(C(=O)N(C([H])([H])c4c([H])c([H])c(C(=O)[O-])c([H])c4[H])c4c([H])c([H])c(Br)c([H])c43)C([H])([H])C2([H])[H])c(C(F)(F)F)c1[H] lig_dock/FXR_88.itp

================= Perturbations ==================
State A State B
FXR_12 FXR_74
FXR_12 FXR_76
FXR_12 FXR_84
FXR_12 FXR_85
FXR_12 FXR_88

Reading receptor data from receptor_data/5q17.pdbqt as a pdb file
=================== Poses read ===================
Name File Details
FXR_12 FXR_12.pdbqt cluster 1
================== Align poses ===================
Molecule FXR_12 aligned
================ Working on pairs ================
Perturbation Pose Coordinates
============ Working on FXR_12-FXR_74 ============

=================== STACK INFO ===================
File "/public/home/public/software/PyAutoFEP/PyAutoFEP/prepare_dual_topology.py", line 4480, in
savestate=progress_data, verbosity=arguments.verbose)
File "/public/home/public/software/PyAutoFEP/PyAutoFEP/os_util.py", line 558, in wrap_trace
return f(*args, **kwargs)
File "/public/home/public/software/PyAutoFEP/PyAutoFEP/merge_topologies.py", line 657, in constrained_embed_dualmol
save_state=savestate, verbosity=verbosity, mcs_type=mcs_type)
File "/public/home/public/software/PyAutoFEP/PyAutoFEP/os_util.py", line 558, in wrap_trace
return f(*args, **kwargs)
File "/public/home/public/software/PyAutoFEP/PyAutoFEP/merge_topologies.py", line 545, in constrained_embed_shapeselect
randomseed=randomseed, verbosity=verbosity, **kwargs)
File "/public/home/public/software/PyAutoFEP/PyAutoFEP/os_util.py", line 558, in wrap_trace
return f(*args, **kwargs)
File "/public/home/public/software/PyAutoFEP/PyAutoFEP/merge_topologies.py", line 98, in constrained_embed_forcefield
msg_verbosity=os_util.verbosity_level.error, current_verbosity=verbosity)
File "/public/home/public/software/PyAutoFEP/PyAutoFEP/os_util.py", line 313, in local_print
formatted_string = '\n{:=^50}\n{}{:=^50}\n'.format(' STACK INFO ', ''.join(traceback.format_stack()),
=================== STACK INFO ===================
[ERROR] Failed to match molecule [H]c1c([H])c([H])c(S(=O)(=O)N2C([H])([H])C([H])([H])C3(C(=O)N(C([H])([H])c4c([H])c([H])c(C(=O)[O-])c([H])c4[H])c4c([H])c([H])c(Br)c([H])c43)C([H])([H])C2([H])[H])c(Br)c1[H] to core [#8]#6[#6]1~[#6][#6]#6[#6][#6]~1 in constrained_embed_forcefield. Cannot continue
Traceback (most recent call last):
File "/public/home/public/software/PyAutoFEP/PyAutoFEP/prepare_dual_topology.py", line 4480, in
savestate=progress_data, verbosity=arguments.verbose)
File "/public/home/public/software/PyAutoFEP/PyAutoFEP/os_util.py", line 558, in wrap_trace
return f(*args, **kwargs)
File "/public/home/public/software/PyAutoFEP/PyAutoFEP/merge_topologies.py", line 657, in constrained_embed_dualmol
save_state=savestate, verbosity=verbosity, mcs_type=mcs_type)
File "/public/home/public/software/PyAutoFEP/PyAutoFEP/os_util.py", line 558, in wrap_trace
return f(*args, **kwargs)
File "/public/home/public/software/PyAutoFEP/PyAutoFEP/merge_topologies.py", line 545, in constrained_embed_shapeselect
randomseed=randomseed, verbosity=verbosity, **kwargs)
File "/public/home/public/software/PyAutoFEP/PyAutoFEP/os_util.py", line 558, in wrap_trace
return f(*args, **kwargs)
File "/public/home/public/software/PyAutoFEP/PyAutoFEP/merge_topologies.py", line 99, in constrained_embed_forcefield
raise ValueError("Molecule doesn't match the core")
ValueError: Molecule doesn't match the core

I also referred to Issues 14, but I have no idea. Could you please tell me how to solve this problem and how to use pdbqt correctly for input?
Many thanks

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions