Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Writing maps shouldn't require a ligand #382

Open
pslacerda opened this issue Feb 2, 2025 · 3 comments · May be fixed by #383 or #384
Open

Writing maps shouldn't require a ligand #382

pslacerda opened this issue Feb 2, 2025 · 3 comments · May be fixed by #383 or #384

Comments

@pslacerda
Copy link

pslacerda commented Feb 2, 2025

Hi,

I'm optimizing my workflow for speed and observed that I should use precomputed vina/vinardo maps.

The task is done by first computing maps for the target receptor, then following by application of maps in batch mode. The problem is that the command vina requires the user (me) to provide the --ligand or --batch option if I want to --write-maps. This isn't reasonable.

I'm using v1.2.5 by command line (not Python) because I want Windows support and can't find v1.2.6 on Anaconda builds.

A limitation I observed in the --batch mode is that it requires to pass many arguments, one for each ligand to be tried. This easily reaches the command line length limit, which are 2097152 and 830473 characters on Fedora Linux 41 and Windows, respectively. It sould be supported another way to enable batch processing which don't relies on command line, maybe iterating over contents of a folder.

I'm blaming the if-elif at

if (vm.count("ligand")) {
and
} else if (vm.count("batch")) {
not having one more elif clause with a single v.write_maps(out_maps); call. The v.set_ligand_from_file(ligand_names); shouldn't be required for such cases. Also, there are multiple calls to v.write_maps(out_maps); indicating a confusing logic (in my opinion).

I'd like to work on a pull request on this issue, it's feasible?

Best Regards,
Pedro

@diogomart
Copy link
Member

Hi,

I agree that --write_maps shouldn't require a ligand. If you open a PR for that it would be appreciated.

About --batch, it could take either the directory name and then find the files, or explicit filenames. This functionality exists in AutoDock GPU. It is also possible to use the python bindings for batch docking, just loop over the ligands and dock one at a time. If you open a PR for this please make it separate from the write_maps PR.

Thank you for looking into this.

@pslacerda
Copy link
Author

Just found a Github bug! It will close this issue as soon as any one of these PR get accepted. In this particular occasion both should got into to close this issue.

Image

@pslacerda
Copy link
Author

Sorry, my bad, I mixed the PRs. I'll touch this in a few days.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants