How to check an analysis someone else delivered to you

Ten checks you can run in an afternoon — without being a bioinformatician — to find out whether a delivered single-cell analysis will survive review.

Updated 2026-07-31

Do this on your own data: the fastest independent check on a delivered object is to recompute the QC yourself. Upload the processed matrix and the free QC report recomputes the per-cell metrics from scratch: omics.hstgenomics.com/qc-check. A deliverable that meets the standard this guide describes: omics.hstgenomics.com/sample.

Want it done rather than explained? We do analysis only — send a count matrix, an h5ad or Seurat object, Cell Ranger output or a public accession and get publication-ready results with the code that produced them, at a fixed price agreed before any work starts: omics.hstgenomics.com/quote.

You paid for an analysis, you received a folder of figures, and you cannot personally re-derive any of it. These checks need no coding and they catch most of what goes wrong.

1. Ask for the numbers behind the QC

Cells before and after filtering, per sample, and the thresholds used. If any sample lost more than about 20%, there should be an explanation. If the numbers are not available at all, the QC was not documented — which usually means it was not examined.

2. Check that the thresholds fit your tissue

A 5% mitochondrial cut-off applied to heart, liver or muscle deletes real cells. If your tissue is mitochondria-rich and the report used the tutorial default, ask for a rerun with data-driven thresholds.

3. Ask how doublets were handled

The acceptable answer names a tool (scDblFinder, DoubletFinder, Scrublet) and a rate. "We filtered cells with too many genes" is not doublet handling — that filter removes large healthy cells and keeps most doublets.

4. Look for an independent annotation check

Cell-type labels should be supported by more than one line of evidence: markers plus a reference-based classifier, ideally run blind. Here is what that looks like. If only markers were used, the labels are one person's judgement.

5. Interrogate the differential expression

Ask: what was the sample size in the test? If the answer is a number of cells rather than a number of subjects, the p-values do not mean what the figure implies. Why, in one page.

6. Check whether batch was modelled or removed

Integration is for visualisation and clustering. Statistics should be run on uncorrected counts with batch as a covariate. Doing the tests on integrated values inflates confidence in a way that is hard to see afterwards.

7. Sanity-check against known biology

Pick something you already know is true about your system — a marker that must be present, a population that must exist, a treatment effect that is established — and confirm the analysis recovers it. If it cannot recover a known result, the unknown ones are not trustworthy either.

8. Try to regenerate one figure

Ask for the script and have a student re-run a single figure. If that is not possible, you cannot answer a reviewer's follow-up without paying again.

9. Read the methods paragraph as a reviewer would

Tool names, versions, parameters, filtering criteria, statistical model. Anything vague here becomes a review comment.

10. Look for what is missing

No mention of ambient RNA, no per-sample QC table, no doublet rate, no statement of the statistical unit — each absence is a place where a decision was made without being recorded. That is the difference between an analysis you can defend and a folder of plots.

If a delivered analysis fails several of these and the deadline is close, an independent re-run is usually cheaper and faster than arguing about it — that is what our second-opinion service is for.

Need this done rather than explained?

We do analysis only — send a count matrix, an h5ad/Seurat object or a public accession and get publication-ready results with the code that produced them. Fixed price agreed before work starts.

→ Get a fixed quote  ·  See a full sample deliverable

More guides