Projects

The stories behind the code.

A working portfolio of open-source bioinformatics tools, industry ML systems, and research collaborations — each with the context that gives the code meaning.

Abstract illustration of fluorescent bead arrays
Stack
Python · NumPy · scikit-learn · YAML configs
Output
Decoded bead-to-barcode tables ready for downstream spatial analysis
License
GPL-3.0

2020 — 2022 · Lead author · PhD project

Optocoder

Reading barcodes off a microscope.

Optical sequencing-based spatial transcriptomics platforms (like Slide-Seq) record where every transcript came from by repeatedly imaging a slide of millions of barcoded beads. Turning those imaging cycles back into accurate barcodes is surprisingly hard — fluorescence bleeds, phasing drifts, and beads light up unevenly across cycles.

Optocoder is a Python pipeline that handles the whole decoding journey: aligning cycles, calling bases, modelling phasing/prephasing, and — when Illumina ground-truth is available — training a small ML module to push accuracy further. It was built around the realities of the Rajewsky Lab's wet-lab pipeline and is published in NAR Bioinformatics.

  • Spatial transcriptomics
  • Imaging
  • Machine learning
  • Open source
novoSpaRc spatial reconstruction visualization
Method
Optimal transport over expression + reference manifolds
Stack
Python · Jupyter · POT · scanpy-compatible
Companion paper
Gene Expression Cartography, Nature (2019)

2020 — 2021 · Co-first author

novoSpaRc

Putting cells back where they came from.

Single-cell RNA-seq tells you what every cell is doing, but dissociation throws away where each cell was sitting in the tissue. novoSpaRc reconstructs that spatial structure de novo, using optimal transport to find the arrangement of cells that best explains both their expression similarity and any partial spatial reference you can provide.

I co-led the 2021 release published in Nature Protocols — focused on scalability, making the algorithm tractable on larger tissues and higher-resolution maps, and a tutorial-driven API biologists actually use. The library has grown a real community (133★, 42 forks at last check) and is taught in spatial-omics courses.

  • Spatial reconstruction
  • Optimal transport
  • Open source
Abstract protein chain with attention pattern
Models
ProtBERT (HuggingFace) + custom classification heads
Inputs
Raw amino-acid sequences from environmental samples
Goal
Shortlist candidates for wet-lab validation

Feb 2023 — Apr 2023 · Visiting scientist, Hebrew University of Jerusalem

ProtBERT for anti-insecticidals

Protein language models meet agricultural biology.

During a research visit at the Hebrew University of Jerusalem, I built a machine-learning pipeline that uses pre-trained protein language models (ProtBERT) to identify novel anti-insecticidal proteins directly from raw sequence data.

The interesting part wasn't the model — it was the integration. I combined transformer embeddings with biological domain knowledge so predictions could be interpreted by biologists and prioritised for experimental validation rather than treated as a black-box ranking.

  • LLMs
  • Proteomics
  • AgBio
  • Research visit
Abstract particles in suspension
Stack
Python · PyTorch · TensorFlow · classical CV preprocessing
Domain
Cell therapy QC / particulate analysis
Paper
Grabarek, Senel et al., Cytotherapy (2021)

Apr 2019 — Sep 2019 · ML Research Student, Coriolis Pharma

Flow-imaging deep learning

Counting what shouldn't be there.

Cell-based medicinal products must be screened for unwanted particulate impurities. Flow imaging microscopy generates thousands of particle images per sample — far too many for manual review, and too varied for classical thresholding to do reliably.

I built an end-to-end deep-learning system at Coriolis Pharma: data ingestion, training, evaluation, and a clean Python package wrapped around PyTorch/TensorFlow so scientists could retrain and audit it. The work was later published in Cytotherapy as part of a collaboration with Leiden University.

  • Computer vision
  • Pharma QC
  • Deep learning
Abstract ultrasound texture with trajectory line
Stack
C++ · CUDA · OpenCV
Application
Image-guided biopsy robotics
Publications
ICRA × 2, ICAR, Mechatronics, TJEECS

2014 — 2016 · Undergraduate researcher, Ozyegin Robotics Lab

Ultrasound needle tracking

Robotic biopsy, in real time.

My first taste of research was building real-time needle-tip localization for an autonomous robotic biopsy system. The robot followed an ultrasound image stream; my algorithms tracked the needle inside that stream so the controller could keep it on target.

I wrote the C++/CUDA software interface clinicians used during testing, did the Gabor-filter work for needle detection in 2D ultrasound, and contributed to four conference and journal papers (ICRA 2016, ICRA 2017, ICAR 2015, Mechatronics 2019, plus a 2020 TJEECS paper on curved-needle localization).

  • Medical robotics
  • Computer vision
  • Real-time systems
Abstract single-cell clustering visualization
Modalities
scRNA-seq · CITE-seq · clinical metadata
Pipelines
Python · Nextflow · scanpy/scvi-tools
Status
Manuscript under revision — Blood Cancer Discovery

2024 — 2025 · Data Scientist → Senior Scientist, J&J Innovative Medicine

CARTITUDE-1 biomarker analysis

Single-cell signals behind a CAR-T response.

CARTITUDE-1 is the phase 1b/2 study of ciltacabtagene autoleucel (cilta-cel) in relapsed/refractory multiple myeloma. I contributed to the biomarker work — integrating single-cell transcriptomic, proteomic, and clinical readouts to understand which patients respond and why.

The collaboration spans clinical, translational, and manufacturing teams; the manuscript is currently under revision at Blood Cancer Discovery.

  • Single-cell
  • Multi-omics
  • Cell therapy
  • Clinical