SDA India is an online resource for Software, Development,IT, Architecture, Open Source, Mobile, Security, Databases, Delphi, C, OS, Asp, .Net, Php, Xml, Java

From the News Desk
Wednesday, 5. September 2007

StrBioLib Java Library to Develop Custom Computational Structural Biology Apps


Current Issue

StrBioLib is a library of Java classes useful for developing software for computational structural biology research. It contains classes to represent and manipulate protein structures, biopolymer sequences, sets of biopolymer sequences, and alignments between biopolymers based on either sequence or structure. Interfaces are provided to interact with commonly used bioinformatics applications, including (PSI)-BLAST, MODELLER, MUSCLE and Primer3, and tools are provided to read and write many file formats used to represent bioinformatic data. The library includes a general-purpose neural network object with multiple training algorithms, the Hooke and Jeeves non-linear optimization algorithm, and tools for efficient C-style string parsing and formatting. StrBioLib is the basis for the Pred2ary secondary structure prediction program, is used to build the ASTRAL compendium for sequence and structure analysis, and has been extensively tested through use in many smaller projects. StrBioLib is available under the GNU LGPL license.




Computational structural biology research often requires time-consuming development of custom software to analyze data. Development of such software is facilitated by publicly available libraries that read and write the multitude of file formats in which bioinformatic data is stored, implement commonly used algorithms, and otherwise efficiently perform common tasks (Mangalam, 2002). Object-oriented languages such as Java or C++ are particularly well suited for such libraries, as judicious choice of an object representation allows methods to be described and implemented in high level terms, thus facilitating rapid development and testing of alternative algorithms. In addition, object-oriented programming languages facilitate efficient reuse of code through extension and inheritance of existing classes. StrBioLib is a library of Java classes that represent objects, concepts and tools useful for the development of algorithms for computational structural biology research. StrBioLib is complementary to existing libraries such as BioJava (Pocock et al., 2000) that focus on tools for analysis of biological sequences. StrBioLib is mature, having been used by several research groups over more than 10 years; some classes predate the Java programming language and were ported from earlier C and C++ versions,


StrBioLib has been used to develop a number of published applications, including secondary structure prediction software (Chandonia and Karplus, 1995, 1996; Pred2ary, Chandonia and Karplus, 1999), threading methods (JThread, Chandonia and Cohen, 2003), and the MakeRAF software that creates mappings between the sequence and experimentally observed residues from PDB files in the ASTRAL database (Chandonia et al., 2002). MakeRAF provides an example of how to create a customized function for scoring gaps in sequence alignments by implementing the org.strbio.mol.lib.GapModel interface. Both MakeRAF and Pred2ary are included with StrBioLib, along with instructions for stand-alone installation and testing, and sample output useful for validation. Several additional programs are included with StrBioLib in the org.strbio.app package. These programs may be run as stand-alone utilities or used as models for further application development. ConvertProtein is an application for converting between various protein file formats and performing basic data manipulation (e.g. rotation and translation of protein structure, or elimination of particular atoms or residues). Align is a front end to the sequence alignment algorithms included in StrBioLib. FindProteins and SplitProteins are utilities to manipulate large sets of proteins; they work, respectively, by separating particular proteins from a group by name, and splitting a group into multiple subsets of equal size. Read the article here.






Post a Comment
Name
Title
Comment
Menu
News Desk
Feature Stories
Articles
Interviews
Case Studies
White Paper
Analyst Corner
Planet SDA-India
SDA Events
INDIA IT Event Calender
IT Jobs
Advertise