Skip to content

automated toppar generation for unknown ligands #1475

@rvhonorato

Description

@rvhonorato

Desired feature/enhancement

automated toppar generation for ligands

Motivation

Currently the code expects the user to input an externally obtained .top/.param file that represents a given small molecule. This is good because it gives the user the option to input custom files specific to their case but it also adds an extra step needed before running our application. We could instead automatically generate the topologies and parameters when user does not provide them.

Description

One way to do it is to extend topoaa:

if self.params["ligand_top_fname"]:
custom_top = self.params["ligand_top_fname"]
self.log(f"Using custom topology {custom_top}")
libpdb.sanitize(
model,
overwrite=True,
custom_topology=custom_top,
)
else:
libpdb.sanitize(model, overwrite=True)

and in the else branch

else:
+ top, par: list[str]: libligand.identify_hetatms()
+ if top:
+    libpdb.sanitize(model, overwrite=True, custom_topology=top)
+    break
    libpdb.sanitize(model, overwrite=True)

This can be easily done using haddocking/prodrg and putting the functions in a new libligand

Additional context

I started working on adding this functionality to wenmr.science.uu.nl/haddock3 but it's better if the source code can handle this by itself without relying on an external feature, so it makes more sense for this to exist inside haddock3

Metadata

Metadata

Assignees

Labels

enhancementImproving something in the codebasem|topoaatopoaa module

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions