Metadata-Version: 2.4
Name: everyome
Version: 0.1.0a1
Summary: Every -ome, for everyone: omics analysis with a simple interface and every setting in reach, on your own computer or Slurm cluster.
Author: Helen R Horkan
License-Expression: MIT
Project-URL: Homepage, https://github.com/Everyome/everyome
Project-URL: Source, https://github.com/Everyome/everyome
Project-URL: Issues, https://github.com/Everyome/everyome/issues
Project-URL: Citation, https://github.com/Everyome/everyome/blob/main/CITATION.cff
Keywords: bioinformatics,omics,single-cell,SPLiT-seq,RNA-seq,differential expression,Slurm,Nextflow,GUI
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX :: Linux
Classifier: Framework :: FastAPI
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: THIRD_PARTY_NOTICES.md
Requires-Dist: fastapi>=0.100
Requires-Dist: uvicorn>=0.23
Requires-Dist: httpx<1,>=0.24
Requires-Dist: python-multipart
Requires-Dist: pyyaml
Requires-Dist: setproctitle
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Provides-Extra: singlecell
Requires-Dist: numpy; extra == "singlecell"
Requires-Dist: pandas; extra == "singlecell"
Requires-Dist: scipy; extra == "singlecell"
Requires-Dist: scanpy>=1.9; extra == "singlecell"
Requires-Dist: anndata>=0.9; extra == "singlecell"
Requires-Dist: harmonypy; extra == "singlecell"
Requires-Dist: leidenalg; extra == "singlecell"
Requires-Dist: igraph; extra == "singlecell"
Requires-Dist: openpyxl; extra == "singlecell"
Requires-Dist: seaborn; extra == "singlecell"
Requires-Dist: matplotlib; extra == "singlecell"
Provides-Extra: rna
Requires-Dist: numpy; extra == "rna"
Requires-Dist: pandas; extra == "rna"
Requires-Dist: matplotlib; extra == "rna"
Requires-Dist: pydeseq2; extra == "rna"
Provides-Extra: all
Requires-Dist: everyome[rna,singlecell]; extra == "all"
Dynamic: license-file

# Everyome

*Every -ome, for everyone.*

Created by **Helen R Horkan PhD** (Stowers Institute). If you use Everyome, adapt its
code, or reuse its text or figures, please cite it (see [`CITATION.cff`](https://github.com/Everyome/everyome/blob/main/CITATION.cff)).

Everyome is a free, open-source platform for omics analysis. It gives biologists a
simple point-and-click interface while keeping every setting visible and editable.
It runs on your own computer or on your own Slurm cluster account over SSH, so
your data stays where it is.

Planned suites: DNA, RNA, single cell, spatial, protein, molecular biology and
phylogenetics. Every module will come with a manual, a playground, guides to
reading its output, and a lab-book protocol and methods section for every run.

Everyome grows out of SPLiTscape (SPLiT-seq reads to annotated cell atlases),
which becomes its first single-cell module and keeps its own citation.

## Status

The core is in place (phase 1 of [`docs/PLAN.md`](https://github.com/Everyome/everyome/blob/main/docs/PLAN.md)): connect to a
cluster or the built-in demo cluster, create projects, choose an analysis, fill
in its settings, check the exact job scripts, submit them, follow the jobs, and
explore the results in a live session. Every run then gets a lab-book
protocol, a draft methods section to edit, its references, and a bundle that
repeats it exactly.

Modules so far:
- **SPLiT-seq (SPLiTscape)**, single cell: SPLiT-seq sublibraries from raw reads
  to annotated cell types, on their own (for example, to build a first atlas) or
  merged with an existing atlas or dataset. Includes a playground.
- **Bulk RNA-seq differential expression**, RNA: nf-core/rnaseq turns reads into
  gene counts on the cluster, then DESeq2 compares conditions in a live session.
- **Sequence summary**, getting started: a small worked example of how every
  module runs.

## Install

```bash
pip install "everyome==0.1.0a1"          # the app and the tutorial
pip install "everyome[all]==0.1.0a1"     # plus SPLiT-seq and bulk RNA-seq (Scanpy, PyDESeq2, ...)
everyome                              # opens http://127.0.0.1:8777
```

Naming the version installs this early release of Everyome while everything it
needs comes from normal, stable releases. (Avoid `pip install --pre`: it would
also pull in unfinished versions of other packages.) Everyome needs Python 3.10
or newer and runs on macOS and Linux. Choose **Demo
cluster** to try everything on your own computer, with example data and a
pretend job scheduler; demo data lives in `~/.everyome/demo_cluster` (delete it
to start fresh). To use your own cluster, Everyome also needs to be installed in
a Python environment there (ask IT for a shared one), and the readiness checks
tell you what is missing.

## Develop

```bash
git clone https://github.com/Everyome/everyome && cd everyome
pip install -e ".[test,all]"
pytest
```

## Licence

MIT (see `LICENSE`). Fonts, UMAP-JS and the nf-core/rnaseq schemas that ship
with Everyome keep their own licences; see `THIRD_PARTY_NOTICES.md`.
