Difference between revisions of "CTii"

From BiGGrid Wiki
Jump to navigation Jump to search
(Created page with " <center> <table cellspacing=0 cellpadding=0 border=0> <tr> <td width=110 align=left><IMG SRC="images/CTii/biggrid.png" a...")
 
Line 19: Line 19:
  
 
</center>
 
</center>
 
 
 
 
 
 
<ol><br><br>
 
 
<p align=justify><b>CTII</b> is a Java GUI application which aims at facilitating the tasks of scientists performing the omnimatch 3D template matching experimentations.
 
 
 
</p>
 
<h4><b>Acknowledgment:</b></h4>
 
 
This work was carried out in the context of the BiG Grid project, with financial support from the Netherlands Organization for Scientific Research (NWO).
 
 
The work, described in this document, is developed in collaboration with 3DEM  groups at the university of Utrecht (UU) and Leiden University Medical Center (LUMC).
 
 
</p>
 
 
</ol>
 
 
<p align=justify>
 
<h4>1- Introduction:</h4>
 
 
Cell Tomography Intuitive Interface (<b>CTII</b>) is a Java GUI application which aims at facilitating the tasks of scientists performing the omnimatch 3D template matching experimentations [lebbink 2007 ]. In addition to the main processing component, CTII also provide two other components for pre/post processing of the input/output electro microscopy files. Within the current version of the document, we only focus on the main processing component (3D template matching).
 
 
</p><p align=justify>
 
 
From the usage point of view, CTII is very sensitive, since it involves the set-up of a number of sensible parameters whose adjustments require appropriate expertise and skill in the application domain.
 
 
</p>
 
 
 
<h4>2- Installation</h4>
 
 
<ol type="a">
 
 
<b><li>a- Requirements:</b>
 
 
<p align=justify>CTII is an interface to assist the scientist in setting the proper environment for running and monitoring 3D template matching experiments. It also helps in organizing and classifying the output results. In order to properly, use the CTII interface, the following pre-requirements are needed:
 
 
<ul>
 
 
<li><IMG SRC="images/icon2.gif" width=6 > Omnimatch software must be properly installed and functional. From now on, we will refer to $omnimatch_home as the path to omnimatch software. (Omnimatch software can be downloaded from: ….).
 
 
<li><IMG SRC="images/icon2.gif" width=6 > In order to use the workload management system (Torque), the user must provide a job submission script which, sets up the appropriate environment to run omnimatch and launches the jobs. CTII expects a script file named psb_script_header.sh located under $omnimatch_home. An example that script is given in Annex 1.
 
 
</ul>
 
<br>
 
<b><li>b- Installation:</b>
 
 
<p align=justify>CTII installer is created using winzip/winrar and can be downloaded from: ….<br>
 
 
To install CTII, you simply need to decompress the installation package 'CTII.rar'. After installation is complete, it will create a new CTII directory with the following structure and items:
 
 
<ul>
 
 
<li><IMG SRC="images/icon2.gif" width=6 > <b>dist</b>: a subdirectory containing the JAR files needed by CTII (CTII.jar)
 
 
<li><IMG SRC="images/icon2.gif" width=6 > <b>dist/lib</b>: a subdirectory containing the different third party libraries used by CTII (jgraph, etc.)
 
 
<li><IMG SRC="images/icon2.gif" width=6 > <b>ctii.bat/ctii.sh</b>: a script to launch CTII Interface for Windows and Unix respectively
 
 
<li><IMG SRC="images/icon2.gif" width=6 > <b>config.xml</b>: descriptions file containing the graphical representation and the description of the omnimatch workflow experiment. This file is only editable through the CTII graphical user interface.
 
 
<li><IMG SRC="images/icon2.gif" width=6 > <b>settings.properties</b>: a property file used to configure CTII. It specifies the remote location on which omnimatch will run and sets up the proper environment to use. This file is only editable through the CTII graphical user interface.
 
 
</ul>
 
<br>
 
