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

Issue encountered while running pyrod - Seeking guidance #11

Open
forever-up opened this issue Aug 23, 2023 · 10 comments
Open

Issue encountered while running pyrod - Seeking guidance #11

forever-up opened this issue Aug 23, 2023 · 10 comments

Comments

@forever-up
Copy link

Hi David,
I hope this message finds you well. Firstly, I would like to express my gratitude for developing the Pyrod on GitHub. I recently downloaded and attempted to reproduce the project, but encountered an issue that I need assistance with.I use gromacs for dynamics simulations to generate trajectories,
image

Problem Description:
While executing the project, I encountered the following error:
File "/home/ai/anaconda3/envs/pyrod/lib/python3.8/multiprocessing/process.py", line 315, in _bootstrap
self.run()
File "/home/ai/anaconda3/envs/pyrod/lib/python3.8/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "trajectory.py", line 68, in trajectory_analysis
hd_atomids, hd_types, hd_hydrogen_atomid_lists = hd_selection(main_atoms)
File "pyrod/pyrod_lib/trajectory_helper.py", line 85, in hd_selection
return np.array(atomids), np.array(types), np.array(hydrogen_atomid_lists)
ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 1 dimensions. The detected shape was (294,) + inhomogeneous part.
Processing results.
Traceback (most recent call last):
File "pyrod.py", line 130, in
dmif, partners = post_processing(results_list, total_number_of_frames)
File "grid.py", line 85, in post_processing
dmif = results[0][0]
IndexError: list index out of range
Expected assistance:
I would greatly appreciate any guidance or suggestions you can provide to help me overcome this problem. If there are specific changes I need to make in order to successfully execute the project, please let me know. Additionally, if there is any further information or logs that would be helpful for you in troubleshooting this issue, please advise.

Thank you for your time and support. Your expertise and guidance will be immensely valuable to me. Please feel free to reach out to me if you require any additional information or have any further questions.

Best regards,

@schallerdavid
Copy link
Collaborator

Hi @forever-up ,

the center and edge lengths parameters look like the defaults. Did you run the test_grid.cfg beforehand with the same parameters and found that the generated grid covers your binding pocket of interest over the entire trajectory?

Maybe the default parameters analyze a region without any atoms of your simulation.

Best regards,
David

@martinlju
Copy link

Hello,

since I've recently also started using Pyrod, I might be able to help. The issue is most likely with the version of numpy. I had the same error at first, but the program worked after downgrading from 1.24.3 to 1.21.1.

Regards,
Martin

@forever-up
Copy link
Author

Hello,

since I've recently also started using Pyrod, I might be able to help. The issue is most likely with the version of numpy. I had the same error at first, but the program worked after downgrading from 1.24.3 to 1.21.1.

Regards, Martin

Hi Martin,

Thank you for your help! Downgrading numpy from version 1.24.3 to 1.21.1 did the trick, and now the program works perfectly.

I really appreciate your assistance!

Best regards,
forever-up

@forever-up
Copy link
Author

Hi @forever-up ,

the center and edge lengths parameters look like the defaults. Did you run the test_grid.cfg beforehand with the same parameters and found that the generated grid covers your binding pocket of interest over the entire trajectory?

Maybe the default parameters analyze a region without any atoms of your simulation.

Best regards, David
Hi David,

Oh, what a pleasant surprise to receive your reply!I have successfully resolved the issue by downgrading numpy. By doing so, I was able to overcome the problem completely.

I cannot thank you enough for your prompt response and invaluable assistance!

Best regards,
forever-up

@forever-up
Copy link
Author

Dear David,
I am writing to seek your assistance and guidance regarding the usage of LigandScout. Specifically, I have encountered an issue while working with protein structures and importing the super_pharmacophore.pml file.
In LigandScout, when I import a protein structure, I am able to visualize it successfully. However, when I try to import the super_pharmacophore.pml file, I face a problem where these two files cannot be displayed simultaneously on the same page. Currently, the page only allows for the display of one structure at a time.The files of super_pharmacophore.pml and dmif can be displayed in the same page, I want to realize the protein structure, super_pharmacophore.pml and dmif files are displayed in the same page, to achieve the display similar to the following figure.
Snipaste_2023-09-06_11-28-49

I would greatly appreciate it if you could provide some insights or suggestions on how to overcome this limitation.

Best regards,

@schallerdavid
Copy link
Collaborator

Yes, there is a workaround :).

Open your protein structure in the Structure-based view, I think then you need to double click on the Macromolecule label on the left to mark the protein (it should get a little darker if I remember correctly). With some function hidden in the tabs on top you can then create a binding site of your selection, i.e. the entire protein. A yellow box should appear, if you click on it you should get into the binding site view.

Now you can load the different dMIFs and can visualize them together with the protein. You can add the super_pharmacophore by opening it in the Screening view and then copying it over to the Structure-based view.

Best regards,
David

@forever-up
Copy link
Author

Dear David,
I have been utilizing the pharmacophore generation feature to create a super pharmacophore. Once generated successfully, my intention was to proceed with generating a Combinatorial Library based on this super pharmacophore. However, I faced a problem where the system indicated that zero pharmacophores were generated during the process.

Snipaste_2023-09-12_13-58-18
22

Thank you in advance for your time and support. I am looking forward to your response and resolving this issue.

Best regards,

@schallerdavid
Copy link
Collaborator

Dear @forever-up ,

it is critical to condense the super_pharmacophore to the most important features first before creating a combinatorial library. Did you have a look at this issue #3 ? It explains the different steps.

Best regards,
David

@forever-up
Copy link
Author

Dear David,
I load the "super_pharmacophore" into the binding site in LigandScout and than add the respective dmifs, and reduce the super_pharmacophore to about ten chemical features. Then taking the selected pharmacophore "test.pml" as input to library.cfg,execute the ' pyrod library.cfg' command but outputting 0 chemical features, the newly generated template_pharmacophore.pml contains exactly the same pharmacophore as it did before the process.

1

Best regards

@schallerdavid
Copy link
Collaborator

May it be that the selected features do not allow a combination with the settings in the library.cfg file? For example, if you do not have a positive or negative ionizable feature in your condensed pharmacophore but use the settings above, there wouldn't be a single valid combination, since you require exactly 1 ionizable interaction.

Another problem might be the 5 different hydrogen bond types generated by pyrod, i.e. hydrogen bond donor, hydrogen bond acceptor, double donor, double acceptor and mixed donor/acceptor. If pyrod pharmacophore is set to true each combination will be evaluated for completeness of the respective features, for example a double donor requires to have the two hydrogen bond donors in the feature combination. This means that in the process of deleting hydrogen bond features from the super_pharmacophore, you need to be careful that you always delete both features for the double donors, double acceptors and mixed donor/acceptors. You will recognize those by the same projection point, i.e., double donors will originate from the same coordinates. An easy option to test this hypothesis would be to set pyrod pharmacophore to False. However, this will lead to feature combination where these "double features" can be split, e.g., you may have only one of the donors of a double donor in a feature combination.

Rather complex answer :), I hope it still helps

Best regards,
David

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

No branches or pull requests

3 participants