# bigaspinosalab/resources_crc_metacohort_generation architecture

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

- Interactive diagram: https://gitdiagram.com/bigaspinosalab/resources_crc_metacohort_generation
- Repository: https://github.com/bigaspinosalab/resources_crc_metacohort_generation

## Overview

This repository documents an R-script workflow for assembling a colorectal cancer metacohort from seven GEO studies. The clinical-data branch retrieves patient phenotypes, uses shared functions, and removes records lacking DFS information and duplicate samples. A separate expression branch downloads CEL files, normalizes expression data, and removes batch effects. The documented result combines phenotype and expression data for 1,118 patients. Source excerpts were unavailable, so the graph follows README-documented responsibilities and omits unverified implementation details and connections between branches.

Main entry points: [`scripts/complete_metacohort.R`](https://github.com/bigaspinosalab/resources_crc_metacohort_generation/blob/main/scripts/complete_metacohort.R) (Metacohort completion), [`scripts/clinical_data_extraction.R`](https://github.com/bigaspinosalab/resources_crc_metacohort_generation/blob/main/scripts/clinical_data_extraction.R) (Clinical extraction), [`scripts/clinical_data_extraction_misc.R`](https://github.com/bigaspinosalab/resources_crc_metacohort_generation/blob/main/scripts/clinical_data_extraction_misc.R) (Clinical helpers)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_clinical["Clinical data"]
  node_clinical_script["Clinical extraction"]
  node_clinical_helpers["Clinical helpers"]
  node_phenotype_filter["DFS and duplicate filtering"]
end

subgraph group_expression["Expression data"]
  node_cel_download["CEL download"]
  node_normalization["Expression normalization"]
  node_batch_removal["Batch removal"]
end

subgraph group_output["Metacohort output"]
  node_metacohort_script["Metacohort completion"]
  node_rdata["Metacohort data"]
end

node_researcher(("Researcher"))
node_geo[("GEO studies")]

node_researcher -->|"runs"| node_clinical_script
node_clinical_script -->|"retrieves phenotypes"| node_geo
node_clinical_script -->|"sources functions"| node_clinical_helpers
node_clinical_script -->|"filters samples"| node_phenotype_filter
node_researcher -->|"runs"| node_metacohort_script
node_metacohort_script -->|"downloads CEL files"| node_geo
node_metacohort_script -->|"performs"| node_cel_download
node_metacohort_script -->|"performs"| node_normalization
node_metacohort_script -->|"performs"| node_batch_removal
node_metacohort_script -->|"produces"| node_rdata
node_phenotype_filter -->|"contributes phenotype data"| node_rdata
node_batch_removal -->|"contributes expression data"| node_rdata

click node_clinical_script "https://github.com/bigaspinosalab/resources_crc_metacohort_generation/blob/main/scripts/clinical_data_extraction.R"
click node_clinical_helpers "https://github.com/bigaspinosalab/resources_crc_metacohort_generation/blob/main/scripts/clinical_data_extraction_misc.R"
click node_phenotype_filter "https://github.com/bigaspinosalab/resources_crc_metacohort_generation/blob/main/scripts/clinical_data_extraction.R"
click node_cel_download "https://github.com/bigaspinosalab/resources_crc_metacohort_generation/blob/main/scripts/complete_metacohort.R"
click node_normalization "https://github.com/bigaspinosalab/resources_crc_metacohort_generation/blob/main/scripts/complete_metacohort.R"
click node_batch_removal "https://github.com/bigaspinosalab/resources_crc_metacohort_generation/blob/main/scripts/complete_metacohort.R"
click node_metacohort_script "https://github.com/bigaspinosalab/resources_crc_metacohort_generation/blob/main/scripts/complete_metacohort.R"

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_clinical_script,node_clinical_helpers,node_phenotype_filter toneBlue
class node_cel_download,node_normalization,node_batch_removal,node_geo toneAmber
class node_metacohort_script,node_rdata toneMint
class node_researcher toneIndigo
```

## Components

### Clinical data

- [Clinical extraction](https://github.com/bigaspinosalab/resources_crc_metacohort_generation/blob/main/scripts/clinical_data_extraction.R): `scripts/clinical_data_extraction.R`
- [Clinical helpers](https://github.com/bigaspinosalab/resources_crc_metacohort_generation/blob/main/scripts/clinical_data_extraction_misc.R): `scripts/clinical_data_extraction_misc.R`
- [DFS and duplicate filtering](https://github.com/bigaspinosalab/resources_crc_metacohort_generation/blob/main/scripts/clinical_data_extraction.R): `scripts/clinical_data_extraction.R`

### Expression data

- [CEL download](https://github.com/bigaspinosalab/resources_crc_metacohort_generation/blob/main/scripts/complete_metacohort.R): `scripts/complete_metacohort.R`
- [Expression normalization](https://github.com/bigaspinosalab/resources_crc_metacohort_generation/blob/main/scripts/complete_metacohort.R): `scripts/complete_metacohort.R`
- [Batch removal](https://github.com/bigaspinosalab/resources_crc_metacohort_generation/blob/main/scripts/complete_metacohort.R): `scripts/complete_metacohort.R`

### Metacohort output

- [Metacohort completion](https://github.com/bigaspinosalab/resources_crc_metacohort_generation/blob/main/scripts/complete_metacohort.R): `scripts/complete_metacohort.R`
- **Metacohort data**

### Other components

- **Researcher**
- **GEO studies**

## Connections

- Researcher → Clinical extraction: runs
- Clinical extraction → GEO studies: retrieves phenotypes
- Clinical extraction → Clinical helpers: sources functions
- Clinical extraction → DFS and duplicate filtering: filters samples
- Researcher → Metacohort completion: runs
- Metacohort completion → GEO studies: downloads CEL files
- Metacohort completion → CEL download: performs
- Metacohort completion → Expression normalization: performs
- Metacohort completion → Batch removal: performs
- Metacohort completion → Metacohort data: produces
- DFS and duplicate filtering → Metacohort data: contributes phenotype data
- Batch removal → Metacohort data: contributes expression data
