RMSD filtering module #1550
Conversation
| self.finish_with_error( | ||
| "Models have been clustered!" | ||
| "[rmsdfilter] cannot be performed after clustering - " | ||
| "filtering individual models after clustering would leave " | ||
| "remaining models with stale and inconsistent cluster assignments." |
There was a problem hiding this comment.
I would simply overwrite the attribute and go on
There was a problem hiding this comment.
Why not? Then I guess models have to be renamed to smth like model_filter_1.pdb
There was a problem hiding this comment.
Not necessary, e.g:
seletopdoes not generate new namesfilterdoes not generate new names- scoring modules that do not change the coordinates do not generate new names, but rather pass the inputs to their outputs, and simply update the
scoreattribute
| if reference.stat().st_size == 0: | ||
| raise ValueError(f"Reference file is empty: {reference}") |
There was a problem hiding this comment.
Yes, it checks that the file is indeed empty, but not that it contains coordinates. Could be composed of REMARKS or not even be a pdb file
There was a problem hiding this comment.
Just checked that case - libalign already handles it with error message "Please check the input file and queried filterings.”
But also now that I look in the code - may-be it’s better to remove this check entirely and instead in libpdb.py > handle_input_reference > line 570
for line in wc_return.split("\n"):
if "No. models" in line:
nb_models = int(line.strip().split()[-1])
break
add lines to read the number in line No. atoms and if 0 - exit with message like “No atoms found in the reference file, please check”. What do you think?
|
Do you see an option for user to chose between "global rmsd", or "l-rmsd" or "il-rmsd" or "fnat" or "dockq" too ? |
Can you think of how those metrics would be useful for filtering? For RMDS the idea is to remove model from the workflow - since no other way to do that without manual tweaking, but I don’t see how filtering by fnat or dockq would be useful, so not sure if it’s worth the time. Maybe let’s discuss this Wednesday? Will be easier in person |
You are about to submit a new Pull Request. Before continuing make sure you read the contributing guidelines.
Checklist
CHANGELOG.mdis updated to incorporate new changesSummary of the Pull Request
Added new module. It is based on caprieval, tho I moved align_func to before jobs are created.
Also, as discussed, moved
find_ffandhandle_input_referencefromcaprieval/__init__.pytolibpdb.pyandlibstructure.pyrespectively. And added check on empty references file to handle_input_reference.Related Issue
#1525
Additional Info