How aadisrimenon/protmind-ai-upgraded works
ProtMind AI is a Streamlit application for analyzing one protein substitution and producing an explainable, downloadable report. The user supplies a UniProt accession, mutation, and sequence; the app then exposes data retrieval, feature comparison, mutation/network analysis, structure viewing, stability and geometry assessment, risk scoring, therapeutic-target lookup, and reporting as separate pages. Pages share inputs and computed results through Streamlit session state. The README documents all ten stages; several page implementations and backend sections were not sampled, so their internal call wiring is shown only where documented or evidenced.
Main entry points: app.py Session payload/results · backend.py Shared backend · 10_Clinical_Report.py Clinical report · 8_Explainable_AI.py Risk summary
Components 25
Analysis workflow
- Dashboard
app.py - User input
pages/1__User_Input.py - Data retrieval
pages/2_Data_Retrieval.py - Preprocessing
pages/3_Preprocessing.py - Mutation analysis
pages/4_Mutation_Analysis.py - Structure viewer
pages/5_Structure_Prediction.py - Stability assessment
pages/6_Thermodynamic_Stability.py - Geometry validation
pages/7_Stereochemical_Validation.py - Risk summary
pages/8_Explainable_AI.py
Analysis services
- Shared backend
backend.py - Feature extraction
backend.py - Pathogenicity estimate
backend.py - Interaction lookup
backend.py - Stability estimate
backend.py - Torsion calculation
backend.py - Composite risk
backend.py
Therapeutic and report
- Therapeutic targeting
pages/9_Therapeutic_Targeting.py - Clinical report
pages/10_Clinical_Report.py - PDF generation
backend.py
Session state
- Session payload/results
app.py
Other components
- Researcher
- UniProt
- AlphaFold
- STRING
- ChEMBL
Connections 40
- Researcher → User input: submits data
- Dashboard → Session payload/results: initializes state
- User input → Shared backend: validates and parses
- User input → Session payload/results: writes payload
- Data retrieval → Session payload/results: reads payload
- Data retrieval → Shared backend: requests records
- Shared backend → UniProt: queries metadata
- Shared backend → AlphaFold: fetches structure
- Shared backend → UniProt: checks variant
- Preprocessing → Session payload/results: reads payload
- Preprocessing → Shared backend: extracts features
- Mutation analysis → Session payload/results: reads and writes results
- Mutation analysis → Pathogenicity estimate: estimates impact
- Mutation analysis → Interaction lookup: looks up partners
- Pathogenicity estimate → UniProt: checks records
- Interaction lookup → STRING: queries interactions
- Structure viewer → Shared backend: fetches structure
- Structure viewer → AlphaFold: retrieves model
- Stability assessment → Feature extraction: extracts properties
- Stability assessment → Stability estimate: estimates ΔΔG
- Stability assessment → Session payload/results: writes results
- Geometry validation → Session payload/results: reads angles
- Torsion calculation → AlphaFold: uses coordinates
- Risk summary → Session payload/results: reads and writes results
- Risk summary → Feature extraction: gets features
- Risk summary → Pathogenicity estimate: gets estimate
- Risk summary → Stability estimate: gets stability
- Risk summary → Interaction lookup: gets partners
- Risk summary → Composite risk: computes score
- Therapeutic targeting → Shared backend: requests mechanisms
- Shared backend → ChEMBL: queries targets
- Therapeutic targeting → Session payload/results: writes results
- Clinical report → Session payload/results: reads results
- Clinical report → Feature extraction: fills missing features
- Clinical report → Pathogenicity estimate: fills missing estimate
- Clinical report → Stability estimate: fills missing stability
- Clinical report → Interaction lookup: fills missing partners
- Clinical report → Torsion calculation: fills missing angles
- Clinical report → Composite risk: fills missing score
- Clinical report → PDF generation: generates document