-
Notifications
You must be signed in to change notification settings - Fork 385
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
Add standard documented way how to reduce structure to a subset of chains #1003
Comments
Thanks for the feedback @rdk . I see your point, especially about the lack of functionality for multiple chains. I think adding such method in StructureTools would be a good solution. There could be a few signatures Structure getReducedStructure(Structure s, List<String> chainIds);
Structure getReducedStructure(Structure s, List<String> chainIds, double thresholdToIncludeBoundNonPolymers);
Structure getReducedStructure(Structure s, List<Integer> entityIds);
Structure getReducedStructure(Structure s, List<Integer> entityIds, double thresholdToIncludeBoundNonPolymers); |
I can implement it and send it as PR with tests. @josemduarte, is it a contribution you would be interested in? If so, which branch / milestone shoud I target? I was wondering if @aalhossary might have some input on that, since he was the one who removed the old Structure reduction logic is currently implemented in For start I could do the following:
However, it looks like the implementation of the other 3 methods
would be only possible by duplicating & modifiing the reductionn logic from |
...while setting all the metadata consistently and handling ligands intuitively (i.e. keeping the adjacent/bound ligands in).
The closest approximation of this functionality can be done via
new StructureName("4hhb.A").reduce(structure)
, but:StructureTools
, would go a long way.Some context to the point 3.: In version 5.4 there used to be a method
Structure getReducedStructure(Structure s, String chainId)
inStructureTools
(also limited to a single chain), but it was removed in favor of usingStructureIdentifier/StructureName
framework. However, this use is not documented (except in the tests, seeTestStructureName.java
) and furthermore it doesn't seem very intuitive to look into class calledStructureName
if I want to manipulate a structure's content.The implementation of the method
getReducedStructure()
in version 5.4 shows that the process is quite involved and that it is easy to get it wrong if it is left for the users of the library.If you decide to add this functionality, I'm happy to help with implementation/testing.
The text was updated successfully, but these errors were encountered: