Giter Club home page Giter Club logo

lambda-science / impatient Goto Github PK

View Code? Open in Web Editor NEW
6.0 1.0 0.0 19.19 MB

IMPatienTπŸ—‚οΈ: an integrated web application to digitize, process and explore multimodal patient data. Demo version deployed at: https://impatient.lbgi.fr/

Home Page: https://impatient.lbgi.fr/

License: GNU Affero General Public License v3.0

Shell 0.80% Python 63.69% HTML 17.52% CSS 0.86% JavaScript 9.45% Mako 0.18% Jupyter Notebook 7.00% Dockerfile 0.33% Makefile 0.17%
python patient-database vizualisation annotation flask webapp image medecine disease formating

impatient's Introduction

Hello ! 🐍

I'm Corentin Meyer. Currently AI Engineer at Alcatel-Lucent Enterprise, I have a PhD in biomedical AI.

At ALE I work on developping our internal generative AI solutions (LLMs) to support our company internal use-cases. I built and manage our generative AI initiative end to end: from the idea to the PoC up to the industralisation on AWS. I have a broad role as main technical expert and developer while maintaining good cross-departement communication and translating business requirement into technical implementation. On the side I also develop and maintain more classical AI models for sales & operations units.

Previously my research focused on applying cutting-edge AI techniques to analyze patient data for genetic diseases, specifically congenital myopathies. I applied modern artificial intelligence techniques to analyze data of patients affected by a family of genetic diseases (congenital myopathies). I've build three open sources tools:

  • NLMyoπŸ”§: a toolbox leverage Large Language Models (LLMs such as ChatGPT) to exploit histology reports
  • MyoQuantπŸ”¬: a tool to quantify pathological features on muscle biopsies image
  • IMPatienTπŸ—‚οΈ: a patient database tool to annotate, process and explore patient biopsy text reports

You can find all way to reach me and see my work by accessing my website: cmeyer.fr. I also run a blog where I try to communicate on the things I'm working on at cmeyer.fr/blog/

NLMyo Banner MyoQuant Banner IMPatienT Banner

Here you can find a tree of all my GitHub projects:

🐍 Corentin Meyer
┣━━ πŸ“¦ Main Projects
┃   ┣━━ myoquantπŸ”¬          - automatically quantify pathological features in muscle fiber histology images
┃   ┣━━ nlmyoπŸ”§             - toolbox to leverage LLMs to exploit histology text reports
┃   ┣━━ impatientπŸ—‚οΈ         - web application to digitize, process and explore multimodal patient data
┃   ┣━━ myoquant-streamlit  - web demo of myoquant using streamlit
┃   ┣━━ streamline          - fork of the Streamline autoML pipeline for multiclass classification
┃   ┣━━ primate proteins    - analysis of gene prediction errors in the proteome of 11 primates
┃   ┗━━ drosophila proteins - analysis of gene prediction errors in the proteome of drosophilas
┣━━ πŸ› οΈ Work In Progess
┃   ┣━━ thesis              - my thesis in writing
┃   ┣━━ predex              - train and visualize learning classier systems (lcs) for explainable models
┃   ┗━━ dnd-qaπŸ—‘οΈ           - chatbot to answer questions about dungeons and dragons spells
┣━━ πŸ”— My Websites
┃   ┣━━ cmeyer.fr           - personal linktree
┃   ┣━━ cmeyer.fr/blog      - personal blog
┃   ┣━━ impatient.lbgi.fr   - impatient web demo
┃   ┣━━ lbgi.fr/MyoQuant    - myoquant web demo
┃   ┣━━ lbgi.fr/NLMyo       - nlmyo web demo
┃   ┗━━ status.cmeyer.fr    - website status page
┣━━ πŸ“š Teaching and Internships
┃   ┣━━ ml intro lecture    - 1st machine-learning introduction lecture at the biotechnology school of strasbourg (esbs)
┃   ┣━━ ml 1st practical    - 1st machine-learning practical at the esbs
┃   ┣━━ ml 2nd practical    - 2nd machine-learning practical at the esbs
┃   ┣━━ afaf intern         - code for afaf internship
┃   ┗━━ ines intern         - code for ines and jeremy internship
┗━━ ⚰️ Dead and old projects
    ┣━━ pcr-primer-finer    - tool to find optimal primers for pcr
    ┣━━ genetics            - a web application for genetic sequence analysis
    ┣━━ genetics-gui        - a gui app. for genetic sequence analysis
    ┣━━ huntington-rnaseq   - hungtington disease RNA-seq analysis internship
    ┗━━ twitter-bot         - small twitter bot to tweet pictures of cute shibas

Follow me on twitter @corentinm_py and on my website cmeyer.fr

impatient's People

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

impatient's Issues

[FEATURE] Improving Dashboard Module

Backlog of ideas to improve the dashboard module:

  • Don't re-do all calculations and viz when visiting the page, only trigger it on ontology change or new reports.

Delete Legacy Code

Delete legacy code, config files and text that will not be use for publication.

[FEATURE] Improving Vocabulary Module

Backlog of ideas to improve the vocabulary module:

  • Switch lang button should become FRA/ENG buttons (two sepearates buttons), might use JSTree metadata field to check the current vocab language
  • Add a "image annotation" tickbox as nodes properties (boolean) to show or not on image annotation module

[FEATURE] META Improvement

