## [r12304]: cdk-taverna-paper / trunk / cdk-taverna / bmc_article.tex  Maximize  Restore  History

### 598 lines (495 with data), 27.1 kB

  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 %% BioMed_Central_Tex_Template_v1.06 %% % % bmc_article.tex ver: 1.06 % % % %%IMPORTANT: do not delete the first line of this template %%It must be present to enable the BMC Submission system to %%recognise this template!! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% %% LaTeX template for BioMed Central %% %% journal article submissions %% %% %% %% <14 August 2007> %% %% %% %% %% %% Uses: %% %% cite.sty, url.sty, bmc_article.cls %% %% ifthen.sty. multicol.sty %% %% %% %% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% %% For instructions on how to fill out this Tex template %% %% document please refer to Readme.pdf and the instructions for %% %% authors page on the biomed central website %% %% http://www.biomedcentral.com/info/authors/ %% %% %% %% Please do not use \input{...} to include other tex files. %% %% Submit your LaTeX manuscript as one .tex document. %% %% %% %% All additional figures and files should be attached %% %% separately and not embedded in the \TeX\ document itself. %% %% %% %% BioMed Central currently use the MikTex distribution of %% %% TeX for Windows) of TeX and LaTeX. This is available from %% %% http://www.miktex.org %% %% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \NeedsTeXFormat{LaTeX2e}[1995/12/01] \documentclass[10pt]{bmc_article} % Load packages \usepackage{cite} % Make references as [1-4], not [1,2,3,4] \usepackage{url} % Formatting web addresses \usepackage{ifthen} % Conditional \usepackage{multicol} %Columns \usepackage[utf8]{inputenc} %unicode support %\usepackage[applemac]{inputenc} %applemac support if unicode package fails %\usepackage[latin1]{inputenc} %UNIX support if unicode package fails \usepackage{graphicx} \urlstyle{rm} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% %% If you wish to display your graphics for %% %% your own use using includegraphic or %% %% includegraphics, then comment out the %% %% following two lines of code. %% %% NB: These line *must* be included when %% %% submitting to BMC. %% %% All figure files must be submitted as %% %% separate graphics through the BMC %% %% submission process, not included in the %% %% submitted article. %% %% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\def\includegraphic{} %\def\includegraphics{} \setlength{\topmargin}{0.0cm} \setlength{\textheight}{21.5cm} \setlength{\oddsidemargin}{0cm} \setlength{\textwidth}{16.5cm} \setlength{\columnsep}{0.6cm} \newboolean{publ} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% %% You may change the following style settings %% %% Should you wish to format your article %% %% in a publication style for printing out and %% %% sharing with colleagues, but ensure that %% %% before submitting to BMC that the style is %% %% returned to the Review style setting. %% %% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Review style settings \newenvironment{bmcformat}{\begin{raggedright}\baselineskip20pt\sloppy\setboolean{publ}{false}}{\end{raggedright}\baselineskip20pt\sloppy} %Publication style settings %\newenvironment{bmcformat}{\fussy\setboolean{publ}{true}}{\fussy} % Begin ... \begin{document} \begin{bmcformat} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% %% Enter the title of your article here %% %% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \title{CDK-Taverna: An open workflow environment for chemoinformatics} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% %% Enter the authors here %% %% %% %% Ensure \and is entered between all but %% %% the last two authors. This will be %% %% replaced by a comma in the final article %% %% %% %% Ensure there are no trailing spaces at %% %% the ends of the lines %% %% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \author{Thomas Kuhn$^{1,2}$% \email{Thomas Kuhn - thomas.kuhn@fh-gelsenkirchen.de}% \and Egon Willighangen$^1$% \email{Egon Willighangen - egon.willighagen@gmail.com} \and Achim Zielesny\correspondingauthor$^2$% \email{Achim Zielesny\correspondingauthor - achim.zielesny@fh-gelsenkirchen.de} and Christoph Steinbeck\correspondingauthor$^{1,3}$% \email{Christoph Steinbeck\correspondingauthor - steinbeck@ebi.ac.uk}% } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% %% Enter the authors' addresses here %% %% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \address{% \iid(1)Cologne University Bioinformatics Center (CUBIC),% Zuelpicher Str. 47, Koeln, Germany\\ \iid(2)University of Applied Sciences Gelsenkirchen, Germany\\ \iid(3)European Bioinformatics Institute (EBI), Cambridge, UK }% \maketitle %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% %% The Abstract begins here %% %% %% %% The Section headings here are those for %% %% a Research article submitted to a %% %% BMC-Series journal. %% %% %% %% If your article is not of this type, %% %% then refer to the Instructions for %% %% authors on http://www.biomedcentral.com %% %% and change the section headings %% %% accordingly. %% %% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{abstract} % Do not use inserted blank lines (ie \\) until main body of text. \paragraph*{Background:} The recent release of large open access chemistry database in the public domain generates a demand for flexible tools to process them and discover new knowledge. To support Open Drug Discovery and Open Notebook Science on top of these data resource, is is desirable for the processing tools to be open-source and available for everyone. \paragraph*{Results:} Here we describe a plugin for the open source workflow engine Taverna based on the open source chemoinformatics library The Chemistry Development Kit resulting in a open source workflow solution to attack chemoinformatics problems. We have implemented more than 160 different workers to handle specific chemoinformtic tasks. \paragraph*{Conclusions:} The combination of the two open-source projects Taverna and the Chemistry Development Kit creates an open chemoinformatics workflow solution. \end{abstract} \ifthenelse{\boolean{publ}}{\begin{multicols}{2}}{} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% %% The Main Body begins here %% %% %% %% The Section headings here are those for %% %% a Research article submitted to a %% %% BMC-Series journal. %% %% %% %% If your article is not of this type, %% %% then refer to the instructions for %% %% authors on: %% %% http://www.biomedcentral.com/info/authors%% %% and change the section headings %% %% accordingly. %% %% %% %% See the Results and Discussion section %% %% for details on how to create sub-sections%% %% %% %% use \cite{...} to cite references %% %% \cite{koon} and %% %% \cite{oreg,khar,zvai,xjon,schn,pond} %% %% \nocite{smith,marg,hunn,advi,koha,mouse}%% %% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%% %% Background %% %% \section*{Background} The recent release of large open Chemistry databases into the public domain \cite{PubChem}\cite{IrwinJ2005}\cite{EBIDrugs2008} calls for flexible, open toolkits to process them. These databases and tools will, for the first time, create opportunities for academia and third-world countries to perform state-of-the-art open drug discovery and translational research - endeavors so far a domain of the pharmaceutical industry. In order to enable this progress, the tools for processing these datasets must be free and open. Within the Open Drug Discovery and Open Notebook Science \cite{DeLano2005} scientists can participate in the research and get unrestricted access to what has been learned \cite{GuhaR2006}. This article describes the integration of various open source software packages to form an open workflow engine for chemoinformatics and drug discovery. These fields, like any other science, encompass sets of typical workflows. These workflows can be grouped into different disciplines like bioinformatic, chemoinformatic or statistical workflows. Areas calling for such workflow support include \begin{itemize} \item Chemical data filtering, transformation and migration workflows \item Chemical information retrieval related workflows (structures, reactions, object relational data etc.) \item Data analysis workflows (statistics, clustering, soft computing/computational intelligence, QSAR/QSPR/pharmacophore oriented workflows) \end{itemize} The workflow paradigm allows scientists to flexibly create generic workflows using different kind of data sources, filters and algorithms which fits the ever-changing demand of current research. In order to achieve this, library methods are encapsulated in Lego(TM)-like building blocks which can be manipulated with a mouse or any such pointing device in a graphics environment. These building blocks can be connected by piplines to enable data flow between them, which is why "pipelining" is often used interchangably for "workflow". Here, two open source tools were used to create an open workflow environment for chemoinformatic solutions: Taverna \cite{TomOinn2004}, a workflow environment with an extensible architecture, and the Chemistry Development Kit (CDK) \cite{Steinbeck2004a}\cite{Steinbeck2003a}, a chemoinformatics software library. The resulting CDK-Taverna package is the first completely free workflow solution for chemoinformatics. Existing proprietary or semi-proprietary implementations of the workflow or pipeline paradigm in molecular informatics include Pipeline Pilot \cite{PipelinePilotWeb} from SciTegic, a subsidiary of Accelrys or the InforSense platform from InforSense \cite{InforSenseWeb}. Both are commercial well established but closed source products with a large variety of different functionality. KNIME \cite{KNIMEWeb} is a modular data exploration platform which uses a dual licensing model with the Aladdin free public license. It is developed by the group of Michael Berthold at the University of Konstanz, Germany. KNIME is based on the open-source Eclipse platform. %ToDo Cite Wendy \section*{Implementation} The CDK-Taverna plug-in written in Java is published under the GNU Lesser General Public License (LGPL). %ToDo Cite the license and cite Maven The plug-in uses like Taverna Maven 2 \cite{MavenWeb} as build system. \subsection*{Taverna's extension points} Taverna allows the execution of workflows linking together external remote or local, private or public, third-party or home-grown, heterogeneous open services, applications or databases. For the integration of these different kind of resources Taverna provides various interfaces and protocols for its extension. It allows for an easy integration of webservices which use the WSDL \cite{WSDLWeb} or SOAP \cite{SOAPWeb} protocol. The CDK-Taverna plug-in uses a local extension of Taverna. For the local extension Taverna provides a list of different Service Provider Interfaces (SPI). %TODO:At this position should be a table with a list of the SPI's The CDK-Taverna project implements some of these extensions which lead to an integration of the CDK functionality as so called Local Worker, running on the same machine as the CDK taverna installation. %TODO: Detailed description of the integration All worker provided from the CDK-Taverna plug-in implement the CDKLocalWorker interface. This interface is used for the detection of each worker, performed within the implementation of the CDKScavenger which itself implements the Taverna SPI org.embl.ebi.escience.scuflui.workbench.Scavenger. Adding user interfaces for some of the workers requires an extension of the AbstractCDKProcessorAction,which itself implements the Taverna SPI org.embl.ebi.escience.scuflui.spi.ProcessorActionSPI. The use of this SPI allows the addition of, for example, file chooser dialogs for workers like file reader or writer. \subsection*{Plug-in installation} The CDK-Taverna project uses the plug-in detection manager of Taverna for its installation, which requires an XML file describing the plugin with information like the name , the version number, the target Taverna version number, the repository location and the Maven like Java package description of the plug-in. After adding the plug-in installation URL (http://www.cdk-taverna.de/plugin/) to the plug-in manager all available plug-in versions will be graphically available to the user. In order to install the CDK-Taverna plugin, the user selects the desired version and all neccessary Java libraries are installed on the fly from the given repository location. \subsection*{Iteration over large datasets} Chemoinformatics by definition deals with the discovery of chemical knowledge from large data collections. Usually being to large to be loaded into memory as a whole, one needs to loop of these datasets to process them piece by piece. Unfortunately the architecture of Taverna's current stable version do not support such loops. CDK-Taverna therefore provides worker to build workflows which act like for or while loops to process large datasets making use of Taverna's iteration and retry mechanism. %see section iterative qsar workflow %%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Results and Discussion %% %% \section*{Results} \subsection*{Current Status} The CDK-Taverna plug-in provides approximately 160 different worker. The allocation of the worker can be found in the following table. \begin{table}[htbp] \caption{The worker allocation of CDK-Taverna} \begin{flushleft} \begin{tabular}{|l|c|} \hline \textbf{Grouped worker} & \multicolumn{1}{l|}{\textbf{Number of worker}} \\ \hline File I/O & 15 \\ \hline Database I/O & 7 \\ \hline Molecular descriptors & 42 \\ \hline Atom descriptors & 27 \\ \hline Bond descriptors & 6 \\ \hline ART2A classificator and result analysis worker & 10 \\ \hline SimpleKMean and EM clusterer (uses Weka) & 3 \\ \hline SMILE tools & 2 \\ \hline Inchi Parser & 2 \\ \hline Miscellaneous & 50 \\ \hline \end{tabular} \end{flushleft} \label{} \end{table} The miscellaneous worker are for example, the substructure filter, the aromaticity detection, the atom typing or the reaction enumeration. We will exemplify some of the components as part of example workflows described below. \subsection*{Database I/O} The CDK-Taverna project decided to use the PostgresSQL \cite{PostgreSQLWeb} database with the open-source Pgchem::tigress \cite{PGChemWeb} extension. This combination allows the storing and querying of molecules on the database using an implementation of the GIST index of the PostgresSQL database. \subsection*{Substructure Workflow} A workflow to perform a substructure search can be done in different ways depending on the type of input. In a first example the substructure workflow performs a topological substructure search on a list of given molecules and a given molecular substructure. (see figure~\ref{fig:substructureworkflow.ps}) The workflow inputs are a molecular substructure as SMILE \cite{WeiningerDavid1988} and a list of structures stored in a file of the format MDL SD \cite{DalbyArthur1992}. The structures which match the substructure gets stored in MDL Mol \cite{DalbyArthur1992} files while the not matching structures will be converted into the Chemical Markup Language (CML) \cite{Murray-RustP1999, KuhnS2007}. This small workflow combines already 4 different molecular structure representations and the use of a topological substructure filter. Another substructure search workflow will do the substructure search directly on a database. Therefore it uses functionality provided by the Pgchem extension of the PostgresSQL database. This allows the use of SQL commands to perform a substructure search e.g. SELECT id, molecule FROM molecules WHERE molecule = (SELECT molecule from molecules WHERE id = 1) The following workflow ~\ref{fig:database_substructure_search} will perform the substructure search directly on the database. The molecules containing the substructure will afterwards printed within a table and stored in a pdf file. \begin{figure*} \centering \includegraphics[angle=0,clip=false,scale=.4]{pics/substructureworkflow.ps}\\ \caption{The workflow performs a topological substructure search on molecules from an MDL SD file. The input of this workflow will be a SMILE which represents the searchable substructure.} \label{fig:substructureworkflow.ps} \end{figure*} \begin{figure*} \centering \includegraphics[angle=90,clip=false,scale=.4]{pics/database_substructure_search.ps}\\ \caption{The workflow performs a substructure search on the database. The substructure is loaded from a MDL SD file. The output will be a pdf file containing a tabular view of the molecules containing the substructure} \label{fig:database_substructure_search} \end{figure*} \subsubsection*{Descriptor Calculation Workflow} This more complex example (see figure~\ref{fig:QSARWorkflow}) loads its molecules from a PostgresSQL database. The perception of the atom types is the next step, after loading the molecules from the database. In the following steps, the workflow gets for each molecule its implicit hydrogens and goes through the detection of the Hueckel armaticity. %Cite h�ckel aromaticity The tagging of each molecule is needed in the process of the extraction of the QSAR results from each molecule and the creation of a property vector. The used QSAR worker provides the possibility to choose multiple QSAR calculations which are provide from the CDK within an UI (see figure~\ref{fig:QSARWorkerUI}). \begin{figure*} \centering \includegraphics[angle=-90,clip=true,scale=.6]{pics/QSAR_Worker_UI_small.ps}\\ \caption{This user interface allows a selection of the available QSAR descriptors. The selected descriptors are calculated for each molecule during the execution of the workflow.} \label{fig:QSARWorkerUI} \end{figure*} The result of this workflow will be a comma separated value (csv) text file which contains the id of the molecule and the calculate property values. \begin{figure*} \centering \includegraphics[angle=0,clip=false,scale=.3]{pics/QSAR_Workflow.ps}\\ \caption{The workflow calculates different QSAR properties for the given molecules which gets loaded from a PostgresSQL database. The results of the calculation will be stored in a csv file.} \label{fig:QSARWorkflow} \end{figure*} \subsubsection*{Iterative QSAR Workflow} The iterative QSAR workflow is more or less a hack which allows the user to handle many thousands of molecules. This workflow (see figure~\ref{fig:IterativeQSARWorkflow}) processes each molecule in the same manner as the QSAR Calculation Workflow but it uses different database workers. Instead of the one database worker Get Molecules From Database uses this workflow three database worker. The Iterative Molecule From Database Reader, the Get Molecule From Database and the Has Next Molecule From Database. The first of the three worker is used to configure the database connection and store it within an internal object registry. The second worker gets as input the id of the database connection and loads the molecule from the database for the workflow. But it loads only a subset of the original query using the SQL functions LIMIT and OFFSET. The last database worker checks whether the loaded molecules are the last of this query or if this query could load further molecules. If the result of the query contains further molecules the output of this last worker would be the text value true. The last but the most essential worker of the workflow is the Fail if true worker. This worker throws an exception if it gets as input the value true. This worker is set to be critical for the nested workflow which means if it fails the whole nested workflow fails. Taverna provides a retry mechanism for failing worker or nested workflows. This mechanism is used to rerun the nested workflow as often as it is configurated within the workflow or as long as the Fail if true worker fails. \begin{figure*} \centering \includegraphics[angle=0,clip=flase,scale=.3]{pics/Iterative_QSAR_Workflow.ps}\\ \caption{The workflow calculates different QSAR properties for the given molecules which gets loaded from a PostgresSQL database. The results of the calculation will be stored in a csv file.} \label{fig:IterativeQSARWorkflow} \end{figure*} %%%%%%%%%%%%%%%%%%%%%% \section*{Conclusions} The open-source solution which is provided by the CDK-Taverna plug-in allows an efficient and powerful linking between different resources without any need of programming knowledge. It provides the possibility to process thousands of molecules and is only limited through the available memory. \section*{Availability and requirements} \begin{itemize} \item \textbf{Project name:} CDK-Taverna \item \textbf{Project home page:} http://www.cdk-taverna.de \item \textbf{Operating system(s):} Platform independent \item \textbf{Programming language:} Java \item \textbf{Other requirements:} e.g. Java 1.6.0 or higher \item \textbf{License:} GNU Library or Lesser General Public License (LGPL) \item \textbf{Any restrictions to use by non-academics:} non \end{itemize} %%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section*{Authors contributions} Text for this section \ldots %%%%%%%%%%%%%%%%%%%%%%%%%%% \section*{Acknowledgements} \ifthenelse{\boolean{publ}}{\small}{} Text for this section \ldots %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% The Bibliography %% %% %% %% Bmc_article.bst will be used to %% %% create a .BBL file for submission, which includes %% %% XML structured for BMC. %% %% After submission of the .TEX file, %% %% you will be prompted to submit your .BBL file. %% %% %% %% %% %% Note that the displayed Bibliography will not %% %% necessarily be rendered by Latex exactly as specified %% %% in the online Instructions for Authors. %% %% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% {\ifthenelse{\boolean{publ}}{\footnotesize}{\small} \bibliographystyle{bmc_article} % Style BST file \bibliography{bmc_article} } % Bibliography file (usually '*.bib' ) %%%%%%%%%%% \ifthenelse{\boolean{publ}}{\end{multicols}}{} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% %% Figures %% %% %% %% NB: this is for captions and %% %% Titles. All graphics must be %% %% submitted separately and NOT %% %% included in the Tex document %% %% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% Do not use \listoffigures as most will included as separate files \section*{Figures} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% %% Tables %% %% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Use of \listoftables is discouraged. %% \section*{Tables} \subsection*{Table 1 - List of available Service Provider Interfaces} A packaged subset of extended classes or interface of this table can be used to create a plug-in for Taverna which provides additional functionality. \par \mbox{} \par \mbox{ \begin{tabular}{|c|} \hline Interfaces\\ \hline org.embl.ebi.escience.scuflworkers.java.LocalWorker \\ \hline net.sf.taverna.perspectives.PerspectiveSPI \\ \hline org.embl.ebi.escience.scuflui.spi.ProcessorActionSPI \\ \hline org.embl.ebi.escience.scuflworkers.ProcessorInfoBean \\ \hline org.embl.ebi.escience.scuflui.spi.RendererSPI \\ \hline org.embl.ebi.escience.scuflui.spi.ResultMapSaveSPI \\ \hline org.embl.ebi.escience.scuflui.workbench.scavenger.spi.ScavengerActionSPI \\ \hline org.embl.ebi.escience.scuflworkers.ScavengerHelper \\ \hline org.embl.ebi.escience.scuflui.workbench.Scavenger \\ \hline org.embl.ebi.escience.scuflui.actions.ScuflModelActionSPI \\ \hline org.embl.ebi.escience.scuflui.spi.UIComponentFactorySPI \\ \hline \end{tabular} } \end{bmcformat} \end{document}