How sb-ncbr/pdbcharges_website works
PDBCharges is a web application for obtaining and viewing partial atomic charges on protein structures. Its documented scientific workflow prepares structures with added, optimized hydrogens and computes charges; the browser viewer displays charge annotations, sequence information, and structure controls. The Flask route, templates, and static scripts are present, but their detailed request flow is not shown in the excerpts, so those links are left unverified. Viewer component relationships and charge-property/theme registration are supported by sampled source.
Main entry points: behavior.ts Charge behavior · routes.py Flask routes · ViewerLayout.tsx Viewer layout · preset.ts Charge preset
Components 24
Web application
- Flask routes
app/routes.py - Web templates
app/templates - Web scripts
app/static
Charge computation
- Calculated structures
app/calculated_structures - Method parameters
app/parameters - Structure preparation
app/routes.py - Charge calculation
app/routes.py
Structure viewer
- Viewer entry
viewer/src/main.tsx - Molstar viewer
viewer/src/components/MolstarViewer.tsx - Viewer layout
viewer/src/components/ViewerLayout.tsx - Sequence view
viewer/src/components/SequenceView.tsx - Charge sequence
viewer/src/components/PdbChargesSequence.tsx - Viewer context
viewer/src/models/context-model.ts
Charge annotations
- Charge behavior
viewer/src/charges-extension/behavior.ts - Charge property
viewer/src/charges-extension/property.ts - Charge coloring
viewer/src/charges-extension/color.ts - Charge labels
viewer/src/charges-extension/labels.ts - Charge preset
viewer/src/charges-extension/preset.ts
Other components
- User
- Hydride
- MoleculeKit
- GFN-FF optimization
- GFN1-xTB
- Browser
Connections 24
- User → Flask routes: submits request
- Flask routes → Web templates: renders pages
- Flask routes → Structure preparation: starts preparation
app/routes.py - Structure preparation → Hydride: adds hydrogens
README.md - Structure preparation → MoleculeKit: prepares structure
README.md - Structure preparation → GFN-FF optimization: optimizes hydrogens
README.md - Flask routes → Charge calculation: starts calculation
app/routes.py - Charge calculation → GFN1-xTB: computes charges
README.md - Method parameters → Charge calculation: configures methods
- Charge calculation → Calculated structures: stores results
- Browser → Viewer entry: opens viewer
- Viewer entry → Molstar viewer: renders
viewer/src/main.tsx - Molstar viewer → Viewer layout: renders
viewer/src/components/MolstarViewer.tsx - Viewer layout → Sequence view: renders
viewer/src/components/ViewerLayout.tsx - Sequence view → Charge sequence: uses
viewer/src/components/SequenceView.tsx - Viewer layout → Viewer context: subscribes to
viewer/src/components/ViewerLayout.tsx - Viewer context → Charge behavior: registers extension
viewer/src/models/context-model.ts - Charge behavior → Charge property: registers provider
viewer/src/charges-extension/behavior.ts - Charge behavior → Charge coloring: registers theme
viewer/src/charges-extension/behavior.ts - Charge behavior → Charge labels: registers labels
viewer/src/charges-extension/behavior.ts - Charge behavior → Charge preset: registers preset
viewer/src/charges-extension/behavior.ts - Charge coloring → Charge property: reads charges
viewer/src/charges-extension/color.ts - Charge preset → Charge property: checks applicability
viewer/src/charges-extension/preset.ts - Charge preset → Charge coloring: selects theme
viewer/src/charges-extension/preset.ts