# ibisanmi1/pepphyschem-hl architecture

> Architecture diagram of the GitHub repository ibisanmi1/pepphyschem-hl, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/ibisanmi1/pepphyschem-hl
- Repository: https://github.com/ibisanmi1/pepphyschem-hl

## Overview

PepPhysChem-HL is a research platform for peptide physicochemical profiling and deep-learning half-life estimation, exposed through both a command-line interface and a Gradio web interface. Users submit a sequence or CSV/FASTA batch; the runtime prepares sequences and features, predicts half-life, optionally computes physicochemical profiles, and returns results and batch analyses. The graph includes the separate model-inference utility and major documented analysis outputs. Some internal wiring is based on the SOURCE INDEX and README; unsampled implementation details are not assumed.

Main entry points: [`run_PepPhysChem_HL.py`](https://github.com/ibisanmi1/pepphyschem-hl/blob/main/run_PepPhysChem_HL.py) (CLI pipeline), [`scripts/inference.py`](https://github.com/ibisanmi1/pepphyschem-hl/blob/main/scripts/inference.py) (Feature inference), [`src/data_processing.py`](https://github.com/ibisanmi1/pepphyschem-hl/blob/main/src/data_processing.py) (Input preparation), [`src/physicochemical_analyzer.py`](https://github.com/ibisanmi1/pepphyschem-hl/blob/main/src/physicochemical_analyzer.py) (Physchem profiling)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["User interfaces"]
  node_web["Web interface<br/>[app.py]"]
  node_cli["CLI pipeline"]
  node_infer["Feature inference<br/>[inference.py]"]
end

subgraph group_workflow["Prediction workflow"]
  node_prep["Input preparation<br/>[data_processing.py]"]
  node_embeddata["Embedding datasets"]
  node_filters["Sequence filters"]
  node_batchanalysis["Batch reports"]
end

subgraph group_engine["Analysis engine"]
  node_analyzer["Physchem profiling"]
  node_models["Neural models<br/>[models.py]"]
  node_embedmodels["Embedding models"]
  node_utils["Inference utilities<br/>[utils.py]"]
end

subgraph group_resources["Model resources"]
  node_dataset["Peptide datasets"]
  node_weights["Model checkpoints"]
  node_results["Result files"]
end

node_researcher(("Researcher"))
node_hf["Hugging Face Hub"]

node_researcher -->|"submits sequences"| node_web
node_researcher -->|"submits sequences"| node_cli
node_researcher -->|"requests predictions"| node_infer
node_web -.->|"loads weights"| node_weights
node_web -->|"downloads checkpoints"| node_hf
node_cli -->|"prepares embeddings"| node_embeddata
node_cli -->|"uses models"| node_embedmodels
node_cli -->|"profiles peptides"| node_analyzer
node_cli -->|"loads checkpoint"| node_weights
node_cli -->|"generates analyses"| node_batchanalysis
node_cli -->|"writes results"| node_results
node_prep -->|"extracts features"| node_analyzer
node_prep -->|"filters sequences"| node_filters
node_embeddata -->|"extracts descriptors"| node_analyzer
node_embeddata -->|"filters sequences"| node_filters
node_infer -->|"prepares features"| node_prep
node_infer -->|"runs predictions"| node_models
node_infer -->|"profiles inputs"| node_analyzer
node_dataset -.->|"supplies records"| node_prep
node_weights -.->|"parameterizes"| node_models

click node_web "https://github.com/ibisanmi1/pepphyschem-hl/blob/main/app.py"
click node_cli "https://github.com/ibisanmi1/pepphyschem-hl/blob/main/run_PepPhysChem_HL.py"
click node_infer "https://github.com/ibisanmi1/pepphyschem-hl/blob/main/scripts/inference.py"
click node_prep "https://github.com/ibisanmi1/pepphyschem-hl/blob/main/src/data_processing.py"
click node_embeddata "https://github.com/ibisanmi1/pepphyschem-hl/blob/main/src/embedding_datasets.py"
click node_filters "https://github.com/ibisanmi1/pepphyschem-hl/blob/main/src/modelling_filters.py"
click node_analyzer "https://github.com/ibisanmi1/pepphyschem-hl/blob/main/src/physicochemical_analyzer.py"
click node_models "https://github.com/ibisanmi1/pepphyschem-hl/blob/main/src/models.py"
click node_embedmodels "https://github.com/ibisanmi1/pepphyschem-hl/blob/main/src/embedding_models.py"
click node_utils "https://github.com/ibisanmi1/pepphyschem-hl/blob/main/src/utils.py"
click node_batchanalysis "https://github.com/ibisanmi1/pepphyschem-hl/blob/main/run_PepPhysChem_HL.py"
click node_dataset "https://github.com/ibisanmi1/pepphyschem-hl/blob/main/data/half_life_dataset.csv"
click node_weights "https://github.com/ibisanmi1/pepphyschem-hl/tree/main/checkpoints"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_web,node_cli,node_infer toneBlue
class node_prep,node_embeddata,node_filters,node_batchanalysis toneAmber
class node_analyzer,node_models,node_embedmodels,node_utils toneMint
class node_dataset,node_weights,node_results toneRose
class node_researcher,node_hf toneIndigo
```

## Components

### User interfaces

- [Web interface](https://github.com/ibisanmi1/pepphyschem-hl/blob/main/app.py): `app.py`
- [CLI pipeline](https://github.com/ibisanmi1/pepphyschem-hl/blob/main/run_PepPhysChem_HL.py): `run_PepPhysChem_HL.py`
- [Feature inference](https://github.com/ibisanmi1/pepphyschem-hl/blob/main/scripts/inference.py): `scripts/inference.py`

### Prediction workflow

- [Input preparation](https://github.com/ibisanmi1/pepphyschem-hl/blob/main/src/data_processing.py): `src/data_processing.py`
- [Embedding datasets](https://github.com/ibisanmi1/pepphyschem-hl/blob/main/src/embedding_datasets.py): `src/embedding_datasets.py`
- [Sequence filters](https://github.com/ibisanmi1/pepphyschem-hl/blob/main/src/modelling_filters.py): `src/modelling_filters.py`
- [Batch reports](https://github.com/ibisanmi1/pepphyschem-hl/blob/main/run_PepPhysChem_HL.py): `run_PepPhysChem_HL.py`

### Analysis engine

- [Physchem profiling](https://github.com/ibisanmi1/pepphyschem-hl/blob/main/src/physicochemical_analyzer.py): `src/physicochemical_analyzer.py`
- [Neural models](https://github.com/ibisanmi1/pepphyschem-hl/blob/main/src/models.py): `src/models.py`
- [Embedding models](https://github.com/ibisanmi1/pepphyschem-hl/blob/main/src/embedding_models.py): `src/embedding_models.py`
- [Inference utilities](https://github.com/ibisanmi1/pepphyschem-hl/blob/main/src/utils.py): `src/utils.py`

### Model resources

- [Peptide datasets](https://github.com/ibisanmi1/pepphyschem-hl/blob/main/data/half_life_dataset.csv): `data/half_life_dataset.csv`
- [Model checkpoints](https://github.com/ibisanmi1/pepphyschem-hl/tree/main/checkpoints): `checkpoints`
- **Result files**

### Other components

- **Researcher**
- **Hugging Face Hub**

## Connections

- Researcher → Web interface: submits sequences (evidence: `README.md`)
- Researcher → CLI pipeline: submits sequences (evidence: `README.md`)
- Researcher → Feature inference: requests predictions (evidence: `scripts/inference.py`)
- Web interface → Model checkpoints: loads weights
- Web interface → Hugging Face Hub: downloads checkpoints (evidence: `app.py`)
- CLI pipeline → Embedding datasets: prepares embeddings (evidence: `run_PepPhysChem_HL.py`)
- CLI pipeline → Embedding models: uses models (evidence: `run_PepPhysChem_HL.py`)
- CLI pipeline → Physchem profiling: profiles peptides (evidence: `run_PepPhysChem_HL.py`)
- CLI pipeline → Model checkpoints: loads checkpoint (evidence: `README.md`)
- CLI pipeline → Batch reports: generates analyses (evidence: `README.md`)
- CLI pipeline → Result files: writes results (evidence: `README.md`)
- Input preparation → Physchem profiling: extracts features (evidence: `src/data_processing.py`)
- Input preparation → Sequence filters: filters sequences (evidence: `src/data_processing.py`)
- Embedding datasets → Physchem profiling: extracts descriptors (evidence: `src/embedding_datasets.py`)
- Embedding datasets → Sequence filters: filters sequences (evidence: `src/embedding_datasets.py`)
- Feature inference → Input preparation: prepares features (evidence: `scripts/inference.py`)
- Feature inference → Neural models: runs predictions (evidence: `scripts/inference.py`)
- Feature inference → Physchem profiling: profiles inputs (evidence: `scripts/inference.py`)
- Peptide datasets → Input preparation: supplies records
- Model checkpoints → Neural models: parameterizes