Backlog of ideas to for META improvement (structure, deployment...):

  • Add Admin Interface to create accounts
  • Remove NGINX Cache or try with production settings (to fix images issues ?)
  • Might add a role-base / user-based gestion of data

Module 3: Enhance

Modify Show Segmentation to Button
Modify Blurring parameters to a single value
Modify tag list to Standard vocabulary part "image tagging"
If classifier is not none load it

Migrate to Conda ENV

Would probably be better to migrate to a conda env for more cross-platform compatibility.

Module 1: Simplify Fields

no distinction gene / gene datamined
sort genes
show un-asigned genes
find complete gene list
synonymes + other lang

[FEATURE] Improving Image Module

Backlog of ideas to improve the image module:

  • Find out why sometimes annotations don't show up on refresh, same question for image
  • Find out why the layout doesn't get updated when new terms are added (remove cache ?)
  • Fix the form image upload issue when modifying data (New Form ?)
  • Load previous model for new images ?
  • Simplify code base

Module 4: Enhance

Add BOQA Results and UNCLEAR reclassification.
For each report store prediction in DB so not always calculated

Module 2: Enhance

Per trms genes: show all and marks linked as colored
Changer info terms de champs Γ  HTML classique
Ajouter champs gene suspectΓ©, modifier diagnosed as tag list

[Security] IMPatienT v1.5.0 Stored Cross-Site Scripting (XSS) - CVE-2023-23637

A Security Advisory has been raised for IMPatienT v1.5.0 (CVE-2023-23637):

Description:
IMPatienT v1.5.0 allows Stored Cross-Site Scripting (XSS) via onmouseover in certain text fields within a PATCH /modify_onto request.
This may allow attackers to steal Protected Health Information (PHI).

image

Suggested Fix:
Consider sanitizing user input parameters by removing all non-compliant characters. Additionally, you could consider encoding the user input using HTML or URL methods.

Reference:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-23637
https://nvd.nist.gov/vuln/detail/CVE-2023-23637
https://owasp.org/www-project-top-ten/2017/A7_2017-Cross-Site_Scripting_(XSS)

Payload:

PATCH /modify_onto HTTP/1.1
Host: 127.0.0.1:5000
Content-Length: 2218
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.5414.75 Safari/537.36
Origin: http://127.0.0.1:5000/
Referer: http://127.0.0.1:5000/ontocreate
Connection: close

[{"id":"MHO:000001","text":"Sample Keyword","icon":true,"li_attr":{"id":"MHO:000001"},"a_attr":{"href":"#","id":"MHO:000001_anchor"},"state":{"loaded":true,"opened":true,"selected":false,"disabled":false},"data":{"description":"","synonymes":"","phenotype_datamined":"","gene_datamined":"","alternative_language":"Sample Keyword","hex_color":"#c7ef34","hpo_datamined":"","correlates_with":"","image_annotation":false},"parent":"#"},{"id":"MHO:000004","text":"Keyword Image Annotation","icon":true,"li_attr":{"id":"MHO:000004"},"a_attr":{"href":"#","id":"MHO:000004_anchor"},"state":{"loaded":true,"opened":false,"selected":true,"disabled":false},"data":{"description":"","synonymes":"","phenotype_datamined":"UNCLEAR","gene_datamined":"N/A","alternative_language":"","correlates_with":"","image_annotation":true,"hex_color":"#77e3a4","hpo_datamined":""},"parent":"MHO:000001"},{"id":"MHO:000005","text":"Keyword Image Annotation 2<a onmouseover=alert('XSS')>XSS</a>","icon":true,"li_attr":{"id":"MHO:000005"},"a_attr":{"href":"#","id":"MHO:000005_anchor"},"state":{"loaded":true,"opened":false,"selected":false,"disabled":false},"data":{"description":"","synonymes":"","phenotype_datamined":"","gene_datamined":"","alternative_language":"","correlates_with":"","image_annotation":true,"hex_color":"#094f6a","hpo_datamined":""},"parent":"MHO:000001"},{"id":"MHO:000002","text":"Sample Keyword Child","icon":true,"li_attr":{"id":"MHO:000002"},"a_attr":{"href":"#","id":"MHO:000002_anchor"},"state":{"loaded":true,"opened":false,"selected":false,"disabled":false},"data":{"description":"","synonymes":"","phenotype_datamined":"","gene_datamined":"","alternative_language":"","correlates_with":"","image_annotation":false,"hex_color":"#14cd17","hpo_datamined":""},"parent":"MHO:000001"},{"id":"MHO:000003","text":"Sample Keyword Child 2","icon":true,"li_attr":{"id":"MHO:000003"},"a_attr":{"href":"#","id":"MHO:000003_anchor"},"state":{"loaded":true,"opened":false,"selected":false,"disabled":false},"data":{"description":"","synonymes":"","phenotype_datamined":"","gene_datamined":"","alternative_language":"","correlates_with":"","image_annotation":false,"hex_color":"#d9eab9","hpo_datamined":""},"parent":"MHO:000001"}]

[FEATURE] Improving Report Module

Backlog of ideas to improve the report module:

  • Add a red X button to vocabulary terms overview
  • Add RegEx to prefill age, biopsy ID and date
  • Hide the debug modal
  • Add a modified patient hook in SQLite DB to redo visualisations automatically (and not always)

Visit

  • Mutation Field + Phenotype field
  • Re-use model for image
  • Tiff file convertion

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.