The virtual laboratory is a set of integrated components that, used together, form a distributed and collaborative space for science. Multiple, geographically-dispersed laboratories and institutes use the virtual laboratory to plan, and perform experiments as well as share their results.
The term experiment in this context means a so-called in-silico experiment - that is, a process that combines data and computations in order to obtain new knowledge on the subject of an experiment.
Here we introduce a virtual laboratory that is built for the ViroLab Project. In this scope the laboratory is prepared to support virologists, epidemiologists and clinicians investigating the HIV virus and the possibilities of treating HIV-positive patients. Although the ViroLab Virtual Laboratory is being built specifically for this domain of science, the conceptual solutions and the technology developed could be reused for other domains.
Below there are short descriptions of several tools developed in the framework of the Virtual Laboratory of the Virolab project:
The GSEngine combines two important parts, in order to be able to run ViroLab experiments. First is an interpreter of the JRuby language in which experiments are written. The second part is the runtime library that provides all the specific functionalities of the virtual laboratory which fall beyond the capabilities of the interpreter's standard library.
In short, the runtime library provides a defined set of routines that allow the developer to perform the following actions:
Experiment Planning Environment (EPE)
The ViroLab EPE is a tool for managing experiment plans development process. Beside the ViroLab Portal, EPE is the main component of the ViroLab presentation layer. The main idea is to provide experiment developers with powerful GScript editor for creating experiment plans in an easy way. Beside this EPE offers:
Experiment Management Interface (EMI)
EMI is intended to provide a wide range of facilities, published through a lightweight web technology, to manage experiment execution and result handling. Four main aspects have been identified in the course of development: browsing remote experiment repositories, managing experiment execution queue, submitting feedback to experiment developers and managing experiment results.
Direct link to the EMI application: http://virolab.cyfronet.pl:8084/emi-gwt-m2
PROToS is a knowledge-based, lightweight, and fully distributed set of components responsible for gathering provenance data, exposing it for later mining and building advanced provenance queries.
From the technical point of view, the whole system was designed with storage space and query processing speed in mind. It features many modern solutions, such as ontology processing logic and data routing, XML storage or XQuery support. From the technical point of view it uses such technologies as Dependency Injection containers (Spring), XML persistent storage, portlet with AJAX GUI technologies and JMX based configuration utilities.
From the user's point of view we were aiming at ease of use for all types of users, both technicians and medical people. It expresses in technologies we have chosen and in Graphical User Interface (QUaTRO component - see the description below).
QUery TRanslation tOols (QUaTRo), is a set of tools which allow to construct complex queries over both data and provenance repositories, expressed in the terms of the domain familiar to end users of the ViroLab VL (scientists, clinicians). Each tool is equipped with carefully designed Graphical User Interface in form of portlet that will be integrated in the ViroLab portal.
Design of the QUaTRO GUI aims at ease of use without sacrificing ability to create complicated queries. This is possible because of extensive use of the ViroLab ontologies from all domains: data, application and experiment.