F# Contract Position in Biological Modelling Language Development

Here's an F# contracting position at Microsoft Research, Cambridge, UK

Microsoft Research Cambridge has available a 6 month contract position in applied language design and simulator development, for work on a modelling environment for designing and simulating computer models of biological systems. The environment supports a family of modelling languages and simulation algorithms, and is being used in a number of key scientific projects, from building computational circuits in DNA (research.microsoft.com/dna) to genetic engineering of living cells (research.microsoft.com/gec) to understanding and predicting the response of the human immune system using process-based methods (research.microsoft.com/spim) . The candidate will be working in an exciting new field at the intersection of computer science and biology, and the results of the project could potentially have an impact on a broad community of researchers, both in academia and industry.

 

The first objective of the position will be to extend existing biological modelling languages with high-level language constructs based on feedback from scientific collaborators in immunology and developmental biology. The language extensions will include high-level interaction mechanisms which mask some of the complexities of the lower-level languages, together with constructs to simplify modelling of biological experiments such as the ability to trigger events at fixed time intervals. The second objective will be to improve the usability of the modelling languages by providing support at the language level for simplified programming abstractions, based on feedback provided by a user interface designer. The third objective will be to improve the integration of process-based and state-based modelling languages within the biological modelling environment, in order to improve usability.

 

The candidate must be willing to work in Cambridge, UK. The contract is initially for a 6 month period, but may be renewed for up to 2 years depending on the progress of the project. Interested candidates should contact Andrew Phillips (firstname.lastname@microsoft.com) with a CV. The start date is flexible, however the position is available immediately.

 

Duration of contract: 6 months

Location: Cambridge

Education: MS. or Ph.D. in Computer Science.

Required skills:

  • Strong applied functional programming skills in Standard ML, OCaml, F# or Haskell. 
  • Knowledge of programming language theory and implementation techniques.
  • A strong desire to contribute to the scientific community through the development of concise, efficient, scalable languages and tools for modelling and simulation of biological systems.

Additional desired skills:

  • Knowledge of stochastic simulation algorithms such as Gillespie's Direct Method. Ability to read research articles on related algorithms and to implement these algorithms efficiently.
  • Familiarity with process calculi and associated theory.
  • Experience with implementing inference-based type systems.

 

Background: The candidate will be based in the Biological Computation Group at Microsoft Research in Cambridge. The group is studying biological systems across multiple scales and is tackling fundamental scientific questions across multiple domains. Current projects include designing molecular circuits made of DNA, and programming single cells that cooperate to perform complex functions over time and space. We also aim to understand the computation performed by cells during organ development, and how the adaptive immune system detects viruses and cancers in the human body, focusing on mechanism and function. We are tackling these questions through the development of computational models and domain-specific computational tools, in close collaboration with leading scientific research groups. The tools we develop are being integrated into a common modelling environment. Further information about the group is available at research.microsoft.com/biology , including links to our software tools, which are freely available for use by the scientific community.