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

Have removeHeterogens() return the toDelete[] list? #315

Closed
Chance626 opened this issue Nov 3, 2024 · 5 comments
Closed

Have removeHeterogens() return the toDelete[] list? #315

Chance626 opened this issue Nov 3, 2024 · 5 comments

Comments

@Chance626
Copy link

Hello! I'm currently a graduate student at the Ohio State University in John Herbert's lab, and I am working on our group's Fragmentation software package. I am working on creating a way for users to give a PDB ID and have our software automatically pull the protein, protonate it, and then run the calculations that are requested. I'm loving your implementation of PDBFixer over openmm and am find both quite useful! My current workflow is thus:

get PDB.pdb -> 'fix' the structure using PDBFixer -> add Hydrogens with openmm -> run calculations

During the 'fixing' step I am removing the heterogens (keepWater=True) because the ligands/metals/etc. don't play nice with the addHydrogens() function, and removing the heterogens seemed easier than adding in a list of rules for the atoms that throw errors. Eventually, after the hydrogens are added I want to add the heterogens back in (maybe allowing for ligand substitutions). Currently, I ripped your logic for the removeHeterogens() to get the toDelete[] list which I can then add back in to the final modeller.

I am new to collaborative software packages and github, and don't know the etiquette about fair use, etc. I think my implementation would be streamlined by having the removeHeterogens() function return the toDelete[] list, but don't know if this is a desired or breaking functionality of PDBFixer? Ideally, when installing the fragment software I'd like to include PDBFixer as a dependency. Is there a best practice for long term use of this? Can I make a branch and merge with the trunk if the changes are found suitable? Should I make a branch and have our software pull from that branch? Am I think of how to use PDBFixer/Openmm incorrectly?

Any tips or insight would be greatly appreciated!

@peastman
Copy link
Member

peastman commented Nov 3, 2024

That sounds like a good idea. I'll make the change. Thanks!

@Chance626
Copy link
Author

Yay! Thank you for the speedy reply, much appreciated!!

@peastman
Copy link
Member

peastman commented Nov 4, 2024

The change is in #316. Can you take a look and confirm it's doing what you want?

@Chance626
Copy link
Author

Yes, that'd be perfect!

@peastman
Copy link
Member

peastman commented Nov 4, 2024

Thanks!

@peastman peastman closed this as completed Nov 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants