The C++/Bio++ remote acnuc access API

The C++ remote acnuc access API is conceived as a part of the Bio++ libraries. It is scheduled to be included in version 2.0 of Bio++. Pending this release, the Bio++/acnuc interface is available here as an add-on to the current Bio++ library.

Installation.
You should first install the Bio++ libraries if they are not already on your computer.
Then, download file Raa.tgz, and expand it.
In the Makefile therein, edit the line
BPPINCLUDE = ...
to reflect the path to the include directory of the Bio++ libraries on your computer.
Run make. This will build file libbpp-raa.a.

Usage.
The bpp-raa library is used adding
#include "RAA.h"
to your source files, and linking them with libbpp-raa.a (from the Raa directory), libbpp-seq.a, libbpp-utils.a, and libbpp-numcalc.a (from the lib directory of the Bio++ libraries), and with the libz library (add -lz to your link command). Under SunOS, you'll also have to add -lnsl -lsocket to your link command. Bpp-raa defined classes are part of the bpp namespace.

Bpp-raa API.
The Bio++ API for remote acnuc access is performed through five classes. These classes allow:

All of this requires an internet connection and that the port 5558 is not closed by a firewall. To check whether outbound connection through this port works on your computer, type:
telnet pbil.univ-lyon1.fr 5558
in a terminal. You should obtain this reply:
Trying 134.214.32.76...
Connected to pbil.univ-lyon1.fr.
Escape character is '^]'.
OK acnuc socket started
If nothing happens for a long time, then check your computer's firewall and/or ask your local network manager.

Example.

#include "RAA.h"

using namespace std;
using namespace bpp;

int main(int argc, char **argv)
{
	RAA *myraa = new RAA("embl");
	Sequence *seq = myraa->getSeq("AL391737");
	RaaList *mylist = myraa->processQuery("au=galtier", "galtier");
	myraa->deleteList(mylist);
	delete myraa;
}