i-VRESSE / haddock3-webapp

Web app which is front-end for bartender and wraps workflow builder with haddock3 catalog
Apache License 2.0
1 stars 0 forks source link

Scoring scenario + refinement scenario + alascan page #140

Closed sverhoeven closed 1 month ago

sverhoeven commented 2 months ago

Fixes #138 Fixes #139 Fixes #143

To test upload https://github.com/haddocking/haddock3/blob/main/examples/scoring/data/T161-rescoring-ens.pdb

TODO

Scoring Scenario page localhost_3000_scenarios_scoring

Scoring Scenario result localhost_3000_jobs

Refinement scenario page 0 0 0 0_3000_jobs_9_browse (2)

Refinement scenario result 0 0 0 0_3000_jobs_9_browse

Alascan page 0 0 0 0_3000_jobs_5_analysis_alascan_8_1

sverhoeven commented 2 months ago

@VGPReys could you have a look at the screenshots?

And have a look at the constructed workflow at https://github.com/i-VRESSE/haddock3-webapp/blob/9ddb448553574c3a62e427d49ab883cd7a2a74d7/app/routes/scenarios.scoring.tsx#L58-L95

sverhoeven commented 2 months ago

@VGPReys

  1. How could I include scores of unclustered molecules, add caprieval before clustfcc?
  2. Should an user be allowed to set clustering parameters? if so which ones and how much?
VGPReys commented 2 months ago

@sverhoeven For the workflow, I would rather go for something like:

# =================================================================================== 
 # CAPRI Scoring example 
 # =================================================================================== 
 # The Critical Assessment of PRedicted Interactions (CAPRI) experiment 
 #  aims to do test methods that model macromolecular interactions in 
 #  blind predictions based on the three-dimensional structures of proteins. 
 # For more information, please visit: https://www.ebi.ac.uk/pdbe/complex-pred/capri/ 
 # =================================================================================== 
 run_dir = "${JOB_OUTPUT_DIR}" 

 # molecules to be scored (an ensemble PBD) 
 molecules = ${molecules} 

 # =================================================================================== 
 [topoaa] 
  tolerance = 10

 [emscoring] 
  tolerance = 10
 [caprieval] 

 [clustfcc] 
 min_population = 1
 plot_matrix = true 

 [seletopclusts] 
 top_models = 4

 [alascan]

 [caprieval] 

 # =================================================================================== 
2. Should an user be allowed to set clustering parameters? if so which ones and how much?

Yes, a user could be able to tune clustering parameters. I would make visible:min_population and clust_cutoff. Maybe also top_models and top_cluster from [seletopclusts].

amjjbonvin commented 2 months ago

Do we need alascan in this scenario?

Could be interesting, but then probably after caprieval?

VGPReys commented 2 months ago

I was thinking that I could bring interesting insights on what are the key components for the interaction. Not required. Also [contactmap] could be added, for even higher degree of analysis performed on the scoring set. You have the last words !

VGPReys commented 2 months ago

@sverhoeven Also, this scenario could handle multiple input files (up to 20).

VGPReys commented 2 months ago

ok @sverhoeven , after some discussion with Alex, we decided to:

But those two modules will be part of the refinement scenario.

sverhoeven commented 2 months ago

ok @sverhoeven , after some discussion with Alex, we decided to:

  • remove both [alascan] and [contactmap] from the scoring scenario, as it may generate too many plots and take too much time (we could expect user providing thousands of models)

But those two modules will be part of the refinement scenario.

OK, so refinement is another scenario, which is similar to https://github.com/haddocking/haddock3/blob/main/examples/refine-complex/refine-complex-test.cfg . I will create issue for it.

sverhoeven commented 2 months ago

Ah yes without mdscoring it takes 18 seconds for https://github.com/haddocking/haddock3/blob/main/examples/scoring/data/T161-rescoring-ens.pdb

sverhoeven commented 2 months ago
  • adding tolerance to make sure the workflow will terminate successfully.

tolerance is a expert parameter with default 0. So a user with only easy expertise level will get an error that they are not allowed to use that parameter.

The webapp uses same endpoint to upload workflow from scenario, build, upload pages. I can not have an endpoint that accepts parameters not part of the users level, because that could be misused.

What should I do?

  1. Do not set tolerance parameter when user has easy level, but do set when expert or guru
  2. Change default to 10
  3. Move tolerance to easy level

Where should I do it?

  1. In haddock3 defaults.yaml
  2. In workflow builder
  3. In haddock3 webapp,
sverhoeven commented 2 months ago

For now picked 1 for what and 3 for where, but this gives users with easy level worst results.

amjjbonvin commented 2 months ago

I would go for 2 and 1 :-)

sverhoeven commented 2 months ago

Some other PRs where merged into this branch, please review by focusing on functionality or this pr not the other prs.

sverhoeven commented 1 month ago

Sorry review is taking to long, merging it, review can be done on merge pr if needed.

github-actions[bot] commented 1 month ago

Please delete the images belonging to this Pull Request as they are no longer useful.

Goto versions page of each image, find version called pr-140, filter on tagged versions by clicking "N tagged" button in table header, click on ... button and select Delete version.