Posts categorized under: software


A builder for more compact REDCap schema


REDCap is a fabulously useful tool for creating web databases, including a useful scheme for defining the database schema ("data dictionaries") in plain CSV files. However, difficulties arise when designing complex schema. It is cumbersome to code multiuple occurences of essentially the same field (e.g. sample_1 ... sample_2 ...). If …


Validation and conversion of data.


This package has been taken over by TODO, who has substantially re-engineered it and chnaged some of the API. This page is maintained for largely historical purposes.


The problem of sanitizing data (checking correctness and transforming to a useful form) is widespread throughout programming:

  • How do I verify …


Simple commandline questions


Interactive command-line programs need to query users for information, be it text, choices from a list, or simple yes-or-no answers. qanda is a module of simple functions to prompt users for such information, allowing validation and cleanup of answers, default responses, consistent formatting and presentation of help text, hints …


A tool for documentable and reproducible analysis and research.


Although I used psicons heavily for a while, better and more humane tools have come along. In particular, I'd recommend snakemake. This page is left here for historical interest


Scientific analysis can be problematic:

  • It may involve multiple steps, each using the results of the previous stage.  Making …


A python module for interpreting Ordnance Survey grid references.


Many geospatial locations within the UK are given with the Ordnance Survey system. While common and highly accurate, this coordinate system is peculiar to the UK and incompatible with many modern cartography tools. This module presents functions for converting between these and the most widely spread longitude-latitude system.

Installation …


Retrieving book data from online sources.


This package presents a number of methods for querying webservices for bibliographic information, and includes two scripts for querying and renaming files by ISBN.


This package can be installed by the usual Pythonic methods:

  1. use your favourite installation tool:

    % easy_install biblio.webquery
  2. or download the source, unpack it …


Simple utilties for Plone product initilisation and installation.



This library was developed for personal use during the bad old days of Plone development around version 2.5. It almost certainly does not work with Plone 3+ and is kept here for historical interest.

This library originated from a desire to do away with the large amount …


A restructured text-based tool for preparing presentations.


rst2beamer has been wildly successful and used far beyond what I imagined. Further development has been taken on by Ryan Krauss and subsequently others. The source has been moved to its own repo on github and that (and the PyPi page) should be used as the primary sources. No …


An application for the interactive building of taxonomies.


Biodiversity assessment demands objective measures, because ultimately conservation is an issue of economics, prioritizing the use of limited resources for preserving taxa. The most general framework for such metrics are those that assess evolutionary distinctiveness as judged by how much of a phylogeny is conserved. However, their applicability is …

Conserve IV

Assessing and prioritizing conservation schemes based on phylogenies.


While it would be best to preserve all species and populations, in the management of biodiversity it is often necessary to perform a triage. Decisions must be made as to which populations, species and habitats should be given the highest priority.

Other things being equal, these priorities should be …


A program for phylogenetic reconstruction using gapped data.


MAC5 is a program which implements MCMC sampling to estimate a phylogenetic tree from a DNA multiple alignment. What differentiates MAC5 from similar programs (e.g. BAMBE, MrBayes) is its use of five-state sequence evolution models as a means to include the gap information when estimating an alignment. Despite …


Macroevolutionary Analysis & Simulation.


Phylogenies are smoking guns. An evolutionary history carrys in its very shape the fingerprints of every process that effected its creation: extinctions, key adaptations, radiations, colonizations, changes in the tempo and mode of macroevolution.

Unfortunately analysing phylogenies is difficult. The calculations of interest to any investigator are sometimes intricate …


Analysing multilocus population data.


This program has been written to facilitate analysis of multi-locus population genetic data. In particular, it allows calculation of various genotypic diversity indices, various linkage disequilibrium indices, and a measure of population differentiation, and allows one to search for subpopulations which do not share polymorphisms (and thus might be …