# crakshay1/dalguardyes architecture

> Architecture diagram of the GitHub repository crakshay1/dalguardyes, 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/crakshay1/dalguardyes
- Repository: https://github.com/crakshay1/dalguardyes

## Overview

DalGuardYES is a computational RBS-design tool: users provide RNA sequence and design constraints, candidate RBS architectures are generated and scored for orthogonal binding versus wild-type leakage, and results are explored in a dashboard. The active Python UI and the archived web interface are represented as separate product surfaces; the repository identifies the archives as old code. The excerpts show the Streamlit app invoking the genetic algorithm, but do not establish its complete runtime wiring. Archived API orchestration is also visible, though its referenced script locations do not align cleanly with the tree, so those links are omitted.

Main entry points: [`DalGuardYES-UI/riboguard_streamlit_app.py`](https://github.com/crakshay1/dalguardyes/blob/main/DalGuardYES-UI/riboguard_streamlit_app.py) (Streamlit Dashboard), [`_Archives/WEB/app/routes/home.tsx`](https://github.com/crakshay1/dalguardyes/blob/main/_Archives/WEB/app/routes/home.tsx) (Design Dashboard), [`_Archives/WEB/app/routes/inspector.tsx`](https://github.com/crakshay1/dalguardyes/blob/main/_Archives/WEB/app/routes/inspector.tsx) (Sequence Inspector), [`_Archives/WEB/app/utils/dataIngestion.ts`](https://github.com/crakshay1/dalguardyes/blob/main/_Archives/WEB/app/utils/dataIngestion.ts) (File Ingestion)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_design["RBS Design"]
  node_orbs_scan["ORBS Duplex Scan<br/>[orbs_duplex.py]"]
  node_candidate_gen["Candidate Generation<br/>[candidates.py]"]
  node_ga_engine["GA Evaluation"]
end

subgraph group_streamlit["Python Dashboard"]
  node_streamlit_app["Streamlit Dashboard"]
end

subgraph group_web["Archived Web UI"]
  node_home["Design Dashboard<br/>[home.tsx]"]
  node_inspector["Sequence Inspector<br/>[inspector.tsx]"]
  node_ingestion["File Ingestion<br/>[dataIngestion.ts]"]
  node_theme["Theme Toggle<br/>[ThemeToggle.tsx]"]
  node_footer["Page Footer<br/>[Footer.tsx]"]
end

node_user(("Researcher"))

node_user -->|"sets inputs"| node_streamlit_app
node_streamlit_app -->|"runs GA"| node_ga_engine
node_streamlit_app -.-> node_orbs_scan
node_streamlit_app -.-> node_candidate_gen
node_user -.->|"enters design"| node_home
node_home -->|"parses uploads"| node_ingestion
node_home -->|"renders"| node_theme
node_home -->|"renders"| node_footer
node_user -.->|"inspects sequence"| node_inspector
node_inspector -->|"parses FASTA"| node_ingestion
node_inspector -->|"renders"| node_theme

click node_streamlit_app "https://github.com/crakshay1/dalguardyes/blob/main/DalGuardYES-UI/riboguard_streamlit_app.py"
click node_orbs_scan "https://github.com/crakshay1/dalguardyes/blob/main/DalGuardYES-UI/orbs_duplex.py"
click node_candidate_gen "https://github.com/crakshay1/dalguardyes/blob/main/DalGuardYES-UI/candidates.py"
click node_ga_engine "https://github.com/crakshay1/dalguardyes/blob/main/DalGuardYES-UI/riboguard_ga_engine_clean.py"
click node_home "https://github.com/crakshay1/dalguardyes/blob/main/_Archives/WEB/app/routes/home.tsx"
click node_inspector "https://github.com/crakshay1/dalguardyes/blob/main/_Archives/WEB/app/routes/inspector.tsx"
click node_ingestion "https://github.com/crakshay1/dalguardyes/blob/main/_Archives/WEB/app/utils/dataIngestion.ts"
click node_theme "https://github.com/crakshay1/dalguardyes/blob/main/_Archives/WEB/app/components/ThemeToggle.tsx"
click node_footer "https://github.com/crakshay1/dalguardyes/blob/main/_Archives/WEB/app/components/Footer.tsx"

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_orbs_scan,node_candidate_gen,node_ga_engine toneBlue
class node_streamlit_app toneAmber
class node_home,node_inspector,node_ingestion,node_theme,node_footer toneMint
class node_user toneIndigo
```

## Components

### RBS Design

- [ORBS Duplex Scan](https://github.com/crakshay1/dalguardyes/blob/main/DalGuardYES-UI/orbs_duplex.py): `DalGuardYES-UI/orbs_duplex.py`
- [Candidate Generation](https://github.com/crakshay1/dalguardyes/blob/main/DalGuardYES-UI/candidates.py): `DalGuardYES-UI/candidates.py`
- [GA Evaluation](https://github.com/crakshay1/dalguardyes/blob/main/DalGuardYES-UI/riboguard_ga_engine_clean.py): `DalGuardYES-UI/riboguard_ga_engine_clean.py`

### Python Dashboard

- [Streamlit Dashboard](https://github.com/crakshay1/dalguardyes/blob/main/DalGuardYES-UI/riboguard_streamlit_app.py): `DalGuardYES-UI/riboguard_streamlit_app.py`

### Archived Web UI

- [Design Dashboard](https://github.com/crakshay1/dalguardyes/blob/main/_Archives/WEB/app/routes/home.tsx): `_Archives/WEB/app/routes/home.tsx`
- [Sequence Inspector](https://github.com/crakshay1/dalguardyes/blob/main/_Archives/WEB/app/routes/inspector.tsx): `_Archives/WEB/app/routes/inspector.tsx`
- [File Ingestion](https://github.com/crakshay1/dalguardyes/blob/main/_Archives/WEB/app/utils/dataIngestion.ts): `_Archives/WEB/app/utils/dataIngestion.ts`
- [Theme Toggle](https://github.com/crakshay1/dalguardyes/blob/main/_Archives/WEB/app/components/ThemeToggle.tsx): `_Archives/WEB/app/components/ThemeToggle.tsx`
- [Page Footer](https://github.com/crakshay1/dalguardyes/blob/main/_Archives/WEB/app/components/Footer.tsx): `_Archives/WEB/app/components/Footer.tsx`

### Other components

- **Researcher**

## Connections

- Researcher → Streamlit Dashboard: sets inputs (evidence: `DalGuardYES-UI/riboguard_streamlit_app.py`)
- Streamlit Dashboard → GA Evaluation: runs GA (evidence: `DalGuardYES-UI/riboguard_streamlit_app.py`)
- Streamlit Dashboard → ORBS Duplex Scan (evidence: `DalGuardYES-UI/riboguard_streamlit_app.py`)
- Streamlit Dashboard → Candidate Generation (evidence: `DalGuardYES-UI/riboguard_streamlit_app.py`)
- Researcher → Design Dashboard: enters design
- Design Dashboard → File Ingestion: parses uploads (evidence: `_Archives/WEB/app/routes/home.tsx`)
- Design Dashboard → Theme Toggle: renders (evidence: `_Archives/WEB/app/routes/home.tsx`)
- Design Dashboard → Page Footer: renders (evidence: `_Archives/WEB/app/routes/home.tsx`)
- Researcher → Sequence Inspector: inspects sequence
- Sequence Inspector → File Ingestion: parses FASTA (evidence: `_Archives/WEB/app/routes/inspector.tsx`)
- Sequence Inspector → Theme Toggle: renders (evidence: `_Archives/WEB/app/routes/inspector.tsx`)
