Bio C# 1.0
During my work with the two tools SciRoKo and PanGEA I created a flexible, highly reusable and comprehensive class library which could act as a starting point for a Bio C# project.
During the development of this class library I spent lots of time developing efficient algorithm for this class library. However, good algorithm are worthless if they can not be easily incorporated into new software, therefore I spent even more time honing the design of this Bio C# framework.
In my opinion, the main advantage of C# are the beauty of the language itself, which facilitates creating reusable code and that user-friendly tools with a GUI can be easily created. This tools should work in Linux, Windows and Mac OsX (many thanks to the Mono-project)
After several years of effort, I believe, that I managed to develop a powerful and beautiful class library which can easily be used in other tools. The code can be easily managed and extended. I used interfaces to keep the classes interchangable, used design pattern where appropriate and created unit tests for each class using NUnit. This unit tests have the advantage that the number of bugs is vastly reduced (I still hope to zero) and additionally that examples how the classes may be used are readily available.
Thus I am convinced that this class library may be extremly useful for developers in Bioinformatics and Computititonal Biology.
I decided to distribute this class library under the MPL.
As of now, Bio C# contains classes for handling fasta IO, Blast-search (using an own algorithm), local and global alignments, quality sequence IO, statistics (Mann-Whitney, Poisson Distribution), distribution of features along chromosomes, SNP-identification, gene expression statistics, 454-sequence handling, microsatellite search and basic sequence statistics