|
JavaStudioTM Design for BlastView_IO |
|

Note the modular nature of the design: for example, in order to use BlastView to display the results of a FASTA
or Smith Waterman-based search, one would simply replace the BlastParser component with a new parser
for the type of data desired. And to use a different method to obtain search data, such as CORBA, RMI, or
direct SQL/JDBC access to a database, one would also replace the URLReader.
This component is responsible for retrieving BLAST data from a URL (e.g. a local file or a remote Web/CGI
server) and parsing it into bioWidget data structures. The ShowFileDialog input at the far
left sends the signal to read a file. In response the FileDialog component produces a window that
allows the user to choose a BLAST file residing on his/her computer. The name of this file is
transmitted to the URLReader, a JavaBean responsible for retrieving a stream of data from
a URL (local file, CGI script, ftp site, etc.) The data stream is then passed to the BlastParser
, a specialized component that reads BLAST output into the generic objects used by bioWidgets to represent
local alignment search results. Both BlastParser and URLReader output status messages to
a ParserStatus component, which displays progress messages in a separate window. Finally, the
BlastParser sends the data it has read to the rest of the application through a NewAnnotation
message, and the TimeStamper produces a logical timestamp that is used to synchronize the BLAST
data with any follow-up analyses.