F# 2-Year Contract Position for Biological Modelling Language Development

Here are some details on an F# contract position at MSR Cambridge.

Contract Position for Biological Modelling Language Development (F#)

Microsoft Research, Cambridge, UK - 4th October 2011

Microsoft Research Cambridge has available a 2-year contract position for development of a programming environment for designing and simulating computer models of biological systems. The environment supports a family of modelling languages and simulation algorithms, which are 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 (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 DNA computing, Synthetic Biology, 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 for modelling biological experiments. The candidate will be expected to formalise these extensions using rigorous semantics and carry out the implementation work in F# for release online. If desired, the candidate will have the opportunity to publish the results in leading journals or conferences. The candidate will work closely with a User Interface developer, in order to connect the core language with a web interface, developed in Silverlight. 

The second objective of the project will be to integrate multiple modelling languages simultaneously within a common language runtime for biology. Preliminary details of this work are available from research.microsoft.com/bme/draft.pdf. The work will also involve extending the scope of the runtime to handle state-based and scenario-based modelling languages.  

The candidate must be willing to work in Cambridge, UK, and the contract is for 2 years. Interested candidates should contact Andrew Phillips (firstname.lastname@microsoft.com) with a CV. The start date is flexible, however the position is available from December 2011.

 

Duration of contract: 2 years

Location: Cambridge

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

Required skills:

  • Strong applied functional programming skills in Standard ML, OCaml, F# or Haskell. 
  • In-depth knowledge of programming language theory.
  • Experience in programming language implementation.
  • 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, or ability to understand research articles on related algorithms for subsequent implementation.
  • 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.