# nishantk-iisc/data-analytics architecture

> Architecture diagram of the GitHub repository nishantk-iisc/data-analytics, 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/nishantk-iisc/data-analytics
- Repository: https://github.com/nishantk-iisc/data-analytics

## Overview

This repository is a collection of data-analytics course assignments, not one integrated application. The principal workflows are standalone analyses: load or prepare data, apply a domain-specific model or statistical method, and produce estimates, plots, or reports. The graph preserves the sampled cricket, community-detection, gene-expression, neuroscience, epidemic-modeling, and genomic-search work. Several assignment excerpts are partial, and the README gives no further capability details, so connections not visible in source are omitted.

Main entry points: [`Assignment #4/code/main.py`](https://github.com/nishantk-iisc/data-analytics/blob/main/Assignment%20%234/code/main.py) (Analysis Runner), [`Assignment #1/nishant_21495_Asst1.py`](https://github.com/nishantk-iisc/data-analytics/blob/main/Assignment%20%231/nishant_21495_Asst1.py) (Data Preparation), [`Assignment #4/code/line_fit.py`](https://github.com/nishantk-iisc/data-analytics/blob/main/Assignment%20%234/code/line_fit.py) (Line Fit Analysis), [`Assignment #6/Assignment6.py`](https://github.com/nishantk-iisc/data-analytics/blob/main/Assignment%20%236/Assignment6.py) (BWT Indexing)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_cricket["Cricket Modeling"]
  node_cricket_data[("Match Data")]
  node_cricket_prep["Data Preparation"]
  node_cricket_fit["Model Training"]
  node_cricket_model["DL Model"]
  node_cricket_alt["Parameter Fitting<br/>[dl.py]"]
end

subgraph group_community["Community Detection"]
  node_community_analysis["Graph Analysis"]
end

subgraph group_genes["Gene Analysis"]
  node_gene_analysis["Gene Expression Analysis"]
end

subgraph group_neuro["Neuroscience Analysis"]
  node_neuro_runner["Analysis Runner<br/>[main.py]"]
  node_line_fit["Line Fit Analysis<br/>[line_fit.py]"]
  node_gamma_fit["Gamma Fit Analysis<br/>[gamma_fit.py]"]
  node_neuro_utility["Distance Metrics<br/>[utility.py]"]
end

subgraph group_epidemic["Epidemic Modeling"]
  node_epidemic_model["SEIR Simulation"]
  node_epidemic_loss["Model Calibration"]
  node_epidemic_plots["Prediction Plots"]
end

subgraph group_genomics["Genomic Search"]
  node_genome_data[("Genome Reference Data")]
  node_bwt_index["BWT Indexing<br/>[Assignment6.py]"]
  node_read_search["Read Search<br/>[Assignment6.py]"]
  node_exon_counts["Exon Counts<br/>[Assignment6.py]"]
end

node_analyst(("Analyst"))

node_analyst -->|"provides data"| node_cricket_data
node_cricket_data -->|"loads"| node_cricket_prep
node_cricket_prep -->|"trains on"| node_cricket_fit
node_cricket_fit -->|"updates"| node_cricket_model
node_analyst -->|"runs"| node_cricket_alt
node_neuro_runner -->|"runs"| node_line_fit
node_neuro_runner -->|"runs"| node_gamma_fit
node_line_fit -->|"uses metrics"| node_neuro_utility
node_analyst -->|"runs analysis"| node_community_analysis
node_analyst -->|"runs analysis"| node_gene_analysis
node_epidemic_loss -->|"simulates"| node_epidemic_model
node_analyst -.->|"requests plots"| node_epidemic_plots
node_genome_data -->|"indexes"| node_bwt_index
node_bwt_index -->|"locates reads"| node_read_search
node_read_search -->|"counts exons"| node_exon_counts

click node_cricket_prep "https://github.com/nishantk-iisc/data-analytics/blob/main/Assignment%20%231/nishant_21495_Asst1.py"
click node_cricket_fit "https://github.com/nishantk-iisc/data-analytics/blob/main/Assignment%20%231/nishant_21495_Asst1.py"
click node_cricket_model "https://github.com/nishantk-iisc/data-analytics/blob/main/Assignment%20%231/nishant_21495_Asst1.py"
click node_cricket_alt "https://github.com/nishantk-iisc/data-analytics/blob/main/Assignment%20%231/dl.py"
click node_community_analysis "https://github.com/nishantk-iisc/data-analytics/blob/main/Assignment%20%232/community-nishant-kumar.py"
click node_gene_analysis "https://github.com/nishantk-iisc/data-analytics/blob/main/Assignment%20%233/nishant_21495_Asst3.py"
click node_neuro_runner "https://github.com/nishantk-iisc/data-analytics/blob/main/Assignment%20%234/code/main.py"
click node_line_fit "https://github.com/nishantk-iisc/data-analytics/blob/main/Assignment%20%234/code/line_fit.py"
click node_gamma_fit "https://github.com/nishantk-iisc/data-analytics/blob/main/Assignment%20%234/code/gamma_fit.py"
click node_neuro_utility "https://github.com/nishantk-iisc/data-analytics/blob/main/Assignment%20%234/code/utility.py"
click node_epidemic_model "https://github.com/nishantk-iisc/data-analytics/blob/main/Assignment%20%235/nishant_21495_Assign5.py"
click node_epidemic_loss "https://github.com/nishantk-iisc/data-analytics/blob/main/Assignment%20%235/nishant_21495_Assign5.py"
click node_epidemic_plots "https://github.com/nishantk-iisc/data-analytics/blob/main/Assignment%20%235/nishant_21495_Assign5.py"
click node_bwt_index "https://github.com/nishantk-iisc/data-analytics/blob/main/Assignment%20%236/Assignment6.py"
click node_read_search "https://github.com/nishantk-iisc/data-analytics/blob/main/Assignment%20%236/Assignment6.py"
click node_exon_counts "https://github.com/nishantk-iisc/data-analytics/blob/main/Assignment%20%236/Assignment6.py"

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_cricket_data,node_cricket_prep,node_cricket_fit,node_cricket_model,node_cricket_alt toneBlue
class node_community_analysis toneAmber
class node_gene_analysis toneMint
class node_neuro_runner,node_line_fit,node_gamma_fit,node_neuro_utility toneRose
class node_epidemic_model,node_epidemic_loss,node_epidemic_plots,node_analyst toneIndigo
class node_genome_data,node_bwt_index,node_read_search,node_exon_counts toneTeal
```

## Components

### Cricket Modeling

- **Match Data**
- [Data Preparation](https://github.com/nishantk-iisc/data-analytics/blob/main/Assignment%20%231/nishant_21495_Asst1.py): `Assignment #1/nishant_21495_Asst1.py`
- [Model Training](https://github.com/nishantk-iisc/data-analytics/blob/main/Assignment%20%231/nishant_21495_Asst1.py): `Assignment #1/nishant_21495_Asst1.py`
- [DL Model](https://github.com/nishantk-iisc/data-analytics/blob/main/Assignment%20%231/nishant_21495_Asst1.py): `Assignment #1/nishant_21495_Asst1.py`
- [Parameter Fitting](https://github.com/nishantk-iisc/data-analytics/blob/main/Assignment%20%231/dl.py): `Assignment #1/dl.py`

### Community Detection

- [Graph Analysis](https://github.com/nishantk-iisc/data-analytics/blob/main/Assignment%20%232/community-nishant-kumar.py): `Assignment #2/community-nishant-kumar.py`

### Gene Analysis

- [Gene Expression Analysis](https://github.com/nishantk-iisc/data-analytics/blob/main/Assignment%20%233/nishant_21495_Asst3.py): `Assignment #3/nishant_21495_Asst3.py`

### Neuroscience Analysis

- [Analysis Runner](https://github.com/nishantk-iisc/data-analytics/blob/main/Assignment%20%234/code/main.py): `Assignment #4/code/main.py`
- [Line Fit Analysis](https://github.com/nishantk-iisc/data-analytics/blob/main/Assignment%20%234/code/line_fit.py): `Assignment #4/code/line_fit.py`
- [Gamma Fit Analysis](https://github.com/nishantk-iisc/data-analytics/blob/main/Assignment%20%234/code/gamma_fit.py): `Assignment #4/code/gamma_fit.py`
- [Distance Metrics](https://github.com/nishantk-iisc/data-analytics/blob/main/Assignment%20%234/code/utility.py): `Assignment #4/code/utility.py`

### Epidemic Modeling

- [SEIR Simulation](https://github.com/nishantk-iisc/data-analytics/blob/main/Assignment%20%235/nishant_21495_Assign5.py): `Assignment #5/nishant_21495_Assign5.py`
- [Model Calibration](https://github.com/nishantk-iisc/data-analytics/blob/main/Assignment%20%235/nishant_21495_Assign5.py): `Assignment #5/nishant_21495_Assign5.py`
- [Prediction Plots](https://github.com/nishantk-iisc/data-analytics/blob/main/Assignment%20%235/nishant_21495_Assign5.py): `Assignment #5/nishant_21495_Assign5.py`

### Genomic Search

- **Genome Reference Data**
- [BWT Indexing](https://github.com/nishantk-iisc/data-analytics/blob/main/Assignment%20%236/Assignment6.py): `Assignment #6/Assignment6.py`
- [Read Search](https://github.com/nishantk-iisc/data-analytics/blob/main/Assignment%20%236/Assignment6.py): `Assignment #6/Assignment6.py`
- [Exon Counts](https://github.com/nishantk-iisc/data-analytics/blob/main/Assignment%20%236/Assignment6.py): `Assignment #6/Assignment6.py`

### Other components

- **Analyst**

## Connections

- Analyst → Match Data: provides data
- Match Data → Data Preparation: loads (evidence: `Assignment #1/nishant_21495_Asst1.py`)
- Data Preparation → Model Training: trains on (evidence: `Assignment #1/nishant_21495_Asst1.py`)
- Model Training → DL Model: updates (evidence: `Assignment #1/nishant_21495_Asst1.py`)
- Analyst → Parameter Fitting: runs (evidence: `Assignment #1/dl.py`)
- Analysis Runner → Line Fit Analysis: runs (evidence: `Assignment #4/code/main.py`)
- Analysis Runner → Gamma Fit Analysis: runs (evidence: `Assignment #4/code/main.py`)
- Line Fit Analysis → Distance Metrics: uses metrics (evidence: `Assignment #4/code/line_fit.py`)
- Analyst → Graph Analysis: runs analysis (evidence: `Assignment #2/community-nishant-kumar.py`)
- Analyst → Gene Expression Analysis: runs analysis (evidence: `Assignment #3/nishant_21495_Asst3.py`)
- Model Calibration → SEIR Simulation: simulates (evidence: `Assignment #5/nishant_21495_Assign5.py`)
- Analyst → Prediction Plots: requests plots
- Genome Reference Data → BWT Indexing: indexes (evidence: `Assignment #6/Assignment6.py`)
- BWT Indexing → Read Search: locates reads (evidence: `Assignment #6/Assignment6.py`)
- Read Search → Exon Counts: counts exons (evidence: `Assignment #6/Assignment6.py`)
