Eclose

RNA-seq analysis, from your AI assistant.

Connect Eclose to your assistant, send your FASTQs, get differential expression back. Run in Europe, priced per analysis.

Works with Claude, Claude Code, Codex · soon Z.ai Code, Pi, OpenCode

Up, calledDown, calledNot called Colour: adjusted p < 0.05 for |log2 fold change| > 1 (the DEG call) Dashed lines: |log2 fold change| = 1 and adjusted p = 0.05 on the axes −log10 adjusted p clipped at 100 · 2,500 of 15,418 tested genes shown (random sample)
Mouse mammary gland, luminal vs basal averaged over virgin, pregnant and lactating, 12 public samples (GSE60450). Fold changes are ashr-shrunken.

Figures from a real run

Made from the output of one run. Your assistant can plot these from the tables it gets back.

Fig. 1. Principal component analysis of the 12 samples after normalisation, coloured by cell type, marker shape by stage.
Up, calledDown, calledNot calledDashed lines: log2 fold change = ±1Significant: adjusted p < 0.05 for |log2 fold change| > 1 (the DEG call)2,000 of 15,418 tested genes shown (random sample)
Fig. 2. MA plot: mouse mammary gland, luminal vs basal averaged over virgin, pregnant and lactating, 12 public samples (GSE60450). Fold changes are ashr-shrunken. Analysed by Eclose for €3.46.
Fig. 3. Top genes by adjusted p-value (symbols from Ensembl, gene ids underneath) for luminal vs basal averaged over virgin, pregnant and lactating. Fold changes are ashr-shrunken. The second call (CloseQL) is alongside. Each method applies its own gene filter: 15,418 genes tested by DESeq2, 15,355 by CloseQL.

Ask in the chat. Results the same day.

Nothing to run on your side, no pipeline to maintain.

example
RNA-seq comparison
compare luminal vs basal on GSE60450 in these 12 mouse FASTQs

Starting the run. I'll pull the results when it finishes.

Used rnaseq_new_job
Used rnaseq_job_status
Used rnaseq_artifacts
Used rnaseq_methods

Done. Here is the volcano plot, luminal vs basal on GSE60450.

Your assistant plots the results it gets back.

What we promise

Europe

Your reads stay in the EU.

Reads and results are stored and processed in Paris. Reads are deleted after 4 days, results after about 30. We never train models on your data.

4days until reads are deleted
~30days until results are deleted
Speed

Ask in the chat. Results the same day.

Nothing to run on your side, no pipeline to maintain.

Transparency

Read the code behind every number.

The scientific pipeline code and the run provenance are readable: library decisions, tool versions, references.

  • run.sh
  • qc/assay_decision.json
  • provenance/versions.json
  • methods.md
Cost

A few euros per analysis.

The price depends on how much data you send and on the method — aligning with STAR needs a larger machine than Salmon. You see it before anything starts, and pay only for the hours the machine runs.

  • 6 fly samples, 3′-tag · 6 GB€0.28
  • 12 mouse samples · 29.6 GB€3.46
  • 8 human samples, paired, with STAR · 2 GB€3.46

Two answers, side by side.

Every analysis reports two differential-expression calls: DESeq2, and CloseQL*, our quasi-likelihood test on the same model. You see where they agree and where they differ, and you choose.

* Until the next pipeline update, CloseQL still appears as AspisQL (columns aspisql_*) in result files.

On the run shown above — luminal vs basal in GSE60450 — DESeq2 called 4,779 genes and CloseQL 4,693 (|log2 fold change| > 1, adjusted p < 0.05).

On the Schurch yeast replicates, CloseQL made fewer false calls on null comparisons at every replicate number tested. Its power is at least edgeR’s and 2 to 4 points below DESeq2’s.

Null splits with at least one false DEG

DESeq2CloseQL
n = 2
DESeq2 40%
CloseQL 12%
n = 3
DESeq2 29%
CloseQL 0%
n = 4
DESeq2 27%
CloseQL 3%
n = 6
DESeq2 10%
CloseQL 0%
n = 10
DESeq2 10%
CloseQL 3%
Share of null splits (replicates of one condition divided into two arbitrary groups) in which the test calls at least one differentially expressed gene. Schurch 2016 yeast data, n replicates per group.

Source: compute/tier1/bench/aspisql_schurch.R in the console, readable from your assistant like the rest of the pipeline code.

Questions

What is Eclose?

Eclose connects to your AI assistant and runs bulk RNA-seq analysis for you. You send your FASTQs from the chat and get differential expression results back, with the code and a methods text.

Which AI assistants work?

Claude, Claude Code and Codex today. Z.ai Code, Pi and OpenCode are next.

What data can I analyse?

Bulk RNA-seq, full-length or 3′-tag, from human cell lines, mouse, fly, worm and zebrafish. For human, only cell lines are supported. Small RNA and miRNA sequencing aren’t supported yet — that’s what we’re building next.

Can I analyse miRNA or small RNA?

Small RNA and miRNA sequencing aren’t supported yet — that’s what we’re building next.

What do I get back?

Differential expression tables, raw and normalised counts, TPM (counts per million for 3′-tag libraries), a QC report with MultiQC, a methods text you can cite, and the code that produced them.

What is CloseQL?

A second differential expression test that runs next to DESeq2 on the same model, using a quasi-likelihood approach. Every result carries both calls, so you can compare them.

How much does it cost?

Your assistant shows an estimate before anything starts. You pay for the hours the machine runs, usually a few euros per analysis.

Where is my data, and for how long?

Reads and results are stored and processed in Paris. Reads are deleted after 4 days, results after about 30. We never train models on your data.

Can I read the code?

Yes. The scientific pipeline code and the run provenance (tool versions, references, library decisions) are available through your assistant and in your results.

My library or organism isn’t supported

Libraries Eclose cannot analyse correctly, such as small RNA, are refused before any cost. You can ask for an organism or assay through your assistant; requests decide what we build next.

How do I get access?

Eclose is invite-only for now. Write to main@aspis-bio.com and tell us what you sequence.

Try it on your next experiment.

Invite-only for now.

Request access