uab-cgds-worthey / DITTO-UI

Easy to use web interface for biologists to look for genetic variants and understand their deleteriousness using DITTO scores.
https://cgds-ditto.streamlit.app/
GNU General Public License v3.0
2 stars 0 forks source link

DITTO app #11

Closed tkmamidi closed 11 months ago

tkmamidi commented 11 months ago

The DITTO application provides a user-friendly interface for analyzing and interpreting genetic variants in build GRCh38 format (chr, pos, ref, alt). Leveraging the power of openCravat's API, DITTO seamlessly retrieves annotations for the input variant, enriching the analysis with valuable biological context.

At the core of DITTO lies the DITTO model, a robust explainable machine learning model trained to predict the deleteriousness score of a given variant. This score quantifies the likelihood of a variant being likely pathogenic.

To further enhance the interpretability of DITTO's predictions, the application employs SHAP (SHapley Additive exPlanations), a technique that provides detailed explanations for each prediction. These explanations reveal the specific features that contribute to the model's decision-making process, offering valuable insights into the variant's potential impact.

Please review -

ManavalanG commented 11 months ago

Streamlit cloud is using pip, not conda, to install the dependencies, as requirements.txt is used to supply dependencies. I would recommend matching env creation in readme to match the env used in streamlit cloud. If there are time concerns, at the least create an issue and then add a warning note in readme mentioning this discrepancy.

image

ManavalanG commented 11 months ago

As shown in the screenshot in another comment here, streamlit cloud spends significant amount of time cloning the repo, which is undesirable as it makes it harder to debug, develop and test when one has to spin up the webapp. As the files that were causing huge .git size are not needed anymore, it may be a good idea to remove them from git history if they are not needed again in the future.

Note that this is a recommendation and not a requirement. Please consult Brandon if you choose to scrub them from git history.

ManavalanG commented 11 months ago

Webapp's name in the browser tab shows up wrongly as DITTO4NF. image

ManavalanG commented 11 months ago

Including a short description in webapp for the following would be really helpful for the users:

ManavalanG commented 11 months ago

Nitpicking: Instead of listing the license as

GNU General Public License
Version 3, 29 June 2007

using GNU General Public License v3.0 is desirable. Year 2007 throws off people as it is not immediately clear what it means.

ManavalanG commented 11 months ago

Ditto's description in the webapp states A tool for exploring likely pathogenic variants.... Is it really limited to just the likely-pathogenic variants? Please clean up as needed.

ManavalanG commented 11 months ago

Reference base at hg38 position 1:2406478 is C. However when I input the reference as A, instead of displaying an error message, the webapp returns an output with ditto scores. Please check the error mechanism.

ManavalanG commented 11 months ago

The webapp says "Please feel free to contact us with any issues, comments, or questions". In addition, I would recommend linking it to ditto-ui's github as it provides a natural mechanism to create and follow issues.

ManavalanG commented 11 months ago

Nitpicking: Section Local Installation and Setup is a bit confusing. It discusses fetching the source code but it lists conda as a requirement. I would recommend cleaning up the section (content or/and title).

ManavalanG commented 11 months ago

I came across a bug when I choose new transcript from Choose a transcript: dropdown. Instead of displaying results for that particular transcript, all of the results disappear instead.

ManavalanG commented 11 months ago

Transcript selection works as expected now, but when the webapp is opened, it shows error message - AttributeError: st.session_state has no attribute "clicked". Did you forget to initialize it? More info: https://docs.streamlit.io/library/advanced-features/session-state#initialization

ManavalanG commented 11 months ago

Ready to be merged :)