Share on Facebook Tweet on Twitter Share on LinkedIn Share by email
Microsoft Biology Foundation Training

The Microsoft Biology Foundation (MBF) is a language-neutral bioinformatics toolkit, built as an extension to the Microsoft .NET Framework, and initially aimed at the area of Genomics research. On this page, you can find slides and hands-on labs to help you get started with MBF. You can also view the MBF tutorial introduction presentation from the Microsoft Research eScience Workshop 2010. Visit Microsoft Biology Foundation to install, download, learn more about MBF, and to find sample tools and applications built on MBF. MBF is part of the Microsoft Biology Initiative.



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.