# tarigopullasathwik/sathwik architecture

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

- Interactive diagram: https://gitdiagram.com/tarigopullasathwik/sathwik
- Repository: https://github.com/tarigopullasathwik/sathwik

## Overview

SATHWIK provides a DNA-analysis endpoint that validates input, computes a reverse complement, optionally searches for a pattern and compares two sequences, then returns JSON. The source confirms this backend workflow; the README and sampled files do not establish how the HTML and CSS connect to it or describe their behavior.

Main entry points: [`script.js`](https://github.com/tarigopullasathwik/sathwik/blob/main/script.js) (Analysis endpoint)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_interface["Web interface"]
  node_page["Web page<br/>[index.html]"]
  node_styles["Page styling<br/>[style.css]"]
end

subgraph group_analysis["DNA analysis"]
  node_api["Analysis endpoint<br/>[script.js]"]
  node_validation["Input validation<br/>[script.js]"]
  node_reverse_complement["Reverse complement<br/>[script.js]"]
  node_pattern_search["Pattern search<br/>[script.js]"]
  node_mutation_count["Mutation comparison<br/>[script.js]"]
  node_result["JSON result<br/>[script.js]"]
end

node_caller(("API caller"))

node_caller -->|"POST /analyze"| node_api
node_api -->|"validates"| node_validation
node_api -->|"computes"| node_reverse_complement
node_api -->|"searches"| node_pattern_search
node_api -->|"compares"| node_mutation_count
node_api -->|"returns JSON"| node_result

click node_page "https://github.com/tarigopullasathwik/sathwik/blob/main/index.html"
click node_styles "https://github.com/tarigopullasathwik/sathwik/blob/main/style.css"
click node_api "https://github.com/tarigopullasathwik/sathwik/blob/main/script.js"
click node_validation "https://github.com/tarigopullasathwik/sathwik/blob/main/script.js"
click node_reverse_complement "https://github.com/tarigopullasathwik/sathwik/blob/main/script.js"
click node_pattern_search "https://github.com/tarigopullasathwik/sathwik/blob/main/script.js"
click node_mutation_count "https://github.com/tarigopullasathwik/sathwik/blob/main/script.js"
click node_result "https://github.com/tarigopullasathwik/sathwik/blob/main/script.js"

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_page,node_styles toneBlue
class node_api,node_validation,node_reverse_complement,node_pattern_search,node_mutation_count,node_result toneAmber
class node_caller toneMint
```

## Components

### Web interface

- [Web page](https://github.com/tarigopullasathwik/sathwik/blob/main/index.html): `index.html`
- [Page styling](https://github.com/tarigopullasathwik/sathwik/blob/main/style.css): `style.css`

### DNA analysis

- [Analysis endpoint](https://github.com/tarigopullasathwik/sathwik/blob/main/script.js): `script.js`
- [Input validation](https://github.com/tarigopullasathwik/sathwik/blob/main/script.js): `script.js`
- [Reverse complement](https://github.com/tarigopullasathwik/sathwik/blob/main/script.js): `script.js`
- [Pattern search](https://github.com/tarigopullasathwik/sathwik/blob/main/script.js): `script.js`
- [Mutation comparison](https://github.com/tarigopullasathwik/sathwik/blob/main/script.js): `script.js`
- [JSON result](https://github.com/tarigopullasathwik/sathwik/blob/main/script.js): `script.js`

### Other components

- **API caller**

## Connections

- API caller → Analysis endpoint: POST /analyze
- Analysis endpoint → Input validation: validates
- Analysis endpoint → Reverse complement: computes
- Analysis endpoint → Pattern search: searches
- Analysis endpoint → Mutation comparison: compares
- Analysis endpoint → JSON result: returns JSON
