While this page links to many extra technical details, the definitive reference for an explanation of Seahawk and its features is:
Gordon P.M.K., Sensen C.W. (2007) Seahawk: Moving Beyond HTML in Web-based Bioinformatics Analysis. BMC Bioinformatics 8:208. MedlineSeahawk is a Java applet (or application component) that allows a naïve user to:
The user interaction and data display is significantly different in concept and execution from the other end-user clients (all HTML-based), Ahab, Gbrowse and MOWServ.
Seahawk is not a visual programming environment for workflows, but rather allows workflow construction by example (as opposed to Taverna or Remora. It is not for deploying services or seeing the guts of MOBY Objects and service calls: for this please see Dashboard.
The applet can be launched from the following Web site: http://moby.ucalgary.ca/seahawk/. If you are a programmer, you can run it with a checked out version of the jMOBY CVS: ant seahawk
If Seahawk appears to freeze up, you will probably find a ClassDefNotFound exception in your
In order to make Seahawk a reasonable size for download (~2.7 MB), only those classes that appear to be required
for its set of functionality are included. If you get this exception, it is because the
class-reducing mechanism did not work properly. Please let
The jar (Java archive) file containing all of the required classes (including those from Axis, Jena, Xalan, Xerces, etc.) is available here, and is signed by the University of Calgary Bioinformatics Lab. You can also build your own version of the jar with the jMOBY CVS Ant target "seahawk-jar". Either jar file can be used as an application with the command:
If there is sufficient demand, I'll make a nice graphical installer for it.
java -jar seahawk.jar
Or it can be launched from within another Java application with the following code (and assuming seahawk.jar is in the classpath):
import ca.ucalgary.seahawk.util.MobyUtils; import ca.ucalgary.seahawk.gui.MobyContentGUI; // the rest of your application code goes here... JLabel whereStatusMessagesAreDisplayed = new JLabel(); // or preferably some existing part of your interface MobyContentGUI mobyContentGUI = MobyUtils.getMobyContentGUI(whereStatusMessagesAreDisplayed); mobyContentGUI.setVisible(true); // just so something is displayed for the user mobyContentGUI.showHelpTab(); // or load a particular document mobyContentGUI.loadPaneFromURL(myURL);
If you'd like to see the XML data being passed back and forth between the client and the server,
simply define the
moby.debug system property. e.g.
java -Dmoby.debug=1 -jar seahawk.jar
There are 4 main mechanisms for creating Moby Data Instances in Seahawk:
ca.ucalgary.seahawk.gui.MobyContentGUI, and this same class will create a MOBY DNASequence, RNASequence or AASequence if 95% of the characters are valid for that sequence type.