Bio++ Tutorial & Cookbook Julien Dutheil Sylvain Gaillard March 31, 20102i This tutorial aims at providing help for getting started with the Bio++ libraries. It introduces some of the Bio++ fundamental classes in order to get familiar with the libraries philosophy. For an exhaustive list of available classes and methods, or get a de- tailed description of what each class can do, one shouldlook at the class documentation. Each section in this tutorial works on a detailed example. Each new object instan- tiated is introduced briefly, and all methods are described. Prerequisite Users must have a basic knowledge of the C(++) language. An experi- ence in object programming will help, but is not absolutely required for the first part of this tutorial. Organization of this manual This manual starts with a general introduction to Bio++, and with technical concern on how to install and use the Bio++ libraries on variousoperatingsystems. Thefirstpartofthismanualthenconsistsin basicutilization of Bio++. It is split into thematic chapters. Each chapter begins with a working example, followed by more detailed explanation on the classes introduced. The second part of the manual will consist of several recipes on how to perform various kinds of analyses.iiContents 1 Introduction 1 1.1 You probably want to know... . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.1 Whether Bio++ is a C++ port of BioPerl, BioJava or BioPython? 2 1.1.2 What are the legal limitations when using ...
This tutorial aims at providing help for getting started with the Bio++ libraries. It introduces some of the Bio++ fundamental classes in order to get familiar with the libraries philosophy. For an exhaustive list of available classes and methods, or get a de-tailed description of what each class can do, one should look at the class documentation. Each section in this tutorial works on a detailed example. Each new object instan-tiated is introduced briefly, and all methods are described.
Prerequisite experi- AnUsers must have a basic knowledge of the C(++) language. ence in object programming will help, but is not absolutely required for the first part of this tutorial.
Organization of this manualThis manual starts with a general introduction to Bio++, and with technical concern on how to install and use the Bio++ libraries on various operating systems. The first part of this manual then consists in basic utilization of Bio++. It is split into thematic chapters. Each chapter begins with a working example, followed by more detailed explanation on the classes introduced. The second part of the manual will consist of several recipes on how to perform various kinds of analyses.
ii
Contents
1 Introduction 1 1.1 You probably want to know... . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.1 Whether Bio++ is a C++ port of BioPerl, BioJava or BioPython? 2 1.1.2 What are the legal limitations when using Bio++? . . . . . . . . . 2 1.1.3 Howyou can participate in Bio++ development? . . . . . . . . . . 2 1.1.4 WhetherBio++ is highly maintained and enhanced? . . . . . . . . 2 1.2 The starting point: installing and using Bio++ . . . . . . . . . . . . . . . 3 1.2.1 What you need to use Bio++. . . . . . . . . . . . . . . . . . . . . 3 1.2.2 Installing pre-compiled version of Bio++ (currently linux only) . . 3 1.2.3 Installing Bio++ from source files: the automatic way . . . . . . . 4 1.2.4 Installing Bio++ from source files: the manual way . . . . . . . . 4 1.2.5 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3 Installation under Windows (not using CygWin). . . . . . . . . . . . . . . 6 1.4 Developping with Bio++ and Eclipse . . . . . . . . . . . . . . . . . . . . . 6 1.4.1 Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.4.2 Creating projects for the libraries . . . . . . . . . . . . . . . . . . . 7 1.4.3 Create your own project . . . . . . . . . . . . . . . . . . . . . . . . 10 1.4.4Usingeclipseunderwindows.....................10 1.5 Portability and specificity . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Contents 1.1 You probably want to know... 1.1.1 Whether Bio++ is a C++ port of BioPerl, BioJava or BioPython? 1.1.2 What are the legal limitations when using Bio++? 1.1.3 How you can participate in Bio++ development? 1.1.4 Whether Bio++ is highly maintained and enhanced? 1.2 The starting point: installing and using Bio++ 1.2.1 What you need to use Bio++ 1.2.2 Installing pre-compiled version of Bio++ (currently linux only) 1.2.3 Installing Bio++ from source files: the automatic way 1.2.4 Installing Bio++ from source files: the manual way 1.2.5 Usage 1.3 Installation under Windows (not using CygWin). 1.4 Developping with Bio++ and Eclipse 1.4.1 Prerequisites 1.4.2 Creating projects for the libraries 1.4.3 Create your own project 1.4.4 Using eclipse under windows 1.5 Portability and specificity
1.1 You probably want to know... 1.1.1 Whether Bio++ is a C++ port of BioPerl, BioJava or BioPy-thon? No! The main goal of Bio++ is to provide reusable code in order to help the development of new methods for Bioinformatics. Such methods usually deal with sequence alignments, 1