CV

Martin Fitzpatrick, Ph.D
Utrecht, the Netherlands
e: martin@mfitzp.io

A self-taught programmer with over 25 years experience dating back to the days of the ZX Spectrum and Sam Coupé. After dabbling in IT, I took a 7 year detour into biology, completing a Medical Science (BMedSc) degree, masters (MRes) and PhD in the metabolomics of inflammatory diseases, where I found myself using code to solve analysis problems. I had unexpectedly become a “bioinformatician”. Following a 2 year post-doctorate in bioinformatics and proteomics, I moved out of academic research to focus full-time on software development.

I code most happily in Python but remain familiar with a long list of languages that I learnt along the way including C, MATLAB, Pascal, Perl, PHP, Prolog, R, Sam BASIC and z80 ASM.

I write Python tutorials and books, and provide one-to-one code tutoring.

Software

  • biocyc - a Python package interface to the biocyc.org service, providing a caching API with support for user-friendly representations of data in Jupyter notebooks.
  • PaDuA - a Python package supporting scriptable and interactive (via Jupyter notebooks) processing and analysis of proteomic data. Visualizations via matplotlib and statistical modelling via scikit-learn.
  • Pathomx - a workflow-based GUI application for the analysis of complex datasets. Built using PyQt, numpy+scipy, with IPython (Jupyter) kernel, matplotlib visualisation and scikit-learn data analysis.
  • pyqtconfig - a configuration manager for PyQt applications, providing a simple Pythonic way to access, save and reload values of Qt widgets (as a Python dict). Supports automatic syncing of multiple linked widgets.
  • Wooey - automatically create Web UIs (WUI) from Python scripts. Django-based with celery job scheduling. Automatic generation of Django forms from argparse, click and docopt command lines. (See also: clinto for command line parsing).

For a complete list of developed software and libraries see apps and libs.

Academic Publications

Pathomx: an interactive workflow-based tool for the analysis of metabolomic data. Martin A. Fitzpatrick, Catherine M. McGrath, Stephen P. Young. BMC Bioinformatics pmid:25490956 doi:10.1186/s12859-014-0396-9 (October 2014)

Metabolic profiling predicts response to anti-TNFα therapy in patients with rheumatoid arthritis. Sabrina R Kapoor, Andrew Filer, Martin A Fitzpatrick, Benjamin A Fisher, Peter C Taylor, Christopher D Buckley, Iain B McInnes, Karim Raza, Stephen P Young Arthritis & Rheumatism pmid:23460124 doi:10.1002/art.37921 (March 2013)

Metabolomics – a novel window into inflammatory disease. Martin A. Fitzpatrick, Stephen P. Young Swiss medical weekly pmid:23348753 doi:10.4414/smw.2013.13743 (January 2013)

Metabolomics in the Analysis of Inflammatory Diseases Sabrina Kapoor, Martin Fitzpatrick, Elizabeth Clay, Rachel Bayley, Graham R. Wallace, Stephen P. Young InTech ISBN:978-953-51-0046-1 (February 2012)

A complete list of publications, absracts and theses are available here.



id="career">Career

Oct 2016-Present Python Developer & Data Scientist
Freelance/contractor
Short and long-term contract projects primarily focused on using the scientific Python stack, matplotlib and pandas for data analysis, machine learning and visualisation. User interface development and design, both on web (Django/Flask) and desktop (PyQt).

Oct 2014-Oct 2016 Postdoctoral Researcher (Bioinformatics)
University of Utrecht, Utrecht, Netherlands
Proteomic data analysis. Using the scientific Python stack, matplotlib and pandas to perform routine analyses and develop automatable workflows.

Skills

  • Web Site development (Django, Flask, Pelican) and front-end UI (HTML, CSS, JQuery, Angular).
  • APIs RESTful API design and development (Django rest framework, Flask)
  • Databases Relational database design and management (Postgres, MySQL) including ORM methods (Django, SQLAlchemy) and search platforms (Lucene/Solr)
  • Data Data processing and handling (pandas, numpy, scipy)
  • Visualisation Plotting figures and interactive dashboards (matplotlib, d3.js)
  • Statistics Standard parametric and non-parametric statistical tests (numpy, scipy)
  • Machine Learning linear models (PCA, PLS), decision trees and clustering algorithms (scikit-learn, scipy, Eigenvector PLS Toolkit)
  • GUI Graphical interface development (PyQt, PySide, wxWidgets)
  • Collaboration Experience working with international groups, both locally and remotely to successfully complete projects. Frequently collaborate with other programmers on open-source projects via Github.
  • Revision Control Git (preferred), SVN
  • Coding Style Adherence to PEP8 (pylint, pyflakes, PyCharm)
  • CI & Testing Experience using Jenkins CI on open-source projects
  • Documentation Pandoc (and readthedocs.org), asciidoc, markdown

Education

2011-2016 PhD.
School of Immunity & Infection, University of Birmingham, Birmingham, United Kingdom
Metabolic profiles of differentiated human macrophages and their influence in chronic inflammatory disease (Wellcome Trust Combined Training Programme)

2010-2011 MRes. Biomedical Research
School of Immunity & Infection, University of Birmingham, Birmingham, United Kingdom
The Immune System in Health & Disease (Wellcome Trust Combined Training Programme). Consisting of two short research projects: “Tracking viral entry into target cells by virological and immunological methods” and “Do differentiated macrophages display distinct metabolic phenotypes reflecting their different functions?”

2007-2010 BMedSc. (Hons) Medical Science (Cellular and Molecular Pathology) (1st)
University of Birmingham, Birmingham, United Kingdom
Dissertation topic: “What is the impact of vaccination on the development of adaptive immunity to Non-typhoidal Salmonella?”

2001-2002 Certificate of HE - Psychology, Artificial Intelligence & Linguistics
University of Edinburgh, Edinburgh, United Kingdom