Clinical-Genomics / scout

VCF visualization interface
https://clinical-genomics.github.io/scout
BSD 3-Clause "New" or "Revised" License
152 stars 46 forks source link

Fix #4909 - Tavtigian Bayesian point sums #4920

Closed dnil closed 1 month ago

dnil commented 1 month ago

This PR adds a functionality: Bayesian point sums for an alternative ACMG classification, and temperature for VUS.

Screenshot 2024-10-08 at 21 29 13

Ok! I will brush up the visuals and add some tests, but kinda looks promising! 🌶️

Testing on cg-vm1 server (Clinical Genomics Stockholm) **Prepare for testing** 1. Make sure the PR is pushed and available on [Docker Hub](https://hub.docker.com/repository/docker/clinicalgenomics/scout-server-stage) 1. Fist book your testing time using the Pax software available at [https://pax.scilifelab.se/](https://pax.scilifelab.se). The resource you are going to call dibs on is `scout-stage` and the server is `cg-vm1`. 1. `ssh @cg-vm1.scilifelab.se` 1. `sudo -iu hiseq.clinical` 1. `ssh localhost` 1. (optional) Find out which scout branch is currently deployed on cg-vm1: `podman ps` 1. Stop the service with current deployed branch: `systemctl --user stop scout.target` 1. Start the scout service with the branch to test: `systemctl --user start scout@` 1. Make sure the branch is deployed: `systemctl --user status scout.target` 1. After testing is done, repeat procedure at [https://pax.scilifelab.se/](https://pax.scilifelab.se), which will release the allocated resource (`scout-stage`) to be used for testing by other users.
Testing on hasta server (Clinical Genomics Stockholm) **Prepare for testing** 1. `ssh @hasta.scilifelab.se` 1. Book your testing time using the Pax software. `us; paxa -u -s hasta -r scout-stage`. You can also use the WSGI Pax app available at [https://pax.scilifelab.se/](https://pax.scilifelab.se). 1. (optional) Find out which scout branch is currently deployed on cg-vm1: `conda activate S_scout; pip freeze | grep scout-browser` 1. Deploy the branch to test: `bash /home/proj/production/servers/resources/hasta.scilifelab.se/update-tool-stage.sh -e S_scout -t scout -b ` 1. Make sure the branch is deployed: `us; scout --version` 1. After testing is done, repeat the `paxa` procedure, which will release the allocated resource (`scout-stage`) to be used for testing by other users.

How to test:

  1. pick a variant, and classify it using the ACMG form
  2. starting with supporting (1 point) and moderate (2 points) tick through the VUS scale and notice it go from Ice cold (0, starting point) to Hot (5 points).
  3. Also check eg a Pathogenic Strong or Very Strong criteria and subtract single points with Supporting Benign criteria
  4. Try with a few modifiers to make sure the modified level is used on the heat scale
  5. click around to make sure the regular Richards ACMG classifier is not affected (the overall variant five level classification into class B-P from Tavtigian and Richards should be very similar - there are a few known exceptions, hence both shown).

Expected outcome: The functionality should be working Take a screenshot and attach or copy/paste the output.

Review:

codecov[bot] commented 1 month ago

Codecov Report

Attention: Patch coverage is 73.17073% with 11 lines in your changes missing coverage. Please review.

Project coverage is 84.78%. Comparing base (d7cb839) to head (b900ead). Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
scout/utils/acmg.py 71.05% 11 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #4920 +/- ## ========================================== - Coverage 84.81% 84.78% -0.03% ========================================== Files 320 320 Lines 19327 19362 +35 ========================================== + Hits 16392 16416 +24 - Misses 2935 2946 +11 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

dnil commented 1 month ago

Ok, beginning to like the style; let's see what you think! Screenshot 2024-10-09 at 10 49 47 Ahem, yes, test.

dnil commented 1 month ago

Ok, added tests, and "end states" outside VUS for P/LP and B/LB. Screenshot 2024-10-10 at 10 04 21 Screenshot 2024-10-10 at 10 01 12 Screenshot 2024-10-10 at 10 01 07 Screenshot 2024-10-10 at 10 08 28 Screenshot 2024-10-10 at 10 00 53 Screenshot 2024-10-10 at 10 00 47 Screenshot 2024-10-10 at 10 00 38 Screenshot 2024-10-10 at 10 00 30 Screenshot 2024-10-10 at 10 05 19 Screenshot 2024-10-10 at 10 01 22

sonarcloud[bot] commented 1 month ago

Quality Gate Passed Quality Gate passed

Issues
2 New issues
0 Accepted issues

Measures
0 Security Hotspots
0.0% Coverage on New Code
0.0% Duplication on New Code

See analysis details on SonarCloud

dnil commented 1 month ago

Yes, that is a clear possibility, but I want to see how this is received first. 😊