I work on gene expression data, and on whether you can trust what it tells you.
PhD Bioinformatics, University of West London/London
manso.beatriz@gmail.com/GitHub/LinkedIn/CV
Transcriptomics, mostly. In R and Python, mostly. Usually the unglamorous middle part: getting the counts right, picking a model, then working out whether the result survives being tested properly.
I finished my PhD at the University of West London in 2026. I now run the MSc Bioinformatics programme there and teach the computational modules.
Most of what I think about at the moment is evaluation. Choosing marker genes on the whole dataset rather than inside each cross-validation fold inflates performance quietly and substantially, and it is easy to do without noticing. I found it in my own thesis pipeline, and measuring what it was worth has changed how I work since.
Gene expression datasets are small and rarely balanced. The brain cancer cohort below has 130 samples, 117 of them tumour. So a model that answers tumour every single time scores 90% accuracy while doing nothing at all.
Accuracy Cohen’s κ
The second result concerns feature selection. Choosing the marker genes on the full dataset rather than inside each fold lifted logistic regression from κ 0.790 to 0.915 on that cohort, so about 14% of the headline number was the evaluation rather than the biology. I found it in my own thesis pipeline, then checked whether it generalises: across four public datasets the inflation is positive in ten of twelve model-dataset pairs, but its size tracks how small the minority class is. In a balanced cohort it disappears entirely. That makes it a conditional problem rather than a flat tax, and it bites hardest on exactly the small, imbalanced cohorts where the check is least often run.
University of West London, 2022–2026
Structural, Functional and Genomic Decompensation Analysis of the Brain in Chiari Malformation I Patients
I wrote convolutional and artificial neural networks from scratch in C++, then spent much longer evaluating them than building them. Activation functions chosen by 10×5-fold repeated stratified cross-validation with Friedman testing and Bonferroni-corrected comparisons; benchmarks against logistic regression, SVM and random forests under one protocol.
The benchmarking is the part I would defend hardest. It is also the part that told me the deep model was not earning its complexity.
Older coursework across NGS quality control, microarray analysis, phylogenetics, protein structure and Biopython is archived on GitHub.