Tuesday, July 13, 2010

A possbile structure for Bio::DB::Align

The next task is to implement a package retrieving online alignment sequences and return a Bio::SimpleAlign object. The possible way of doing that is to implement these packages:

Bio::DB::Align (folder)
AlignI.pm (Interface showing methods need to be implemented)
Pfam.pm (Implementation of retrieving alignment data from Pfam)
Uniprot.pm (Implementation of retrieving alignment data from Uniprot)

Probably, in AlignI, the methods are

In the implementation, e.g. Pfam.pm, the package will implement both Bio::DB::Align::AlignI for alignment retrieving methods and Bio::DB::GenericWebAgent for web related methods.

For simplicity, Bio::DB::Align::Pfam and Bio::DB::Align::Uniprot will only implement alignment related methods. The package retrieving other information from these two databases can be implmented later as Bio::DB::Pfam and Bio::DB::Uniprot


  1. There are a few ways to implement a Pfam database backend. One is to call out to Pfam remotely, the other is to use a local version; implement whichever is easier, but remember we need to leave the interface abstract enough to allow for other options.

    Definitely on the right track, though!

  2. Forgot to point out, if you want to create a simple local Pfam DB, you could use Bio::Index::Stockholm to do so.