Hi Jonathan, >This is general call for information on biojava/Ensembl. > >I'm developing a visualisation tool for presenting biological >sequences/features as graphics blocks (not showing the bases) on a backbone >(according to their start-stop positions), rather like the Ensembl viewer >does. > >As the Ensembl project is going to move to Java I assume there are >objects/interfaces and methods that I could use??? Could someone point me in >the right direction or give me examples related to this type of biological >display?? How far has the Ensembl java got?? > >I have already developed a prototype viewer, but I am now trying to 'open it >up' to represent different types of biological data and would like it to be >compatible with BioJava stuff and Ensembl. > >Any tips- hints would be greatly appreciated. > The ensembl-java port is still in progress and could be in a state for you to use now; it really depends on what you need now, what database access layer your code currently depends upon and your development schedule.
You have 3 options for accesing the ensembl database from java: 1 - use ensembl-java's driver mechanism (the so called "object layer"). 2 - use bio-java's ensembl support. 3 - write your own object-relational mechanism. Option 3 is a serious case if reinventing the wheel and unless you have some very peculiar requirements I am guessing you will opt for either 1 or 2. I have no experience of using option 2 but Thomas Down (from the bio-java project) has agreed that bio-java will start using the ensembl-java driver mechanism for accesing ensembl data once it is complete and stable (replacing it's own support). That means that any code written against the current bio-java data access system will need to be changed in future. The ensembl-java driver for our mysql database currently offers partial support for retrieving sequence, genes, exons, translations and transcripts. Take a look at the adaptors in org.ensembl.driver.plugin.standard to see which object properties are currently included from the database- others properties can often be quickly added. What information do the objects such as gene need to support your viewer? We will make some minor changes to the ensembl-java API in about 1-2 months time. This is to incorporate lessons learnt developing our current java pilot application (Id Mapping). The changes will not radically affect client code so you would only have a few tweaks to maintain your applications compatibility. You can get more information about ensembl-java from http://www.ebi.ac.uk/~craig/ensembl_java. The compiled code is available from this site as a jar, or the latest source from the ensj-core module in our CVS repository. The available files include configuration settings to connect to our public database kaka.sanger.ac.uk which means the system should work out of the box without any database config. We call the module that sits between the application and the database a driver, the driver consists of adaptors. The system is is easy to use: Step 1- optionally configure the database settings if you don't want to use kaka. Step 2 - call an initialisation method. Step 3 - use data from the database by retrieving through the available through adaptors. For example genes are available through the registered gene adaptor. Take a look at the test code in the org.ensembl.test package for examples. You might also want to have a look at another project called Omnigene which includes a viewer called Omniview. This system will use ensembl-java to access ensembl data in future. I expect the ensembl-java object layer is the best solution for your problem but feel free to let me know if you have any further questions. Craig, _______________________________________________ Biojava-l mailing list - [EMAIL PROTECTED] http://biojava.org/mailman/listinfo/biojava-l