ESC
Code & AI · 03

Bio Pipelines & Automation

Four projects spanning single-cell genomics, evidence-convergence scoring, perturbation-atlas ETL, vendor-agnostic lab automation, and statistical comparison — plus two live in-browser demos: a target-evidence scorer and an adaptive-segmentation comparator.

pd-target-credentialing mitophagy-perturb-atlas ipsc-screen-automation AMTcomparison Evidence demo Segmentation demo ← All Code & AI
01

pd-target-credentialing

pd-target-credentialing takes a candidate gene, pulls converging public evidence — Smajić 2022 and Kamath 2022 substantia-nigra single-nucleus RNA-seq, OpenTargets GraphQL, Reactome ContentService, HGNC — and outputs a one-page HTML dossier with a composite confidence score and stacked-bar evidence breakdown.

  • Scanpy + Scrublet QC; marker-score cell-type annotation (9 cell types, 0.15 ambiguity margin); DA-subtype (SOX6+ / CALB1+) cross-check; Harmony integration.
  • Pseudobulk DE per (donor × cell type) using pyDESeq2 with auto-detected ancestry-PC covariates; per-cell-type + global BH-FDR with a strong_evidence flag.
  • Evidence convergence scoring across single-nucleus DE, OpenTargets, Reactome, HGNC; Jinja2-rendered HTML dossier per gene.

Tech. Python 3.11 · Scanpy · AnnData · Scrublet · harmonypy · pyDESeq2 · gql (GraphQL) · Jinja2 · Typer.

# pd-target-credentialing — pseudobulk DE (excerpt) from pd_target_credentialing.de import pseudobulk, pydeseq2_runner, fdr counts = pseudobulk.aggregate(adata, group_keys=["donor_id", "celltype"], min_cells=10) results = pydeseq2_runner.fit(counts, design="~ condition + age + sex + PMI + PC1 + PC2") results = fdr.apply_bh(results, levels=["celltype", "global"]) results["strong_evidence"] = (results.padj_celltype < 0.05) & (results.padj_global < 0.10)
02

mitophagy-perturb-atlas

mitophagy-perturb-atlas integrates DepMap CRISPR fitness, Replogle 2022 Perturb-Seq, and Reactome pathway sets into a queryable atlas centered on the PINK1 / Parkin mitophagy pathway. It surfaces gene perturbations that phenocopy PRKN loss, perturbations that buffer it, and the cellular contexts where each effect is visible.

  • Multi-source integration with SHA256-verified reproducible downloads.
  • Phenocopy and buffer-signal extraction centered on PRKN loss-of-function.
  • NetworkX + PyVis-rendered context-resolved perturbation graph.

Tech. Python 3.11 · NetworkX · PyVis · scikit-learn · SciPy · pandas · Typer · matplotlib · seaborn.

03

ipsc-screen-automation

ipsc-screen-automation is a vendor-agnostic Python toolkit that drives Tecan, Hamilton, and Opentrons liquid handlers through a single PyLabRobot abstraction, generates randomized plate layouts that mitigate edge effects, evaporation gradients, and dispense-order bias, and emits post-run QC (dispense drift, edge-effect screens, Hill-fit dose-response sanity).

  • Single abstraction over Tecan / Hamilton / Opentrons via PyLabRobot.
  • Randomized, edge-effect-aware plate layouts with Hypothesis property tests.
  • Post-run QC: dispense-drift detection, edge-effect screens, dose-response sanity.

Tech. Python 3.11 · PyLabRobot · Opentrons SDK · Hypothesis · Pydantic · Typer · pandas · matplotlib.

Fig. — Edge-effect QC on a 96-well plate
Synthetic illustration: random layout vs. an edge-effect-aware layout, control signal heatmap.
Generated client-side to mirror the layout the real toolkit produces.
04

AMTcomparison

AMTcomparison is the companion Python toolkit to AutoMorphoTrack: it ingests AMT outputs and produces publication-quality multi-group comparisons with Mann-Whitney U, Kruskal-Wallis, Cohen's d, and Bonferroni-corrected p-values across lysosome dynamics, mitochondrial morphology, shape, motility, and colocalization.

Tech. Python · SciPy stats · pandas · matplotlib · seaborn.

05

Target-evidence convergence scorer

Pick a candidate gene, slide the evidence-lane weights the way a programme lead would, and watch the composite confidence score recompute in real time. The evidence values are illustrative; the scoring math, per-lane normalization, and rendering pipeline are the real thing from pd-target-credentialing.

Candidate gene
Human genetics0.30
snRNA-seq DE (SN-DA)0.25
Perturbation phenocopy0.20
Pathway / mechanism0.15
Tractability0.10
Composite confidence
0.00
Bars are per-lane evidence × weight contributions; composite is their sum, normalized to weight total.
06

Adaptive-segmentation backend comparator (AutoMorphoTrack)

Synthetic noisy field with embedded "cells" — change the noise level and segmentation backend, and the segmented mask + Dice update live. This is the real comparator AutoMorphoTrack v2.2.0 ships, scaled down to ~140×140 px and re-implemented in pure JS for the browser.

Backend
Noise σ0.20
Background gradient0.30
Dice vs ground truth
0.00
Noisy field
Segmentation
Green = true positive, magenta = false positive, gray = false negative. Switch backends to see why Sauvola dominates under heterogeneous backgrounds.