<b><li>c- Running CTII:</b>
 
 
<p align=justify>You can run CTII by issuing the following command:
 
 
<ul>
 
 
<li><IMG SRC="images/icon2.gif" width=6 > Java -jar CTTI.jar  Or
 
 
<li><IMG SRC="images/icon2.gif" width=6 > <b>CTTI.bat</b> on windows
 
 
<li><IMG SRC="images/icon2.gif" width=6 > <b>CTII.sh</b> on UNIX
 
 
</ul>
 
<br>
 
Figure 1 illustrates the CTII main User Interface, which is composed of: 1) a top-toolbar, 2) a three-tab panel with a central/body area, and 3) a bottom-toolbar.
 
 
</ol>
 
 
 
 
<center><img src="images/CTii/figure01.jpg" width="550"><br>
 
 
<b>Figure 1:</b> <i>CTII Main Interface</i><br></center>
 
 
 
 
<h4>3- Configuration</h4>
 
 
<p align=justify>
 
 
Most of the CTII configuration is done in the property file 'settings.properties'. This file is read by CTII at startup. It presents the setting information in a graphical interface to be updated and confirmed by the user. This interface is shown in Figure 2. Essentially; the user needs to feed CTII with connection information and working environment on the remote host, where omnimatch software is installed (cluster or grid interface).
 
 
<ul>
 
 
<li><IMG SRC="images/icon2.gif" width=6 > <b><i>Host Name</i></b>:  specifies the host name of the machine where to launch omnimatch (e.g. lisa.sara.nl).
 
 
<li><IMG SRC="images/icon2.gif" width=6 > <b>User Name</b>:  specifies an existing user on the host machine.
 
 
<li><IMG SRC="images/icon2.gif" width=6 > <b>Password</b>:  specifies the user password on the host machine.
 
 
<li><IMG SRC="images/icon2.gif" width=6 > <b>Input directory</b>: specifies where omnimatch input files are located.
 
 
<li><IMG SRC="images/icon2.gif" width=6 > <b>Output directory</b>: specifies the base directory where to create output files along with a summary file for each run.
 
 
<li><IMG SRC="images/icon2.gif" width=6 > <b>Job script</b>: specifies the job submission script which, sets up the appropriate environment to run omnimatch and launches the jobs.
 
 
</ul>
 
 
 
 
<h4>4- Usage</h4>
 
 
 
 
<p align=justify>As illustrated in figures 1&2, CTII GUI is composed of a top-toolbar, a three-tab panel with a central body, and a bottom-toolbar. </p>
 
 
 
 
<center><img src="images/CTii/figure02.jpg" width="550"><br>
 
 
<b>Figure 2:</b> <i>CTII Settings window</i><br></center>
 
 
 
 
<ol type="a">
 
 
<b><li>a- Top-Toolbar icons:</b><br>
 
 
<p align=justify>The left part of the top-toolbar is populated with five icons, each providing a specific functionality (see figure 3):
 
 
<ul>
 
 
<li><IMG SRC="images/icon2.gif" width=6 > <b>The certificate icon</b>: allows the user to ask for a certificate granting him/her the right to use the GRID (this functionality is currently disabled),
 
 
<li><IMG SRC="images/icon2.gif" width=6 > <b>The Run icon</b>: allows the user to launch the omnimatch the workflow execution,
 
 
<li><IMG SRC="images/icon2.gif" width=6 > <b>The Monitor icon</b>: allows the user to monitor the workflow during execution,
 
 
<li><IMG SRC="images/icon2.gif" width=6 > <b>The Stop icon</b>: allows the user to stop the running execution of the workflow,
 
 
<li><IMG SRC="images/icon2.gif" width=6 > <b>The Setting icon</b>: provides the opportunity to update the settings of the remote host, where omnimatch software environment.
 
 
</ul>
 
 
 
 
<center><img src="images/CTii/figure03.jpg" width="500"><br>
 
 
<b>Figure 3:</b> <i>CTII Top-Toolbar: left part</i><br></center>
 
 
 
 
The right part of top-toolbar is populated with five icons, each providing a specific functionality (see figure 4):
 
 
<ul>
 
 
<li><IMG SRC="images/icon2.gif" width=6 > <b>The wall time</b>: input field to specify the maximum time allowed for the jobs to run (hh:mm:ss). If the user does not specify it, a default value of 10 minutes will be considered.
 
 
<li><IMG SRC="images/icon2.gif" width=6 > <b>Mode of execution</b>: input radio button allowing the user to chose from three different execution modes:
 
 
<ul>
 
 
<li><IMG SRC="images/icon2.gif" width=6 > Sequential mode
 
 
<li><IMG SRC="images/icon2.gif" width=6 > Parallel mode using mpi: the user needs to specify the number of nodes and the number of processes per node.
 
 
<li><IMG SRC="images/icon2.gif" width=6 > Parallel mode using GPU, for which you need to specify the number of nodes to be used and the number of CPUs per node (not implemented yet)
 
 
</ul>
 
 
</ul>
 
 
<center><img src="images/CTii/figure04.jpg" width="500"><br>
 
 
<b>Figure 4:</b> <i>CTII Top-Toolbar: right part</i><br></center>
 
 
 
 
<b><li>b- Bottom-Toolbar icons:</b><br>
 
 
<p align=justify>The bottom-toolbar is populated with two icons, two buttons, and a text field, each providing a specific functionality (see figure 4):
 
 
<ul>
 
 
<li>- The left/right arrows: allows the user to navigate among multiple and simultaneous workflow runs.
 
 
<li>- The text filed: illustrates the name of the selected (running) instance of the workflow.
 
 
<li>- The two buttons: allows the user to browse and visualize the log files related to standard output and standard error for the selected instance, directly fetched from the remote host, where omnimatch software is launched.
 
 
</ul>
 
 
<center><img src="images/CTii/figure05.jpg" width="500"><br>
 
 
<b>Figure 5:</b> <i>CTII Bottom-Toolbar</i><br></center>
 
 
 
 
 
 
<b><li>c- Panel Tabs:</b><br>
 
 
<p align=justify>
 
 
CTII panel is populated with three functionality tabs, namely: pre-processing tab, omnimatch tab, and post-processing tab. The omnimatch tab is selected by default and it represents a graph reflecting the omnimatch 3D template matching workflow.
 
 
<br>
 
 
The experiment workflow consists of the omnimatch module connected with a number of components, each representing an input/output argument along with its current value. Values of the input/output arguments can be changed by double-clicking on each component of the graph. Figure 5 represent a screenshot of changing the value for the 'PSI' argument.
 
 
<center><img src="images/CTii/figure06.jpg" width="500"><br>
 
 
<b>Figure 6:</b> <i>Changing parameter value</i><br></center>
 
 
 
 
<b><li>d- Running omnimatch experiment:</b><br>
 
 
<p align=justify>To launch the workflow execution, you need to click the 'Run' icon on the toolbar. As illustrated on figure 7, CTII will promote the user with an overview on the job be executed and the parameter arguments. The user is therefore, given the opportunity to check the argument values and confirm the job submission.
 
 
<center><img src="images/CTii/figure07.jpg" width="400"><br>
 
 
<b>Figure 7:</b> <i>Launching workflow execution</i><br></center>
 
 
 
 
<p align=justify>After a successful launch, the user is presented with a dialog confirming that "WORKFLOW IS STARTED". 'Stop' and 'Monitor' functionalities are then enabled, giving the user the possibility to monitor or stop the workflow during execution.
 
 
<center><img src="images/CTii/figure08.jpg" width="400"><br>
 
 
<b>Figure 8:</b> <i>Monitoring workflow execution</i><br></center>
 
 
 
 
<b><li>e- Output results:</b><br>
 
 
<p align=justify>
 
 
After a successful completion of the workflow execution, a new subdirectory will be created and three files are generated under that subdirectory.
 
 
<br>
 
 
Each workflow execution (run) results in a new subdirectory named as <date:yyyymmdd>_<outputdirectory>_<time:hhmmss>. For example, subdirectory 20100219_output01_150211 means that workflow is being executed on the 19th of February 2010 at 15:02:11.
 
 
<br>
 
 
In addition to the two files generated by the template matching process (.ang and .ccf), CTII generates an XML file describing the workflow process and the used argument values per run. An example of the experiment description is given in annex 2.
 
 
 
 
</ol>
 
 
 
 
<h4>Annex 1: Torque job script</h4>
 
 
<font color=#6666ff>
 
 
<fieldset style="width:400"><legend>&nbsp;&nbsp;Torque job script Sample&nbsp;&nbsp;</legend>
 
 
<verbatim>
 
