add caprifilter and move functions to libcapri.py#1550
Conversation
|
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 |
|
It would be amazing if somneone could take a look at this PR - to make sure it’s alright before I start on new tests and haddock user manual |
|
Failing tests ( Guess it will be back to noramal soon, as Rodrigo fixes the lastest "tweak CI” PR |
caprifilter and move functions to libcapri.py
rvhonorato
left a comment
There was a problem hiding this comment.
good job moving the functions around, having a libcapri is a good change.
as for the caprifilter some parts of the code are very "noisy" and could be written in a leaner more direct way but it's all correct as far as I can read it.
I also made some comments but I see no blocking issues, looks good to me as is.
|
Will merge this now, and fix iter guard for capri* modules in corresponding PR |
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
Making of a caplifilter module, which can filter models based on multiplt CAPRI metrics.
CAPRI metrics calculation are the same as in caprieval, so shared fuctions are moved to libcapri.
caprifilter calculates requested metrcis, filters models, writes caprifilter.tsv with kept models, caprifilter_ss.tsv that is basically a copy of capri_ss.tsv, and, if enabled by user, caprifilter_full.tsv, where all modes are listed along with mertics and kept/filtered status.
Related Issue
#1525
Additional Info
Moved find_ff to libstructure, and a handle_input_reference to libpdb. Also had to edit each file/test that was calling functions from capri.py to correct it to libcapri - this is why e.g. alascan is in modified files