Metadata-Version: 2.4
Name: tardigrade-gwas
Version: 1.0.0
Summary: Multi-GWAS gene-overlap analysis, similarity heatmaps, Circos-style visualization, and reporting.
Author: Amir Izadi, Zahra Aghabeygi
License-Expression: MIT
Keywords: GWAS,genomics,bioinformatics,gene overlap,circos,heatmap
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.26
Requires-Dist: pandas>=2.0
Requires-Dist: matplotlib>=3.8
Dynamic: license-file

# Tardigrade GWAS

A lightweight Python library for multi-GWAS gene-overlap analysis, Jaccard similarity heatmaps, Circos-style visualization, and text/CSV reporting.

Developed by **Amir Izadi** and **Zahra Aghabeygi**.

## Installation

```bash
pip install tardigrade-gwas
```

## Analyze multiple GWAS files

```python
from tardigrade_gwas import analyze_files

result = analyze_files(
    ["disease_a.csv", "disease_b.tsv"],
    names=["Disease A", "Disease B"],
)

print(result.report_text)
print(result.similarity_table)
print(result.consensus_table.head())
```

Default columns:

- P value: `P-VALUE`
- Gene: `MAPPED_GENE`
- Chromosome: `CHR_ID`
- Position: `CHR_POS`

The P-value threshold defaults to `5e-8`. Common column aliases are detected case-insensitively, and all defaults can be overridden.

## Similarity heatmap

```python
from tardigrade_gwas import analyze_files, plot_similarity_heatmap

result = analyze_files(["disease_a.csv", "disease_b.tsv"])
figure = plot_similarity_heatmap(result)
figure.show()

# Save only when you choose to:
figure.savefig("heatmap.png", dpi=300, bbox_inches="tight")
```

## Circos-style plot

```python
from tardigrade_gwas import plot_circos

figure = plot_circos("disease_a.csv")
figure.show()
```

## Supported files

CSV, TSV, TXT, and gzip-compressed CSV/TSV files are supported.

## License

MIT License.