<pre>
 
#!/bin/bash
 
# request NODES nodes, 2 processors per node:
 
#PBS -lnodes=2:ppn=2
 
# job requires at most 00:10:00 wallclock time
 
#PBS -lwalltime=00:10:00
 
# cd to the work directory
 
cd $HOME/omnimatch
 
# Load appropriate modules
 
module load openmpi/gnu/64/1.3.2
 
# determine the number of processors:
 
nprocs=`wc -l < $PBS_NODEFILE`
 
echo start of job in directory $PBS_O_WORKDIR
 
echo number of nodes is $nprocs
 
echo the allocated nodes are:
 
cat $PBS_NODEFILE
 
# run the program
 
echo Start now...
 
#mpirun -np $nprocs
 
exit 0
 
</pre>
 
</verbatim>
 
</fieldset>
 
</font>
 
 
 
 
 
 
<h4>Annex 2: Experiment description</h4>
 
 
 
 
<font color=#6666ff>
 
 
<fieldset style="width:400"><legend>&nbsp;&nbsp;Experiment description - XML Sample&nbsp;&nbsp;</legend>
 
<pre>
 
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
 
&lt;workflow&gt;
 
    &lt;process id="omnimatch"&gt;
 
        &lt;command&gt;omnimatch.exe&lt;/command&gt;
 
        &lt;input id="tomogram"&gt;
 
            &lt;value&gt;tomogram.em&lt;/value&gt;
 
        &lt;/input&gt;
 
        &lt;input id="template"&gt;
 
            &lt;value&gt;template.em&lt;/value&gt;
 
        &lt;/input&gt;
 
        &lt;input id="output"&gt;
 
            &lt;value&gt;output01&lt;/value&gt;
 
        &lt;/input&gt;
 
        &lt;input id="phi"&gt;
 
            &lt;value&gt;30 179 30&lt;/value&gt;
 
        &lt;/input&gt;
 
        &lt;input id="psi"&gt;
 
            &lt;value&gt;30 60 30&lt;/value&gt;
 
        &lt;/input&gt;
 
        &lt;input id="theta"&gt;
 
            &lt;value&gt;30 180 30&lt;/value&gt;
 
        &lt;/input&gt;
 
        &lt;input id="psf"&gt;
 
            &lt;value&gt;psf.em&lt;/value&gt;
 
        &lt;/input&gt;
 
        &lt;input id="mask"&gt;
 
            &lt;value&gt;mask.em&lt;/value&gt;
 
        &lt;/input&gt;
 
        &lt;input id="fourier"&gt;
 
            &lt;value&gt;128&lt;/value&gt;
 
        &lt;/input&gt;
 
    &lt;/process&gt;
 
&lt;/workflow&gt;
 
</pre></fieldset>
 
 
</font>
 
 
 
 
</ol>
 

Revision as of 13:52, 18 May 2011


<IMG SRC="images/CTii/biggrid.png" align=left border=0 width="100"></a>   CTii: Cell Tomography Intuitive Interface   
(Souley Madougou, Ammar Benabdelkader)
<IMG SRC="images/CTii/cellTom.jpg" align=right border=0 width="100"></a>