Microsoft Biology Foundation Workshop 2011, Brisbane

Microsoft Biology Foundation

Microsoft is hosting a two-day workshop on the Microsoft Biology Foundation (MBF), an open-source Microsoft .NET library and application programming interface for bioinformatics research. The MBF workshop will take place July 7 and 8, 2011, in Brisbane, Australia, in conjunction with the 2011 Winter School in Mathematical and Computational Biology hosted by The University of Queensland. It will include a quick introduction to Microsoft Visual Studio 2010, the Microsoft .NET Framework, C#, and the MBF object model. Attendees will participate in hands-on labs and write a sample application that employs the file parsers, algorithms, and web connectors in MBF. 

Workshop Program

The program will cover the modules that are listed on the Microsoft Biology Foundation Training site and summarized below. The sessions will combine lectures and hands-on labs; therefore, to get the most benefit from the workshop, we recommend that you bring a laptop with Microsoft Visual Studio 2010 installed. Students and educators can acquire Visual Studio 2010 for free through the MSDN Academic Alliance (MSDNAA) program (if your department is a member) or via Microsoft DreamSpark. Alternatively, anyone can install Microsoft Visual C# 2010 Express for free (product registration is required). Complimentary morning tea and lunch will be provided.

Day One 


Introduction and
Module 1




Module 2 Lecture


Module 2 Lab




Module 3 Lecture




Module 3 Lab









Day Two 


Module 4 Lecture




Module 4 Lab


Module 5 Lecture




Module 5 Lab


Module 6 Lecture




Module 6 Lab









Module 1: Introduction to the Microsoft Biology Foundation and Command Line Tools

This module provides an overview of the Microsoft Biology Foundation (MBF), its intended scenarios, and included command-line tools. It shows you how to obtain MBF, what is required to use it, and, most importantly, how to get started with MBF by using scripting environments such as Python and PowerShell. It also introduces several free tools for batch file analysis that were built with MBF, as well as a few add-ins for popular numeric and scientific analysis programs that you can use even if you do not have much programming knowledge.

Module 2: Programming with Visual Studio 2010 and C#

This is a comprehensive introduction to the Microsoft Visual Studio programming environment and Microsoft .NET. Learn how to create a project, what is .NET, how to get started with C#, and runtime debugging. The hands-on lab helps you get experience building applications in Visual Studio 2010. It walks you through the steps that are required to create a console application, interfaces and types that implement those interfaces in C#, a library to hold common (shared) code, and a simple Windows Presentation Foundation (WPF) application by using the shared library.

Module 3: Building Applications with MBF

To really take advantage of the power that is offered by MBF, you can write programs in .NET that build on top of the core features MBF provides. This module provides an overview of the types that are included in MBF, and introduces you to the core features of the programming platform—including how to represent sequences, load and save data, and analyze and run algorithms on sequences. The hands-on lab helps you gain experience working with sequences, parsers, formatters, and the transcription algorithm that is supplied in MBF. It walks you through the steps that are required to build a simple Windows Forms application that can load a set of sequences from a file, transcribe them, and then write those sequences to the same or a different file.

Module 4: Working with Sequences

This module examines the Sequence data type in MBF. Learn how to load sequences into memory and save them, the different sequence types that are available, how to use sequence metadata, and how data virtualization support enables support for large data sets. The hands-on lab familiarizes you with managing sequences and sequence items by using MBF interfaces, properties, and methods to create a WPF application to visualize the data.

Module 5: Parsers and Formatters

This module explores MBF’s built-in sequence parsers, formatters, alphabets, and encoders. It also introduces the method of expanding MBF with custom alphabets, parsers, and formatters. The hands-on lab walks you through the steps that are required to build a simple custom parser and formatter for a fabricated biology data format, and then plug it into MBF and the sequence viewer/editor that were created in Module 3.

Module 6: Algorithms

This module examines the algorithms that are defined in MBF for sequence alignment, multi-sequence alignment, sequence fragment assembly, transcription, translation, and pattern matching against sequences, and explains how to create custom algorithms. The hands-on lab walks you through the required steps to build an application that runs algorithms against sequences that are loaded with MBF and perform sequence alignment, assembly, and transformations.

Module 7: Web Services*

This module introduces Microsoft .NET web services, the web service architecture in MBF, the built-in web service support in MBF for BLAST, and ClustalW; how to call these services asynchronously; and presents a detailed example of how to build custom service wrappers. The hands-on lab walks you through the steps of building an application that executes the BLAST algorithm by using web services against sequences loaded with MBF. You will get some experience loading and identifying web service handlers for BLAST, passing sequences and sequence fragments to BLAST, changing the BLAST parameters, and displaying the results from a BLAST run.

*Although this module is not currently in the schedule, if the workshop proceeds at a faster rate or the attendees indicate particular interest in this module, we may adjust the schedule to incorporate it into the workshop.