[Biojava-l] any books on biojava

David Huen David Huen <smh1008@cus.cam.ac.uk>
Fri, 22 Jun 2001 17:27:19 +0100 (BST)


On Fri, 22 Jun 2001, Jason Stajich wrote:

> David - feel free to start one on the wiki docs.  That might be the best
> place because others can jump in and add their own comments.
> 
> I created the wiki page for you to start filling in since you volunteered
> ;)
> http://www.biojava.org/wiki/html/BioJava/BioJavaFAQ.html
> The username is :wiki
> the password is :wicked
> 
> We've only closed it off w/ a password to keep the script kiddies away.
> Alternatively a biojava FAQ in the src dir would be cool too - then we can
> just point people to the cvsweb link for the FAQ if they don't have the
> code checked out.
> 
I tried to do some Wiki but i couldn't figure out how to put in a new page
(at least not from reading the Wikidocs themselves... they seem to be like
magic).

I thought very simple FAQ that points at Wiki might be useful because more
people know what a FAQ is than what a Wiki is.

Anyway, the following is about as far as i have got.  Please help correct
errors of fact/emphasis/etc.

I'll try to read up elsewhere on Wikis to figure how to get a page up in
the mean time.

Regards,
David Huen


===========================
What is Biojava?
Biojava is a collection of class libraries written in Java for use in Bioinformatics.  
The project was initiated by Thomas Down and Michael Pocock at the Sanger
Centre. Many others have contributed to it since.
<is this correct?>

Who funds Biojava development?
Biojava is developed solely by volunteers and receives no earmarked funding for its 
development.  Code has been contributed to it by individuals in academic 
institutions as well as bioinformatics companies.

The www.biojava.org site is hosted at www.open-bio.org on hardware and bandwidth kindly 
provided by Compaq and the Genetics Institute.

Can I use Biojava for commercial purposes?
Biojava is released under the Lesser General Public License (LGPL) 
(http://www.fsf.org/copyleft/lesser.html).  This licence (let's get the spelling right here 
on!) allows you to use the library in other code without causing your other code to come 
under the GPL provisions.  In other words, LGPL is not "viral" in character with respect 
to your code that is otherwise wholly your own.  Your code remains "uninfected" by the act 
of linkage.

It should be pointed out that LGPL does not remove GPL obligations for derivatives of the 
library itself.  If you should modify the libraries AND distribute 
modified libraries, you are obliged to make available source code for the derivative.

As in all these issues, you should seek legal advice rather than rely on the 
interpretation of a lay person like myself for all issues that matter commercially.

Where do I find documentation/info for Biojava?
The www.biojava.org homepage has hyperlinks to some documentation on Biojava.  There is 
also a Wiki linked to by the home page which may evolve in to a documentation source 
eventually.  All classes are documented with Javadocs which serve as primary documentation. 
Some perusal of sources is unavoidable when clarification of details is required.

There isn't a book on Biojava.

There is however a most excellent Biojava bootcamp which is held occasionally.  The one 
at the EBI serves great food.

Biojava developers may also attend the Open Source Bioinformatics meetings.

I need to contact some one
The primary means of communication is the biojava list at biojava-l@biojava.org.  It 
is used as a forum by developers and users for announcements, technical 
discussions, bug reports, technical support, etc.  It may be subscribed to from the 
Biojava homepage.

It should be borne in mind that the extent of user support can be limited.  Most Biojava 
participants are bioinformaticians, computational biologists and 
biologists with a computing interest.  As Biojava is a library rather than an enduser 
product, users can be expected to have reasonably firm grasp of Java and 
molecular biology.

How do I obtain Biojava?
Biojava can be downloaded in source code and compiled forms from the www.biojava.org site.  
The site runs a CVS repository and has WebCVS access too.

How do I install Biojava?
It is assumed you know how to install Java and get it working properly.

Detailed instructions on installing Biojava exist on the www.biojava site.  To recap, 
Biojava comes as a source tree rooted on the biojava-live directory.  
Compilation requires the use of the Apache ant tool which is available from www.apache.org. 
 Ant MUST be working properly to have ANY hope of compiling the libraries.  Please ensure 
this.  TYPE "ant" on the command line within that directory will compile a biojava.jar 
library.  Correct compilation requires certain 
other libraries to be available.  These include bytecode.jar, jakarta-regexp.jar and 
xerces.jar (may change with time).

There are other modules within the Biojava CVS which are more like applications.  These 
have additional requirements and instructions which are explained within 
the respective directories.

How do I develop code with Biojava?
It does pay dividends to read the sources of demos related to your interest to see how 
they work and how the library itself works.  While it is possible to hack 
together code that may do the function you want done, greater familiarity with the 
Biojava code base will allow you to write code that can leverage existing 
code and be leveraged by others to do something you might not have had in mind at 
the outset.  You may find the sources to be quite daunting at first sight but 
when you become familiar with them, many parts do have a design basis which provides 
a abstraction of the task that is particularised to a specific task.  It 
makes code reuse easier though it may extend the learning curve somewhat initially.  It 
can be hell if you are a FORTRAN addict!

Biojava sucks.  It doesn't have code to deal with (feature X)?
Biojava being a volunteer project will evidently contain code that focusses on areas of 
interest to the contributors themselves.  You will find good coverage of 
methods for representing sequences and features and for processing results from various 
search tools because contributors have had an active interest in these 
areas.

You may perhaps consider extending Biojava to covering those areas yourself?