.NET Bio is a
bioinformatics toolkit, built as an extension to the Microsoft .NET Framework,
and initially aimed at the area of Genomics research. It is comprised of
a library of basic bioinformatics functions that makes it simple
for a programmer to build genomics and other life science applications on the
Windows platform. .NET Bio is available under the Apache 2.0 open source
software license, and so may be used free of charge by both commercial and
non-commercial users.
About the Course
This is a two
day course, by the end of the course, attendees will be able to build their own
simple bioinformatics applications to run on the Windows platform. The course
covers basic use of the Visual Studio programming environment and the C#
programming language as well as providing an overview of the features of the
.NET Bio library. Attendees will learn through a mixture of presentations and
hands-on practical sessions.
Lunch will be provided each day at 12 noon.
Prerequisites
Please be sure and have a laptop
with Microsoft Windows XP SP3 or later installed.
Module 1: Introduction to .NET Bio and Command Line Tools
This module
provides an overview of .NET Bio its intended scenarios, and included
command-line tools. It shows you how to obtain .NET Bio, what is required to
use it, and, most importantly, how to get started with .NET Bio by using
scripting environments such as Python and PowerShell. It also introduces
several free tools for batch file analysis that were built with .NET Bio, 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 .NET Bio
To really
take advantage of the power that is offered by .NET Bio, you can write
programs in .NET that build on top of the core features .NET Bio provides.
This module provides an overview of the types that are included in .NET Bio,
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 .NET Bio. 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 .NET Bio. 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 .NET Bio interfaces, properties, and
methods to create a WPF application to visualize the data.
Module 5: Parsers and Formatters
This module
explores .NET Bio’s built-in sequence parsers, formatters, alphabets, and
encoders. It also introduces the method of expanding .NET Bio 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 .NET Bio and the
sequence viewer/editor that were created in Module 3.
Module 6: Algorithms
This module
examines the algorithms that are defined in .NET Bio 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 .NET Bio and perform sequence alignment, assembly, and
transformations.
Module 7: Web Services
This module
introduces Microsoft .NET web services, the web service architecture in .NET
Bio, the built-in web service support in .NET Bio 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 .NET Bio. 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.
Module 8: Sho
Sho is a data analysis tool that utilizes
IronPython and enables high performance matrix manipulation and graphing. In this lab we use Sho along with .NET
Bio to do some quick analysis of sequences without resorting to writing a full program. Here you will see how
to load and manipulate biological sequences within the Sho environment, graphing your results in a variety of
forms to visually show the details.